[spatialite] 02/13: Imported Upstream version 4.3.0~rc0

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Fri Jun 19 19:18:12 UTC 2015


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch experimental
in repository spatialite.

commit e92a845d85800837cf3b9e58b587601d33599b23
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Fri Jun 19 03:19:34 2015 +0200

    Imported Upstream version 4.3.0~rc0
---
 Android_4.2.0.mk                                   |   23 -
 Android_4.3.0.mk                                   |   25 +
 Makefile.am                                        |    8 +-
 Makefile.in                                        |   55 +-
 aclocal.m4                                         |  175 +-
 compile                                            |  347 +
 config.h.in                                        |    3 +
 configure                                          |  273 +-
 configure.ac                                       |   51 +-
 examples/Makefile.in                               |   27 +-
 spatialite-4.2.0.mk                                |  169 -
 spatialite-4.3.0.mk                                |  189 +
 spatialite-sql-latest.html                         |  833 +-
 src/Makefile.am                                    |   18 +-
 src/Makefile.in                                    |  113 +-
 src/connection_cache/Makefile.in                   |   28 +-
 src/connection_cache/alloc_cache.c                 |    4 +
 src/connection_cache/generator/Makefile.in         |   22 +-
 src/control_points/COPYING                         |  339 +
 src/control_points/Makefile.am                     |   22 +
 src/control_points/Makefile.in                     |  664 ++
 src/control_points/gaia_control_points.c           | 1312 +++
 src/control_points/grass_crs.h                     |  110 +
 src/control_points/grass_crs3d.c                   |  579 ++
 src/control_points/grass_georef.c                  |  490 +
 src/control_points/grass_georef_tps.c              |  540 ++
 src/dxf/Makefile.in                                |   28 +-
 src/dxf/dxf_parser.c                               |   10 +-
 src/gaiaaux/Makefile.in                            |   27 +-
 src/gaiaaux/gg_sqlaux.c                            |  237 +
 src/gaiaexif/Makefile.in                           |   27 +-
 src/gaiageo/Makefile.am                            |    3 +-
 src/gaiageo/Makefile.in                            |   45 +-
 src/gaiageo/flex/Makefile.in                       |   22 +-
 src/gaiageo/gg_extras.c                            |  114 +-
 src/gaiageo/gg_matrix.c                            |  831 ++
 src/gaiageo/gg_relations_ext.c                     |   13 +-
 src/gaiageo/gg_transform.c                         |    7 +
 src/gaiageo/gg_wkb.c                               |   54 +-
 src/gaiageo/gg_wkt.c                               |  383 +-
 src/gaiageo/gg_xml.c                               |    2 +-
 src/gaiageo/lemon/Makefile.in                      |   22 +-
 src/gaiageo/lemon/lemon_src/Makefile.in            |   22 +-
 src/geopackage/Makefile.in                         |   27 +-
 src/geopackage/gpkgAddGeometryColumn.c             |   13 +-
 src/geopackage/gpkgBinary.c                        |   14 +-
 src/geopackage/gpkgCreateBaseTables.c              |   11 +-
 src/geopackage/gpkgCreateTilesTable.c              |    2 +-
 src/geopackage/gpkgCreateTilesZoomLevel.c          |    2 +-
 src/geopackage/gpkgGetImageType.c                  |    2 +-
 src/geopackage/gpkgInsertEpsgSRID.c                |    2 +-
 src/geopackage/gpkgMakePoint.c                     |   16 +-
 src/geopackage/gpkg_add_geometry_triggers.c        |    2 +-
 src/geopackage/gpkg_add_spatial_index.c            |    2 +-
 src/geopackage/gpkg_add_tile_triggers.c            |    2 +-
 src/geopackage/gpkg_get_normal_row.c               |    2 +-
 src/geopackage/gpkg_get_normal_zoom.c              |    2 +-
 src/headers/Makefile.am                            |    4 +-
 src/headers/Makefile.in                            |   28 +-
 src/headers/spatialite.h                           |  206 +-
 src/headers/spatialite/control_points.h            |  259 +
 src/headers/spatialite/gaiaaux.h                   |   97 +-
 src/headers/spatialite/gaiamatrix.h                |  277 +
 src/headers/spatialite/geopackage.h                |   62 +-
 src/headers/spatialite/gg_formats.h                |  118 +-
 src/headers/spatialite/gg_wfs.h                    |   14 +-
 src/headers/spatialite/gg_xml.h                    |    6 +-
 src/headers/spatialite_private.h                   |  351 +-
 src/md5/Makefile.in                                |   28 +-
 src/shapefiles/Makefile.in                         |   27 +-
 src/shapefiles/shapefiles.c                        |  120 +-
 src/shapefiles/validator.c                         |    4 +-
 src/spatialite/Makefile.am                         |    2 +
 src/spatialite/Makefile.in                         |   63 +-
 src/spatialite/extra_tables.c                      | 3555 ++++----
 src/spatialite/metatables.c                        |   46 +-
 src/spatialite/se_helpers.c                        | 5429 +++++++++++
 src/spatialite/spatialite.c                        | 9603 ++++++++++++++++----
 src/spatialite/srid_aux.c                          | 1950 ++++
 src/spatialite/statistics.c                        |   53 +-
 src/spatialite/virtualnetwork.c                    |    7 +-
 src/srsinit/Makefile.am                            |    1 +
 src/srsinit/Makefile.in                            |   47 +-
 src/srsinit/epsg_inlined_00.c                      | 2629 +++---
 src/srsinit/epsg_inlined_01.c                      | 2469 +++--
 src/srsinit/epsg_inlined_02.c                      | 2817 +++---
 src/srsinit/epsg_inlined_03.c                      | 2339 +++--
 src/srsinit/epsg_inlined_04.c                      | 2967 +++---
 src/srsinit/epsg_inlined_05.c                      | 3317 ++++---
 src/srsinit/epsg_inlined_06.c                      | 3337 ++++---
 src/srsinit/epsg_inlined_07.c                      | 2737 +++---
 src/srsinit/epsg_inlined_08.c                      | 2653 +++---
 src/srsinit/epsg_inlined_09.c                      | 2479 +++--
 src/srsinit/epsg_inlined_10.c                      | 2543 ++++--
 src/srsinit/epsg_inlined_11.c                      | 2745 +++---
 src/srsinit/epsg_inlined_12.c                      | 2527 +++--
 src/srsinit/epsg_inlined_13.c                      | 2649 +++---
 src/srsinit/epsg_inlined_14.c                      | 2665 +++---
 src/srsinit/epsg_inlined_15.c                      | 2675 +++---
 src/srsinit/epsg_inlined_16.c                      | 2629 +++---
 src/srsinit/epsg_inlined_17.c                      | 2407 +++--
 src/srsinit/epsg_inlined_18.c                      | 2081 +++--
 src/srsinit/epsg_inlined_19.c                      | 1743 ++--
 src/srsinit/epsg_inlined_20.c                      | 1555 ++--
 src/srsinit/epsg_inlined_21.c                      | 2669 +++---
 src/srsinit/epsg_inlined_22.c                      | 2115 +++--
 src/srsinit/epsg_inlined_23.c                      | 1543 +++-
 src/srsinit/epsg_inlined_24.c                      | 2175 +++--
 src/srsinit/epsg_inlined_25.c                      | 2587 +++---
 src/srsinit/epsg_inlined_26.c                      | 3013 +++---
 src/srsinit/epsg_inlined_27.c                      | 4323 +++++----
 src/srsinit/epsg_inlined_28.c                      | 4659 ++++++----
 src/srsinit/epsg_inlined_29.c                      | 4627 ++++++----
 src/srsinit/epsg_inlined_30.c                      | 4299 +++++----
 src/srsinit/epsg_inlined_31.c                      | 4289 +++++----
 src/srsinit/epsg_inlined_32.c                      | 4487 +++++----
 src/srsinit/epsg_inlined_33.c                      | 4357 +++++----
 src/srsinit/epsg_inlined_34.c                      | 4127 +++++----
 src/srsinit/epsg_inlined_35.c                      | 4119 +++++----
 src/srsinit/epsg_inlined_36.c                      | 4281 ++++-----
 src/srsinit/epsg_inlined_37.c                      | 4173 +++++----
 src/srsinit/epsg_inlined_38.c                      | 4417 +++++----
 src/srsinit/epsg_inlined_39.c                      | 4299 +++++----
 src/srsinit/epsg_inlined_40.c                      | 4309 +++++----
 src/srsinit/epsg_inlined_41.c                      | 4201 +++++----
 src/srsinit/epsg_inlined_42.c                      | 4243 +++++----
 src/srsinit/epsg_inlined_43.c                      | 4235 +++++----
 src/srsinit/epsg_inlined_44.c                      | 4151 +++++----
 src/srsinit/epsg_inlined_45.c                      | 3597 +++++++-
 src/srsinit/epsg_inlined_46.c                      | 3649 ++++++++
 src/srsinit/epsg_inlined_extra.c                   |    7 +-
 src/srsinit/epsg_inlined_prussian.c                |    4 +-
 src/srsinit/epsg_inlined_wgs84_00.c                | 2353 +++--
 src/srsinit/epsg_inlined_wgs84_01.c                |  681 +-
 src/srsinit/epsg_update/Makefile.am                |    3 +-
 src/srsinit/epsg_update/Makefile.in                |   26 +-
 src/srsinit/epsg_update/README-obsolete.txt        |   67 +
 src/srsinit/epsg_update/README.txt                 |   51 +-
 src/srsinit/epsg_update/auto_epsg.c                |    1 +
 src/srsinit/epsg_update/auto_epsg_ext.c            | 2335 +++++
 src/srsinit/epsg_update/epsg_from_gdal.c           |  210 +
 src/srsinit/srs_init.c                             |  477 +-
 src/virtualtext/Makefile.in                        |   27 +-
 src/virtualtext/virtualtext.c                      |    4 +-
 src/wfs/Makefile.in                                |   27 +-
 src/wfs/wfs_in.c                                   |   75 +-
 test/Makefile.am                                   |   15 +-
 test/Makefile.in                                   |  136 +-
 test/WritingSQLTestCase.txt                        |   23 +-
 test/check_bufovflw.c                              |    2 +
 test/check_control_points.c                        |  912 ++
 test/check_extension.c                             |   36 +
 test/check_gpkgInsertEpsgSRID.c                    |    8 +-
 test/check_gpkgMode.c                              |  317 +
 .../check_gpkg_base_core_contents_data_table_def.c |    4 +-
 test/check_init2.c                                 |    8 +
 test/check_libxml2.c                               |    7 +-
 test/check_sql_stmt.c                              |   88 +-
 test/check_srid_fncts.c                            |  426 +
 test/check_styling.c                               | 1853 +++-
 test/gpkg_test.gpkg                                |  Bin 384000 -> 386048 bytes
 test/gpkg_test_broken.gpkg                         |  Bin 0 -> 31744 bytes
 test/gpkg_test_extrasrid.gpkg                      |  Bin 0 -> 36864 bytes
 test/raster2_se.xml                                |   75 +
 test/raster_se.xml                                 |  115 +-
 test/sld_sample.xml                                |    2 +-
 test/sld_sample2.xml                               |   21 +
 test/sql_stmt_cache_tests/Makefile.am              |   13 +
 test/sql_stmt_cache_tests/Makefile.in              |  460 +
 test/sql_stmt_cache_tests/amphibious1.testcase     |    9 +
 test/sql_stmt_cache_tests/amphibious2.testcase     |    9 +
 test/sql_stmt_cache_tests/gpkg1.testcase           |    9 +
 test/sql_stmt_cache_tests/gpkg2.testcase           |    9 +
 test/sql_stmt_cache_tests/precision1.testcase      |    9 +
 test/sql_stmt_cache_tests/precision2.testcase      |    9 +
 test/sql_stmt_cache_tests/precision3.testcase      |    9 +
 test/sql_stmt_cache_tests/precision4.testcase      |    7 +
 test/sql_stmt_cache_tests/precision5.testcase      |    7 +
 test/sql_stmt_cache_tests/precision6.testcase      |    7 +
 test/sql_stmt_cache_tests/precision7.testcase      |    7 +
 test/sql_stmt_freexl_tests/Makefile.in             |   22 +-
 test/sql_stmt_geopackage_tests/Makefile.am         |   11 +-
 test/sql_stmt_geopackage_tests/Makefile.in         |   32 +-
 .../transform_geopackage1.testcase                 |    7 +
 test/sql_stmt_geos_tests/Makefile.in               |   22 +-
 test/sql_stmt_geos_tests/hexgrid20.testcase        |    2 +-
 test/sql_stmt_geos_tests/hexgrid21.testcase        |    5 +-
 test/sql_stmt_geos_tests/hexgrid22.testcase        |    2 +-
 test/sql_stmt_geos_tests/hexgrid23.testcase        |    2 +-
 test/sql_stmt_geos_tests/offsetcurve1.testcase     |    6 +-
 test/sql_stmt_geos_tests/offsetcurve10.testcase    |    4 +-
 test/sql_stmt_geos_tests/offsetcurve11.testcase    |    4 +-
 test/sql_stmt_geos_tests/offsetcurve12.testcase    |    4 +-
 test/sql_stmt_geos_tests/offsetcurve13.testcase    |    4 +-
 test/sql_stmt_geos_tests/offsetcurve14.testcase    |    4 +-
 test/sql_stmt_geos_tests/offsetcurve2.testcase     |    4 +-
 test/sql_stmt_geos_tests/offsetcurve3.testcase     |    4 +-
 test/sql_stmt_geos_tests/offsetcurve4.testcase     |    4 +-
 test/sql_stmt_geos_tests/offsetcurve5.testcase     |    4 +-
 test/sql_stmt_geos_tests/offsetcurve6.testcase     |    4 +-
 test/sql_stmt_geos_tests/offsetcurve7.testcase     |    4 +-
 test/sql_stmt_geos_tests/offsetcurve8.testcase     |    4 +-
 test/sql_stmt_geos_tests/offsetcurve9.testcase     |    4 +-
 test/sql_stmt_geos_tests/trianggrid20.testcase     |    5 +-
 test/sql_stmt_geos_tests/trianggrid21.testcase     |    2 +-
 test/sql_stmt_geos_tests/trianggrid22.testcase     |    2 +-
 test/sql_stmt_geos_tests/trianggrid23.testcase     |    2 +-
 test/sql_stmt_geosadvanced_tests/Makefile.in       |   22 +-
 test/sql_stmt_libxml2_tests/Makefile.am            |  389 +-
 test/sql_stmt_libxml2_tests/Makefile.in            |  411 +-
 .../createstyling10.testcase                       |    7 +
 .../createstyling11.testcase                       |    8 +
 .../sql_stmt_libxml2_tests/createstyling7.testcase |    7 +
 .../sql_stmt_libxml2_tests/createstyling8.testcase |    7 +
 .../sql_stmt_libxml2_tests/createstyling9.testcase |    7 +
 .../registerGraphic1.testcase                      |    4 +-
 .../registerGraphic10.testcase                     |    4 +-
 .../registerGraphic11.testcase                     |    4 +-
 .../registerGraphic12.testcase                     |    4 +-
 .../registerGraphic13.testcase                     |    4 +-
 .../registerGraphic14.testcase                     |    4 +-
 .../registerGraphic15.testcase                     |    4 +-
 .../registerGraphic16.testcase                     |    4 +-
 .../registerGraphic17.testcase                     |    4 +-
 .../registerGraphic18.testcase                     |    4 +-
 .../registerGraphic19.testcase                     |    4 +-
 .../registerGraphic2.testcase                      |    4 +-
 .../registerGraphic20.testcase                     |    4 +-
 .../registerGraphic21.testcase                     |    4 +-
 .../registerGraphic22.testcase                     |    4 +-
 .../registerGraphic3.testcase                      |    4 +-
 .../registerGraphic4.testcase                      |    4 +-
 .../registerGraphic5.testcase                      |    4 +-
 .../registerGraphic6.testcase                      |    4 +-
 .../registerGraphic7.testcase                      |    4 +-
 .../registerGraphic8.testcase                      |    4 +-
 .../registerGraphic9.testcase                      |    4 +-
 .../sql_stmt_libxml2_tests/registerGroup1.testcase |    8 -
 .../registerGroup14.testcase                       |    8 -
 .../registerGroup15.testcase                       |    8 -
 .../registerGroup16.testcase                       |    8 -
 .../registerGroup17.testcase                       |    8 -
 .../registerGroup18.testcase                       |    8 -
 .../sql_stmt_libxml2_tests/registerGroup2.testcase |    8 -
 .../registerGroup25.testcase                       |    8 -
 .../registerGroup26.testcase                       |    8 -
 .../registerGroup27.testcase                       |    8 -
 .../registerGroup28.testcase                       |    8 -
 .../registerGroup29.testcase                       |    8 -
 .../sql_stmt_libxml2_tests/registerGroup3.testcase |    8 -
 .../sql_stmt_libxml2_tests/registerGroup4.testcase |    8 -
 .../sql_stmt_libxml2_tests/registerGroup5.testcase |    8 -
 .../sql_stmt_libxml2_tests/registerGroup6.testcase |    8 -
 .../sql_stmt_libxml2_tests/registerGroup7.testcase |    8 -
 .../sql_stmt_libxml2_tests/registerGroup8.testcase |    8 -
 .../registerGroupRaster1.testcase                  |    8 +
 .../registerGroupRaster2.testcase                  |    8 +
 .../registerGroupRaster3.testcase                  |    8 +
 .../registerGroupRaster4.testcase                  |    8 +
 .../registerGroupRaster5.testcase                  |    8 +
 .../registerGroupRaster6.testcase                  |    8 +
 .../registerGroupRaster7.testcase                  |    8 +
 .../registerGroupRaster8.testcase                  |    8 +
 .../registerGroupRaster9.testcase                  |    7 +
 .../registerGroupStyle1.testcase                   |    6 +-
 .../registerGroupStyle10.testcase                  |    8 -
 .../registerGroupStyle11.testcase                  |    8 -
 .../registerGroupStyle12.testcase                  |    8 -
 .../registerGroupStyle13.testcase                  |    8 -
 .../registerGroupStyle14.testcase                  |    8 -
 .../registerGroupStyle15.testcase                  |    8 -
 .../registerGroupStyle16.testcase                  |    8 -
 .../registerGroupStyle17.testcase                  |    8 -
 .../registerGroupStyle2.testcase                   |    6 +-
 .../registerGroupStyle3.testcase                   |    6 +-
 .../registerGroupStyle4.testcase                   |    6 +-
 .../registerGroupStyle5.testcase                   |    9 +-
 .../registerGroupStyle6.testcase                   |    8 -
 .../registerGroupStyle7.testcase                   |    8 -
 .../registerGroupStyle8.testcase                   |    8 -
 .../registerGroupStyle9.testcase                   |    8 -
 .../registerGroupVector1.testcase                  |    8 +
 .../registerGroupVector2.testcase                  |    8 +
 .../registerGroupVector3.testcase                  |    8 +
 .../registerGroupVector4.testcase                  |    8 +
 .../registerGroupVector5.testcase                  |    8 +
 .../registerGroupVector6.testcase                  |    8 +
 .../registerGroupVector7.testcase                  |    8 +
 .../registerGroupVector8.testcase                  |    8 +
 .../registerGroupVector9.testcase                  |    7 +
 .../registerRaster1.testcase                       |    4 +-
 .../registerRaster10.testcase                      |    8 -
 .../registerRaster11.testcase                      |    8 -
 .../registerRaster12.testcase                      |    8 -
 .../registerRaster13.testcase                      |    8 -
 .../registerRaster14.testcase                      |    8 -
 .../registerRaster15.testcase                      |    8 -
 .../registerRaster16.testcase                      |    8 -
 .../registerRaster17.testcase                      |    8 -
 .../registerRaster2.testcase                       |    4 +-
 .../registerRaster3.testcase                       |    4 +-
 .../registerRaster4.testcase                       |    4 +-
 .../registerRaster5.testcase                       |    4 +-
 .../registerRaster6.testcase                       |    9 +-
 .../registerRaster7.testcase                       |    4 +-
 .../registerRaster8.testcase                       |    9 +-
 .../registerRaster9.testcase                       |    7 +-
 .../registerRasterStyle1.testcase                  |    8 +
 .../registerRasterStyle2.testcase                  |    8 +
 .../registerRasterStyle3.testcase                  |    8 +
 .../registerRasterStyle4.testcase                  |    8 +
 .../registerRasterStyle5.testcase                  |    7 +
 .../registerStllGroupStyle1.testcase               |    7 +
 .../registerStllGroupStyle3.testcase               |    7 +
 .../registerStllGroupStyle4.testcase               |    7 +
 .../registerStllGroupStyle5.testcase               |    7 +
 .../registerStllGroupStyle6.testcase               |    7 +
 .../registerStllGroupStyle7.testcase               |    7 +
 .../registerStllGroupStyle8.testcase               |    7 +
 .../registerStllGroupStyle9.testcase               |    7 +
 .../registerVector1.testcase                       |    6 +-
 .../registerVector10.testcase                      |    9 +-
 .../registerVector11.testcase                      |    4 +-
 .../registerVector12.testcase                      |    9 +-
 .../registerVector13.testcase                      |    7 +-
 .../registerVector14.testcase                      |    8 -
 .../registerVector15.testcase                      |    8 -
 .../registerVector16.testcase                      |    8 -
 .../registerVector17.testcase                      |    8 -
 .../registerVector18.testcase                      |    8 -
 .../registerVector19.testcase                      |    8 -
 .../registerVector2.testcase                       |    6 +-
 .../registerVector20.testcase                      |    8 -
 .../registerVector21.testcase                      |    8 -
 .../registerVector22.testcase                      |    8 -
 .../registerVector3.testcase                       |    6 +-
 .../registerVector4.testcase                       |    6 +-
 .../registerVector5.testcase                       |    8 -
 .../registerVector6.testcase                       |    8 -
 .../registerVector7.testcase                       |    8 -
 .../registerVector8.testcase                       |    8 -
 .../registerVector9.testcase                       |    4 +-
 .../registerVectorStyle1.testcase                  |    8 +
 .../registerVectorStyle2.testcase                  |    8 +
 .../registerVectorStyle3.testcase                  |    8 +
 .../registerVectorStyle4.testcase                  |    8 +
 .../registerVectorStyle5.testcase                  |    7 +
 .../registerrasterkeyword1.testcase                |    7 +
 .../registerrasterkeyword2.testcase                |    7 +
 .../registerrasterkeyword3.testcase                |    7 +
 .../registerrasterkeyword4.testcase                |    7 +
 .../registerrasterkeyword5.testcase                |    7 +
 .../registerrasterkeyword6.testcase                |    7 +
 .../registerrasterkeyword7.testcase                |    7 +
 .../registerrasterkeyword8.testcase                |    7 +
 .../registerrasterkeyword9.testcase                |    7 +
 .../registerrastersrid1.testcase                   |    7 +
 .../registerrastersrid2.testcase                   |    7 +
 .../registerrastersrid3.testcase                   |    7 +
 .../registerrastersrid4.testcase                   |    7 +
 .../registerrastersrid5.testcase                   |    7 +
 .../registerrastersrid6.testcase                   |    7 +
 .../registerrastersrid7.testcase                   |    7 +
 .../registerrastersrid8.testcase                   |    7 +
 .../registerrastersrid9.testcase                   |    7 +
 .../registervectorcvg1.testcase                    |    7 +
 .../registervectorcvg10.testcase                   |    7 +
 .../registervectorcvg11.testcase                   |    7 +
 .../registervectorcvg12.testcase                   |    7 +
 .../registervectorcvg13.testcase                   |    7 +
 .../registervectorcvg14.testcase                   |    7 +
 .../registervectorcvg15.testcase                   |    7 +
 .../registervectorcvg16.testcase                   |    7 +
 .../registervectorcvg17.testcase                   |    7 +
 .../registervectorcvg18.testcase                   |    7 +
 .../registervectorcvg19.testcase                   |    7 +
 .../registervectorcvg2.testcase                    |    7 +
 .../registervectorcvg20.testcase                   |    7 +
 .../registervectorcvg21.testcase                   |    7 +
 .../registervectorcvg22.testcase                   |    7 +
 .../registervectorcvg3.testcase                    |    7 +
 .../registervectorcvg4.testcase                    |    7 +
 .../registervectorcvg5.testcase                    |    7 +
 .../registervectorcvg6.testcase                    |    7 +
 .../registervectorcvg7.testcase                    |    7 +
 .../registervectorcvg8.testcase                    |    7 +
 .../registervectorcvg9.testcase                    |    7 +
 .../registervectorkeyword1.testcase                |    7 +
 .../registervectorkeyword2.testcase                |    7 +
 .../registervectorkeyword3.testcase                |    7 +
 .../registervectorkeyword4.testcase                |    7 +
 .../registervectorkeyword5.testcase                |    7 +
 .../registervectorkeyword6.testcase                |    7 +
 .../registervectorkeyword7.testcase                |    7 +
 .../registervectorkeyword8.testcase                |    7 +
 .../registervectorkeyword9.testcase                |    7 +
 .../registervectorsrid1.testcase                   |    7 +
 .../registervectorsrid2.testcase                   |    7 +
 .../registervectorsrid3.testcase                   |    7 +
 .../registervectorsrid4.testcase                   |    7 +
 .../registervectorsrid5.testcase                   |    7 +
 .../registervectorsrid6.testcase                   |    7 +
 .../registervectorsrid7.testcase                   |    7 +
 .../registervectorsrid8.testcase                   |    7 +
 .../registervectorsrid9.testcase                   |    7 +
 .../reloadGroupStyle1.testcase                     |    7 +
 .../reloadGroupStyle10.testcase                    |    7 +
 .../reloadGroupStyle2.testcase                     |    7 +
 .../reloadGroupStyle3.testcase                     |    7 +
 .../reloadGroupStyle4.testcase                     |    7 +
 .../reloadGroupStyle5.testcase                     |    7 +
 .../reloadGroupStyle6.testcase                     |    7 +
 .../reloadGroupStyle7.testcase                     |    7 +
 .../reloadGroupStyle8.testcase                     |    7 +
 .../reloadGroupStyle9.testcase                     |    7 +
 .../reloadRasterStyle1.testcase                    |    7 +
 .../reloadRasterStyle10.testcase                   |    7 +
 .../reloadRasterStyle2.testcase                    |    7 +
 .../reloadRasterStyle3.testcase                    |    7 +
 .../reloadRasterStyle5.testcase                    |    7 +
 .../reloadRasterStyle6.testcase                    |    7 +
 .../reloadRasterStyle7.testcase                    |    7 +
 .../reloadRasterStyle8.testcase                    |    7 +
 .../reloadRasterStyle9.testcase                    |    7 +
 .../reloadVectorStyle1.testcase                    |    7 +
 .../reloadVectorStyle10.testcase                   |    7 +
 .../reloadVectorStyle2.testcase                    |    7 +
 .../reloadVectorStyle3.testcase                    |    7 +
 .../reloadVectorStyle5.testcase                    |    7 +
 .../reloadVectorStyle6.testcase                    |    7 +
 .../reloadVectorStyle7.testcase                    |    7 +
 .../reloadVectorStyle8.testcase                    |    7 +
 .../reloadVectorStyle9.testcase                    |    7 +
 .../sql_stmt_libxml2_tests/setGroupInfos1.testcase |    4 +-
 .../setGroupInfos10.testcase                       |    4 +-
 .../setGroupInfos11.testcase                       |    4 +-
 .../setGroupInfos12.testcase                       |    4 +-
 .../setGroupInfos13.testcase                       |    4 +-
 .../sql_stmt_libxml2_tests/setGroupInfos2.testcase |    4 +-
 .../sql_stmt_libxml2_tests/setGroupInfos3.testcase |    4 +-
 .../sql_stmt_libxml2_tests/setGroupInfos4.testcase |    4 +-
 .../sql_stmt_libxml2_tests/setGroupInfos5.testcase |    4 +-
 .../sql_stmt_libxml2_tests/setGroupInfos6.testcase |    4 +-
 .../sql_stmt_libxml2_tests/setGroupInfos7.testcase |    4 +-
 .../sql_stmt_libxml2_tests/setGroupInfos8.testcase |    4 +-
 .../sql_stmt_libxml2_tests/setGroupInfos9.testcase |    4 +-
 .../sql_stmt_libxml2_tests/setPaintOrder1.testcase |    8 +
 .../sql_stmt_libxml2_tests/setPaintOrder2.testcase |    8 +
 .../sql_stmt_libxml2_tests/setPaintOrder3.testcase |    8 +
 .../sql_stmt_libxml2_tests/setPaintOrder4.testcase |    8 +
 .../sql_stmt_libxml2_tests/setPaintOrder5.testcase |    8 +
 .../sql_stmt_libxml2_tests/setPaintOrder6.testcase |    8 +
 .../sql_stmt_libxml2_tests/setPaintOrder7.testcase |    8 +
 .../sql_stmt_libxml2_tests/setPaintOrder8.testcase |    7 +
 .../setRasterPaintOrder1.testcase                  |    8 +
 .../setRasterPaintOrder10.testcase                 |    7 +
 .../setRasterPaintOrder11.testcase                 |    7 +
 .../setRasterPaintOrder12.testcase                 |    7 +
 .../setRasterPaintOrder13.testcase                 |    7 +
 .../setRasterPaintOrder2.testcase                  |    8 +
 .../setRasterPaintOrder3.testcase                  |    8 +
 .../setRasterPaintOrder4.testcase                  |    8 +
 .../setRasterPaintOrder5.testcase                  |    8 +
 .../setRasterPaintOrder6.testcase                  |    8 +
 .../setRasterPaintOrder7.testcase                  |    8 +
 .../setRasterPaintOrder8.testcase                  |    7 +
 .../setRasterPaintOrder9.testcase                  |    7 +
 .../setVectorPaintOrder1.testcase                  |    8 +
 .../setVectorPaintOrder10.testcase                 |    7 +
 .../setVectorPaintOrder11.testcase                 |    7 +
 .../setVectorPaintOrder12.testcase                 |    7 +
 .../setVectorPaintOrder13.testcase                 |    7 +
 .../setVectorPaintOrder2.testcase                  |    8 +
 .../setVectorPaintOrder3.testcase                  |    8 +
 .../setVectorPaintOrder4.testcase                  |    8 +
 .../setVectorPaintOrder5.testcase                  |    8 +
 .../setVectorPaintOrder6.testcase                  |    8 +
 .../setVectorPaintOrder7.testcase                  |    8 +
 .../setVectorPaintOrder8.testcase                  |    7 +
 .../setVectorPaintOrder9.testcase                  |    7 +
 .../setvectorinfos1.testcase                       |    7 +
 .../setvectorinfos10.testcase                      |    7 +
 .../setvectorinfos11.testcase                      |    7 +
 .../setvectorinfos12.testcase                      |    7 +
 .../setvectorinfos13.testcase                      |    7 +
 .../setvectorinfos2.testcase                       |    7 +
 .../setvectorinfos3.testcase                       |    7 +
 .../setvectorinfos4.testcase                       |    7 +
 .../setvectorinfos5.testcase                       |    7 +
 .../setvectorinfos6.testcase                       |    7 +
 .../setvectorinfos7.testcase                       |    7 +
 .../setvectorinfos8.testcase                       |    7 +
 .../setvectorinfos9.testcase                       |    7 +
 .../unregisterGraphic1.testcase                    |    8 +
 .../unregisterGraphic2.testcase                    |    8 +
 .../unregisterGraphic3.testcase                    |    8 +
 .../unregisterGraphic4.testcase                    |    8 +
 .../unregisterGraphic5.testcase                    |    7 +
 .../unregisterGroup1.testcase                      |    8 +
 .../unregisterGroup2.testcase                      |    8 +
 .../unregisterGroup3.testcase                      |    8 +
 .../unregisterGroup4.testcase                      |    8 +
 .../unregisterGroup5.testcase                      |    7 +
 .../unregisterGroupLayer1.testcase                 |    8 +
 .../unregisterGroupLayer2.testcase                 |    8 +
 .../unregisterGroupLayer3.testcase                 |    8 +
 .../unregisterGroupLayer4.testcase                 |    8 +
 .../unregisterGroupLayer5.testcase                 |    7 +
 .../unregisterGroupRaster1.testcase                |    8 +
 .../unregisterGroupRaster2.testcase                |    8 +
 .../unregisterGroupRaster3.testcase                |    8 +
 .../unregisterGroupRaster4.testcase                |    8 +
 .../unregisterGroupRaster5.testcase                |    8 +
 .../unregisterGroupRaster6.testcase                |    8 +
 .../unregisterGroupRaster7.testcase                |    8 +
 .../unregisterGroupRaster8.testcase                |    8 +
 .../unregisterGroupRaster9.testcase                |    7 +
 .../unregisterGroupStyle1.testcase                 |    8 +
 .../unregisterGroupStyle10.testcase                |    7 +
 .../unregisterGroupStyle2.testcase                 |    8 +
 .../unregisterGroupStyle3.testcase                 |    8 +
 .../unregisterGroupStyle4.testcase                 |    7 +
 .../unregisterGroupStyle5.testcase                 |    7 +
 .../unregisterGroupStyle6.testcase                 |    7 +
 .../unregisterGroupStyle7.testcase                 |    7 +
 .../unregisterGroupStyle8.testcase                 |    7 +
 .../unregisterGroupStyle9.testcase                 |    7 +
 .../unregisterGroupVector1.testcase                |    8 +
 .../unregisterGroupVector2.testcase                |    8 +
 .../unregisterGroupVector3.testcase                |    8 +
 .../unregisterGroupVector4.testcase                |    8 +
 .../unregisterGroupVector5.testcase                |    8 +
 .../unregisterGroupVector6.testcase                |    8 +
 .../unregisterGroupVector7.testcase                |    8 +
 .../unregisterGroupVector8.testcase                |    8 +
 .../unregisterGroupVector9.testcase                |    7 +
 .../unregisterRaster1.testcase                     |    8 +
 .../unregisterRaster2.testcase                     |    8 +
 .../unregisterRaster3.testcase                     |    8 +
 .../unregisterRaster4.testcase                     |    8 +
 .../unregisterRaster5.testcase                     |    8 +
 .../unregisterRaster6.testcase                     |    8 +
 .../unregisterRaster7.testcase                     |    8 +
 .../unregisterRaster8.testcase                     |    7 +
 .../unregisterRaster9.testcase                     |    7 +
 .../unregisterRasterStyle1.testcase                |    8 +
 .../unregisterRasterStyle10.testcase               |    7 +
 .../unregisterRasterStyle2.testcase                |    8 +
 .../unregisterRasterStyle3.testcase                |    8 +
 .../unregisterRasterStyle4.testcase                |    7 +
 .../unregisterRasterStyle5.testcase                |    7 +
 .../unregisterRasterStyle6.testcase                |    7 +
 .../unregisterRasterStyle7.testcase                |    7 +
 .../unregisterRasterStyle8.testcase                |    7 +
 .../unregisterRasterStyle9.testcase                |    7 +
 .../unregisterStllGroupStyle1.testcase             |    7 +
 .../unregisterStllGroupStyle3.testcase             |    7 +
 .../unregisterStllGroupStyle4.testcase             |    7 +
 .../unregisterStllGroupStyle5.testcase             |    7 +
 .../unregisterStllGroupStyle6.testcase             |    7 +
 .../unregisterStllGroupStyle7.testcase             |    7 +
 .../unregisterStllGroupStyle8.testcase             |    7 +
 .../unregisterStllGroupStyle9.testcase             |    7 +
 .../unregisterVector1.testcase                     |    8 +
 .../unregisterVector10.testcase                    |    8 +
 .../unregisterVector11.testcase                    |    8 +
 .../unregisterVector12.testcase                    |    7 +
 .../unregisterVector13.testcase                    |    7 +
 .../unregisterVector2.testcase                     |    8 +
 .../unregisterVector3.testcase                     |    8 +
 .../unregisterVector4.testcase                     |    8 +
 .../unregisterVector9.testcase                     |    8 +
 .../unregisterVectorStyle1.testcase                |    8 +
 .../unregisterVectorStyle10.testcase               |    7 +
 .../unregisterVectorStyle2.testcase                |    8 +
 .../unregisterVectorStyle3.testcase                |    8 +
 .../unregisterVectorStyle4.testcase                |    7 +
 .../unregisterVectorStyle5.testcase                |    7 +
 .../unregisterVectorStyle6.testcase                |    7 +
 .../unregisterVectorStyle7.testcase                |    7 +
 .../unregisterVectorStyle8.testcase                |    7 +
 .../unregisterVectorStyle9.testcase                |    7 +
 .../unregisterrasterkeyword1.testcase              |    7 +
 .../unregisterrasterkeyword2.testcase              |    7 +
 .../unregisterrasterkeyword3.testcase              |    7 +
 .../unregisterrasterkeyword4.testcase              |    7 +
 .../unregisterrasterkeyword5.testcase              |    7 +
 .../unregisterrasterkeyword6.testcase              |    7 +
 .../unregisterrasterkeyword7.testcase              |    7 +
 .../unregisterrasterkeyword8.testcase              |    7 +
 .../unregisterrasterkeyword9.testcase              |    7 +
 .../unregisterrastersrid1.testcase                 |    7 +
 .../unregisterrastersrid2.testcase                 |    7 +
 .../unregisterrastersrid3.testcase                 |    7 +
 .../unregisterrastersrid4.testcase                 |    7 +
 .../unregisterrastersrid5.testcase                 |    7 +
 .../unregisterrastersrid6.testcase                 |    7 +
 .../unregisterrastersrid7.testcase                 |    7 +
 .../unregisterrastersrid8.testcase                 |    7 +
 .../unregisterrastersrid9.testcase                 |    7 +
 .../unregistervectorcvg1.testcase                  |    7 +
 .../unregistervectorcvg2.testcase                  |    7 +
 .../unregistervectorcvg3.testcase                  |    7 +
 .../unregistervectorcvg4.testcase                  |    7 +
 .../unregistervectorcvg5.testcase                  |    7 +
 .../unregistervectorkeyword1.testcase              |    7 +
 .../unregistervectorkeyword2.testcase              |    7 +
 .../unregistervectorkeyword3.testcase              |    7 +
 .../unregistervectorkeyword4.testcase              |    7 +
 .../unregistervectorkeyword5.testcase              |    7 +
 .../unregistervectorkeyword6.testcase              |    7 +
 .../unregistervectorkeyword7.testcase              |    7 +
 .../unregistervectorkeyword8.testcase              |    7 +
 .../unregistervectorkeyword9.testcase              |    7 +
 .../unregistervectorsrid1.testcase                 |    7 +
 .../unregistervectorsrid2.testcase                 |    7 +
 .../unregistervectorsrid3.testcase                 |    7 +
 .../unregistervectorsrid4.testcase                 |    7 +
 .../unregistervectorsrid5.testcase                 |    7 +
 .../unregistervectorsrid6.testcase                 |    7 +
 .../unregistervectorsrid7.testcase                 |    7 +
 .../unregistervectorsrid8.testcase                 |    7 +
 .../unregistervectorsrid9.testcase                 |    7 +
 .../updaterasterextent1.testcase                   |    7 +
 .../updaterasterextent10.testcase                  |    7 +
 .../updaterasterextent11.testcase                  |    7 +
 .../updaterasterextent12.testcase                  |    7 +
 .../updaterasterextent13.testcase                  |    7 +
 .../updaterasterextent14.testcase                  |    7 +
 .../updaterasterextent15.testcase                  |    7 +
 .../updaterasterextent2.testcase                   |    8 +
 .../updaterasterextent3.testcase                   |    7 +
 .../updaterasterextent4.testcase                   |    8 +
 .../updaterasterextent5.testcase                   |    8 +
 .../updaterasterextent6.testcase                   |    7 +
 .../updaterasterextent7.testcase                   |    7 +
 .../updaterasterextent8.testcase                   |    7 +
 .../updaterasterextent9.testcase                   |    7 +
 .../updatevectorextent1.testcase                   |    7 +
 .../updatevectorextent10.testcase                  |    7 +
 .../updatevectorextent11.testcase                  |    7 +
 .../updatevectorextent12.testcase                  |    7 +
 .../updatevectorextent13.testcase                  |    7 +
 .../updatevectorextent14.testcase                  |    7 +
 .../updatevectorextent15.testcase                  |    7 +
 .../updatevectorextent2.testcase                   |    8 +
 .../updatevectorextent3.testcase                   |    7 +
 .../updatevectorextent4.testcase                   |    8 +
 .../updatevectorextent5.testcase                   |    8 +
 .../updatevectorextent6.testcase                   |    7 +
 .../updatevectorextent7.testcase                   |    7 +
 .../updatevectorextent8.testcase                   |    7 +
 .../updatevectorextent9.testcase                   |    7 +
 test/sql_stmt_lwgeom_tests/Makefile.in             |   22 +-
 test/sql_stmt_mathsql_tests/Makefile.am            |    8 +
 test/sql_stmt_mathsql_tests/Makefile.in            |   30 +-
 test/sql_stmt_mathsql_tests/atan21.testcase        |    8 +
 test/sql_stmt_mathsql_tests/atan22.testcase        |    8 +
 test/sql_stmt_mathsql_tests/atan23.testcase        |    8 +
 test/sql_stmt_mathsql_tests/atan24.testcase        |    8 +
 test/sql_stmt_mathsql_tests/atan25.testcase        |    8 +
 test/sql_stmt_mathsql_tests/atan26.testcase        |    8 +
 test/sql_stmt_mathsql_tests/atan27.testcase        |    7 +
 test/sql_stmt_mathsql_tests/atan28.testcase        |    7 +
 test/sql_stmt_nocache_tests/Makefile.am            |    7 +
 test/sql_stmt_nocache_tests/Makefile.in            |  455 +
 test/sql_stmt_nocache_tests/amphibious1.testcase   |    9 +
 test/sql_stmt_nocache_tests/amphibious2.testcase   |    9 +
 test/sql_stmt_nocache_tests/gpkg1.testcase         |    9 +
 test/sql_stmt_nocache_tests/gpkg2.testcase         |    9 +
 test/sql_stmt_nocache_tests/precision1.testcase    |    9 +
 test/sql_stmt_nocache_tests/precision2.testcase    |    9 +
 test/sql_stmt_proj_tests/Makefile.in               |   22 +-
 test/sql_stmt_security_tests/Makefile.am           |    4 +
 test/sql_stmt_security_tests/Makefile.in           |   26 +-
 .../eval1.testcase                                 |    0
 .../eval2.testcase                                 |    0
 .../eval3.testcase                                 |    0
 .../eval4.testcase                                 |    0
 test/sql_stmt_tests/Makefile.am                    |  256 +-
 test/sql_stmt_tests/Makefile.in                    |  278 +-
 test/sql_stmt_tests/SridFromAuthCRS4.testcase      |    6 +-
 test/sql_stmt_tests/atmastext1.testcase            |    7 +
 test/sql_stmt_tests/atmastext2.testcase            |    7 +
 test/sql_stmt_tests/atmastext3.testcase            |    7 +
 test/sql_stmt_tests/atmastext4.testcase            |    7 +
 test/sql_stmt_tests/atmastext5.testcase            |    7 +
 test/sql_stmt_tests/atmastext6.testcase            |    7 +
 test/sql_stmt_tests/atmcreate1.testcase            |    7 +
 test/sql_stmt_tests/atmcreate10.testcase           |    7 +
 test/sql_stmt_tests/atmcreate11.testcase           |    7 +
 test/sql_stmt_tests/atmcreate12.testcase           |    7 +
 test/sql_stmt_tests/atmcreate13.testcase           |    7 +
 test/sql_stmt_tests/atmcreate14.testcase           |    7 +
 test/sql_stmt_tests/atmcreate15.testcase           |    7 +
 test/sql_stmt_tests/atmcreate16.testcase           |    7 +
 test/sql_stmt_tests/atmcreate17.testcase           |    7 +
 test/sql_stmt_tests/atmcreate18.testcase           |    7 +
 test/sql_stmt_tests/atmcreate19.testcase           |    7 +
 test/sql_stmt_tests/atmcreate2.testcase            |    7 +
 test/sql_stmt_tests/atmcreate20.testcase           |    7 +
 test/sql_stmt_tests/atmcreate21.testcase           |    7 +
 test/sql_stmt_tests/atmcreate22.testcase           |    7 +
 test/sql_stmt_tests/atmcreate23.testcase           |    7 +
 test/sql_stmt_tests/atmcreate3.testcase            |    7 +
 test/sql_stmt_tests/atmcreate4.testcase            |    7 +
 test/sql_stmt_tests/atmcreate5.testcase            |    7 +
 test/sql_stmt_tests/atmcreate6.testcase            |    7 +
 test/sql_stmt_tests/atmcreate7.testcase            |    7 +
 test/sql_stmt_tests/atmcreate8.testcase            |    7 +
 test/sql_stmt_tests/atmcreate9.testcase            |    7 +
 test/sql_stmt_tests/atmcreatescale1.testcase       |    7 +
 test/sql_stmt_tests/atmcreatescale2.testcase       |    7 +
 test/sql_stmt_tests/atmcreatescale3.testcase       |    7 +
 test/sql_stmt_tests/atmcreatescale4.testcase       |    7 +
 test/sql_stmt_tests/atmcreatescale5.testcase       |    7 +
 test/sql_stmt_tests/atmcreatescale6.testcase       |    7 +
 test/sql_stmt_tests/atmcreatescale7.testcase       |    7 +
 test/sql_stmt_tests/atmcreatescale8.testcase       |    7 +
 test/sql_stmt_tests/atmcreatescale9.testcase       |    7 +
 test/sql_stmt_tests/atmcreatetrans1.testcase       |    7 +
 test/sql_stmt_tests/atmcreatetrans2.testcase       |    7 +
 test/sql_stmt_tests/atmcreatetrans3.testcase       |    7 +
 test/sql_stmt_tests/atmcreatetrans4.testcase       |    7 +
 test/sql_stmt_tests/atmcreatetrans5.testcase       |    7 +
 test/sql_stmt_tests/atmcreatetrans6.testcase       |    7 +
 test/sql_stmt_tests/atmcreatetrans7.testcase       |    7 +
 test/sql_stmt_tests/atmcreatetrans8.testcase       |    7 +
 test/sql_stmt_tests/atmcreatetrans9.testcase       |    7 +
 test/sql_stmt_tests/atmcreatexroll1.testcase       |    7 +
 test/sql_stmt_tests/atmcreatexroll2.testcase       |    7 +
 test/sql_stmt_tests/atmcreatexroll3.testcase       |    7 +
 test/sql_stmt_tests/atmcreateyroll1.testcase       |    7 +
 test/sql_stmt_tests/atmcreateyroll2.testcase       |    7 +
 test/sql_stmt_tests/atmcreateyroll3.testcase       |    7 +
 test/sql_stmt_tests/atmcreatezroll1.testcase       |    7 +
 test/sql_stmt_tests/atmcreatezroll2.testcase       |    7 +
 test/sql_stmt_tests/atmcreatezroll3.testcase       |    7 +
 test/sql_stmt_tests/atmdeterminant1.testcase       |    7 +
 test/sql_stmt_tests/atmdeterminant2.testcase       |    7 +
 test/sql_stmt_tests/atmdeterminant3.testcase       |    7 +
 test/sql_stmt_tests/atmdeterminant4.testcase       |    7 +
 test/sql_stmt_tests/atminvert1.testcase            |    7 +
 test/sql_stmt_tests/atminvert2.testcase            |    7 +
 test/sql_stmt_tests/atminvert3.testcase            |    7 +
 test/sql_stmt_tests/atminvert4.testcase            |    7 +
 test/sql_stmt_tests/atmisinvert1.testcase          |    7 +
 test/sql_stmt_tests/atmisinvert2.testcase          |    7 +
 test/sql_stmt_tests/atmisinvert3.testcase          |    7 +
 test/sql_stmt_tests/atmisinvert4.testcase          |    7 +
 test/sql_stmt_tests/atmisvalid1.testcase           |    7 +
 test/sql_stmt_tests/atmisvalid2.testcase           |    7 +
 test/sql_stmt_tests/atmisvalid3.testcase           |    7 +
 test/sql_stmt_tests/atmisvalid4.testcase           |    7 +
 test/sql_stmt_tests/atmisvalid5.testcase           |    7 +
 test/sql_stmt_tests/atmisvalid6.testcase           |    7 +
 test/sql_stmt_tests/atmmultiply1.testcase          |    7 +
 test/sql_stmt_tests/atmmultiply2.testcase          |    7 +
 test/sql_stmt_tests/atmmultiply3.testcase          |    7 +
 test/sql_stmt_tests/atmmultiply4.testcase          |    7 +
 test/sql_stmt_tests/atmmultiply5.testcase          |    7 +
 test/sql_stmt_tests/atmscale1.testcase             |    7 +
 test/sql_stmt_tests/atmscale10.testcase            |    7 +
 test/sql_stmt_tests/atmscale11.testcase            |    7 +
 test/sql_stmt_tests/atmscale12.testcase            |    7 +
 test/sql_stmt_tests/atmscale13.testcase            |    7 +
 test/sql_stmt_tests/atmscale2.testcase             |    7 +
 test/sql_stmt_tests/atmscale3.testcase             |    7 +
 test/sql_stmt_tests/atmscale4.testcase             |    7 +
 test/sql_stmt_tests/atmscale5.testcase             |    7 +
 test/sql_stmt_tests/atmscale6.testcase             |    7 +
 test/sql_stmt_tests/atmscale7.testcase             |    7 +
 test/sql_stmt_tests/atmscale8.testcase             |    7 +
 test/sql_stmt_tests/atmscale9.testcase             |    7 +
 test/sql_stmt_tests/atmtrans1.testcase             |    7 +
 test/sql_stmt_tests/atmtrans10.testcase            |    7 +
 test/sql_stmt_tests/atmtrans11.testcase            |    7 +
 test/sql_stmt_tests/atmtrans12.testcase            |    7 +
 test/sql_stmt_tests/atmtrans13.testcase            |    7 +
 test/sql_stmt_tests/atmtrans2.testcase             |    7 +
 test/sql_stmt_tests/atmtrans3.testcase             |    7 +
 test/sql_stmt_tests/atmtrans4.testcase             |    7 +
 test/sql_stmt_tests/atmtrans5.testcase             |    7 +
 test/sql_stmt_tests/atmtrans6.testcase             |    7 +
 test/sql_stmt_tests/atmtrans7.testcase             |    7 +
 test/sql_stmt_tests/atmtrans8.testcase             |    7 +
 test/sql_stmt_tests/atmtrans9.testcase             |    7 +
 test/sql_stmt_tests/atmtransform1.testcase         |    7 +
 test/sql_stmt_tests/atmtransform2.testcase         |    7 +
 test/sql_stmt_tests/atmtransform3.testcase         |    7 +
 test/sql_stmt_tests/atmtransform4.testcase         |    7 +
 test/sql_stmt_tests/atmtransform5.testcase         |    7 +
 test/sql_stmt_tests/atmtransform6.testcase         |    7 +
 test/sql_stmt_tests/atmtransform7.testcase         |    7 +
 test/sql_stmt_tests/atmtransform8.testcase         |    7 +
 test/sql_stmt_tests/atmxroll1.testcase             |    7 +
 test/sql_stmt_tests/atmxroll2.testcase             |    7 +
 test/sql_stmt_tests/atmxroll3.testcase             |    7 +
 test/sql_stmt_tests/atmxroll4.testcase             |    7 +
 test/sql_stmt_tests/atmxroll5.testcase             |    7 +
 test/sql_stmt_tests/atmyroll1.testcase             |    7 +
 test/sql_stmt_tests/atmyroll2.testcase             |    7 +
 test/sql_stmt_tests/atmyroll3.testcase             |    7 +
 test/sql_stmt_tests/atmyroll4.testcase             |    7 +
 test/sql_stmt_tests/atmyroll5.testcase             |    7 +
 test/sql_stmt_tests/atmzroll1.testcase             |    7 +
 test/sql_stmt_tests/atmzroll2.testcase             |    7 +
 test/sql_stmt_tests/atmzroll3.testcase             |    7 +
 test/sql_stmt_tests/atmzroll4.testcase             |    7 +
 test/sql_stmt_tests/atmzroll5.testcase             |    7 +
 test/sql_stmt_tests/checkfontfacename1.testcase    |    7 +
 test/sql_stmt_tests/checkfontfacename2.testcase    |    7 +
 test/sql_stmt_tests/checkfontfacename3.testcase    |    7 +
 test/sql_stmt_tests/createvectorcoverages.testcase |    8 +
 test/sql_stmt_tests/decodeurl1.testcase            |    7 +
 test/sql_stmt_tests/decodeurl2.testcase            |    7 +
 test/sql_stmt_tests/decodeurl3.testcase            |    7 +
 test/sql_stmt_tests/decodeurl4.testcase            |    7 +
 test/sql_stmt_tests/decodeurl5.testcase            |    7 +
 test/sql_stmt_tests/dirfrompath1.testcase          |    7 +
 test/sql_stmt_tests/dirfrompath2.testcase          |    7 +
 test/sql_stmt_tests/dirfrompath3.testcase          |    7 +
 test/sql_stmt_tests/dirfrompath4.testcase          |    7 +
 test/sql_stmt_tests/dirfrompath5.testcase          |    7 +
 test/sql_stmt_tests/dropgeo6.testcase              |    7 +
 test/sql_stmt_tests/dropgeo7.testcase              |    7 +
 test/sql_stmt_tests/dropgeo8.testcase              |    7 +
 test/sql_stmt_tests/dropgeo9.testcase              |    7 +
 test/sql_stmt_tests/elemgeo7.testcase              |    7 +
 test/sql_stmt_tests/elemgeo8.testcase              |    7 +
 test/sql_stmt_tests/encodeurl1.testcase            |    7 +
 test/sql_stmt_tests/encodeurl2.testcase            |    7 +
 test/sql_stmt_tests/encodeurl3.testcase            |    7 +
 test/sql_stmt_tests/encodeurl4.testcase            |    7 +
 test/sql_stmt_tests/encodeurl5.testcase            |    7 +
 test/sql_stmt_tests/extfrompath1.testcase          |    7 +
 test/sql_stmt_tests/extfrompath2.testcase          |    7 +
 test/sql_stmt_tests/extfrompath3.testcase          |    7 +
 test/sql_stmt_tests/extfrompath4.testcase          |    7 +
 test/sql_stmt_tests/extfrompath5.testcase          |    7 +
 test/sql_stmt_tests/fullnamefrompath1.testcase     |    7 +
 test/sql_stmt_tests/fullnamefrompath2.testcase     |    7 +
 test/sql_stmt_tests/fullnamefrompath3.testcase     |    7 +
 test/sql_stmt_tests/fullnamefrompath4.testcase     |    7 +
 test/sql_stmt_tests/fullnamefrompath5.testcase     |    7 +
 test/sql_stmt_tests/getfontfamily.testcase         |    7 +
 test/sql_stmt_tests/greatcircle-poly7.testcase     |    8 +-
 test/sql_stmt_tests/isfontbold.testcase            |    7 +
 test/sql_stmt_tests/isfontitalic.testcase          |    7 +
 test/sql_stmt_tests/isvalidfont1.testcase          |    8 +
 test/sql_stmt_tests/isvalidfont2.testcase          |    8 +
 test/sql_stmt_tests/isvalidnodata1.testcase        |    6 +-
 test/sql_stmt_tests/isvalidnodata2.testcase        |    6 +-
 test/sql_stmt_tests/isvalidnodata3.testcase        |    6 +-
 test/sql_stmt_tests/isvalidnodata4.testcase        |    6 +-
 test/sql_stmt_tests/namefrompath1.testcase         |    7 +
 test/sql_stmt_tests/namefrompath2.testcase         |    7 +
 test/sql_stmt_tests/namefrompath3.testcase         |    7 +
 test/sql_stmt_tests/namefrompath4.testcase         |    7 +
 test/sql_stmt_tests/namefrompath5.testcase         |    7 +
 test/sql_stmt_tests/removedupl3.testcase           |    7 +
 test/sql_stmt_tests/removedupl4.testcase           |    7 +
 test/sql_stmt_tests/sridax1name1.testcase          |    7 +
 test/sql_stmt_tests/sridax1name2.testcase          |    7 +
 test/sql_stmt_tests/sridax1name3.testcase          |    7 +
 test/sql_stmt_tests/sridax1name4.testcase          |    7 +
 test/sql_stmt_tests/sridax1name5.testcase          |    7 +
 test/sql_stmt_tests/sridax1name6.testcase          |    7 +
 test/sql_stmt_tests/sridax1orient1.testcase        |    7 +
 test/sql_stmt_tests/sridax1orient2.testcase        |    7 +
 test/sql_stmt_tests/sridax1orient3.testcase        |    7 +
 test/sql_stmt_tests/sridax1orient4.testcase        |    7 +
 test/sql_stmt_tests/sridax1orient5.testcase        |    7 +
 test/sql_stmt_tests/sridax1orient6.testcase        |    7 +
 test/sql_stmt_tests/sridax2name1.testcase          |    7 +
 test/sql_stmt_tests/sridax2name2.testcase          |    7 +
 test/sql_stmt_tests/sridax2name3.testcase          |    7 +
 test/sql_stmt_tests/sridax2name4.testcase          |    7 +
 test/sql_stmt_tests/sridax2name5.testcase          |    7 +
 test/sql_stmt_tests/sridax2name6.testcase          |    7 +
 test/sql_stmt_tests/sridax2orient1.testcase        |    7 +
 test/sql_stmt_tests/sridax2orient2.testcase        |    7 +
 test/sql_stmt_tests/sridax2orient3.testcase        |    7 +
 test/sql_stmt_tests/sridax2orient4.testcase        |    7 +
 test/sql_stmt_tests/sridax2orient5.testcase        |    7 +
 test/sql_stmt_tests/sridax2orient6.testcase        |    7 +
 test/sql_stmt_tests/sriddatum1.testcase            |    7 +
 test/sql_stmt_tests/sriddatum2.testcase            |    7 +
 test/sql_stmt_tests/sriddatum3.testcase            |    7 +
 test/sql_stmt_tests/sriddatum4.testcase            |    7 +
 test/sql_stmt_tests/sriddatum5.testcase            |    7 +
 test/sql_stmt_tests/sriddatum6.testcase            |    7 +
 test/sql_stmt_tests/sridflipped1.testcase          |    7 +
 test/sql_stmt_tests/sridflipped2.testcase          |    7 +
 test/sql_stmt_tests/sridflipped3.testcase          |    7 +
 test/sql_stmt_tests/sridflipped4.testcase          |    7 +
 test/sql_stmt_tests/sridflipped5.testcase          |    7 +
 test/sql_stmt_tests/sridflipped6.testcase          |    7 +
 test/sql_stmt_tests/sridflipped7.testcase          |    7 +
 test/sql_stmt_tests/sridisgeographic1.testcase     |    7 +
 test/sql_stmt_tests/sridisgeographic2.testcase     |    7 +
 test/sql_stmt_tests/sridisgeographic3.testcase     |    7 +
 test/sql_stmt_tests/sridisgeographic4.testcase     |    7 +
 test/sql_stmt_tests/sridisgeographic5.testcase     |    7 +
 test/sql_stmt_tests/sridisgeographic6.testcase     |    7 +
 test/sql_stmt_tests/sridisgeographic7.testcase     |    7 +
 test/sql_stmt_tests/sridisprojected1.testcase      |    7 +
 test/sql_stmt_tests/sridisprojected2.testcase      |    7 +
 test/sql_stmt_tests/sridisprojected3.testcase      |    7 +
 test/sql_stmt_tests/sridisprojected4.testcase      |    7 +
 test/sql_stmt_tests/sridisprojected5.testcase      |    7 +
 test/sql_stmt_tests/sridisprojected6.testcase      |    7 +
 test/sql_stmt_tests/sridisprojected7.testcase      |    7 +
 test/sql_stmt_tests/sridprimem1.testcase           |    7 +
 test/sql_stmt_tests/sridprimem2.testcase           |    7 +
 test/sql_stmt_tests/sridprimem3.testcase           |    7 +
 test/sql_stmt_tests/sridprimem4.testcase           |    7 +
 test/sql_stmt_tests/sridprimem5.testcase           |    7 +
 test/sql_stmt_tests/sridprimem6.testcase           |    7 +
 test/sql_stmt_tests/sridprojection1.testcase       |    7 +
 test/sql_stmt_tests/sridprojection2.testcase       |    7 +
 test/sql_stmt_tests/sridprojection3.testcase       |    7 +
 test/sql_stmt_tests/sridprojection4.testcase       |    7 +
 test/sql_stmt_tests/sridprojection5.testcase       |    7 +
 test/sql_stmt_tests/sridprojection6.testcase       |    7 +
 test/sql_stmt_tests/sridspheroid1.testcase         |    7 +
 test/sql_stmt_tests/sridspheroid2.testcase         |    7 +
 test/sql_stmt_tests/sridspheroid3.testcase         |    7 +
 test/sql_stmt_tests/sridspheroid4.testcase         |    7 +
 test/sql_stmt_tests/sridspheroid5.testcase         |    7 +
 test/sql_stmt_tests/sridspheroid6.testcase         |    7 +
 test/sql_stmt_tests/sridunit1.testcase             |    7 +
 test/sql_stmt_tests/sridunit2.testcase             |    7 +
 test/sql_stmt_tests/sridunit3.testcase             |    7 +
 test/sql_stmt_tests/sridunit4.testcase             |    7 +
 test/sql_stmt_tests/sridunit5.testcase             |    7 +
 test/sql_stmt_tests/sridunit6.testcase             |    7 +
 test/sql_stmt_xmlsec_tests/Makefile.in             |   22 +-
 test/stazioni2_se.xml                              |   17 +
 test/stazioni_se.xml                               |  119 +-
 940 files changed, 134019 insertions(+), 67867 deletions(-)

diff --git a/Android_4.2.0.mk b/Android_4.2.0.mk
deleted file mode 100644
index b7f8bac..0000000
--- a/Android_4.2.0.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-# -------------------
-# Android_4.2.0.mk
-# ndk-build clean
-# ndk-build
-# -------------------
-LOCAL_PATH := $(call my-dir)
-JSQLITE_PATH := javasqlite-20120209
-SPATIALITE_PATH := libspatialite-4.2.0-rc1
-GEOS_PATH := geos-3.4.2
-PROJ4_PATH := proj-4.8.0
-SQLITE_PATH := sqlite-amalgamation-3080403
-ICONV_PATH := libiconv-1.13.1
-XML2_PATH := libxml2-2.9.1
-LZMA_PATH := xz-5.1.3alpha
-
-include $(LOCAL_PATH)/iconv-1.13.1.mk
-include $(LOCAL_PATH)/sqlite-3080403.mk
-include $(LOCAL_PATH)/proj4-4.8.0.mk
-include $(LOCAL_PATH)/geos-3.4.2.mk
-include $(LOCAL_PATH)/libxml2-2.9.1.mk
-include $(LOCAL_PATH)/lzma-xz-5.1.3a.mk
-include $(LOCAL_PATH)/spatialite-4.2.0.mk
-include $(LOCAL_PATH)/jsqlite-20120209.mk
diff --git a/Android_4.3.0.mk b/Android_4.3.0.mk
new file mode 100644
index 0000000..dc1111a
--- /dev/null
+++ b/Android_4.3.0.mk
@@ -0,0 +1,25 @@
+# -------------------
+# Android_4.3.0.mk
+# [from 'jni/' directory]
+# ndk-build clean
+# ndk-build
+# -------------------
+LOCAL_PATH := $(call my-dir)
+JSQLITE_PATH := javasqlite-20120209
+SPATIALITE_PATH := libspatialite-4.3.0
+GEOS_PATH := geos-3.4.2
+PROJ4_PATH := proj-4.9.1
+SQLITE_PATH := sqlite-amalgamation-3081002
+ICONV_PATH := libiconv-1.13.1
+XML2_PATH := libxml2-2.9.1
+LZMA_PATH := xz-5.1.3alpha
+
+include $(LOCAL_PATH)/iconv-1.13.1.mk
+include $(LOCAL_PATH)/sqlite-3081002.mk
+include $(LOCAL_PATH)/proj4-4.9.1.mk
+include $(LOCAL_PATH)/geos-3.4.2.mk
+include $(LOCAL_PATH)/libxml2-2.9.1.mk
+include $(LOCAL_PATH)/lzma-xz-5.1.3a.mk
+include $(LOCAL_PATH)/spatialite-4.3.0.mk
+include $(LOCAL_PATH)/jsqlite-20120209.mk
+$(call import-module,android/cpufeatures)
diff --git a/Makefile.am b/Makefile.am
index e14a393..68ed270 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,8 +2,8 @@ ACLOCAL_AMFLAGS = -I m4
 
 AUTOMAKE_OPTIONS = dist-zip
 
-EXTRA_DIST = makefile.vc nmake.opt Android.mk Android_4.2.0.mk \
-	spatialite-4.2.0.mk mainpage.doxy README.coverage \
+EXTRA_DIST = makefile.vc nmake.opt Android.mk Android_4.3.0.mk \
+	spatialite-4.3.0.mk mainpage.doxy README.coverage \
 	spatialite-sql-latest.html config-msvc.h
 
 if ENABLE_EXAMPLES
@@ -19,7 +19,7 @@ coverage-init:
 	lcov --directory src --capture --initial --output-file libspatialite_cov.info
 
 coverage::
-	lcov --directory src --output-file libspatialite_cov.info --capture
-	genhtml -o covresults libspatialite_cov.info
+	lcov --rc lcov_branch_coverage=1 --directory src --output-file libspatialite_cov.info --capture
+	genhtml --rc lcov_branch_coverage=1 -o covresults libspatialite_cov.info
 
 MOSTLYCLEANFILES = libspatialite_cov.info
diff --git a/Makefile.in b/Makefile.in
index 8b71414..d21b8c1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,11 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = .
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/configure $(am__configure_deps) \
-	$(srcdir)/config.h.in $(srcdir)/Doxyfile.in \
-	$(srcdir)/spatialite.pc.in AUTHORS COPYING INSTALL README \
-	config.guess config.sub depcomp install-sh missing ltmain.sh
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -91,6 +96,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -183,6 +190,10 @@ ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
 DIST_SUBDIRS = src test examples
+am__DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.in \
+	$(srcdir)/config.h.in $(srcdir)/spatialite.pc.in AUTHORS \
+	COPYING INSTALL README compile config.guess config.sub depcomp \
+	install-sh ltmain.sh missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -356,8 +367,8 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 ACLOCAL_AMFLAGS = -I m4
 AUTOMAKE_OPTIONS = dist-zip
-EXTRA_DIST = makefile.vc nmake.opt Android.mk Android_4.2.0.mk \
-	spatialite-4.2.0.mk mainpage.doxy README.coverage \
+EXTRA_DIST = makefile.vc nmake.opt Android.mk Android_4.3.0.mk \
+	spatialite-4.3.0.mk mainpage.doxy README.coverage \
 	spatialite-sql-latest.html config-msvc.h
 
 @ENABLE_EXAMPLES_TRUE at EXAMPLES = examples
@@ -384,7 +395,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -405,8 +415,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-	@if test ! -f $@; then rm -f stamp-h1; else :; fi
-	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+	@test -f $@ || rm -f stamp-h1
+	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -640,10 +650,16 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
 dist-zip: distdir
@@ -677,16 +693,17 @@ distcheck: dist
 	esac
 	chmod -R a-w $(distdir)
 	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -867,13 +884,15 @@ uninstall-am: uninstall-pkgconfigDATA
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am uninstall-pkgconfigDATA
 
+.PRECIOUS: Makefile
+
 
 coverage-init:
 	lcov --directory src --capture --initial --output-file libspatialite_cov.info
 
 coverage::
-	lcov --directory src --output-file libspatialite_cov.info --capture
-	genhtml -o covresults libspatialite_cov.info
+	lcov --rc lcov_branch_coverage=1 --directory src --output-file libspatialite_cov.info --capture
+	genhtml --rc lcov_branch_coverage=1 -o covresults libspatialite_cov.info
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/aclocal.m4 b/aclocal.m4
index f209970..a482529 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.13.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -235,7 +235,7 @@ AS_VAR_COPY([$1], [pkg_cv_][$1])
 AS_VAR_IF([$1], [""], [$5], [$4])dnl
 ])# PKG_CHECK_VAR
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -247,10 +247,10 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.15'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.13.4], [],
+m4_if([$1], [1.15], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -266,14 +266,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.4])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -318,15 +318,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -357,7 +356,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -548,7 +547,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -624,7 +623,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -633,6 +632,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -708,8 +713,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -741,6 +746,51 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
 ])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
@@ -749,7 +799,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -771,7 +820,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -782,7 +831,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -792,7 +841,7 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -814,7 +863,7 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -849,7 +898,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -899,7 +948,7 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -940,7 +989,7 @@ fi
 # Obsolete and "removed" macros, that must however still report explicit
 # error messages when used, to smooth transition.
 #
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -967,7 +1016,7 @@ AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -996,9 +1045,73 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1079,7 +1192,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1139,7 +1252,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1167,7 +1280,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1186,7 +1299,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/compile b/compile
new file mode 100755
index 0000000..a85b723
--- /dev/null
+++ b/compile
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey at cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake at gnu.org> or send patches to
+# <automake-patches at gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" ""	$nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+	# lazily determine how to convert abs files
+	case `uname -s` in
+	  MINGW*)
+	    file_conv=mingw
+	    ;;
+	  CYGWIN*)
+	    file_conv=cygwin
+	    ;;
+	  *)
+	    file_conv=wine
+	    ;;
+	esac
+      fi
+      case $file_conv/,$2, in
+	*,$file_conv,*)
+	  ;;
+	mingw/*)
+	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+	  ;;
+	cygwin/*)
+	  file=`cygpath -m "$file" || echo "$file"`
+	  ;;
+	wine/*)
+	  file=`winepath -w "$file" || echo "$file"`
+	  ;;
+      esac
+      ;;
+  esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+  # Assume a capable shell
+  lib_path=
+  shared=:
+  linker_opts=
+  for arg
+  do
+    if test -n "$eat"; then
+      eat=
+    else
+      case $1 in
+	-o)
+	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
+	  eat=1
+	  case $2 in
+	    *.o | *.[oO][bB][jJ])
+	      func_file_conv "$2"
+	      set x "$@" -Fo"$file"
+	      shift
+	      ;;
+	    *)
+	      func_file_conv "$2"
+	      set x "$@" -Fe"$file"
+	      shift
+	      ;;
+	  esac
+	  ;;
+	-I)
+	  eat=1
+	  func_file_conv "$2" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-I*)
+	  func_file_conv "${1#-I}" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-l)
+	  eat=1
+	  func_cl_dashl "$2"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-l*)
+	  func_cl_dashl "${1#-l}"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-L)
+	  eat=1
+	  func_cl_dashL "$2"
+	  ;;
+	-L*)
+	  func_cl_dashL "${1#-L}"
+	  ;;
+	-static)
+	  shared=false
+	  ;;
+	-Wl,*)
+	  arg=${1#-Wl,}
+	  save_ifs="$IFS"; IFS=','
+	  for flag in $arg; do
+	    IFS="$save_ifs"
+	    linker_opts="$linker_opts $flag"
+	  done
+	  IFS="$save_ifs"
+	  ;;
+	-Xlinker)
+	  eat=1
+	  linker_opts="$linker_opts $2"
+	  ;;
+	-*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+	  func_file_conv "$1"
+	  set x "$@" -Tp"$file"
+	  shift
+	  ;;
+	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+	  func_file_conv "$1" mingw
+	  set x "$@" "$file"
+	  shift
+	  ;;
+	*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+      esac
+    fi
+    shift
+  done
+  if test -n "$linker_opts"; then
+    linker_opts="-link$linker_opts"
+  fi
+  exec "$@" $linker_opts
+  exit 1
+}
+
+eat=
+
+case $1 in
+  '')
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake at gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "compile $scriptversion"
+    exit $?
+    ;;
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+    func_cl_wrapper "$@"      # Doesn't return...
+    ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+  if test -n "$eat"; then
+    eat=
+  else
+    case $1 in
+      -o)
+	# configure might choose to run compile as 'compile cc -o foo foo.c'.
+	# So we strip '-o arg' only if arg is an object.
+	eat=1
+	case $2 in
+	  *.o | *.obj)
+	    ofile=$2
+	    ;;
+	  *)
+	    set x "$@" -o "$2"
+	    shift
+	    ;;
+	esac
+	;;
+      *.c)
+	cfile=$1
+	set x "$@" "$1"
+	shift
+	;;
+      *)
+	set x "$@" "$1"
+	shift
+	;;
+    esac
+  fi
+  shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+  # If no '-o' option was seen then we might have been invoked from a
+  # pattern rule where we don't need one.  That is ok -- this is a
+  # normal compilation that the losing compiler can handle.  If no
+  # '.c' file was seen then we are probably linking.  That is also
+  # ok.
+  exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file.  Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+  if mkdir "$lockdir" >/dev/null 2>&1; then
+    break
+  fi
+  sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/config.h.in b/config.h.in
index a37c737..268e638 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,5 +1,8 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
+/* Should be defined in order to enable GCP support. */
+#undef ENABLE_GCP
+
 /* Should be defined in order to enable GeoPackage support. */
 #undef ENABLE_GEOPACKAGE
 
diff --git a/configure b/configure
index 1a8e6e2..637e96c 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libspatialite 4.2.1-rc1.
+# Generated by GNU Autoconf 2.69 for libspatialite 4.3.0-RC0.
 #
 # Report bugs to <a.furieri at lqt.it>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='libspatialite'
 PACKAGE_TARNAME='libspatialite'
-PACKAGE_VERSION='4.2.1-rc1'
-PACKAGE_STRING='libspatialite 4.2.1-rc1'
+PACKAGE_VERSION='4.3.0-RC0'
+PACKAGE_STRING='libspatialite 4.3.0-RC0'
 PACKAGE_BUGREPORT='a.furieri at lqt.it'
 PACKAGE_URL=''
 
@@ -797,6 +797,7 @@ enable_freexl
 enable_epsg
 enable_geos
 with_geosconfig
+enable_gcp
 enable_geosadvanced
 enable_lwgeom
 enable_libxml2
@@ -1362,7 +1363,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libspatialite 4.2.1-rc1 to adapt to many kinds of systems.
+\`configure' configures libspatialite 4.3.0-RC0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1432,7 +1433,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libspatialite 4.2.1-rc1:";;
+     short | recursive ) echo "Configuration of libspatialite 4.3.0-RC0:";;
    esac
   cat <<\_ACEOF
 
@@ -1461,6 +1462,7 @@ Optional Features:
   --enable-freexl         enables FreeXL inclusion [default=yes]
   --enable-epsg           enables full EPSG dataset support [default=yes]
   --enable-geos           enables GEOS inclusion [default=yes]
+  --enable-gcp            enables Control Points (from Grass GIS) [default=no]
   --enable-geosadvanced   enables GEOS advanced features [default=yes]
   --enable-lwgeom         enables LWGEOM support [default=no]
   --enable-libxml2        enables libxml2 inclusion [default=yes]
@@ -1566,7 +1568,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libspatialite configure 4.2.1-rc1
+libspatialite configure 4.3.0-RC0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2110,7 +2112,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libspatialite $as_me 4.2.1-rc1, which was
+It was created by libspatialite $as_me 4.3.0-RC0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2466,7 +2468,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-am__api_version='1.13'
+am__api_version='1.15'
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -2667,8 +2669,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -2687,7 +2689,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -2981,7 +2983,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='libspatialite'
- VERSION='4.2.1-rc1'
+ VERSION='4.3.0-RC0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3015,8 +3017,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -3032,6 +3034,48 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
@@ -3069,7 +3113,7 @@ $as_echo "#define _FILE_OFFSET_BITS 64" >>confdefs.h
 $as_echo "#define _LARGEFILE_SOURCE 1" >>confdefs.h
 
 
-# disablibg debug support
+# disabling debug support
 
 $as_echo "#define NDEBUG 1" >>confdefs.h
 
@@ -3090,6 +3134,7 @@ $as_echo "#define NDEBUG 1" >>confdefs.h
 
 
 
+
 # Checks for header files.
 DEPDIR="${am__leading_dot}deps"
 
@@ -3943,6 +3988,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
 depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -5606,6 +5710,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
 depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -17190,7 +17353,7 @@ else
 fi
 
 
-ac_config_files="$ac_config_files Makefile src/Makefile src/headers/Makefile src/gaiaaux/Makefile src/gaiaexif/Makefile src/gaiageo/Makefile src/gaiageo/flex/Makefile src/gaiageo/lemon/Makefile src/gaiageo/lemon/lemon_src/Makefile src/geopackage/Makefile src/spatialite/Makefile src/shapefiles/Makefile src/dxf/Makefile src/md5/Makefile src/srsinit/Makefile src/srsinit/epsg_update/Makefile src/connection_cache/Makefile src/connection_cache/generator/Makefile src/virtualtext/Makefile src/wf [...]
+ac_config_files="$ac_config_files Makefile src/Makefile src/headers/Makefile src/gaiaaux/Makefile src/gaiaexif/Makefile src/gaiageo/Makefile src/gaiageo/flex/Makefile src/gaiageo/lemon/Makefile src/gaiageo/lemon/lemon_src/Makefile src/geopackage/Makefile src/spatialite/Makefile src/shapefiles/Makefile src/dxf/Makefile src/md5/Makefile src/control_points/Makefile src/srsinit/Makefile src/srsinit/epsg_update/Makefile src/connection_cache/Makefile src/connection_cache/generator/Makefile src [...]
 
 
 # exporting the TARGET_CPU string
@@ -17715,9 +17878,9 @@ fi
 
 done
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing freexl_open" >&5
-$as_echo_n "checking for library containing freexl_open... " >&6; }
-if ${ac_cv_search_freexl_open+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing freexl_version" >&5
+$as_echo_n "checking for library containing freexl_version... " >&6; }
+if ${ac_cv_search_freexl_version+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -17730,11 +17893,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char freexl_open ();
+char freexl_version ();
 int
 main ()
 {
-return freexl_open ();
+return freexl_version ();
   ;
   return 0;
 }
@@ -17747,30 +17910,30 @@ for ac_lib in '' freexl; do
     LIBS="-l$ac_lib -lm $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_freexl_open=$ac_res
+  ac_cv_search_freexl_version=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if ${ac_cv_search_freexl_open+:} false; then :
+  if ${ac_cv_search_freexl_version+:} false; then :
   break
 fi
 done
-if ${ac_cv_search_freexl_open+:} false; then :
+if ${ac_cv_search_freexl_version+:} false; then :
 
 else
-  ac_cv_search_freexl_open=no
+  ac_cv_search_freexl_version=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_freexl_open" >&5
-$as_echo "$ac_cv_search_freexl_open" >&6; }
-ac_res=$ac_cv_search_freexl_open
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_freexl_version" >&5
+$as_echo "$ac_cv_search_freexl_version" >&6; }
+ac_res=$ac_cv_search_freexl_version
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 else
-  as_fn_error $? "'libfreexl' is required but it doesn't seem to be installed on this system." "$LINENO" 5
+  as_fn_error $? "could not find 'freexl' (or obsolete 'freexl' < v.1.0.1 found)." "$LINENO" 5
 fi
 
 else
@@ -17964,6 +18127,21 @@ fi
   LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c"
 
   #-----------------------------------------------------------------------
+  #   --enable-controlpoints
+  #
+  # Check whether --enable-gcp was given.
+if test "${enable_gcp+set}" = set; then :
+  enableval=$enable_gcp;
+else
+  enable_gcp=no
+fi
+
+  if test x"$enable_gcp" != "xno"; then
+	  $as_echo "#define ENABLE_GCP 1" >>confdefs.h
+
+  fi
+
+  #-----------------------------------------------------------------------
   #   --enable-geosadvanced
   #
   # Check whether --enable-geosadvanced was given.
@@ -19000,7 +19178,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libspatialite $as_me 4.2.1-rc1, which was
+This file was extended by libspatialite $as_me 4.3.0-RC0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19066,7 +19244,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libspatialite config.status 4.2.1-rc1
+libspatialite config.status 4.3.0-RC0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -19591,6 +19769,7 @@ do
     "src/shapefiles/Makefile") CONFIG_FILES="$CONFIG_FILES src/shapefiles/Makefile" ;;
     "src/dxf/Makefile") CONFIG_FILES="$CONFIG_FILES src/dxf/Makefile" ;;
     "src/md5/Makefile") CONFIG_FILES="$CONFIG_FILES src/md5/Makefile" ;;
+    "src/control_points/Makefile") CONFIG_FILES="$CONFIG_FILES src/control_points/Makefile" ;;
     "src/srsinit/Makefile") CONFIG_FILES="$CONFIG_FILES src/srsinit/Makefile" ;;
     "src/srsinit/epsg_update/Makefile") CONFIG_FILES="$CONFIG_FILES src/srsinit/epsg_update/Makefile" ;;
     "src/connection_cache/Makefile") CONFIG_FILES="$CONFIG_FILES src/connection_cache/Makefile" ;;
@@ -19609,6 +19788,8 @@ do
     "test/sql_stmt_security_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_security_tests/Makefile" ;;
     "test/sql_stmt_xmlsec_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_xmlsec_tests/Makefile" ;;
     "test/sql_stmt_freexl_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_freexl_tests/Makefile" ;;
+    "test/sql_stmt_cache_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_cache_tests/Makefile" ;;
+    "test/sql_stmt_nocache_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_nocache_tests/Makefile" ;;
     "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
     "Doxyfile") CONFIG_FILES="$CONFIG_FILES Doxyfile" ;;
     "spatialite.pc") CONFIG_FILES="$CONFIG_FILES spatialite.pc" ;;
@@ -21143,3 +21324,33 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
+
+#-----------------------------------------------------------------------
+# printing an eventual message reporting about GPL escalation
+#-----------------------------------------------------------------------
+gpl_escalation=no;
+if test x"$enable_lwgeom" != "xno"; then
+    gpl_escalation=yes
+fi
+if test x"$enable_gcp" != "xno"; then
+    gpl_escalation=yes
+fi
+if test x"$gpl_escalation" != xno; then
+    echo
+    echo
+    echo "=============================================================="
+    echo "                        IMPORTANT NOTICE"
+    echo "=============================================================="
+    echo "You have selected --enable-lwgeom and/or --enable-gcp"
+    echo
+    echo "Both modules strictly depend on code released under the GPLv2+"
+    echo "license, wich is virally infective by definition."
+    echo "Consequently the copy of libspatialite you are going to build"
+    echo "if configured this way *must* be released under the GPLv2+ license."
+    echo
+    echo "If you wish better preserving the initial MPL tri-license you"
+    echo "simply have to reconfigure by specifying the following options:"
+    echo "        --disable-lwgeom --disable-gcp"
+    echo "=============================================================="
+
+fi
diff --git a/configure.ac b/configure.ac
index 50ef69c..8ae229a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.61)
-AC_INIT(libspatialite, 4.2.1-rc1, a.furieri at lqt.it)
+AC_INIT(libspatialite, 4.3.0-RC0, a.furieri at lqt.it)
 AC_LANG(C)
 AC_CONFIG_MACRO_DIR([m4])
 
@@ -21,7 +21,7 @@ AH_TEMPLATE([_LARGEFILE_SOURCE],
             [Must be defined in order to enable huge-file support.])
 AC_DEFINE(_LARGEFILE_SOURCE)
 
-# disablibg debug support
+# disabling debug support
 AH_TEMPLATE([NDEBUG],
             [Must be defined in order to disable debug mode.])
 AC_DEFINE(NDEBUG)
@@ -35,6 +35,8 @@ AH_TEMPLATE([GEOS_TRUNK],
             [Should be defined in order to enable GEOS_TRUNK experimental support.])
 AH_TEMPLATE([ENABLE_LWGEOM],
             [Should be defined in order to enable LWGEOM support.])
+AH_TEMPLATE([ENABLE_GCP],
+            [Should be defined in order to enable GCP support.])
 AH_TEMPLATE([OMIT_PROJ],
             [Should be defined in order to disable PROJ.4 support.])
 AH_TEMPLATE([OMIT_ICONV],
@@ -118,6 +120,7 @@ AC_CONFIG_FILES([Makefile \
 		src/shapefiles/Makefile \
 		src/dxf/Makefile \
 		src/md5/Makefile \
+		src/control_points/Makefile \
 		src/srsinit/Makefile \
 		src/srsinit/epsg_update/Makefile \
 		src/connection_cache/Makefile \
@@ -136,6 +139,8 @@ AC_CONFIG_FILES([Makefile \
 		test/sql_stmt_security_tests/Makefile \
 		test/sql_stmt_xmlsec_tests/Makefile \
 		test/sql_stmt_freexl_tests/Makefile \
+		test/sql_stmt_cache_tests/Makefile \
+		test/sql_stmt_nocache_tests/Makefile \
 		examples/Makefile \
 		Doxyfile \
 		spatialite.pc])
@@ -210,7 +215,7 @@ AC_ARG_ENABLE(freexl, [AS_HELP_STRING(
   [], [enable_freexl=yes])
 if test x"$enable_freexl" != "xno"; then
   AC_CHECK_HEADERS(freexl.h,, [AC_MSG_ERROR([cannot find freexl.h, bailing out])])
-  AC_SEARCH_LIBS(freexl_open,freexl,,AC_MSG_ERROR(['libfreexl' is required but it doesn't seem to be installed on this system.]),-lm)
+  AC_SEARCH_LIBS(freexl_version,freexl,,AC_MSG_ERROR([could not find 'freexl' (or obsolete 'freexl' < v.1.0.1 found).]),-lm)
 else
   AC_DEFINE(OMIT_FREEXL)
 fi
@@ -277,6 +282,16 @@ if test x"$enable_geos" != "xno"; then
   LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c"
 
   #-----------------------------------------------------------------------
+  #   --enable-controlpoints
+  #
+  AC_ARG_ENABLE(gcp, [AS_HELP_STRING(
+	  [--enable-gcp], [enables Control Points (from Grass GIS) [default=no]])],
+	  [], [enable_gcp=no])
+  if test x"$enable_gcp" != "xno"; then
+	  AC_DEFINE(ENABLE_GCP)
+  fi
+
+  #-----------------------------------------------------------------------
   #   --enable-geosadvanced
   #
   AC_ARG_ENABLE(geosadvanced, [AS_HELP_STRING(
@@ -366,3 +381,33 @@ AM_CONDITIONAL([MACOSX], [test "$target_alias" = "macosx"])
 AM_CONDITIONAL([ANDROID], [test "$target_alias" = "android"])
 
 AC_OUTPUT
+
+#-----------------------------------------------------------------------
+# printing an eventual message reporting about GPL escalation
+#-----------------------------------------------------------------------
+gpl_escalation=no;
+if test x"$enable_lwgeom" != "xno"; then
+    gpl_escalation=yes
+fi
+if test x"$enable_gcp" != "xno"; then
+    gpl_escalation=yes
+fi
+if test x"$gpl_escalation" != xno; then
+    echo 
+    echo
+    echo "=============================================================="
+    echo "                        IMPORTANT NOTICE"
+    echo "=============================================================="
+    echo "You have selected --enable-lwgeom and/or --enable-gcp"
+    echo
+    echo "Both modules strictly depend on code released under the GPLv2+"
+    echo "license, wich is virally infective by definition."
+    echo "Consequently the copy of libspatialite you are going to build"
+    echo "if configured this way *must* be released under the GPLv2+ license."
+    echo
+    echo "If you wish better preserving the initial MPL tri-license you"
+    echo "simply have to reconfigure by specifying the following options:"
+    echo "        --disable-lwgeom --disable-gcp"
+    echo "=============================================================="
+    
+fi
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 3cb7144..7255a75 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@ host_triplet = @host@
 noinst_PROGRAMS = demo1$(EXEEXT) demo2$(EXEEXT) demo3$(EXEEXT) \
 	demo4$(EXEEXT) demo5$(EXEEXT)
 subdir = examples
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -90,6 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -179,6 +188,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -330,7 +340,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign examples/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -395,14 +404,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -621,6 +630,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/spatialite-4.2.0.mk b/spatialite-4.2.0.mk
deleted file mode 100644
index 13c39f2..0000000
--- a/spatialite-4.2.0.mk
+++ /dev/null
@@ -1,169 +0,0 @@
-include $(CLEAR_VARS)
-# ./configure --enable-examples=no --build=x86_64-pc-linux-gnu --host=arm-linux-eabi
-# 2015-06-09: libspatialite-4.2.0-rc1
-LOCAL_MODULE    := spatialite
-
-# SQLite flags copied from ASOP
-common_sqlite_flags := \
- -DHAVE_USLEEP=1 \
- -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \
- -DSQLITE_THREADSAFE=1 \
- -DNDEBUG=1 \
- -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \
- -DSQLITE_DEFAULT_AUTOVACUUM=1 \
- -DSQLITE_TEMP_STORE=3 \
- -DSQLITE_ENABLE_FTS3 \
- -DSQLITE_ENABLE_FTS3_BACKWARDS \
- -DSQLITE_ENABLE_RTREE=1 \
- -DSQLITE_DEFAULT_FILE_FORMAT=4
-
-
-# spatialite flags
-# comment out TARGET_CPU in config.h - will be replaced with TARGET_ARCH_ABI
-spatialite_flags := \
- -DOMIT_FREEXL \
- -DTARGET_CPU=\"$(TARGET_ARCH_ABI)\" \
- -Dfdatasync=fsync \
- -DSQLITE_ENABLE_RTREE=1 \
- -DSQLITE_OMIT_BUILTIN_TEST=1 
-
-LOCAL_CFLAGS    := \
- $(common_sqlite_flags) \
- $(spatialite_flags)
-
-# LOCAL_LDLIBS is always ignored for static libraries
-# LOCAL_LDLIBS    := -llog -lz
-# LOADABLE_EXTENSION must NOT be defined
-# For Spatialite with VirtualShapes,VirtualXL support iconv is needed
-LOCAL_C_INCLUDES := \
- $(SQLITE_PATH) \
- $(SPATIALITE_PATH) \
- $(SPATIALITE_PATH)/src/headers \
- $(ICONV_PATH)/include \
- $(ICONV_PATH)/libcharset/include \
- $(GEOS_PATH)/include \
- $(GEOS_PATH)/capi \
- $(PROJ4_PATH)/src \
- $(LZMA_PATH)/src/liblzma/api \
- $(XML2_PATH)/include
-LOCAL_SRC_FILES := \
- $(SPATIALITE_PATH)/src/connection_cache/alloc_cache.c \
- $(SPATIALITE_PATH)/src/connection_cache/generator/code_generator.c \
- $(SPATIALITE_PATH)/src/dxf/dxf_load_distinct.c \
- $(SPATIALITE_PATH)/src/dxf/dxf_loader.c \
- $(SPATIALITE_PATH)/src/dxf/dxf_load_mixed.c \
- $(SPATIALITE_PATH)/src/dxf/dxf_parser.c \
- $(SPATIALITE_PATH)/src/dxf/dxf_writer.c \
- $(SPATIALITE_PATH)/src/gaiaaux/gg_sqlaux.c \
- $(SPATIALITE_PATH)/src/gaiaaux/gg_utf8.c \
- $(SPATIALITE_PATH)/src/gaiaexif/gaia_exif.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_advanced.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_endian.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_ewkt.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_extras.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_geodesic.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_geoJSON.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_geometries.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_geoscvt.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_gml.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_kml.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_lwgeom.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_relations.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_relations_ext.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_shape.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_transform.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_vanuatu.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_voronoj.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_wkb.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_wkt.c \
- $(SPATIALITE_PATH)/src/gaiageo/gg_xml.c \
- $(SPATIALITE_PATH)/src/geopackage/gaia_cvt_gpkg.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkgAddGeometryColumn.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkg_add_geometry_triggers.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkg_add_spatial_index.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkg_add_tile_triggers.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkgBinary.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkgCreateBaseTables.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkgCreateTilesTable.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkgCreateTilesZoomLevel.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkgGetImageType.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkg_get_normal_row.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkg_get_normal_zoom.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkgInsertEpsgSRID.c \
- $(SPATIALITE_PATH)/src/geopackage/gpkgMakePoint.c \
- $(SPATIALITE_PATH)/src/md5/gaia_md5.c \
- $(SPATIALITE_PATH)/src/md5/md5.c \
- $(SPATIALITE_PATH)/src/shapefiles/shapefiles.c \
- $(SPATIALITE_PATH)/src/shapefiles/validator.c \
- $(SPATIALITE_PATH)/src/spatialite/extra_tables.c \
- $(SPATIALITE_PATH)/src/spatialite/mbrcache.c \
- $(SPATIALITE_PATH)/src/spatialite/metatables.c \
- $(SPATIALITE_PATH)/src/spatialite/spatialite.c \
- $(SPATIALITE_PATH)/src/spatialite/spatialite_init.c \
- $(SPATIALITE_PATH)/src/spatialite/statistics.c \
- $(SPATIALITE_PATH)/src/spatialite/virtualbbox.c \
- $(SPATIALITE_PATH)/src/spatialite/virtualdbf.c \
- $(SPATIALITE_PATH)/src/spatialite/virtualfdo.c \
- $(SPATIALITE_PATH)/src/spatialite/virtualgpkg.c \
- $(SPATIALITE_PATH)/src/spatialite/virtualnetwork.c \
- $(SPATIALITE_PATH)/src/spatialite/virtualshape.c \
- $(SPATIALITE_PATH)/src/spatialite/virtualspatialindex.c \
- $(SPATIALITE_PATH)/src/spatialite/virtualXL.c \
- $(SPATIALITE_PATH)/src/spatialite/virtualxpath.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_00.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_01.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_02.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_03.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_04.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_05.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_06.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_07.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_08.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_09.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_10.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_11.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_12.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_13.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_14.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_15.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_16.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_17.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_18.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_19.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_20.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_21.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_22.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_23.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_24.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_25.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_26.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_27.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_28.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_29.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_30.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_31.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_32.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_33.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_34.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_35.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_36.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_37.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_38.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_39.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_40.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_41.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_42.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_43.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_44.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_45.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_extra.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_prussian.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_wgs84_00.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_wgs84_01.c \
- $(SPATIALITE_PATH)/src/srsinit/srs_init.c \
- $(SPATIALITE_PATH)/src/srsinit/epsg_update/auto_epsg.c \
- $(SPATIALITE_PATH)/src/versioninfo/version.c \
- $(SPATIALITE_PATH)/src/virtualtext/virtualtext.c \
- $(SPATIALITE_PATH)/src/wfs/wfs_in.c
-LOCAL_STATIC_LIBRARIES := iconv proj geos libxml2
-include $(BUILD_STATIC_LIBRARY)
diff --git a/spatialite-4.3.0.mk b/spatialite-4.3.0.mk
new file mode 100644
index 0000000..411721e
--- /dev/null
+++ b/spatialite-4.3.0.mk
@@ -0,0 +1,189 @@
+include $(CLEAR_VARS)
+# ./configure  --enable-lwgeom=no --enable-gcp --enable-examples=no --build=x86_64-pc-linux-gnu --host=arm-linux-eabi
+# ./configure  --build=x86_64-pc-linux-gnu --host=arm-linux-eabi --without-grib --prefix=$PROJECT/external/gdal
+# 20150607.libspatialite-4.3.0-dev
+LOCAL_MODULE    := spatialite
+
+# SQLite flags copied from ASOP
+common_sqlite_flags := \
+ -DHAVE_USLEEP=1 \
+ -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \
+ -DSQLITE_THREADSAFE=1 \
+ -DNDEBUG=1 \
+ -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \
+ -DSQLITE_DEFAULT_AUTOVACUUM=1 \
+ -DSQLITE_TEMP_STORE=3 \
+ -DSQLITE_ENABLE_FTS3 \
+ -DSQLITE_ENABLE_FTS3_BACKWARDS \
+ -DSQLITE_ENABLE_RTREE=1 \
+ -DSQLITE_DEFAULT_FILE_FORMAT=4
+
+
+# spatialite flags
+# comment out TARGET_CPU in config.h - will be replaced with TARGET_ARCH_ABI
+spatialite_flags := \
+ -DOMIT_FREEXL \
+ -DTARGET_CPU=\"$(TARGET_ARCH_ABI)\" \
+ -Dfdatasync=fsync \
+ -DSQLITE_ENABLE_RTREE=1 \
+ -DENABLE_GCP=1 \
+ -DENABLE_GEOPACKAGE=1 \
+ -DENABLE_LIBXML2=1 \
+ -DSQLITE_OMIT_BUILTIN_TEST=1 
+
+LOCAL_CFLAGS    := \
+ $(common_sqlite_flags) \
+ $(spatialite_flags)
+
+# LOCAL_LDLIBS is always ignored for static libraries
+# LOCAL_LDLIBS    := -llog -lz
+# LOADABLE_EXTENSION must NOT be defined
+# For Spatialite with VirtualShapes,VirtualXL support iconv is needed
+# 2014-07-26 - adapted based on ls -1 result in all directories
+# Note: not included are: /src/gaiageo/
+# --> Ewkt.c:2071:24: error: expected ')' before 'yymsp'
+# - Ewkt.c,geoJSON.c,Gml.c,Kml.c,vanuatuWkt.c
+# - lex.Ewkt.c,lex.geoJSON.c,lex.Gml.c,lex.Kml.c,lex.VanuatuWkt.c
+# 20150607 - ENABLE_GCP=1: 'GPL v2.0 or any subsequent version'
+# 'srsinit/epsg_update' is not included, since it is not needed in the library [tools to create the epsg_inlined_*.c files]
+LOCAL_C_INCLUDES := \
+ $(SQLITE_PATH) \
+ $(SPATIALITE_PATH) \
+ $(SPATIALITE_PATH)/src/headers \
+ $(ICONV_PATH)/include \
+ $(ICONV_PATH)/libcharset/include \
+ $(GEOS_PATH)/include \
+ $(GEOS_PATH)/capi \
+ $(PROJ4_PATH)/src \
+ $(LZMA_PATH)/src/liblzma/api \
+ $(XML2_PATH)/include
+LOCAL_SRC_FILES := \
+ $(SPATIALITE_PATH)/src/connection_cache/alloc_cache.c \
+ $(SPATIALITE_PATH)/src/connection_cache/generator/code_generator.c \
+ $(SPATIALITE_PATH)/src/control_points/gaia_control_points.c \
+ $(SPATIALITE_PATH)/src/control_points/grass_crs3d.c \
+ $(SPATIALITE_PATH)/src/control_points/grass_georef.c \
+ $(SPATIALITE_PATH)/src/control_points/grass_georef_tps.c \
+ $(SPATIALITE_PATH)/src/dxf/dxf_load_distinct.c \
+ $(SPATIALITE_PATH)/src/dxf/dxf_loader.c \
+ $(SPATIALITE_PATH)/src/dxf/dxf_load_mixed.c \
+ $(SPATIALITE_PATH)/src/dxf/dxf_parser.c \
+ $(SPATIALITE_PATH)/src/dxf/dxf_writer.c \
+ $(SPATIALITE_PATH)/src/gaiaaux/gg_sqlaux.c \
+ $(SPATIALITE_PATH)/src/gaiaaux/gg_utf8.c \
+ $(SPATIALITE_PATH)/src/gaiaexif/gaia_exif.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_advanced.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_endian.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_ewkt.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_extras.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_geodesic.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_geoJSON.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_geometries.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_geoscvt.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_gml.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_kml.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_lwgeom.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_matrix.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_relations.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_relations_ext.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_shape.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_transform.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_vanuatu.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_voronoj.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_wkb.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_wkt.c \
+ $(SPATIALITE_PATH)/src/gaiageo/gg_xml.c \
+ $(SPATIALITE_PATH)/src/geopackage/gaia_cvt_gpkg.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkgAddGeometryColumn.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkg_add_geometry_triggers.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkg_add_spatial_index.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkg_add_tile_triggers.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkgBinary.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkgCreateBaseTables.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkgCreateTilesTable.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkgCreateTilesZoomLevel.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkgGetImageType.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkg_get_normal_row.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkg_get_normal_zoom.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkgInsertEpsgSRID.c \
+ $(SPATIALITE_PATH)/src/geopackage/gpkgMakePoint.c \
+ $(SPATIALITE_PATH)/src/md5/gaia_md5.c \
+ $(SPATIALITE_PATH)/src/md5/md5.c \
+ $(SPATIALITE_PATH)/src/shapefiles/shapefiles.c \
+ $(SPATIALITE_PATH)/src/shapefiles/validator.c \
+ $(SPATIALITE_PATH)/src/spatialite/extra_tables.c \
+ $(SPATIALITE_PATH)/src/spatialite/mbrcache.c \
+ $(SPATIALITE_PATH)/src/spatialite/metatables.c \
+ $(SPATIALITE_PATH)/src/spatialite/se_helpers.c \
+ $(SPATIALITE_PATH)/src/spatialite/spatialite.c \
+ $(SPATIALITE_PATH)/src/spatialite/spatialite_init.c \
+ $(SPATIALITE_PATH)/src/spatialite/srid_aux.c \
+ $(SPATIALITE_PATH)/src/spatialite/statistics.c \
+ $(SPATIALITE_PATH)/src/spatialite/table_cloner.c \
+ $(SPATIALITE_PATH)/src/spatialite/virtualbbox.c \
+ $(SPATIALITE_PATH)/src/spatialite/virtualdbf.c \
+ $(SPATIALITE_PATH)/src/spatialite/virtualelementary.c \
+ $(SPATIALITE_PATH)/src/spatialite/virtualfdo.c \
+ $(SPATIALITE_PATH)/src/spatialite/virtualgpkg.c \
+ $(SPATIALITE_PATH)/src/spatialite/virtualnetwork.c \
+ $(SPATIALITE_PATH)/src/spatialite/virtualshape.c \
+ $(SPATIALITE_PATH)/src/spatialite/virtualspatialindex.c \
+ $(SPATIALITE_PATH)/src/spatialite/virtualXL.c \
+ $(SPATIALITE_PATH)/src/spatialite/virtualxpath.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_00.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_01.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_02.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_03.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_04.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_05.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_06.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_07.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_08.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_09.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_10.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_11.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_12.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_13.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_14.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_15.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_16.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_17.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_18.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_19.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_20.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_21.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_22.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_23.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_24.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_25.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_26.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_27.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_28.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_29.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_30.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_31.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_32.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_33.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_34.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_35.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_36.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_37.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_38.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_39.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_40.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_41.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_42.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_43.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_44.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_45.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_46.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_extra.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_prussian.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_wgs84_00.c \
+ $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_wgs84_01.c \
+ $(SPATIALITE_PATH)/src/srsinit/srs_init.c \
+ $(SPATIALITE_PATH)/src/versioninfo/version.c \
+ $(SPATIALITE_PATH)/src/virtualtext/virtualtext.c \
+ $(SPATIALITE_PATH)/src/wfs/wfs_in.c
+LOCAL_STATIC_LIBRARIES := iconv proj geos libxml2
+include $(BUILD_STATIC_LIBRARY)
diff --git a/spatialite-sql-latest.html b/spatialite-sql-latest.html
index bdb7c02..97597b5 100644
--- a/spatialite-sql-latest.html
+++ b/spatialite-sql-latest.html
@@ -1,7 +1,5 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head>
-
-	
 		<meta content="text/html; charset=UTF-8" http-equiv="content-type">
 		<title>SpatiaLite SQL functions reference list</title>
 		<style type="text/css">
@@ -11,11 +9,12 @@
 			i {color:navy;}
 		</style>
 	</head><body bgcolor="#fffff0">
-		<h2>SpatiaLite 4.2.1          SQL functions reference list</h2>
+		<h2>SpatiaLite 4.3.0          SQL functions reference list</h2>
 		<a href="https://www.gaia-gis.it/fossil/libspatialite">back</a>
 		<ul>
 			<li><a href="#version">SQL Version Info [and build options testing] functions</a></li>
 			<li><a href="#generic">Generic SQL utility functions</a></li>
+			<li><a href="#global">Global settings per connection</a></li>
 			<li><a href="#math">SQL math functions</a></li>
 			<li><a href="#error">SQL functions reporting GEOS / LWGEOM errors and warnings</a></li>
 			<li><a href="#length_cvt">SQL length/distance unit-conversion functions</a></li>
@@ -45,6 +44,7 @@
 			<li><a href="#p14c">SQL functions that implement spatial operators [GEOS advanced features]</a></li>
 			<li><a href="#p14d">SQL functions that implement spatial operators [LWGEOM features]</a></li>
 			<li><a href="#p15">SQL functions for coordinate transformations</a></li>
+			<li><a href="#p15plus">SQL functions supporting Affine Transformations and Ground Control Points</a></li>
 			<li><a href="#p16">SQL functions for Spatial-MetaData and Spatial-Index handling</a></li>
 			<li><a href="#p16metacatalog">SQL functions supporting the MetaCatalog and related Statistics</a></li>
 			<li><a href="#p16style">SQL functions supporting SLD/SE Styled Layers</a></li>
@@ -54,6 +54,7 @@
 			<li><a href="#p17">SQL functions for MbrCache-based queries</a></li>
 			<li><a href="#p18">SQL functions for R*Tree-based queries (Geometry Callbacks)</a></li>
 			<li><a href="#xmlBlob">SQL functions supporting XmlBLOB</a></li>
+			<li><a href="#srid">SQL functions supporting SRID inspection</a></li>
 			<li><a href="#advanced">miscellaneous advanced SQL functions</a></li>
 		</ul>
 		<table bgcolor="#e2eae2" border="1" cellpadding="2" cellspacing="2" width="100%">
@@ -68,6 +69,10 @@
 			<tr><td><b>spatialite_target_cpu</b></td>
 				<td>spatialite_target_cpu( void ) : <i>String</i></td>
 				<td colspan="3">returns the current <b>SpatiaLite</b> Target CPU as a text string</td></tr>
+			<tr><td><b>freexl_version</b></td>
+				<td>freexl_version( void ) : <i>String</i></td>
+				<td colspan="3">returns the current <b>FreeXL</b> version as a text string<br>
+					or NULL if FreeXL is currently unsupported</td></tr>
 			<tr><td><b>proj4_version</b></td>
 				<td>proj4_version( void ) : <i>String</i></td>
 				<td colspan="3">returns the current <b>PROJ.4</b> version as a text string<br>
@@ -155,10 +160,68 @@
 			<tr><td><b>MD5TotalChecksum</b></td>
 				<td>MD5TotalChecksum( BLOB | TEXT ) : <i>Text</i></td>
 				<td colspan="3">returns a cumulative MD5 checksum.<br><b><u>aggregate function</u></b></td></tr>
+			<tr><td><b>EncodeURL</b></td>
+				<td>EncodeURL( TEXT ) : <i>Text</i></td>
+				<td colspan="3">returns the <a href="http://en.wikipedia.org/wiki/Percent-encoding">percent encoded URL</a> corresponding to the input value.<br>Will return <b>NULL</b> for invalid input.</td></tr>
+			<tr><td><b>DecodeURL</b></td>
+				<td>DecodeURL( TEXT ) : <i>Text</i></td>
+				<td colspan="3">returns a plain URL from its corresponding percent encoding.<br>Will return <b>NULL</b> for invalid input.</td></tr>
+			<tr><td><b>DirNameFromPath</b></td>
+				<td>DirNameFromPath( TEXT ) : <i>Text</i></td>
+				<td colspan="3">returns the Directory Name from a relative or absolute Pathname.<br>Will return <b>NULL</b> for invalid input of for any simple path lacking a Directory.</td></tr>
+			<tr><td><b>FullFileNameFromPath</b></td>
+				<td>FullFileNameFromPath( TEXT ) : <i>Text</i></td>
+				<td colspan="3">returns the Full File Name (including an eventual File Extension) from a relative or absolute Pathname.<br>Will return <b>NULL</b> for invalid input of for any path
+				 lacking a File Name.</td></tr>
+			<tr><td><b>FileNameFromPath</b></td>
+				<td>FileNameFromPath( TEXT ) : <i>Text</i></td>
+				<td colspan="3">returns the File Name (excluding an eventual File Extension) from a relative or absolute Pathname.<br>Will return <b>NULL</b> for invalid input of for any path
+				 lacking a File Name.</td></tr>
+			<tr><td><b>FileExtFromPath</b></td>
+				<td>FileExtFromPath( TEXT ) : <i>Text</i></td>
+				<td colspan="3">returns the File Extension from a relative or absolute Pathname.<br>Will return <b>NULL</b> for invalid input of for any path
+				 lacking a File Name or when no Extension is present.</td></tr>
 			<tr><td><b>eval</b></td>
 				<td>eval( X <i>TEXT</i> [ , Y <i>TEXT</i> ) : <i>Text</i></td>
 				<td colspan="3">Evaluate the SQL text in <b>X</b>.  Return the results, using string <b>Y</b> as the separator.<br>
-				If <b>Y</b> is omitted, use a single space character.</td></tr>
+				If <b>Y</b> is omitted, use a single space character.<hr>
+                Explicitly setting the environment variable <b>SPATIALITE_SECURITY=relaxed</b> is absolutely required in order to effectively enable this function.</td></tr>
+            <tr><td colspan="5" align="center" bgcolor="#f0e0c0">
+				<h3><a name="global">Global settings per connection</a></h3></td></tr>
+			<tr><th bgcolor="#d0d0d0">Function</th>
+				<th bgcolor="#d0d0d0">Syntax</th>
+				<th colspan="3" bgcolor="#d0d0d0">Summary</th></tr>
+			<tr><td><b>EnableGpkgMode</b></td>
+				<td>EnableGpkgMode( <i>void</i> ) : <i>void</i></td>
+				<td colspan="3">Enables the <b>Geopackage mode</b><br>
+				all connections initially start by disabling the GPKG mode, that has always to be explicitly enabled whenever reguired.<br>
+				Enabling GPKG mode is a supported option only if the currently connected DB-file presents a GPKG layout.</td></tr>
+			<tr><td><b>DisableGpkgMode</b></td>
+				<td>DisableGpkgMode( <i>void</i> ) : <i>void</i></td>
+				<td colspan="3">Disables the <b>Geopackage mode</b></td></tr>
+			<tr><td><b>GetGpkgMode</b></td>
+				<td>GetGpkgMode( <i>void</i> ) : <i>boolean</i></td>
+				<td colspan="3">Returns <b>TRUE</b> if the <b>Geopackage mode</b> is currently enabled, otherwise <b>FALSE</b></td></tr>
+			<tr><td><b>EnableGpkgAmphibiousMode</b></td>
+				<td>EnableGpkgAmphibiousMode( <i>void</i> ) : <i>void</i></td>
+				<td colspan="3">Enables the <b>Geopackage amphibious mode</b><br>
+				all connections initially start by disabling the amphibious mode, that has always to be explicitly enabled whenever reguired.<br>
+				<u>Note</u>: <i>GPKG mode</i> and <i>GPKG amphibious mode</i> are mutually exclusive options.</td></tr>
+			<tr><td><b>DisableGpkgAmphibiousMode</b></td>
+				<td>DisableGpkgAmphibiousMode( <i>void</i> ) : <i>void</i></td>
+				<td colspan="3">Disables the <b>Geopackage amphibious mode</b></td></tr>
+			<tr><td><b>GetGpkgAmphibiousMode</b></td>
+				<td>GetGpkgAmphibiousMode( <i>void</i> ) : <i>boolean</i></td>
+				<td colspan="3">Returns <b>TRUE</b> if the <b>Geopackage amphibious mode</b> is currently enabled, otherwise <b>FALSE</b></td></tr>
+			<tr><td><b>SetDecimalPrecision</b></td>
+				<td>SetDecimalPrecision( <i>integer</i> ) : <i>void</i></td>
+				<td colspan="3">Explicitly sets the number of decimal digits (<i>precision</i>) to be displayed by <b>ST_AsText()</b> for coordinate values: the standard default setting is <b>6</b> decimal digits.<br>
+				Passing any <b>negative</b> precision will automatically restore the initial default setting.<br>
+				The <b>spatialite_gui</b> tool will honor this setting for all floating point values to be displayed on the screen.</td></tr>
+			<tr><td><b>GetDecimalPrecision</b></td>
+				<td>GetDecimalPrecision( <i>void</i> ) : <i>integer</i></td>
+				<td colspan="3">Returns the currently set <b>decimal precision</b>.<br>
+				A <b>negative</b> precision identifies the default setting.</td></tr>
 			<tr><td colspan="5" align="center" bgcolor="#f0e0c0">
 				<h3><a name="math">SQL math functions</a></h3></td></tr>
 			<tr><th bgcolor="#d0d0d0">Function</th>
@@ -178,6 +241,10 @@
 			<tr><td><b>Atan</b></td>
 				<td>Atan( x <i>Double precision</i> ) : <i>Double precision</i></td>
 				<td colspan="3">returns the arc tangent of <b>x</b>, that is, the value whose tangent is <b>x</b></td></tr>
+			<tr><td><b>Atan2</b></td>
+				<td>Atan2( y <i>Double precision</i> , x <i>Double precision</i> ) : <i>Double precision</i></td>
+				<td colspan="3">returns the principal value of the arc tangent of <b>y/x</b> in radians, using the signs of the two
+				arguments to determine the quadrant of the result. The eturn value is in the range[<b>-pi</b>, <b>pi</b>].</td></tr>
 			<tr><td><b>Ceil<br>Ceiling</b></td>
 				<td>Ceil( x <i>Double precision</i> ) : <i>Double precision</i><hr>
 				Ceiling( x <i>Double precision</i> ) : <i>Double precision</i></td>
@@ -1814,13 +1881,14 @@ This function only supports Long/Lat coordinates, and will return NULL for any p
 				<td></td>
 				<td align="center" bgcolor="#f0d0d0">GEOS</td>
 				<td>return the Hausdorff distance between geom1 and geom2<br>
-<a href="http://en.wikipedia.org/wiki/Hausdorff_distance">learn more</a></td></tr>
+				<a href="http://en.wikipedia.org/wiki/Hausdorff_distance">learn more</a></td></tr>
 			<tr><td><b>OffestCurve</b></td>
-				<td>OffsetCurve( geom <i>Curve</i> , radius <i>Double precision</i> , left_or_right <i>Integer</i> ) : <i>Curve</i><hr>
-					ST_OffsetCurve( geom <i>Curve</i> , radius <i>Double precision</i> , left_or_right <i>Integer</i> ) : <i>Curve</i></td>
+				<td>OffsetCurve( geom <i>Curve</i> , radius <i>Double precision</i> ) : <i>Curve</i><hr>
+					ST_OffsetCurve( geom <i>Curve</i> , radius <i>Double precision</i> ) : <i>Curve</i></td>
 				<td></td>
 				<td align="center" bgcolor="#f0d0d0">GEOS</td>
-				<td>return a geometric object representing the corresponding <i>left-</i> (or <i>right-sided</i>) offset curve<br>
+				<td>return a geometric object representing the corresponding <i>left-sided</i> (<b>positive radius</b>) 
+					or <i>right-sided</i> (<b>negative radius</b>) offset curve<br>
 					NULL is returned whenever is not possible deriving an offset curve from the original geometry<br>
 					[a single not-closed LINESTRING is expected as input]</td></tr>
 			<tr><td><b>SingleSidedBuffer</b></td>
@@ -2310,6 +2378,180 @@ Negative angle = counterclockwise rotation.</td></tr>
 				<td></td>
 				<td align="center" bgcolor="#d0f0d0">base</td>
 				<td>return a geometric object obtained by swapping x- and y-coordinates</td></tr>
+			<tr><td colspan="5" align="center" bgcolor="#f0f0c0">	
+				<h3><a name="p15plus">SQL functions supporting Affine Transformations and Ground Control Points</a></h3></td></tr>
+			<tr><th bgcolor="#d0d0d0">Function</th>
+				<th bgcolor="#d0d0d0">Syntax</th>
+				<th bgcolor="#d0d0d0">OGC<br>defined</th>
+				<th bgcolor="#d0d0d0">required<br>module</th>
+				<th bgcolor="#d0d0d0">Summary</th></tr>
+			<tr><td><b>ATM_Create</b></td>
+				<td>ATM_Create( <i>void</i> ) : <i>AffineMatrix</i><hr>
+				ATM_Create( a <i>Integer</i> , b <i>Integer</i> , d <i>Integer</i> , e <i>Integer</i> , xoff <i>Integer</i> , yoff <i>Integer</i> ] ) : <i>AffineMatrix</i><hr>
+				ATM_Create( a <i>Integer</i> , b <i>Integer</i> , c <i>Integer</i> , d <i>Integer</i> , e <i>Integer</i>  , f <i>Integer</i> , 
+				g <i>Integer</i> , h </>Integer</i> , i <i>Integer</i> , xoff <i>Integer</i> , yoff <i>Integer</i> , zoff <i>Integer</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix.
+				<ul>
+					<li>the first form (no arguments) will return an <b>Identity</b> matrix.</li>
+					<li>the second and third forms will respectively return a fully initialized <b>2D</b> or <b>3D</b> Affine Transformation matrix.</li>
+				</ul><hr>
+				will return <b>NULL</b> on invalid arguments.</td></tr>
+			<tr><td><b>ATM_CreateTranslate</b></td>
+				<td>ATM_CreateTranslate( tx <i>Double precision</i> , ty <i>Double precision</i> ] ) : <i>AffineMatrix</i><hr>
+				ATM_CreateTranslate( tx <i>Double precision</i> , ty <i>Double precision</i> , tz <i>Double precision</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix representing a <b>2D</b> or <b>3D Translate</b> transformation.</b><hr>
+				will return <b>NULL</b> on invalid arguments.</td></tr>
+			<tr><td><b>ATM_CreateScale</b></td>
+				<td>ATM_CreateScale( sx <i>Double precision</i> , sy <i>Double precision</i> ] ) : <i>AffineMatrix</i><hr>
+				ATM_CreateScale( sx <i>Double precision</i> , sy <i>Double precision</i> , sz <i>Double precision</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix representing a <b>2D</b> or <b>3D Scale</b> transformation.</b><hr>
+				will return <b>NULL</b> on invalid arguments.</td></tr>
+			<tr><td><b>ATM_CreateRotate</b></td>
+				<td>ATM_CreateRotate( angleInDegrees <i>Double precision</i> ] ) : <i>AffineMatrix</i><hr>
+				ATM_CreateZRoll( angleInDegrees <i>Double precision</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix representing a <b>Rotate</b> transformation (along the <b>Z axis</b>).</b><hr>
+				will return <b>NULL</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_CreateXRoll</b></td>
+				<td>ATM_CreateXRoll( angleInDegrees <i>Double precision</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix representing a <b>Rotate</b> transformation (along the <b>X axis</b>).</b><hr>
+				will return <b>NULL</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_CreateYRoll</b></td>
+				<td>ATM_CreateYRoll( angleInDegrees <i>Double precision</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix representing a <b>Rotate</b> transformation (along the <b>Y axis</b>).</b><hr>
+				will return <b>NULL</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_Multiply</b></td>
+				<td>ATM_Multiply( matrixA <i>AffineMatrix</i> , matrixB <i>AffineMatrix</i> ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix representing the result of multiplying <b>matrixA</b> by <b>matrixB</b>.<hr>
+				will return <b>NULL</b> on invalid arguments.</td></tr>
+			<tr><td><b>ATM_Translate</b></td>
+				<td>ATM_Translate( matrix <i>AffineMatrix</i> , tx <i>Double precision</i> , ty <i>Double precision</i> ] ) : <i>AffineMatrix</i><hr>
+				ATM_CreateTranslate( matrix <i>AffineMatrix</i> , tx <i>Double precision</i> , ty <i>Double precision</i> , tz <i>Double precision</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix by chaining a further <b>2D</b> or <b>3D Translate</b> to a previous transformation matrix.</b><hr>
+				will return <b>NULL</b> on invalid arguments.</td></tr>
+			<tr><td><b>ATM_Scale</b></td>
+				<td>ATM_Scale( matrix <i>AffineMatrix</i> , sx <i>Double precision</i> , sy <i>Double precision</i> ] ) : <i>AffineMatrix</i><hr>
+				ATM_Scale( matrix <i>AffineMatrix</i> , sx <i>Double precision</i> , sy <i>Double precision</i> , sz <i>Double precision</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix by chaining a further <b>2D</b> or <b>3D Scale</b> to a previous transformation matrix.</b><hr>
+				will return <b>NULL</b> on invalid arguments.</td></tr>
+			<tr><td><b>ATM_Rotate</b></td>
+				<td>ATM_Rotate( matrix <i>AffineMatrix</i> , angleInDegrees <i>Double precision</i> ] ) : <i>AffineMatrix</i><hr>
+				ATM_ZRoll( matrix <i>AffineMatrix</i> , angleInDegrees <i>Double precision</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix by chaining a further <b>Rotate</b> (along the <b>Z axis</b>) to a previous transformation matrix.</b><hr>
+				will return <b>NULL</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_XRoll</b></td>
+				<td>ATM_XRoll( matrix <i>AffineMatrix</i> , angleInDegrees <i>Double precision</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix by chaining a further <b>Rotate</b> (along the <b>X axis</b>) to a previous transformation matrix.</b><hr>
+				will return <b>NULL</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_YRoll</b></td>
+				<td>ATM_YRoll( matrix <i>AffineMatrix</i> , angleInDegrees <i>Double precision</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a BLOB-encoded Affine Transformation matrix by chaining a further <b>Rotate</b> (along the <b>Y axis</b>) to a previous transformation matrix.</b><hr>
+				will return <b>NULL</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_Determinant</b></td>
+				<td>ATM_Determinant( matrix <i>AffineMatrix</i> ] ) : <i>Double precision</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return the Determinant from an Affine Transformation matrix.<hr>
+				will return <b>0.0</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_IsInvertible</b></td>
+				<td>ATM_IsInvertible( matrix <i>AffineMatrix</i> ] ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return <b>1</b> if the Affine Transformation matrix can be inverted, <b>0</b> if not.<hr>
+				will return <b>-1</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_Invert</b></td>
+				<td>ATM_Invert( matrix <i>AffineMatrix</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return an inverted Affine Transformation matrix.<hr>
+				will return <b>NULL</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_IsValid</b></td>
+				<td>ATM_IsValid( matrix <i>AffineMatrix</i> ] ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return <b>1</b> if the BLOB argument really contains a valid Affine Transformation matrix, <b>0</b> if not.<hr>
+				will return <b>-1</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_AsText</b></td>
+				<td>ATM_AsText( matrix <i>AffineMatrix</i> ] ) : <i>Text</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a serialized text string corresponding to an Affine Transformation matrix.<hr>
+				will return <b>NULL</b> on invalid argument.</td></tr>
+			<tr><td><b>ATM_Transform</b></td>
+				<td>ATM_Transform( geom <i>Geometry</i> , matrix <i>AffineMatrix</i> [ , newSRID <i>Integer</i> ] ) : <i>Geometry</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>return a geometric object obtained by applying an Affine Transformation; if the optional arg newSRID is defined then the returned Geometry will assume the corresponding 
+				Reference System, otherwise it will preserve the same Reference System of the input Geometry.<hr>
+				will return <b>NULL</b> on invalid arguments.</td></tr>
+			<tr><td><b>GCP_Compute</b></td>
+				<td>GCP_Compute( pointA <i>Geometry</i> , pointB <i>Geometry</i> [ order <i>Integer</i>] ) : <i>PolynomialCoeffs</i></td>
+				<td></td>
+				<td align="center" bgcolor="#90f0d0">GrassGis code<br>GPLv2+</td>
+				<td>return BLOB-encoded objects containing Polynomial coefficients computed from a set of matching <b>Ground Control Points</b> pairs.
+				<ul>
+					<li><b>pointA</b> corresponds to the origin Reference System; <b>pointB</b> corresponds to the destination target.</li>
+					<li>the input Geometries must be of the <b>Point</b> type and must have the same dimensions</li>
+					<li>if the points have <b>XYZ</b> or <b>XYZM</b> dimensions then <b>3D coeffs</b> will be returned, otherwise <b>2D</b> coeffs will be return.</li>
+					<li>the optional <b>order</b> argument can assume the following values:
+					<ul>
+						<li><b>0</b>: a set of <b>2D coeffs</b> will be returned by applying the <b>Thin Plate Spline</b> method.</li>
+						<li><b>1</b>: (<i>default setting</i>) a set of <b>2D</b> or <b>3D</b> Polynomial coeffs</b> of the <b>1st order</b> will be returned.</li>
+						<li><b>2</b>: a set of <b>2D</b> or <b>3D</b> Polynomial coeffs</b> of the <b>2nd order</b> will be returned.</li>
+						<li><b>3</b>: a set of <b>2D</b> or <b>3D</b> Polynomial coeffs</b> of the <b>3rd order</b> will be returned.</li>
+					</ul></li>
+				</ul><hr>
+				will return <b>NULL</b> on invalid arguments<hr>
+				<u><b>aggreagate function</b></u></td></tr>
+			<tr><td><b>GCP_IsValid</b></td>
+				<td>GCP_IsValid( matrix <i>PolynomialCoeffs</i> ] ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#90f0d0">GrassGis code<br>GPLv2+</td>
+				<td>return <b>1</b> if the BLOB argument really contains valid Polynomial coeffs, <b>0</b> if not.<hr>
+				will return <b>-1</b> on invalid argument.</td></tr>
+			<tr><td><b>GCP_AsText</b></td>
+				<td>GCP_AsText( matrix <i>PolynomialCoeffs</i> ] ) : <i>Text</i></td>
+				<td></td>
+				<td align="center" bgcolor="#90f0d0">GrassGis code<br>GPLv2+</td>
+				<td>return a serialized text string corresponding to the Polynomial coeffs.<hr>
+				will return <b>NULL</b> on invalid argument.</td></tr>
+			<tr><td><b>GCP2ATM</b></td>
+				<td>GCP2ATM( matrix <i>PolynomialCoeffs</i> ] ) : <i>AffineMatrix</i></td>
+				<td></td>
+				<td align="center" bgcolor="#90f0d0">GrassGis code<br>GPLv2+</td>
+				<td>return an Affine Transformation matrix corresponding to the Polynomial coeffs.<br>
+				Only a set of Polynomial coeffs of the <b>1st order</b> can be converted to an Affine Transformation matrix.<hr>
+				will return <b>NULL</b> on invalid argument.</td></tr>
+			<tr><td><b>GCP_Transform</b></td>
+				<td>GCP_Transform( geom <i>Geometry</i> , coeffs <i>PolynomialCoeffs</i> [ , newSRID <i>Integer</i> ] ) : <i>Geometry</i></td>
+				<td></td>
+				<td align="center" bgcolor="#90f0d0">GrassGis code<br>GPLv2+</td>
+				<td>return a geometric object obtained by applying a Transformation based on Polynomial coefficients of the <b>1st</b>, <b>2nd</b> or <b>3rd order</b>; if the optional arg newSRID is defined then the returned Geometry will assume the corresponding 
+				Reference System, otherwise it will preserve the same Reference System of the input Geometry.<hr>
+				will return <b>NULL</b> on invalid arguments.</td></tr>
 			<tr><td colspan="5" align="center" bgcolor="#f0f0c0">
 				<h3><a name="p16">SQL functions for Spatial-MetaData and Spatial-Index handling</a></h3></td></tr>
 			<tr><th bgcolor="#d0d0d0">Function</th>
@@ -2523,6 +2765,12 @@ the return type is Integer, with a return value of 1 for TRUE (success) or 0 for
 				<td align="center" bgcolor="#d0f0d0">base</td>
 				<td>Creates the <b>raster_coverages</b> table required by <b>RasterLite-2</b><hr>
 the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure)</td></tr>
+		<tr><td><b>CreateVectorCoveragesTables</b></td>
+				<td>CreateVectorCoveragesTables( <i>void</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#d0f0d0">base</td>
+				<td>Creates the <b>vector_coverages</b> and <b>vector_coverages_srid</b> tables required by <b>RasterLite-2</b><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure)</td></tr>
 			<tr><td><b>RebuildGeometryTriggers</b></td>
 				<td>RebuildGeometryTriggers( table_name <i>String</i> , geometry_column_name <i>String</i> ) : <i>integer</i></td>
 				<td></td>
@@ -2579,20 +2827,115 @@ the return type is Integer, with a return value of 1 for TRUE (success) or 0 for
 				<th bgcolor="#d0d0d0">Summary</th></tr>
 		<tr><td><b>CreateStylingTables</b></td>
 				<td>CreateStylingTables() : <i>Integer</i><hr>
-					CreateStylingTables( relaxed <i>Integer</i> ) : <i>Integer</i></td>
+					CreateStylingTables( relaxed <i>Integer</i> ) : <i>Integer</i><hr>
+					CreateStylingTables( relaxed <i>Integer</i> , transaction <i>Integer</i> ) : <i>Integer</i></td>
 				<td></td>
 				<td align="center" bgcolor="#99d099">libxml2</td>
 				<td>Creates a set of tables supporting <b>SLD/SE Styled Layers</b>.
 				<ul>
-					<li>if the <i>optional</i> argument <b>relaxed</b> is specified (any value), then
-					a <i>relaxed</i> version of the validating Triggers will be installed.</li>
+					<li>if the <i>optional</i> argument <b>relaxed</b> is explicitly set as <b>TRUE</b> then
+					a <i>relaxed</i> version of the validating Triggers will be installed (not checking for strict <i><u>XSD schema validation</u></i>).</li>
+					<li>if the <i>optional</i> argument <b>transaction</b> is explicitly set as <b>TRUE</b> then 
+					the whole operation will be atomically confined within a monolithic SQL transaction</li>
 				</ul><hr>
 the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
 				returned on invalid arguments.<hr>
 <i>Please note</i>: will implicitly invoke <b>CreateRasterCoverages()</b> if the <b>raster_coverages</b> table has not yet been created.</td></tr>
-		<tr><td><b>RegisterExternalGraphic</b></td>
-				<td>RegisterExternalGraphic( xlink_href <i>String</i> , resource <i>BLOB</i> ) : <i>Integer</i><hr>
-					RegisterExternalGraphic( xlink_href <i>String</i> , resource <i>BLOB</i> , title <i>String</i> , abstract <i>String</i> , file_name <i>String</i> ) : <i>Integer</i></td>
+		<tr><td><b>SE_RegisterVectorCoverage</b></td>
+				<td>SE_RegisterVectorCoverage( coverage_name <i>String</i> , f_table_name <i>String</i> , f_geometry_column <i>Sting</i> ) : <i>Integer</i><hr>
+					SE_RegisterVectorCoverage( coverage_name <i>String</i> , f_table_name <i>String</i> , f_geometry_column <i>Sting</i> , title <i>String</i> , abstract <i>String </i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Creates a <b>Vector Coverage</b> based on an already existing Spatial Table.
+				<ul>
+					<li><b>coverage_name</b> is the symbolic name uniquely identifying each Vector Coverage (<i>Primary Key</i>).</li>
+					<li><b>f_table_name</b> and <b>f_geometry_column</b> are expected to match a corresponding entry in the <b>geometry_columns</b> table.</li>
+					<li>the optional arguments <b>title</b> and <b>abstract</b> could be eventually specified for better human readability.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterVectorCoverage</b></td>
+				<td>SE_UnregisterVectorCoverage( coverage_name <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Completely removes an already defined <b>Vector Coverage</b> this including any furher depency; the underlying Spatial Table will be absolutely unaffected.
+				<ul>
+					<li><b>coverage_name</b> must identify an existing Vector Coverage.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_SetVectorCoverageInfos</b></td>
+				<td>SE_SetVectorCoverageInfos( coverage_name <i>String</i> , title <i>String</i> , abstract <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Updates the descriptive infos associated to a <b>Vector Coverage</b>.
+				<ul>
+					<li><b>coverage_name</b> must identify an existing Vector Coverage.</li>
+					<li><b>title</b> and <b>abstract</b> represent the descriptive infos to be set.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterVectorCoverageSrid</b></td>
+				<td>SE_RegisterVectorCoverageSrid( coverage_name <i>String</i> , srid <i>Integer</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Adds an alternative <b>SRID</b> to an already defined Vector Coverage.
+				<ul>
+					<li><b>coverage_name</b> must identify an existing Vector Coverage.</li>
+					<li><b>srid</b> is expected to match a corresponding entry in the <b>spatial_ref_sys</b> table.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterVectorCoverageSrid</b></td>
+				<td>SE_UnregisterVectorCoverageSrid( coverage_name <i>String</i> , srid <i>Integer</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes an already defined alternative <b>SRID</b> from a Vector Coverage.
+				<ul>
+					<li><b>coverage_name</b> and <b>srid</b> must identify some previously defined alternative SRID.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UpdateVectorCoverageExtent</b></td>
+				<td>SE_UpdateVectorCoverageExtent() : <i>Integer</i><hr>
+				    SE_UpdateVectorCoverageExtent( transaction <i>Integer</i> ) : <i>Integer</i><hr>
+				    SE_UpdateVectorCoverageExtent( coverage_name <i>String</i> ) : <i>Integer</i><hr>
+				    SE_UpdateVectorCoverageExtent( coverage_name <i>String</i> , transaction <i>Integer</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Updates the <b>Extent</b> boundary supporting a Vector Coverage, this including any eventually defined alternative SRID.
+				<ul>
+					<li>if the optional <b>coverage_name</b> argument is set then only that single Vector Coverage will be updated; 
+					otherwise all registered Vector Coverages will be processed in a single pass (may require a long time).</li>
+					<li>if the optional <b>transaction</b> argument is set to <b>TRUE</b> then the whole operation will be internally
+					handled as a single SQL Transaction.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterVectorCoverageKeyword</b></td>
+				<td>SE_RegisterVectorCoverageeKeyword( coverage_name <i>String</i> , keyword <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Adds a <b>keyword</b> to an already defined Vector Coverage.
+				<ul>
+					<li><b>coverage_name</b> must identify an existing Vector Coverage.</li>
+					<li><b>keyword</b> must not be already defined for the same Coverage.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterVectorCoverageKeyword</b></td>
+				<td>SE_UnregisterVectorCoverageKeyword( coverage_name <i>String</i> , keyword <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes an already defined <b>keyword</b> from a Vector Coverage.
+				<ul>
+					<li><b>coverage_name</b> and <b>keyword</b> must identify some previously defined keyword.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterExternalGraphic</b></td>
+				<td>SE_RegisterExternalGraphic( xlink_href <i>String</i> , resource <i>BLOB</i> ) : <i>Integer</i><hr>
+					SE_RegisterExternalGraphic( xlink_href <i>String</i> , resource <i>BLOB</i> , title <i>String</i> , abstract <i>String</i> , file_name <i>String</i> ) : <i>Integer</i></td>
 				<td></td>
 				<td align="center" bgcolor="#99d099">libxml2</td>
 				<td>Inserts (or updates) an <b>External Graphic Resource</b>.
@@ -2603,57 +2946,208 @@ the return type is Integer, with a return value of 1 for TRUE (success) or 0 for
 				</ul><hr>
 the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
 				returned on invalid arguments.</td></tr>
-		<tr><td><b>RegisterVectorStyledLayer</b></td>
-				<td>RegisterVectorStyledLayer( f_table_name <i>String</i> , f_geometry_column <i>String</i> , style <i>BLOB</i> ) : <i>Integer</i><hr>
-					RegisterVectorStyledLayer( f_table_name <i>String</i> , f_geometry_column <i>String</i> , style_id <i>Integer</i>  , style <i>BLOB</i> ) : <i>Integer</i></td>
+		<tr><td><b>SE_UnregisterExternalGraphic</b></td>
+				<td>SE_UnregisterExternalGraphic( xlink_href <i>String</i> ) : <i>Integer</i></td>
 				<td></td>
 				<td align="center" bgcolor="#99d099">libxml2</td>
-				<td>Inserts (or updates) a <b>Vector Styled Layer</b> definition.
+				<td>Deletes an already existing <b>External Graphic Resource</b>.
+				<ul>
+					<li><b>xlink_href</b> the External Resource to be deleted.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterVectorStyle</b></td>
+				<td>SE_RegisterVectorStyle( style <i>BLOB</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Inserts a new <b>Vector Style</b> definition.
 				<ul>
-					<li><b>f_table_name</b> and <b>f_geometry_column</b> must identify an existing Vector Layer.</li>
 					<li><b>style</b> is expected to be an XmlBLOB containing a valid SLD/SE Style of the Vector type.<br>
-					If <b>CreatedStylingTables()</b> was invoked without specifying the <i>relaxed</i> option this XmlBLOB is expected to have successfully passed a formal XML Schema Validation.</li>
-					<li>The same Vector Layer could eventually support more than a single Style; in this case 
-					the optional argument <b>style_id</b> can be explicitly set in order to identify an individual Style.<br>
-					If no <b>style_id</b> argument is specified then a new Styled Layer will be created, and the <b>style_id</b> value will be automatically set so to ensure univocity.</li>
+					If <b>CreatedStylingTables()</b> was invoked without specifying the <i>relaxed</i> option this XmlBLOB is expected to have successfully passed a formal XML Schema Validation.<br>
+					The registered Style will be identified either by its unique <b>Style ID</b> or by its <b>Style Name</b> automatically retrieved from SLD/SE XML.</li>
 				</ul><hr>
 the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
 				returned on invalid arguments.</td></tr>
-		<tr><td><b>RegisterRasterStyledLayer</b></td>
-				<td>RegisterRasterStyledLayer( coverage_name <i>String</i> , style <i>BLOB</i> ) : <i>Integer</i><hr>
-					RegisterRasterStyledLayer( coverage_name <i>String</i> , style_id <i>Integer</i>  , style <i>BLOB</i> ) : <i>Integer</i></td>
+		<tr><td><b>SE_UnregisterVectorStyle</b></td>
+				<td>SE_UnregisterVectorStyle( style_id <i>Integer</i> [ , remove_all <i>Integer</i> ] ) : <i>Integer</i><hr>
+					SE_UnregisterVectorStyle( style_name <i>Text</i> [ , remove_all <i>Integer</i> ] ) : <i>Integer</td>
 				<td></td>
 				<td align="center" bgcolor="#99d099">libxml2</td>
-				<td>Inserts (or updates) a <b>Raster Styled Layer</b> definition.
+				<td>Removes an already registered <b>Vector Style</b> definition.
+				<ul>
+					<li>The Style to be removed could be referenced either by its unique <b>Style Id</b> or by its <b>Style Name</b>.<br>
+					Anyway any attempt to remove a Style identified by its <b>Name</b> will be rejected if the if two (or more) Styles share the same <b>Name</b> thus causing ambiguity.</li>
+					<li>when the <i>optional</i> argument <b>remove_all</b> is explicitly set to <b>TRUE</b> the Style will be removed even if it's already referenced by some
+					<b>VectorStyledLayer</b> and all dependings references will be removed at the same time.<br>
+					In any other case any attempt to unregister a Style already referenced by one (or more) <b>VectorStyleLayer</b> will be rejected.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_ReloadVectorStyle</b></td>
+				<td>SE_ReloadVectorStyle( style_id <i>Integer</i> , style <i>BLOB</i> ) : <i>Integer</i><hr>
+					SE_ReloadVectorStyle( style_name <i>Text</i> , style <i>BLOB</i> ) : <i>Integer</td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Updates an already existing <b>Vector Style</b> definition.
+				<ul>
+					<li><b>style</b> is expected to be an XmlBLOB containing a valid SLD/SE Style of the Vector type.<br>
+					If <b>CreatedStylingTables()</b> was invoked without specifying the <i>relaxed</i> option this XmlBLOB is expected to have successfully passed a formal XML Schema Validation.<br>
+					The updated Style will continue to be identified by its current unique <b>Style ID</b> but the <b>Style Name</b> will be automatically updated accordingly to SLD/SE XML.</li></li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterVectorStyledLayer</b></td>
+				<td>SE_RegisterVectorStyledLayer( coverage_name <i>String</i> , style_id <i>Integer</i> ) : <i>Integer</i><hr>
+					SE_RegisterVectorStyledLayer( coverage_name <i>String</i> , style_name <i>Text</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Associates a <b>Vector Style</b> to a <b>Vector Styled Layer</b>.
+				<ul>
+					<li><b>coverage_name</b> must identify an existing Vector Layer.</li>
+					<li>An already registered Style can be referenced either by its unique <b>Stile ID</b> or by its <b>Name</b>;
+					anyway a reference <i>by Name</i> could eventually fail if the Name is ambiguous (duplicate).</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterVectorStyledLayer</b></td>
+				<td>SE_UnregisterVectorStyledLayer( coverage_name <i>String</i> , style_id <i>Integer</i> ) : <i>Integer</i><hr>
+					SE_UnregisterVectorStyledLayer( coverage_name <i>String</i> , style_name <i>Text</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes an association between a <b>Vector Style</b> and a <b>Vector Styled Layer</b>.
+				<ul>
+					<li><b>coverage_name</b> must identify an existing Vector Layer.</li>
+					<li>An already associated Style can be referenced either by its unique <b>Stile ID</b> or by its <b>Name</b>;
+					anyway a reference <i>by Name</i> could eventually fail if the Name is ambiguous (duplicate).</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterRasterStyle</b></td>
+				<td>SE_RegisterRasterStyle( style <i>BLOB</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Inserts a new <b>Raster Style</b> definition.
 				<ul>
-					<li><b>coverage_name</b> must identify an existing Raster Layer.</li>
 					<li><b>style</b> is expected to be an XmlBLOB containing a valid SLD/SE Style of the Raster type.<br>
-					If <b>CreatedStylingTables()</b> was invoked without specifying the <i>relaxed</i> option this XmlBLOB is expected to have successfully passed a formal XML Schema Validation.</li>
-					<li>The same Raster Layer could eventually support more than a single Style; in this case 
-					the optional argument <b>style_id</b> can be explicitly set in order to identify an individual Style.<br>
-					If no <b>style_id</b> argument is specified then a new Styled Layer will be created, and the <b>style_id</b> value will be automatically set so to ensure univocity.</li>
+					If <b>CreatedStylingTables()</b> was invoked without specifying the <i>relaxed</i> option this XmlBLOB is expected to have successfully passed a formal XML Schema Validation.<br>
+					The registered Style will be identified either by its unique <b>Style ID</b> or by its <b>Style Name</b> automatically retrieved from SLD/SE XML.</li>
 				</ul><hr>
 the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
 				returned on invalid arguments.</td></tr>
-		<tr><td><b>RegisterStyledGroup</b></td>
-				<td>RegisterStyledGroup( group_name <i>String</i> , f_table_name <i>String</i> , f_geometry_column <i>String</i> [ , paint_order <i>Integer</i> ] ) : <i>Integer</i><hr>
-					RegisterStyledGroup( group_name <i>String</i> , coverage_name <i>String</i> [ , paint_order <i>Integer</i> ] ) : <i>Integer</i></td>
+		<tr><td><b>SE_UnregisterRasterStyle</b></td>
+				<td>SE_UnregisterRasterStyle( style_id <i>Integer</i> [ , remove_all <i>Integer</i> ] ) : <i>Integer</i><hr>
+					SE_UnregisterRasterStyle( style_name <i>Text</i> [ , remove_all <i>Integer</i> ] ) : <i>Integer</td>
 				<td></td>
 				<td align="center" bgcolor="#99d099">libxml2</td>
-				<td>Inserts (or updates) a <b>Styled Group</b> definition.
+				<td>Removes an already registered <b>Raster Style</b> definition.
 				<ul>
-					<li><b>group_name</b> must identify a Styled Group: if the Styled Group doesn't yet exists it will be implicitly created.</li>
-					<li><b>f_table_name</b> and <b>f_geometry_column</b> must identify an existing Vector Layer.</li>
-					<li>or alternatively: <b>coverage_name</b> must identify an existing Raster Layer.</li>
-					<li>the optional <b>paint_order</b> argument could be used to explicitly reference an already defined group item (this implying <u>updating</u> the previous registration)<br>
-					If <b>paint_order</b> is not specified or if a <i>negative</i> value is passed 
-					then the next available order position will be automatically assigned (this always implying <u>inserting</u> a new registration).<br>
-					<u>Please note</u>: the painting order will follow the <b>Painter rule</b>, i.e. a lower paint-order value will always be painted before painting any higher value.
+					<li>The Style to be removed could be referenced either by its unique <b>Style Id</b> or by its <b>Style Name</b>.<br>
+					Anyway any attempt to remove a Style identified by its <b>Name</b> will be rejected if the if two (or more) Styles share the same <b>Name</b> thus causing ambiguity.</li>
+					<li>when the <i>optional</i> argument <b>remove_all</b> is explicitly set to <b>TRUE</b> the Style will be removed even if it's already referenced by some
+					<b>RasterStyledLayer</b> and all dependings references will be removed at the same time.<br>
+					In any other case any attempt to unregister a Style already referenced by one (or more) <b>RasterStyleLayer</b> will be rejected.</li>
 				</ul><hr>
 the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
 				returned on invalid arguments.</td></tr>
-		<tr><td><b>SetStyledGroupInfos</b></td>
-				<td>SetStyledGroupInfos( group_name <i>String</i> , title <i>String</i> , abstract <i>String</i> ) : <i>Integer</i></td>
+		<tr><td><b>SE_ReloadRasterStyle</b></td>
+				<td>SE_ReloadRasterStyle( style_id <i>Integer</i> , style <i>BLOB</i> ) : <i>Integer</i><hr>
+					SE_ReloadRasterStyle( style_name <i>Text</i> , style <i>BLOB</i> ) : <i>Integer</td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Updates an already existing <b>Raster Style</b> definition.
+				<ul>
+					<li><b>style</b> is expected to be an XmlBLOB containing a valid SLD/SE Style of the Raster type.<br>
+					If <b>CreatedStylingTables()</b> was invoked without specifying the <i>relaxed</i> option this XmlBLOB is expected to have successfully passed a formal XML Schema Validation.<br>
+					The updated Style will continue to be identified by its current unique <b>Style ID</b> but the <b>Style Name</b> will be automatically updated accordingly to SLD/SE XML.</li><
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterRasterStyledLayer</b></td>
+				<td>SE_RegisterRasterStyledLayer( coverage_name <i>String</i> , style_id <i>Integer</i>  ) : <i>Integer</i><hr>
+					SE_RegisterRasterStyledLayer( coverage_name <i>String</i> , style_name <i>Text</i>  ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Associates a <b>Raster Style</b> to a <b>Raster Styled Layer</b>.
+				<ul>
+					<li><b>coverage_name</b> must identify an existing Raster Layer.</li>
+					<li>An already registered Style can be referenced either by its unique <b>Stile ID</b> or by its <b>Name</b>;
+					anyway a reference <i>by Name</i> could eventually fail if the Name is ambiguous (duplicate).</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterRasterStyledLayer</b></td>
+				<td>SE_UnregisterRasterStyledLayer( coverage_name <i>String</i> , style_id <i>Integer</i> ) : <i>Integer</i><hr>
+					SE_UnregisterRasterStyledLayer( coverage_name <i>String</i> , style_name <i>Text</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes an association between a <b>Raster Style</b> and a <b>Raster Styled Layer</b>.
+				<ul>
+					<li><b>coverage_name</b> must identify an existing Raster Layer.</li>
+					<li>An already associated Style can be referenced either by its unique <b>Stile ID</b> or by its <b>Name</b>;
+					anyway a reference <i>by Name</i> could eventually fail if the Name is ambiguous (duplicate).</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterRasterCoverageSrid</b></td>
+				<td>SE_RegisterRasterCoverageSrid( coverage_name <i>String</i> , srid <i>Integer</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Adds an alternative <b>SRID</b> to an already defined Raster Coverage.
+				<ul>
+					<li><b>coverage_name</b> must identify an existing Raster Coverage.</li>
+					<li><b>srid</b> is expected to match a corresponding entry in the <b>spatial_ref_sys</b> table.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterRasterCoverageSrid</b></td>
+				<td>SE_UnregisterRasterCoverageSrid( coverage_name <i>String</i> , srid <i>Integer</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes an already defined alternative <b>SRID</b> from a Raster Coverage.
+				<ul>
+					<li><b>coverage_name</b> and <b>srid</b> must identify some previously defined alternative SRID.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UpdateRasterCoverageExtent</b></td>
+				<td>SE_UpdateRasterCoverageExtent() : <i>Integer</i><hr>
+				    SE_UpdateRasterCoverageExtent( transaction <i>Integer</i> ) : <i>Integer</i><hr>
+				    SE_UpdateRasterCoverageExtent( coverage_name <i>String</i> ) : <i>Integer</i><hr>
+				    SE_UpdateRasterCoverageExtent( coverage_name <i>String</i> , transaction <i>Integer</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Updates the <b>Extent</b> boundary supporting a Raster Coverage, this including any eventually defined alternative SRID.
+				<ul>
+					<li>if the optional <b>coverage_name</b> argument is set then only that single Raster Coverage will be updated; 
+					otherwise all registered Raster Coverages will be processed in a single pass (may require a long time).</li>
+					<li>if the optional <b>transaction</b> argument is set to <b>TRUE</b> then the whole operation will be internally
+					handled as a single SQL Transaction.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterRasterCoverageKeyword</b></td>
+				<td>SE_RegisterRasterCoverageKeyword( coverage_name <i>String</i> , keyword <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Adds a <b>keyword</b> to an already defined Raster Coverage.
+				<ul>
+					<li><b>coverage_name</b> must identify an existing Raster Coverage.</li>
+					<li><b>keyword</b> must not be already defined for the same Coverage.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterRasterCoverageKeyword</b></td>
+				<td>SE_UnregisterRasterCoverageKeyword( coverage_name <i>String</i> , keyword <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes an already defined <b>keyword</b> from a Raster Coverage.
+				<ul>
+					<li><b>coverage_name</b> and <b>keyword</b> must identify some previously defined keyword.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_SetStyledGroupInfos</b></td>
+				<td>SE_SetStyledGroupInfos( group_name <i>String</i> , title <i>String</i> , abstract <i>String</i> ) : <i>Integer</i></td>
 				<td></td>
 				<td align="center" bgcolor="#99d099">libxml2</td>
 				<td>Inserts (or updates) the descriptive infos associated to a <b>Styled Group</b>.
@@ -2663,19 +3157,167 @@ the return type is Integer, with a return value of 1 for TRUE (success) or 0 for
 				</ul><hr>
 the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
 				returned on invalid arguments.</td></tr>
-		<tr><td><b>RegisterGroupStyle</b></td>
-				<td>RegisterGroupStyle( group_name <i>String</i> , style <i>BLOB</i> ) : <i>Integer</i><hr>
-					RegisterGroupStyle( group_name <i>String</i> , style_id <i>Integer</i>  , style <i>BLOB</i> ) : <i>Integer</i></td>
+		<tr><td><b>SE_UnregisterStyledGroup</b></td>
+				<td>SE_UnregisterStyledGroup( group_name <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Completely removes a <b>Styled Group</b> and any related item.
+				<ul>
+					<li><b>group_name</b> must identify an existing Styled Group.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterStyledGroupVector</b></td>
+				<td>SE_RegisterStyledGroupVector( group_name <i>String</i> , coverage_name <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Registers a <b>Vector</b> Layer within a <b>Styled Group</b>.
+				<ul>
+					<li><b>group_name</b> must identify a Styled Group: if the Styled Group doesn't yet exists it will be implicitly created.</li>
+					<li><b>coverage_name</b> must identify an existing Vector Layer.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterStyledGroupRaster</b></td>
+				<td>SE_RegisterStyledGroupRaster( group_name <i>String</i> , coverage_name <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Registers a <b>Raster</b> Layer within a <b>Styled Group</b>.
+				<ul>
+					<li><b>group_name</b> must identify a Styled Group: if the Styled Group doesn't yet exists it will be implicitly created.</li>
+					<li><b>coverage_name</b> must identify an existing Raster Layer.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_SetStyledGroupLayerPaintOrder</b></td>
+				<td>SE_SetStyledGroupLayerPaintOrder( item_id <i>Integer</i> , paint_order <i>Integer</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Explictly assigns the <b>paint_order</b> for a <b>Raster</b> or <b>Vector</b> Layer within a <b>Styled Group</b>.
+				<ul>
+					<li>If <b>paint_order</b> is a negative value then the next available order position will be automatically assigned (<i>top level</i>).<br>
+					<u>Please note</u>: the painting order will always follow the Painter rule, i.e. a lower paint-order value will always be painted before painting any higher value. </li>
+					<li>An already defined Vector or Raster Layer Item within a Styled Group can always be referenced its unique <b>item_id</b>.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_SetStyledGroupVectorPaintOrder</b></td>
+				<td>SE_SetStyledGroupVectorPaintOrder( group_name <i>Text</i> , coverage_name <i>String</i> , paint_order <i>Integer</i> ) : <i>Integer</i></td>
 				<td></td>
 				<td align="center" bgcolor="#99d099">libxml2</td>
-				<td>Inserts (or updates) a <b>Group Style</b> definition.
+				<td>Explictly assigns the <b>paint_order</b> for a <b>Vector</b> Layer within a <b>Styled Group</b>.
+				<ul>
+					<li>If <b>paint_order</b> is a negative value then the next available order position will be automatically assigned (<i>top level</i>).<br>
+					<u>Please note</u>: the painting order will always follow the Painter rule, i.e. a lower paint-order value will always be painted before painting any higher value. </li>
+					<li>An already defined Vector Layer Item can be safely referenced by its <b>Name</b>.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_SetStyledGroupRasterPaintOrder</b></td>
+				<td>SE_SetStyledGroupRasterPaintOrder( group_name <i>Text</i> , coverage_name <i>String</i> , paint_order <i>Integer</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Explictly assigns the <b>paint_order</b> for a <b>Raster</b> Layer within a <b>Styled Group</b>.
+				<ul>
+					<li>If <b>paint_order</b> is a negative value then the next available order position will be automatically assigned (<i>top level</i>).<br>
+					<u>Please note</u>: the painting order will always follow the Painter rule, i.e. a lower paint-order value will always be painted before painting any higher value. </li>
+					<li>An already defined Raster Layer Item can be safely referenced by its <b>Name</b>.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterStyledGroupLayer</b></td>
+				<td>SE_UnregisterStyledGroupLayer( item_id <i>Integer</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes a reference to a <b>Raster</b> or <b>Vector</b> Layer from within a <b>Styled Group</b>.
+				<ul>
+					<li>An already defined Vector or Raster Layer Item within a Styled Group can always be referenced its unique <b>item_id</b>.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterStyledGroupVector</b></td>
+				<td>SE_UnregisterStyledGroupVector( group_name <i>Text</i> , coverage_name <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes a reference to a <b>Vector</b> Layer from within a <b>Styled Group</b>.
+				<ul>
+					<li>An already defined Vector Layer Item can be safely referenced by its <b>Name</b>.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterStyledGroupRaster</b></td>
+				<td>SE_UnregisterStyledGroupRaster( group_name <i>Text</i> , coverage_name <i>String</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes a reference to a <b>Raster</b> Layer from within a <b>Styled Group</b>.
+				<ul>
+					<li>An already defined Raster Layer Item can be safely referenced by its <b>Name</b>.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterGroupStyle</b></td>
+				<td>SE_RegisterGroupStyle( style <i>BLOB</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Inserts a new <b>Group Style</b> definition.
+				<ul>
+					<li><b>style</b> is expected to be an XmlBLOB containing a valid SLD complex Style.<br>
+					If <b>CreatedStylingTables()</b> was invoked without specifying the <i>relaxed</i> option this XmlBLOB is expected to have successfully passed a formal XML Schema Validation.<br>
+					The registered Style will be identified either by its unique <b>Style ID</b> or by its unique <b>Style Name</b> automatically retrieved from SLD/SE XML.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterGroupStyle</b></td>
+				<td>SE_UnregisterGroupStyle( style_id <i>Integer</i> [ , remove_all <i>Integer</i> ] ) : <i>Integer</i><hr>
+					SE_UnregisterGroupStyle( style_name <i>Text</i> [ , remove_all <i>Integer</i> ] ) : <i>Integer</td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes an already registered <b>Group Style</b> definition.
+				<ul>
+					<li>The Style to be removed could be referenced either by its unique <b>Style Id</b> or by its <b>Style Name</b>.<br>
+					Anyway any attempt to remove a Style identified by its <b>Name</b> will be rejected if the if two (or more) Styles share the same <b>Name</b> thus causing ambiguity.</li>
+					<li>when the <i>optional</i> argument <b>remove_all</b> is explicitly set to <b>TRUE</b> the Style will be removed even if it's already referenced by some
+					<b>RasterStyledLayer</b> and all dependings references will be removed at the same time.<br>
+					In any other case any attempt to unregister a Style already referenced by one (or more) <b>RasterStyleLayer</b> will be rejected.</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_ReloadGroupStyle</b></td>
+				<td>SE_ReloadGroupStyle( style_id <i>Integer</i> , style <i>BLOB</i> ) : <i>Integer</i><hr>
+					SE_ReloadGroupStyle( style_name <i>Text</i> , style <i>BLOB</i> ) : <i>Integer</td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Updates an already existing <b>Group Style</b> definition.
+				<ul>
+					<li><b>style</b> is expected to be an XmlBLOB containing a valid SLD complex Style.<br>
+					If <b>CreatedStylingTables()</b> was invoked without specifying the <i>relaxed</i> option this XmlBLOB is expected to have successfully passed a formal XML Schema Validation.<br>
+					The updated Style will continue to be identified by its current unique <b>Style ID</b> but the <b>Style Name</b> will be automatically updated accordingly to SLD/SE XML.</li></li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_RegisterStyledGroupStyle</b></td>
+				<td>SE_RegisterStyledGroupStyle( group_name <i>String</i> , style_id <i>Integer</i> ) : <i>Integer</i><hr>
+					SE_RegisterStyledGroupStyle( group_name <i>String</i> , style_name <i>Text</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Associates a <b>Group Style</b> to a <b>Styled Group</b>.
 				<ul>
 					<li><b>group_name</b> must identify an existing Styled Group.</li>
-					<li><b>style</b> is expected to be an XmlBLOB containing a valid SLD Style.<br>
-					If <b>CreatedStylingTables()</b> was invoked without specifying the <i>relaxed</i> option this XmlBLOB is expected to have successfully passed a formal XML Schema Validation.</li>
-					<li>The same Styled Group could eventually support more than a single Style; in this case 
-					the optional argument <b>style_id</b> can be explicitly set in order to identify an individual Style.<br>
-					If no <b>style_id</b> argument is specified then a new Style will be created, and the <b>style_id</b> value will be automatically set so to ensure univocity.</li>
+					<li>An already registered Style can be referenced either by its unique <b>Stile ID</b> or by its <b>Name</b>;
+					anyway a reference <i>by Name</i> could eventually fail if the Name is ambiguous (duplicate).</li>
+				</ul><hr>
+the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
+				returned on invalid arguments.</td></tr>
+		<tr><td><b>SE_UnregisterStyledGroupStyle</b></td>
+				<td>SE_UnregisterStyledGroupStyle( group_name <i>String</i> , style_id <i>Integer</i> ) : <i>Integer</i><hr>
+					SE_UnregisterStyledGroupStyle( group_name <i>String</i> , style_name <i>Text</i> ) : <i>Integer</i></td>
+				<td></td>
+				<td align="center" bgcolor="#99d099">libxml2</td>
+				<td>Removes an association between a <b>Group Style</b> and a <b>Styled Group</b>.
+				<ul>
+					<li><b>group_name</b> must identify an existing Styled Group.</li>
+					<li>An already associated Style can be referenced either by its unique <b>Stile ID</b> or by its <b>Name</b>;
+					anyway a reference <i>by Name</i> could eventually fail if the Name is ambiguous (duplicate).</li>
 				</ul><hr>
 the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be
 				returned on invalid arguments.</td></tr>
@@ -2737,6 +3379,7 @@ the return type is Integer, with a return value of 1 for TRUE (success) or 0 for
 				<li><b>1</b> - if both tables exist, and their layout is the one previously used by <b>SpatiaLite legacy</b> (<i>older versions including 3.1.0 any earlier</i>)</li>
 				<li><b>2</b> - if both tables exist, and their layout is the one used by <b>FDO/OGR</b></li>
 				<li><b>3</b> - if both tables exist, and their layout is the one currently used by <b>SpatiaLite</b> (<i>4.0.0 or any subsequent version</i>)</li>
+				<li><b>4</b> - if the DB layout is the one defined by the <b>OGC GPKG</b> specification (<i>GeoPackage</i>)</li>
 				</ul></td></tr>
 			<tr><td><b>AutoFDOStart</b></td>
 				<td>AutoFDOStart( void ) : <i>Integer</i></td>
@@ -2908,7 +3551,7 @@ returns nothing on success, raises exception on error</td></tr>
 							<li><b>"MULTIPOINT"</b></li>
 							<li><b>"MULTILINESTRING"</b></li>
 							<li><b>"MULTIPOLYGON"</b></li>
-							<li><b>"GEOMETRYCOLLECTION"</b></li>
+							<li><b>"GEOMCOLLECTION"</b></li>
 						</ul></li>
 					<li><b>with_z</b> is a flag (0 for no z values, 1 for mandatory z values, 2 for optional z values)</li>
 					<li><b>with_m</b> is a flag (0 for no m values, 1 for mandatory m values, 2 for optional m values)</li>
@@ -3313,6 +3956,63 @@ the return type is Integer, with a return value of 1 for TRUE, 0 for FALSE</td><
                     Explicitly setting the environment variable <b>SPATIALITE_SECURITY=relaxed</b> is absolutely required in order to effectively enable this function.<br>
 					Please see: <b>CountUnsafeTriggers()</b></td></tr>
 			<tr><td colspan="5" align="center" bgcolor="#f0e0c0">
+				<h3><a name="srid">SQL functions supporting SRID inspection</a></h3></td></tr>
+			<tr><th bgcolor="#d0d0d0">Function</th>
+				<th bgcolor="#d0d0d0">Syntax</th>
+				<th bgcolor="#d0d0d0" colspan="3">Summary</th></tr>
+			<tr><td><b>SridIsGeographic</b></td>
+				<td>SridIsGeographic( SRID <i>Integer</i> ) : <i>Integer</i></td>
+				<td colspan="3">Will inspect the SRID definitions checking if the SRID is of the <b>Geographic</b> type;<br>
+					will return <b>1</b> (i.e. <b>TRUE</b>) or <b>0</b> (i.e. <b>FALSE</b>).<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridIsProjected</b></td>
+				<td>SridIsProjected( SRID <i>Integer</i> ) : <i>Integer</i></td>
+				<td colspan="3">Will inspect the SRID definitions checking if the SRID is of the <b>Projected</b> type;<br>
+					will return <b>1</b> (i.e. <b>TRUE</b>) or <b>0</b> (i.e. <b>FALSE</b>).<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridHasFlippedAxes</b></td>
+				<td>SridHasFlippedAxes( SRID <i>Integer</i> ) : <i>Integer</i></td>
+				<td colspan="3">Will inspect the SRID definitions checking if the SRID requires a flipped Axes configuration: i.e. <b>Y,X</b> instead of the most usual <b>X,Y</b>;<br>
+					will return <b>1</b> (i.e. <b>TRUE</b>) or <b>0</b> (i.e. <b>FALSE</b>).<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridGetSpheroid</b></td>
+				<td>SridGetSpheroid( SRID <i>Integer</i> ) : <i>Text</i><hr>
+					SridGetEllipsoid( SRID <i>Integer</i> ) : <i>Text</i></td>
+				<td colspan="3">Will inspect the SRID definitions then returning the appropriate <b>Spheroid</b> name.<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridGetPrimeMeridian</b></td>
+				<td>SridGetPrimeMeridian( SRID <i>Integer</i> ) : <i>Text</i></td>
+				<td colspan="3">Will inspect the SRID definitions then returning the appropriate <b>Prime Meridian</b> name.<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridGetDatum</b></td>
+				<td>SridGetDatum( SRID <i>Integer</i> ) : <i>Text</i></td>
+				<td colspan="3">Will inspect the SRID definitions then returning the appropriate <b>Datum</b> name.<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridGetUnit</b></td>
+				<td>SridGetUnit( SRID <i>Integer</i> ) : <i>Text</i></td>
+				<td colspan="3">Will inspect the SRID definitions then returning the appropriate <b>Unit</b> name.<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridGetProjection</b></td>
+				<td>SridGetProjection( SRID <i>Integer</i> ) : <i>Text</i></td>
+				<td colspan="3">Will inspect the SRID definitions then returning the appropriate <b>Projection</b> name.<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridGetAxis_1_Name</b></td>
+				<td>SridGetAxis_1_Name( SRID <i>Integer</i> ) : <i>Text</i></td>
+				<td colspan="3">Will inspect the SRID definitions then returning the appropriate <b>Name</b> for its <b>first</b> axis.<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridGetAxis_1_Orientation</b></td>
+				<td>SridGetAxis_1_Orientation( SRID <i>Integer</i> ) : <i>Text</i></td>
+				<td colspan="3">Will inspect the SRID definitions then returning the appropriate <b>Orientation</b> for its <b>first</b> axis.<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridGetAxis_2_Name</b></td>
+				<td>SridGetAxis_2_Name( SRID <i>Integer</i> ) : <i>Text</i></td>
+				<td colspan="3">Will inspect the SRID definitions then returning the appropriate <b>Name</b> for its <b>second</b> axis.<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td><b>SridGetAxis_2_Orientation</b></td>
+				<td>SridGetAxis_2_Orientation( SRID <i>Integer</i> ) : <i>Text</i></td>
+				<td colspan="3">Will inspect the SRID definitions then returning the appropriate <b>Orientation</b> for its <b>second</b> axis.<br>
+					<b>NULL</b> will be returned on invalid argument or if the SRID is undefined.</td></tr>
+			<tr><td colspan="5" align="center" bgcolor="#f0e0c0">
 				<h3><a name="advanced">miscellaneous advanced SQL functions</a></h3></td></tr>
 			<tr><th bgcolor="#d0d0d0">Function</th>
 				<th bgcolor="#d0d0d0">Syntax</th>
@@ -3352,26 +4052,37 @@ the return type is Integer, with a return value of 1 for TRUE, 0 for FALSE</td><
 				<hr>
 				Will return the total number of duplicate rows found.<br> <b>NULL</b> will be returned on invalid arguments.</td></tr>
 			<tr><td><b>RemoveDuplicateRows</b></td>
-				<td>RemoveDuplicateRows( table <i>Text</i> ) : <i>Integer</i></td>
-				<td colspan="3">Will remove all duplicate rows from the given <b>table</b> preserving only a songle occurrence.
+				<td>RemoveDuplicateRows( table <i>Text</i> ) : <i>Integer</i><hr>
+				RemoveDuplicateRows( table <i>Text</i> , transaction <i>Boolean</i> ) : <i>Integer</i></td>
+				<td colspan="3">Will remove all duplicate rows from the given <b>table</b> preserving only a songle occurrence.<br>
+				The <i>optional</i> argument <b>transaction</b> determines if an internal SQL Transaction should be automatically
+				started or not (the default setting if not explicitly overridden is <b>TRUE</b>).
 				<hr>
 				Will return the total number of deleted rows.<br> <b>NULL</b> will be returned on invalid arguments.</td></tr>
 			<tr><td><b>ElementaryGeometries</b></td>
 				<td>ElementaryGeometries( in_table <i>Text</i> , geom_column <i>Text</i> , out_table <i>Text</i> ,
-				out_pk <i>Text</i> , out_multi_id <i>Text</i> ) : <i>Integer</i></td>
+				out_pk <i>Text</i> , out_multi_id <i>Text</i> ) : <i>Integer</i><hr>
+				ElementaryGeometries( in_table <i>Text</i> , geom_column <i>Text</i> , out_table <i>Text</i> ,
+				out_pk <i>Text</i> , out_multi_id <i>Text</i> , transaction <i>Boolean</i> ) : <i>Integer</i></td>
 				<td colspan="3">Will create a new <b>out_table</b> directly corresponding to <b>in_table</b>.
 				The output table will be arranged in such a way that each row will always contain an elementary Geometry;
 				so each time that a <b>MULTI-type</b> Geometry is found in the input table it will be split into mamy
 				distinct rows.<br>
 				<b>out_pk</b> is the name to be set for the output Primary Key, and <b>out_multi_id</b> is the name to
-				be set for a second column within the output table where to store the original Primary Key.
+				be set for a second column within the output table where to store the original Primary Key.<br>
+				The <i>optional</i> argument <b>transaction</b> determines if an internal SQL Transaction should be automatically
+				started or not (the default setting if not explicitly overridden is <b>TRUE</b>).
 				<hr>
 				Will return the total number of rows inserted into the output table.<br> <b>NULL</b> will be returned on invalid arguments.</td></tr>
 			<tr><td><b>DropGeoTable</b></td>
 				<td>DropGeoTable( table <i>Text</i> ) : <i>Integer</i><hr>
-				DropGeoTable( db-prefix <i>Text</i> , table <i>Text</i> ) : <i>Integer</i></td>
+				DropGeoTable( table <i>Text</i> , transaction <i>Boolean</i> ) : <i>Integer</i><hr>
+				DropGeoTable( db-prefix <i>Text</i> , table <i>Text</i> ) : <i>Integer</i><hr>
+				DropGeoTable( db-prefix <i>Text</i> , table <i>Text</i> , transaction <i>Boolean</i> ) : <i>Integer</i></td>
 				<td colspan="3">Will completely remove a Geometry Table (or Spatial View) this including any eventual SpatialIndex,
-				metadata and statistics definitions an alike.
+				metadata and statistics definitions an alike.<br>
+				The <i>optional</i> argument <b>transaction</b> determines if an internal SQL Transaction should be automatically
+				started or not (the default setting if not explicitly overridden is <b>TRUE</b>).
 				<hr>
 				Will return <b>0</b> (i.e. <b>FALSE</b>) on failure, any other value (i.e. <b>TRUE</b>) on success..<br> 
 				<b>NULL</b> will be returned on invalid arguments.</td></tr>
diff --git a/src/Makefile.am b/src/Makefile.am
index a541d2e..610cf78 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,3 +1,4 @@
+AUTOMAKE_OPTIONS = subdir-objects
 
 SUBDIRS = headers \
 	gaiaaux \
@@ -11,7 +12,8 @@ SUBDIRS = headers \
 	virtualtext \
 	wfs \
 	dxf \
-	md5
+	md5 \
+	control_points
 
 AM_CPPFLAGS = @CFLAGS@
 AM_CPPFLAGS += -I$(top_srcdir)/src/headers
@@ -28,21 +30,22 @@ libspatialite_la_LIBADD = ./gaiaaux/libgaiaaux.la \
 	./spatialite/libsplite.la \
 	./shapefiles/libshapefiles.la \
 	./dxf/libdxf.la \
-	./md5/libmd5.la \
+	./md5/libmd5.la  \
+	./control_points/libcontrol_points.la\
 	./srsinit/libsrsinit.la \
 	./connection_cache/libconnection_cache.la \
 	./virtualtext/libvirtualtext.la \
 	./wfs/libwfs.la @LIBXML2_LIBS@
 
 if MINGW
-libspatialite_la_LDFLAGS = -version-info 4:2:0 -no-undefined
+libspatialite_la_LDFLAGS = -version-info 4:3:0 -no-undefined
 libspatialite_la_LIBADD += -lm
 else 
 if ANDROID
-libspatialite_la_LDFLAGS = -version-info 7:0:1
+libspatialite_la_LDFLAGS = version-info 8:0:1
 libspatialite_la_LIBADD += -ldl -lm
 else
-libspatialite_la_LDFLAGS = -version-info 7:0:1
+libspatialite_la_LDFLAGS = version-info 8:0:1
 libspatialite_la_LIBADD += -lpthread -ldl -lm
 endif
 endif
@@ -57,6 +60,7 @@ mod_spatialite_la_LIBADD = ./gaiaaux/gaiaaux.la \
 	./shapefiles/shapefiles.la \
 	./dxf/dxf.la \
 	./md5/md5.la \
+	./control_points/control_points.la \
 	./srsinit/srsinit.la \
 	./connection_cache/connection_cache.la \
 	./virtualtext/virtualtext.la \
@@ -72,10 +76,10 @@ mod_spatialite_la_LDFLAGS = -module -avoid-version -no-undefined
 mod_spatialite_la_LIBADD += -lm
 else 
 if ANDROID
-mod_spatialite_la_LDFLAGS = -module -version-info 7:0:1
+mod_spatialite_la_LDFLAGS = -module version-info 8:0:1
 mod_spatialite_la_LIBADD += -ldl -lm
 else
-mod_spatialite_la_LDFLAGS = -module -version-info 7:0:1
+mod_spatialite_la_LDFLAGS = -module version-info 8:0:1
 mod_spatialite_la_LIBADD += -lpthread -ldl -lm
 endif
 endif
diff --git a/src/Makefile.in b/src/Makefile.in
index 61ff519..161133e 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -85,8 +95,6 @@ host_triplet = @host@
 @ANDROID_TRUE@@MINGW_FALSE at am__append_5 = -ldl -lm
 @ANDROID_FALSE@@MINGW_FALSE at am__append_6 = -lpthread -ldl -lm
 subdir = src
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -94,6 +102,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -132,12 +141,13 @@ libspatialite_la_DEPENDENCIES = ./gaiaaux/libgaiaaux.la \
 	./gaiaexif/libgaiaexif.la ./gaiageo/libgaiageo.la \
 	./geopackage/libgeopackage.la ./spatialite/libsplite.la \
 	./shapefiles/libshapefiles.la ./dxf/libdxf.la ./md5/libmd5.la \
-	./srsinit/libsrsinit.la \
+	./control_points/libcontrol_points.la ./srsinit/libsrsinit.la \
 	./connection_cache/libconnection_cache.la \
 	./virtualtext/libvirtualtext.la ./wfs/libwfs.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1)
-am_libspatialite_la_OBJECTS = version.lo
+am__dirstamp = $(am__leading_dot)dirstamp
+am_libspatialite_la_OBJECTS = versioninfo/version.lo
 libspatialite_la_OBJECTS = $(am_libspatialite_la_OBJECTS)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
@@ -151,11 +161,13 @@ mod_spatialite_la_DEPENDENCIES = ./gaiaaux/gaiaaux.la \
 	./gaiaexif/gaiaexif.la ./gaiageo/gaiageo.la \
 	./geopackage/geopackage.la ./spatialite/splite.la \
 	./shapefiles/shapefiles.la ./dxf/dxf.la ./md5/md5.la \
-	./srsinit/srsinit.la ./connection_cache/connection_cache.la \
+	./control_points/control_points.la ./srsinit/srsinit.la \
+	./connection_cache/connection_cache.la \
 	./virtualtext/virtualtext.la ./wfs/wfs.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1)
-am_mod_spatialite_la_OBJECTS = mod_spatialite_la-version.lo
+am_mod_spatialite_la_OBJECTS =  \
+	versioninfo/mod_spatialite_la-version.lo
 mod_spatialite_la_OBJECTS = $(am_mod_spatialite_la_OBJECTS)
 mod_spatialite_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(mod_spatialite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
@@ -239,6 +251,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -394,6 +407,7 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = subdir-objects
 SUBDIRS = headers \
 	gaiaaux \
 	gaiaexif \
@@ -406,7 +420,8 @@ SUBDIRS = headers \
 	virtualtext \
 	wfs \
 	dxf \
-	md5
+	md5 \
+	control_points
 
 AM_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src/headers -I$(top_srcdir)
 lib_LTLIBRARIES = libspatialite.la mod_spatialite.la
@@ -415,26 +430,26 @@ libspatialite_la_LIBADD = ./gaiaaux/libgaiaaux.la \
 	./gaiaexif/libgaiaexif.la ./gaiageo/libgaiageo.la \
 	./geopackage/libgeopackage.la ./spatialite/libsplite.la \
 	./shapefiles/libshapefiles.la ./dxf/libdxf.la ./md5/libmd5.la \
-	./srsinit/libsrsinit.la \
+	./control_points/libcontrol_points.la ./srsinit/libsrsinit.la \
 	./connection_cache/libconnection_cache.la \
 	./virtualtext/libvirtualtext.la ./wfs/libwfs.la @LIBXML2_LIBS@ \
 	$(am__append_1) $(am__append_2) $(am__append_3)
- at ANDROID_FALSE@@MINGW_FALSE at libspatialite_la_LDFLAGS = -version-info 7:0:1
- at ANDROID_TRUE@@MINGW_FALSE at libspatialite_la_LDFLAGS = -version-info 7:0:1
- at MINGW_TRUE@libspatialite_la_LDFLAGS = -version-info 4:2:0 -no-undefined
+ at ANDROID_FALSE@@MINGW_FALSE at libspatialite_la_LDFLAGS = version-info 8:0:1
+ at ANDROID_TRUE@@MINGW_FALSE at libspatialite_la_LDFLAGS = version-info 8:0:1
+ at MINGW_TRUE@libspatialite_la_LDFLAGS = -version-info 4:3:0 -no-undefined
 mod_spatialite_la_SOURCES = versioninfo/version.c
 mod_spatialite_la_LIBADD = ./gaiaaux/gaiaaux.la ./gaiaexif/gaiaexif.la \
 	./gaiageo/gaiageo.la ./geopackage/geopackage.la \
 	./spatialite/splite.la ./shapefiles/shapefiles.la ./dxf/dxf.la \
-	./md5/md5.la ./srsinit/srsinit.la \
-	./connection_cache/connection_cache.la \
+	./md5/md5.la ./control_points/control_points.la \
+	./srsinit/srsinit.la ./connection_cache/connection_cache.la \
 	./virtualtext/virtualtext.la ./wfs/wfs.la @LIBXML2_LIBS@ \
 	$(am__append_4) $(am__append_5) $(am__append_6)
 mod_spatialite_la_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src/headers -I. \
 	-DLOADABLE_EXTENSION
 mod_spatialite_la_LIBTOOLFLAGS = --tag=disable-static
- at ANDROID_FALSE@@MINGW_FALSE at mod_spatialite_la_LDFLAGS = -module -version-info 7:0:1
- at ANDROID_TRUE@@MINGW_FALSE at mod_spatialite_la_LDFLAGS = -module -version-info 7:0:1
+ at ANDROID_FALSE@@MINGW_FALSE at mod_spatialite_la_LDFLAGS = -module version-info 8:0:1
+ at ANDROID_TRUE@@MINGW_FALSE at mod_spatialite_la_LDFLAGS = -module version-info 8:0:1
 @MINGW_TRUE at mod_spatialite_la_LDFLAGS = -module -avoid-version -no-undefined
 MOSTLYCLEANFILES = *.gcna *.gcno *.gcda
 all: all-recursive
@@ -453,7 +468,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -506,62 +520,71 @@ clean-libLTLIBRARIES:
 	  echo rm -f $${locs}; \
 	  rm -f $${locs}; \
 	}
+versioninfo/$(am__dirstamp):
+	@$(MKDIR_P) versioninfo
+	@: > versioninfo/$(am__dirstamp)
+versioninfo/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) versioninfo/$(DEPDIR)
+	@: > versioninfo/$(DEPDIR)/$(am__dirstamp)
+versioninfo/version.lo: versioninfo/$(am__dirstamp) \
+	versioninfo/$(DEPDIR)/$(am__dirstamp)
 
 libspatialite.la: $(libspatialite_la_OBJECTS) $(libspatialite_la_DEPENDENCIES) $(EXTRA_libspatialite_la_DEPENDENCIES) 
 	$(AM_V_CCLD)$(libspatialite_la_LINK) -rpath $(libdir) $(libspatialite_la_OBJECTS) $(libspatialite_la_LIBADD) $(LIBS)
+versioninfo/mod_spatialite_la-version.lo: versioninfo/$(am__dirstamp) \
+	versioninfo/$(DEPDIR)/$(am__dirstamp)
 
 mod_spatialite.la: $(mod_spatialite_la_OBJECTS) $(mod_spatialite_la_DEPENDENCIES) $(EXTRA_mod_spatialite_la_DEPENDENCIES) 
 	$(AM_V_CCLD)$(mod_spatialite_la_LINK) -rpath $(libdir) $(mod_spatialite_la_OBJECTS) $(mod_spatialite_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
+	-rm -f versioninfo/*.$(OBJEXT)
+	-rm -f versioninfo/*.lo
 
 distclean-compile:
 	-rm -f *.tab.c
 
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mod_spatialite_la-version.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/version.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at versioninfo/$(DEPDIR)/mod_spatialite_la-version.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at versioninfo/$(DEPDIR)/version.Plo at am__quote@
 
 .c.o:
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ at am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ at am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
-version.lo: versioninfo/version.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT version.lo -MD -MP -MF $(DEPDIR)/version.Tpo -c -o version.lo `test -f 'versioninfo/version.c' || echo '$(srcdir)/'`versioninfo/version.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/version.Tpo $(DEPDIR)/version.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='versioninfo/version.c' object='version.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o version.lo `test -f 'versioninfo/version.c' || echo '$(srcdir)/'`versioninfo/version.c
-
-mod_spatialite_la-version.lo: versioninfo/version.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(mod_spatialite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_spatialite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mod_spatialite_la-version.lo -MD -MP -MF $(DEPDIR)/mod_spatialite_la-version.Tpo -c -o mod_spatialite_la-version.lo `test -f 'versioninfo/version.c' || echo '$(srcdir)/'`versioninfo/version.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mod_spatialite_la-version.Tpo $(DEPDIR)/mod_spatialite_la-version.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='versioninfo/version.c' object='mod_spatialite_la-version.lo' libtool=yes @AMDEPBACKSLASH@
+versioninfo/mod_spatialite_la-version.lo: versioninfo/version.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(mod_spatialite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_spatialite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT versioninfo/mod_spatialite_la-version.lo -MD -MP -MF versioninfo/$(DEPDIR)/mod_spatialite_la-version.Tpo -c -o versioninfo/mod_spatialite_la-version.lo `test -f 'versioninfo/version.c' || echo '$(srcdir)/'`versioninfo/version.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) versioninfo/$(DEPDIR)/mod_spatialite_la-version.Tpo versioninfo/$(DEPDIR)/mod_spatialite_la-version.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='versioninfo/version.c' object='versioninfo/mod_spatialite_la-version.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(mod_spatialite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_spatialite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mod_spatialite_la-version.lo `test -f 'versioninfo/version.c' || echo '$(srcdir)/'`versioninfo/version.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(mod_spatialite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_spatialite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o versioninfo/mod_spatialite_la-version.lo `test -f 'versioninfo/version.c' || echo '$(srcdir)/'`versioninfo/version.c
 
 mostlyclean-libtool:
 	-rm -f *.lo
 
 clean-libtool:
 	-rm -rf .libs _libs
+	-rm -rf versioninfo/.libs versioninfo/_libs
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run 'make' without going through this Makefile.
@@ -752,6 +775,8 @@ clean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+	-rm -f versioninfo/$(DEPDIR)/$(am__dirstamp)
+	-rm -f versioninfo/$(am__dirstamp)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -762,7 +787,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
 	mostlyclean-am
 
 distclean: distclean-recursive
-	-rm -rf ./$(DEPDIR)
+	-rm -rf versioninfo/$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
 	distclean-tags
@@ -808,7 +833,7 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
-	-rm -rf ./$(DEPDIR)
+	-rm -rf versioninfo/$(DEPDIR)
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -844,6 +869,8 @@ uninstall-am: uninstall-libLTLIBRARIES
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/connection_cache/Makefile.in b/src/connection_cache/Makefile.in
index b55519c..c2b78b9 100644
--- a/src/connection_cache/Makefile.in
+++ b/src/connection_cache/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,8 +90,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/connection_cache
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -89,6 +97,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -188,6 +198,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -370,7 +381,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/connection_cache/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/connection_cache/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -420,14 +430,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -727,6 +737,8 @@ uninstall-am:
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/connection_cache/alloc_cache.c b/src/connection_cache/alloc_cache.c
index 4d11912..42af24e 100644
--- a/src/connection_cache/alloc_cache.c
+++ b/src/connection_cache/alloc_cache.c
@@ -69,6 +69,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include <spatialite.h>
 #include <spatialite_private.h>
 #include <spatialite/gg_advanced.h>
+#include <spatialite/gaiamatrix.h>
 
 #ifndef OMIT_GEOS		/* including GEOS */
 #include <geos_c.h>
@@ -251,6 +252,9 @@ spatialite_alloc_connection ()
       }
     cache->magic1 = SPATIALITE_CACHE_MAGIC1;
     cache->magic2 = SPATIALITE_CACHE_MAGIC2;
+    cache->gpkg_mode = 0;
+    cache->gpkg_amphibious_mode = 0;
+    cache->decimal_precision = -1;
     cache->GEOS_handle = NULL;
     cache->PROJ_handle = NULL;
     cache->pool_index = pool_index;
diff --git a/src/connection_cache/generator/Makefile.in b/src/connection_cache/generator/Makefile.in
index 2c5e61c..34d1d54 100644
--- a/src/connection_cache/generator/Makefile.in
+++ b/src/connection_cache/generator/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/connection_cache/generator
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -256,7 +267,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/connection_cache/generator/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/connection_cache/generator/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -431,6 +441,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/control_points/COPYING b/src/control_points/COPYING
new file mode 100644
index 0000000..d159169
--- /dev/null
+++ b/src/control_points/COPYING
@@ -0,0 +1,339 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/src/control_points/Makefile.am b/src/control_points/Makefile.am
new file mode 100644
index 0000000..8be4798
--- /dev/null
+++ b/src/control_points/Makefile.am
@@ -0,0 +1,22 @@
+
+AM_CPPFLAGS = @CFLAGS@
+AM_CPPFLAGS += -I$(top_srcdir)/src/headers -I.
+
+EXTRA_DIST = COPYING
+
+noinst_HEADERS = grass_crs.h
+noinst_LTLIBRARIES = libcontrol_points.la control_points.la
+
+libcontrol_points_la_SOURCES = gaia_control_points.c grass_crs3d.c \
+	grass_georef.c grass_georef_tps.c
+
+control_points_la_SOURCES = gaia_control_points.c grass_crs3d.c \
+	grass_georef.c grass_georef_tps.c
+
+control_points_la_CPPFLAGS = @CFLAGS@
+control_points_la_CPPFLAGS += -I$(top_srcdir)/src/headers -I.
+control_points_la_CPPFLAGS += -DLOADABLE_EXTENSION
+control_points_la_LDFLAGS = -module
+control_points_la_LIBTOOLFLAGS = --tag=disable-static
+
+MOSTLYCLEANFILES = *.gcna *.gcno *.gcda
diff --git a/src/control_points/Makefile.in b/src/control_points/Makefile.in
new file mode 100644
index 0000000..f356972
--- /dev/null
+++ b/src/control_points/Makefile.in
@@ -0,0 +1,664 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = src/control_points
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+control_points_la_LIBADD =
+am_control_points_la_OBJECTS =  \
+	control_points_la-gaia_control_points.lo \
+	control_points_la-grass_crs3d.lo \
+	control_points_la-grass_georef.lo \
+	control_points_la-grass_georef_tps.lo
+control_points_la_OBJECTS = $(am_control_points_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+control_points_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(control_points_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+	$(CCLD) $(AM_CFLAGS) $(CFLAGS) $(control_points_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
+libcontrol_points_la_LIBADD =
+am_libcontrol_points_la_OBJECTS = gaia_control_points.lo \
+	grass_crs3d.lo grass_georef.lo grass_georef_tps.lo
+libcontrol_points_la_OBJECTS = $(am_libcontrol_points_la_OBJECTS)
+AM_V_P = $(am__v_P_ at AM_V@)
+am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(control_points_la_SOURCES) $(libcontrol_points_la_SOURCES)
+DIST_SOURCES = $(control_points_la_SOURCES) \
+	$(libcontrol_points_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp COPYING
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GEOSCONFIG = @GEOSCONFIG@
+GEOS_CFLAGS = @GEOS_CFLAGS@
+GEOS_LDFLAGS = @GEOS_LDFLAGS@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src/headers -I.
+EXTRA_DIST = COPYING
+noinst_HEADERS = grass_crs.h
+noinst_LTLIBRARIES = libcontrol_points.la control_points.la
+libcontrol_points_la_SOURCES = gaia_control_points.c grass_crs3d.c \
+	grass_georef.c grass_georef_tps.c
+
+control_points_la_SOURCES = gaia_control_points.c grass_crs3d.c \
+	grass_georef.c grass_georef_tps.c
+
+control_points_la_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src/headers -I. \
+	-DLOADABLE_EXTENSION
+control_points_la_LDFLAGS = -module
+control_points_la_LIBTOOLFLAGS = --tag=disable-static
+MOSTLYCLEANFILES = *.gcna *.gcno *.gcda
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/control_points/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign src/control_points/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
+
+control_points.la: $(control_points_la_OBJECTS) $(control_points_la_DEPENDENCIES) $(EXTRA_control_points_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(control_points_la_LINK)  $(control_points_la_OBJECTS) $(control_points_la_LIBADD) $(LIBS)
+
+libcontrol_points.la: $(libcontrol_points_la_OBJECTS) $(libcontrol_points_la_DEPENDENCIES) $(EXTRA_libcontrol_points_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(LINK)  $(libcontrol_points_la_OBJECTS) $(libcontrol_points_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/control_points_la-gaia_control_points.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/control_points_la-grass_crs3d.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/control_points_la-grass_georef.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/control_points_la-grass_georef_tps.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gaia_control_points.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/grass_crs3d.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/grass_georef.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/grass_georef_tps.Plo at am__quote@
+
+.c.o:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+control_points_la-gaia_control_points.lo: gaia_control_points.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(control_points_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(control_points_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT control_points_la-gaia_control_points.lo -MD -MP -MF $(DEPDIR)/control_points_la-gaia_control_points.Tpo -c -o control_points_la-gaia_control_points.lo `test -f 'gaia_control_points.c' || echo '$(srcdir)/'`gaia_control_points.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/control_points_la-gaia_control_points.Tpo $(DEPDIR)/control_points_la-gaia_control_points.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gaia_control_points.c' object='control_points_la-gaia_control_points.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(control_points_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(control_points_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o control_points_la-gaia_control_points.lo `test -f 'gaia_control_points.c' || echo '$(srcdir)/'`gaia_control_points.c
+
+control_points_la-grass_crs3d.lo: grass_crs3d.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(control_points_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(control_points_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT control_points_la-grass_crs3d.lo -MD -MP -MF $(DEPDIR)/control_points_la-grass_crs3d.Tpo -c -o control_points_la-grass_crs3d.lo `test -f 'grass_crs3d.c' || echo '$(srcdir)/'`grass_crs3d.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/control_points_la-grass_crs3d.Tpo $(DEPDIR)/control_points_la-grass_crs3d.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='grass_crs3d.c' object='control_points_la-grass_crs3d.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(control_points_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(control_points_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o control_points_la-grass_crs3d.lo `test -f 'grass_crs3d.c' || echo '$(srcdir)/'`grass_crs3d.c
+
+control_points_la-grass_georef.lo: grass_georef.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(control_points_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(control_points_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT control_points_la-grass_georef.lo -MD -MP -MF $(DEPDIR)/control_points_la-grass_georef.Tpo -c -o control_points_la-grass_georef.lo `test -f 'grass_georef.c' || echo '$(srcdir)/'`grass_georef.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/control_points_la-grass_georef.Tpo $(DEPDIR)/control_points_la-grass_georef.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='grass_georef.c' object='control_points_la-grass_georef.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(control_points_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(control_points_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o control_points_la-grass_georef.lo `test -f 'grass_georef.c' || echo '$(srcdir)/'`grass_georef.c
+
+control_points_la-grass_georef_tps.lo: grass_georef_tps.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(control_points_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(control_points_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT control_points_la-grass_georef_tps.lo -MD -MP -MF $(DEPDIR)/control_points_la-grass_georef_tps.Tpo -c -o control_points_la-grass_georef_tps.lo `test -f 'grass_georef_tps.c' || echo '$(srcdir)/'`grass_georef_tps.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/control_points_la-grass_georef_tps.Tpo $(DEPDIR)/control_points_la-grass_georef_tps.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='grass_georef_tps.c' object='control_points_la-grass_georef_tps.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(control_points_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(control_points_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o control_points_la-grass_georef_tps.lo `test -f 'grass_georef_tps.c' || echo '$(srcdir)/'`grass_georef_tps.c
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
+	ctags-am distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/control_points/gaia_control_points.c b/src/control_points/gaia_control_points.c
new file mode 100644
index 0000000..414bdfe
--- /dev/null
+++ b/src/control_points/gaia_control_points.c
@@ -0,0 +1,1312 @@
+/*
+
+ gaia_control_points.c -- Gaia implementation of RMSE and TPS Control Points
+    
+ version 4.3, 2015 May 5
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ ------------------------------------------------------------------------------
+ DISCLAIMER: this source is simply intemded as an interface supporting the
+             sources from Grass GIS
+			 NOTE: accordingly to the initial license this file is released
+			 under GPL2+ terms
+ ------------------------------------------------------------------------------
+ 
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ 
+*/
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#if defined(_WIN32) && !defined(__MINGW32__)
+#include "config-msvc.h"
+#else
+#include "config.h"
+#endif
+
+#ifdef ENABLE_GCP		/* only if ControlPoints enabled */
+
+#include <spatialite/sqlite.h>
+
+#include <spatialite_private.h>
+#include <spatialite/gaiageo.h>
+#include <spatialite/gaiamatrix.h>
+#include <spatialite/control_points.h>
+
+#include "grass_crs.h"
+
+#define POLYNOMIAL_MAGIC_START		0x00
+#define POLYNOMIAL_MAGIC_DELIMITER	0x6a
+#define POLYNOMIAL_MAGIC_END		0x63
+#define POLYNOMIAL_FIRST_ORDER		0xb1
+#define POLYNOMIAL_SECOND_ORDER		0xb2
+#define POLYNOMIAL_THIRD_ORDER		0xb3
+#define THIN_PLATE_SPLINE			0x3f
+#define POLYNOMIAL_2D				0x3e
+#define POLYNOMIAL_3D				0x3d
+
+struct cp_coeffs
+{
+/* Polynomial Coefficients */
+    unsigned char type;
+    unsigned char order;
+    double E[20];
+    double N[20];
+    double Z[20];
+    double *Etps;
+    double *Ntps;
+    struct Control_Points grass_cp;
+};
+
+GAIACP_DECLARE GaiaControlPointsPtr
+gaiaCreateControlPoints (int allocation_incr, int has3d, int order, int tps)
+{
+/* creating a Control Point set container */
+    struct gaia_control_points *cp =
+	malloc (sizeof (struct gaia_control_points));
+    if (cp == NULL)
+	return NULL;
+    if (order < 1)
+	order = 1;
+    if (order > 3)
+	order = 3;
+    cp->order = order;
+    cp->has3d = has3d;
+    cp->tps = tps;
+    cp->affine_valid = 0;
+    if (allocation_incr < 64)
+	allocation_incr = 64;
+    cp->allocation_incr = allocation_incr;
+    cp->allocated_items = allocation_incr;
+    cp->count = 0;
+    cp->x0 = malloc (sizeof (double) * allocation_incr);
+    cp->y0 = malloc (sizeof (double) * allocation_incr);
+    cp->x1 = malloc (sizeof (double) * allocation_incr);
+    cp->y1 = malloc (sizeof (double) * allocation_incr);
+    if (has3d)
+      {
+	  cp->z0 = malloc (sizeof (double) * allocation_incr);
+	  cp->z1 = malloc (sizeof (double) * allocation_incr);
+      }
+    else
+      {
+	  cp->z0 = NULL;
+	  cp->z1 = NULL;
+      }
+    if (cp->x0 == NULL || cp->y0 == NULL || cp->x1 == NULL || cp->y1 == NULL)
+	goto error;
+    if (has3d && (cp->z0 == NULL || cp->z1 == NULL))
+	goto error;
+    return (GaiaControlPointsPtr) cp;
+
+  error:
+    if (cp->x0 != NULL)
+	free (cp->x0);
+    if (cp->y0 != NULL)
+	free (cp->y0);
+    if (cp->z0 != NULL)
+	free (cp->z0);
+    if (cp->x1 != NULL)
+	free (cp->x1);
+    if (cp->y1 != NULL)
+	free (cp->y1);
+    if (cp->z1 != NULL)
+	free (cp->z1);
+    return NULL;
+}
+
+GAIACP_DECLARE int
+gaiaAddControlPoint3D (GaiaControlPointsPtr cp_handle, double x0, double y0,
+		       double z0, double x1, double y1, double z1)
+{
+/* inserting a Control Point 3D into the aggregate container */
+    struct gaia_control_points *cp = (struct gaia_control_points *) cp_handle;
+    if (cp == NULL)
+	return 0;
+    if (cp->has3d == 0)
+	return 0;
+    if (cp->allocated_items == cp->count)
+      {
+	  /* increasing the size of coord arrays */
+	  cp->allocated_items += cp->allocation_incr;
+	  cp->x0 = realloc (cp->x0, sizeof (double) * cp->allocated_items);
+	  cp->y0 = realloc (cp->y0, sizeof (double) * cp->allocated_items);
+	  cp->z0 = realloc (cp->z0, sizeof (double) * cp->allocated_items);
+	  cp->x1 = realloc (cp->x1, sizeof (double) * cp->allocated_items);
+	  cp->y1 = realloc (cp->y1, sizeof (double) * cp->allocated_items);
+	  cp->z1 = realloc (cp->z1, sizeof (double) * cp->allocated_items);
+      }
+    if (cp->x0 == NULL || cp->y0 == NULL || cp->x1 == NULL || cp->y1 == NULL
+	|| cp->z0 == NULL || cp->z1 == NULL)
+	return 0;
+    cp->x0[cp->count] = x0;
+    cp->y0[cp->count] = y0;
+    cp->z0[cp->count] = z0;
+    cp->x1[cp->count] = x1;
+    cp->y1[cp->count] = y1;
+    cp->z1[cp->count] = z1;
+    cp->count += 1;
+    return 1;
+}
+
+GAIACP_DECLARE int
+gaiaAddControlPoint2D (GaiaControlPointsPtr cp_handle, double x0, double y0,
+		       double x1, double y1)
+{
+/* inserting a Control Point 2D into the aggregate container */
+    struct gaia_control_points *cp = (struct gaia_control_points *) cp_handle;
+    if (cp == NULL)
+	return 0;
+    if (cp->has3d)
+	return 0;
+    if (cp->allocated_items == cp->count)
+      {
+	  /* increasing the size of coord arrays */
+	  cp->allocated_items += 1024;
+	  cp->x0 = realloc (cp->x0, sizeof (double) * cp->allocated_items);
+	  cp->y0 = realloc (cp->y0, sizeof (double) * cp->allocated_items);
+	  cp->x1 = realloc (cp->x1, sizeof (double) * cp->allocated_items);
+	  cp->y1 = realloc (cp->y1, sizeof (double) * cp->allocated_items);
+      }
+    if (cp->x0 == NULL || cp->y0 == NULL || cp->x1 == NULL || cp->y1 == NULL)
+	return 0;
+    cp->x0[cp->count] = x0;
+    cp->y0[cp->count] = y0;
+    cp->x1[cp->count] = x1;
+    cp->y1[cp->count] = y1;
+    cp->count += 1;
+    return 1;
+}
+
+GAIACP_DECLARE void
+gaiaFreeControlPoints (GaiaControlPointsPtr cp_handle)
+{
+/* memory cleanup */
+    struct gaia_control_points *cp = (struct gaia_control_points *) cp_handle;
+    if (cp == NULL)
+	return;
+    free (cp->x0);
+    free (cp->y0);
+    free (cp->x1);
+    free (cp->y1);
+    if (cp->has3d)
+      {
+	  free (cp->z0);
+	  free (cp->z1);
+      }
+    free (cp);
+}
+
+
+static void
+copy_control_points_2d (struct gaia_control_points *gaia_cp,
+			struct Control_Points *cp)
+{
+/* initializing Grass 2D Control Points */
+    int i;
+    cp->count = gaia_cp->count;
+    cp->e1 = malloc (sizeof (double) * cp->count);
+    cp->e2 = malloc (sizeof (double) * cp->count);
+    cp->n1 = malloc (sizeof (double) * cp->count);
+    cp->n2 = malloc (sizeof (double) * cp->count);
+    cp->status = malloc (sizeof (double) * cp->count);
+    for (i = 0; i < cp->count; i++)
+      {
+	  cp->e1[i] = gaia_cp->x0[i];
+	  cp->e2[i] = gaia_cp->x1[i];
+	  cp->n1[i] = gaia_cp->y0[i];
+	  cp->n2[i] = gaia_cp->y1[i];
+	  cp->status[i] = 1;
+      }
+}
+
+static void
+copy_control_points_3d (struct gaia_control_points *gaia_cp,
+			struct Control_Points_3D *cp)
+{
+/* initializing Grass 2D Control Points */
+    int i;
+    cp->count = gaia_cp->count;
+    cp->e1 = malloc (sizeof (double) * cp->count);
+    cp->e2 = malloc (sizeof (double) * cp->count);
+    cp->n1 = malloc (sizeof (double) * cp->count);
+    cp->n2 = malloc (sizeof (double) * cp->count);
+    cp->z1 = malloc (sizeof (double) * cp->count);
+    cp->z2 = malloc (sizeof (double) * cp->count);
+    cp->status = malloc (sizeof (double) * cp->count);
+    for (i = 0; i < cp->count; i++)
+      {
+	  cp->e1[i] = gaia_cp->x0[i];
+	  cp->e2[i] = gaia_cp->x1[i];
+	  cp->n1[i] = gaia_cp->y0[i];
+	  cp->n2[i] = gaia_cp->y1[i];
+	  cp->z1[i] = gaia_cp->z0[i];
+	  cp->z2[i] = gaia_cp->z1[i];
+	  cp->status[i] = 1;
+      }
+}
+
+static void
+free_control_points_2d (struct Control_Points *cp)
+{
+/* freeing Grass 2D Control Points */
+    if (cp->e1 != NULL)
+	free (cp->e1);
+    if (cp->e2 != NULL)
+	free (cp->e2);
+    if (cp->n1 != NULL)
+	free (cp->n1);
+    if (cp->n2 != NULL)
+	free (cp->n2);
+    if (cp->status != NULL)
+	free (cp->status);
+}
+
+static void
+free_control_points_3d (struct Control_Points_3D *cp)
+{
+/* freeing Grass 3D Control Points */
+    if (cp->e1 != NULL)
+	free (cp->e1);
+    if (cp->e2 != NULL)
+	free (cp->e2);
+    if (cp->n1 != NULL)
+	free (cp->n1);
+    if (cp->n2 != NULL)
+	free (cp->n2);
+    if (cp->z1 != NULL)
+	free (cp->z1);
+    if (cp->z2 != NULL)
+	free (cp->z2);
+    if (cp->status != NULL)
+	free (cp->status);
+}
+
+static int
+blob_encode_3d (double *E, double *N, double *Z, int order,
+		unsigned char **blob, int *blob_sz)
+{
+/* creating a BLOB-Polynomial object - 3D */
+    int i;
+    int max;
+    unsigned char *xblob = NULL;
+    unsigned char *ptr;
+    int xblob_sz;
+    int endian_arch = gaiaEndianArch ();
+
+    *blob = NULL;
+    *blob_sz = 0;
+
+    if (order == 2)
+	max = 10;
+    else if (order == 3)
+	max = 20;
+    else
+	max = 4;
+    xblob_sz = 11 + (max * (3 * (sizeof (double) + 1)));
+
+    xblob = malloc (xblob_sz);
+    if (xblob == NULL)
+	return 0;
+    ptr = xblob;
+/* encoding the BLOB */
+    *ptr = POLYNOMIAL_MAGIC_START;	/* START signature */
+    *(ptr + 1) = 1;		/* LITTLE ENDIAN */
+    *(ptr + 2) = POLYNOMIAL_3D;
+    *(ptr + 3) = POLYNOMIAL_MAGIC_DELIMITER;
+    *(ptr + 4) = order;
+    *(ptr + 5) = POLYNOMIAL_MAGIC_DELIMITER;
+    gaiaExport32 (ptr + 6, 0, 1, endian_arch);
+    ptr = xblob + 10;
+    for (i = 0; i < max; i++)
+      {
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, E[i], 1, endian_arch);
+	  ptr += sizeof (double);
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, N[i], 1, endian_arch);
+	  ptr += sizeof (double);
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, Z[i], 1, endian_arch);
+	  ptr += sizeof (double);
+      }
+    *ptr = POLYNOMIAL_MAGIC_END;
+
+    *blob = xblob;
+    *blob_sz = xblob_sz;
+    return 1;
+}
+
+static int
+blob_encode_2d (double *E, double *N, unsigned char order,
+		unsigned char **blob, int *blob_sz)
+{
+/* creating a BLOB-Polynomial object - 2D */
+    int i;
+    int max;
+    unsigned char *xblob = NULL;
+    unsigned char *ptr;
+    int xblob_sz;
+    int endian_arch = gaiaEndianArch ();
+
+    *blob = NULL;
+    *blob_sz = 0;
+
+    if (order == 2)
+	max = 6;
+    else if (order == 3)
+	max = 10;
+    else
+	max = 3;
+    xblob_sz = 11 + (max * (2 * (sizeof (double) + 1)));
+
+    xblob = malloc (xblob_sz);
+    if (xblob == NULL)
+	return 0;
+    ptr = xblob;
+/* encoding the BLOB */
+    *ptr = POLYNOMIAL_MAGIC_START;	/* START signature */
+    *(ptr + 1) = 1;		/* LITTLE ENDIAN */
+    *(ptr + 2) = POLYNOMIAL_2D;
+    *(ptr + 3) = POLYNOMIAL_MAGIC_DELIMITER;
+    *(ptr + 4) = order;
+    *(ptr + 5) = POLYNOMIAL_MAGIC_DELIMITER;
+    gaiaExport32 (ptr + 6, 0, 1, endian_arch);
+    ptr = xblob + 10;
+    for (i = 0; i < max; i++)
+      {
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, E[i], 1, endian_arch);
+	  ptr += sizeof (double);
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, N[i], 1, endian_arch);
+	  ptr += sizeof (double);
+      }
+    *ptr = POLYNOMIAL_MAGIC_END;
+
+    *blob = xblob;
+    *blob_sz = xblob_sz;
+    return 1;
+}
+
+static int
+blob_encode_tps (double *E, double *N, struct Control_Points *cp,
+		 unsigned char **blob, int *blob_sz)
+{
+/* creating a BLOB-Polynomial object - 2D */
+    int i;
+    unsigned char *xblob = NULL;
+    unsigned char *ptr;
+    int xblob_sz;
+    int endian_arch = gaiaEndianArch ();
+
+    *blob = NULL;
+    *blob_sz = 0;
+
+    xblob_sz = 11 + ((cp->count + 3) * (2 * (sizeof (double) + 1)));
+    xblob_sz += (cp->count * (4 * (sizeof (double) + 1)));
+
+    xblob = malloc (xblob_sz);
+    if (xblob == NULL)
+	return 0;
+    ptr = xblob;
+/* encoding the BLOB */
+    *ptr = POLYNOMIAL_MAGIC_START;	/* START signature */
+    *(ptr + 1) = 1;		/* LITTLE ENDIAN */
+    *(ptr + 2) = THIN_PLATE_SPLINE;
+    *(ptr + 3) = POLYNOMIAL_MAGIC_DELIMITER;
+    *(ptr + 4) = 1;
+    *(ptr + 5) = POLYNOMIAL_MAGIC_DELIMITER;
+    gaiaExport32 (ptr + 6, cp->count, 1, endian_arch);
+    ptr = xblob + 10;
+    for (i = 0; i < cp->count + 3; i++)
+      {
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, E[i], 1, endian_arch);
+	  ptr += sizeof (double);
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, N[i], 1, endian_arch);
+	  ptr += sizeof (double);
+      }
+    for (i = 0; i < cp->count; i++)
+      {
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, cp->e1[i], 1, endian_arch);
+	  ptr += sizeof (double);
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, cp->n1[i], 1, endian_arch);
+	  ptr += sizeof (double);
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, cp->e2[i], 1, endian_arch);
+	  ptr += sizeof (double);
+	  *ptr++ = POLYNOMIAL_MAGIC_DELIMITER;
+	  gaiaExport64 (ptr, cp->n2[i], 1, endian_arch);
+	  ptr += sizeof (double);
+      }
+    *ptr = POLYNOMIAL_MAGIC_END;
+
+    *blob = xblob;
+    *blob_sz = xblob_sz;
+    return 1;
+}
+
+static int
+blob_decode (struct cp_coeffs *coeffs, const unsigned char *blob, int blob_sz)
+{
+/* decoding a BLOB-Polynomial coeffs object */
+    int endian;
+    int endian_arch = gaiaEndianArch ();
+    unsigned char type;
+    unsigned char order;
+    int count;
+    int i;
+    int max;
+    int xblob_sz;
+    const unsigned char *ptr = blob;
+
+    coeffs->Etps = NULL;
+    coeffs->Ntps = NULL;
+    coeffs->grass_cp.count = 0;
+    coeffs->grass_cp.e1 = NULL;
+    coeffs->grass_cp.n1 = NULL;
+    coeffs->grass_cp.e2 = NULL;
+    coeffs->grass_cp.n2 = NULL;
+    coeffs->grass_cp.status = NULL;
+    if (blob == NULL)
+	return 0;
+    if (blob_sz < 11)
+	return 0;
+
+    if (*ptr != POLYNOMIAL_MAGIC_START)
+	return 0;
+    if (*(ptr + 1) == 1)
+	endian = 1;
+    else if (*(ptr + 1) == 0)
+	endian = 0;
+    else
+	return 0;
+    type = *(ptr + 2);
+    order = *(ptr + 4);
+    coeffs->type = type;
+    coeffs->order = order;
+    if (order < 1 || order > 3)
+	return 0;
+    if (type == THIN_PLATE_SPLINE)
+	max = 0;
+    else if (type == POLYNOMIAL_2D)
+      {
+	  if (order == 2)
+	      max = 6;
+	  else if (order == 3)
+	      max = 10;
+	  else
+	      max = 3;
+      }
+    else if (type == POLYNOMIAL_3D)
+      {
+	  if (order == 2)
+	      max = 10;
+	  else if (order == 3)
+	      max = 20;
+	  else
+	      max = 4;
+      }
+    else
+	return 0;
+    count = gaiaImport32 (ptr + 6, endian, endian_arch);
+    if (type == POLYNOMIAL_3D)
+	xblob_sz = 11 + (max * (3 * (sizeof (double) + 1)));
+    else
+	xblob_sz = 11 + (max * (2 * (sizeof (double) + 1)));
+    if (type == THIN_PLATE_SPLINE)
+      {
+	  xblob_sz += ((count + 3) * (2 * (sizeof (double) + 1)));
+	  xblob_sz += (count * (4 * (sizeof (double) + 1)));
+      }
+    if (blob_sz != xblob_sz)
+	return 0;
+
+    ptr = blob + 11;
+    for (i = 0; i < max; i++)
+      {
+	  coeffs->E[i] = gaiaImport64 (ptr, endian, endian_arch);
+	  ptr += sizeof (double) + 1;
+	  coeffs->N[i] = gaiaImport64 (ptr, endian, endian_arch);
+	  ptr += sizeof (double) + 1;
+	  if (type == POLYNOMIAL_3D)
+	    {
+		coeffs->Z[i] = gaiaImport64 (ptr, endian, endian_arch);
+		ptr += sizeof (double) + 1;
+	    }
+      }
+
+    if (type == THIN_PLATE_SPLINE)
+      {
+	  /* extracting the Control Points for Grass TPS code */
+	  coeffs->Etps = malloc (sizeof (double) * (3 + count));
+	  coeffs->Ntps = malloc (sizeof (double) * (3 + count));
+	  coeffs->grass_cp.count = count;
+	  coeffs->grass_cp.e1 = malloc (sizeof (double) * count);
+	  coeffs->grass_cp.n1 = malloc (sizeof (double) * count);
+	  coeffs->grass_cp.e2 = malloc (sizeof (double) * count);
+	  coeffs->grass_cp.n2 = malloc (sizeof (double) * count);
+	  coeffs->grass_cp.status = malloc (sizeof (int) * count);
+	  for (i = 0; i < count + 3; i++)
+	    {
+		coeffs->Etps[i] = gaiaImport64 (ptr, endian, endian_arch);
+		ptr += sizeof (double) + 1;
+		coeffs->Ntps[i] = gaiaImport64 (ptr, endian, endian_arch);
+		ptr += sizeof (double) + 1;
+	    }
+	  for (i = 0; i < count; i++)
+	    {
+		coeffs->grass_cp.e1[i] =
+		    gaiaImport64 (ptr, endian, endian_arch);
+		ptr += sizeof (double) + 1;
+		coeffs->grass_cp.n1[i] =
+		    gaiaImport64 (ptr, endian, endian_arch);
+		ptr += sizeof (double) + 1;
+		coeffs->grass_cp.e2[i] =
+		    gaiaImport64 (ptr, endian, endian_arch);
+		ptr += sizeof (double) + 1;
+		coeffs->grass_cp.n2[i] =
+		    gaiaImport64 (ptr, endian, endian_arch);
+		ptr += sizeof (double) + 1;
+		coeffs->grass_cp.status[i] = 1;
+	    }
+      }
+    return 1;
+}
+
+
+GAIACP_DECLARE int
+gaiaCreatePolynomialCoeffs (GaiaControlPointsPtr cp_handle,
+			    unsigned char **blob, int *blob_sz)
+{
+/*
+ * computes the Control Points and return a BLOB-serialized 
+ * Polynomial coeffs object
+*/
+    unsigned char *xblob;
+    int xblob_sz;
+    struct Control_Points cp;
+    struct Control_Points_3D cp3;
+    int ret = 0;
+    int ret2;
+    int use3d;
+    int orthorot = 0;
+    int order = 1;
+    int order_pnts[2][3] = { {3, 6, 10}, {4, 10, 20} };
+
+    double E12[20];
+    double N12[20];
+    double Z12[20];
+    double E21[20];
+    double N21[20];
+    double Z21[20];
+    double *E12_t = NULL;
+    double *N12_t = NULL;
+    double *E21_t = NULL;
+    double *N21_t = NULL;
+    struct gaia_control_points *gaia_cp =
+	(struct gaia_control_points *) cp_handle;
+
+    *blob = NULL;
+    *blob_sz = 0;
+    if (gaia_cp == NULL)
+	return 0;
+
+    cp.count = 0;
+    cp.e1 = NULL;
+    cp.e2 = NULL;
+    cp.n1 = NULL;
+    cp.n2 = NULL;
+    cp.status = NULL;
+
+    cp3.count = 0;
+    cp3.e1 = NULL;
+    cp3.e2 = NULL;
+    cp3.n1 = NULL;
+    cp3.n2 = NULL;
+    cp3.z1 = NULL;
+    cp3.z2 = NULL;
+    cp3.status = NULL;
+
+    use3d = gaia_cp->has3d;
+    order = gaia_cp->order;
+    if (use3d)
+      {
+	  /* 3D control points */
+	  copy_control_points_3d (gaia_cp, &cp3);
+	  ret =
+	      gcp_CRS_compute_georef_equations_3d (&cp3, E12, N12, Z12, E21,
+						   N21, Z21, order);
+      }
+    else
+      {
+	  /* 2D control points */
+	  copy_control_points_2d (gaia_cp, &cp);
+	  if (gaia_cp->tps)
+	      ret =
+		  gcp_I_compute_georef_equations_tps (&cp, &E12_t, &N12_t,
+						      &E21_t, &N21_t);
+	  else
+	      ret =
+		  gcp_I_compute_georef_equations (&cp, E12, N12, E21, N21,
+						  order);
+      }
+
+    switch (ret)
+      {
+      case 0:
+	  fprintf (stderr,
+		   "Not enough active control points for current order, %d are required.\n",
+		   (orthorot ? 3 : order_pnts[use3d != 0][order - 1]));
+	  break;
+      case -1:
+	  fprintf (stderr,
+		   "Poorly placed control points.\nCan not generate the transformation equation.\n");
+	  break;
+      case -2:
+	  fprintf (stderr,
+		   "Not enough memory to solve for transformation equation\n");
+	  break;
+      case -3:
+	  fprintf (stderr, "Invalid order\n");
+	  break;
+      default:
+	  break;
+      }
+
+    if (ret > 0)
+      {
+	  if (use3d)
+	      ret2 = blob_encode_3d (E12, N12, Z12, order, &xblob, &xblob_sz);
+	  else
+	    {
+		if (gaia_cp->tps)
+		    ret2 =
+			blob_encode_tps (E12_t, N12_t, &cp, &xblob, &xblob_sz);
+		else
+		    ret2 = blob_encode_2d (E12, N12, order, &xblob, &xblob_sz);
+	    }
+      }
+
+    if (use3d)
+	free_control_points_3d (&cp3);
+    else
+	free_control_points_2d (&cp);
+    if (E12_t != NULL)
+	free (E12_t);
+    if (N12_t != NULL)
+	free (N12_t);
+    if (E21_t != NULL)
+	free (E21_t);
+    if (N21_t != NULL)
+	free (N21_t);
+
+    if (ret > 0 && ret2)
+      {
+	  *blob = xblob;
+	  *blob_sz = xblob_sz;
+	  return 1;
+      }
+    return 0;
+}
+
+GAIACP_DECLARE int
+gaiaPolynomialIsValid (const unsigned char *blob, int blob_sz)
+{
+/* checking a BLOB-Polynomial coeffs object for validity */
+    unsigned char type;
+    unsigned char order;
+    int i;
+    int max;
+    int xblob_sz;
+    int endian;
+    int endian_arch = gaiaEndianArch ();
+    int count;
+    const unsigned char *ptr = blob;
+    if (blob == NULL)
+	return 0;
+    if (blob_sz < 11)
+	return 0;
+
+    if (*ptr != POLYNOMIAL_MAGIC_START)
+	return 0;
+    if (*(ptr + 1) == 1)
+	endian = 1;
+    else if (*(ptr + 1) == 0)
+	endian = 0;
+    else
+	return 0;
+    type = *(ptr + 2);
+    order = *(ptr + 4);
+    if (order > 3)
+	return 0;
+    if (type == THIN_PLATE_SPLINE)
+	max = 0;
+    else if (type == POLYNOMIAL_2D)
+      {
+	  if (order == 2)
+	      max = 6;
+	  else if (order == 3)
+	      max = 10;
+	  else
+	      max = 3;
+      }
+    else if (type == POLYNOMIAL_3D)
+      {
+	  if (order == 2)
+	      max = 10;
+	  else if (order == 3)
+	      max = 20;
+	  else
+	      max = 4;
+      }
+    else
+	return 0;
+    count = gaiaImport32 (ptr + 6, endian, endian_arch);
+    if (type == POLYNOMIAL_3D)
+	xblob_sz = 11 + (max * (3 * (sizeof (double) + 1)));
+    else
+	xblob_sz = 11 + (max * (2 * (sizeof (double) + 1)));
+    if (type == THIN_PLATE_SPLINE)
+      {
+	  xblob_sz += ((count + 3) * (2 * (sizeof (double) + 1)));
+	  xblob_sz += (count * (4 * (sizeof (double) + 1)));
+      }
+    if (blob_sz != xblob_sz)
+	return 0;
+
+    ptr = blob + 10;
+    for (i = 0; i < max; i++)
+      {
+	  if (*ptr != POLYNOMIAL_MAGIC_DELIMITER)
+	      return 0;
+	  ptr++;
+	  ptr += sizeof (double);
+	  if (*ptr != POLYNOMIAL_MAGIC_DELIMITER)
+	      return 0;
+	  ptr++;
+	  ptr += sizeof (double);
+	  if (type == POLYNOMIAL_3D)
+	    {
+		if (*ptr != POLYNOMIAL_MAGIC_DELIMITER)
+		    return 0;
+		ptr++;
+		ptr += sizeof (double);
+	    }
+      }
+    if (type == THIN_PLATE_SPLINE)
+      {
+	  for (i = 0; i < count + 3; i++)
+	    {
+		if (*ptr != POLYNOMIAL_MAGIC_DELIMITER)
+		    return 0;
+		ptr++;
+		ptr += sizeof (double);
+		if (*ptr != POLYNOMIAL_MAGIC_DELIMITER)
+		    return 0;
+		ptr++;
+		ptr += sizeof (double);
+	    }
+	  for (i = 0; i < count; i++)
+	    {
+		if (*ptr != POLYNOMIAL_MAGIC_DELIMITER)
+		    return 0;
+		ptr++;
+		ptr += sizeof (double);
+		if (*ptr != POLYNOMIAL_MAGIC_DELIMITER)
+		    return 0;
+		ptr++;
+		ptr += sizeof (double);
+		if (*ptr != POLYNOMIAL_MAGIC_DELIMITER)
+		    return 0;
+		ptr++;
+		ptr += sizeof (double);
+		if (*ptr != POLYNOMIAL_MAGIC_DELIMITER)
+		    return 0;
+		ptr++;
+		ptr += sizeof (double);
+	    }
+      }
+    if (*ptr != POLYNOMIAL_MAGIC_END)
+	return 0;
+    return 1;
+}
+
+static void
+clean_tps_coeffs (struct cp_coeffs *cp)
+{
+/* memory cleanup - TPS coefficients */
+    if (cp->Etps != NULL)
+	free (cp->Etps);
+    if (cp->Ntps != NULL)
+	free (cp->Ntps);
+}
+
+GAIACP_DECLARE char *
+gaiaPolynomialAsText (const unsigned char *blob, int blob_sz)
+{
+/* printing a BLOB-Polynomial coeffs object as a text string */
+    char *text = NULL;
+    struct cp_coeffs coeffs;
+    if (!gaiaPolynomialIsValid (blob, blob_sz))
+	return NULL;
+    if (!blob_decode (&coeffs, blob, blob_sz))
+	return NULL;
+
+    free_control_points_2d (&(coeffs.grass_cp));
+/* printing the Polynommial coeffs as text */
+    if (coeffs.type == POLYNOMIAL_3D)
+      {
+	  if (coeffs.order == 3)
+	      text =
+		  sqlite3_mprintf
+		  ("E{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, "
+		   "N{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, "
+		   "Z{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}",
+		   coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.E[3],
+		   coeffs.E[4], coeffs.E[5], coeffs.E[6], coeffs.E[6],
+		   coeffs.E[7], coeffs.E[8], coeffs.E[9], coeffs.E[10],
+		   coeffs.E[11], coeffs.E[12], coeffs.E[13], coeffs.E[14],
+		   coeffs.E[15], coeffs.E[16], coeffs.E[16], coeffs.E[17],
+		   coeffs.E[18], coeffs.E[19], coeffs.N[0], coeffs.N[1],
+		   coeffs.N[2], coeffs.N[3], coeffs.N[4], coeffs.N[5],
+		   coeffs.N[6], coeffs.N[6], coeffs.N[7], coeffs.N[8],
+		   coeffs.N[9], coeffs.N[10], coeffs.N[11], coeffs.N[12],
+		   coeffs.N[13], coeffs.N[14], coeffs.N[15], coeffs.N[16],
+		   coeffs.N[16], coeffs.N[17], coeffs.N[18], coeffs.N[19],
+		   coeffs.Z[0], coeffs.Z[1], coeffs.Z[2], coeffs.Z[3],
+		   coeffs.Z[4], coeffs.Z[5], coeffs.Z[6], coeffs.Z[6],
+		   coeffs.Z[7], coeffs.Z[8], coeffs.Z[9], coeffs.Z[10],
+		   coeffs.Z[11], coeffs.Z[12], coeffs.Z[13], coeffs.Z[14],
+		   coeffs.Z[15], coeffs.Z[16], coeffs.Z[16], coeffs.Z[17],
+		   coeffs.Z[18], coeffs.Z[19]);
+	  else if (coeffs.order == 2)
+	      text =
+		  sqlite3_mprintf
+		  ("E{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, "
+		   "N{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, "
+		   "Z{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}",
+		   coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.E[3],
+		   coeffs.E[4], coeffs.E[5], coeffs.E[6], coeffs.E[6],
+		   coeffs.E[7], coeffs.E[8], coeffs.E[9], coeffs.N[0],
+		   coeffs.N[1], coeffs.N[2], coeffs.N[3], coeffs.N[4],
+		   coeffs.N[5], coeffs.N[6], coeffs.N[6], coeffs.N[7],
+		   coeffs.N[8], coeffs.N[9], coeffs.Z[0], coeffs.Z[1],
+		   coeffs.Z[2], coeffs.Z[3], coeffs.Z[4], coeffs.Z[5],
+		   coeffs.Z[6], coeffs.Z[6], coeffs.Z[7], coeffs.Z[8],
+		   coeffs.Z[9]);
+	  else
+	      text =
+		  sqlite3_mprintf
+		  ("E{%1.10f,%1.10f,%1.10f,%1.10f}, N{%1.10f,%1.10f,%1.10f,%1.10f}, Z{%1.10f,%1.10f,%1.10f,%1.10f}",
+		   coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.E[3],
+		   coeffs.N[0], coeffs.N[1], coeffs.N[2], coeffs.N[3],
+		   coeffs.Z[0], coeffs.Z[1], coeffs.Z[2], coeffs.Z[3]);
+      }
+    else
+      {
+	  if (coeffs.order == 3)
+	      text =
+		  sqlite3_mprintf
+		  ("E{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, "
+		   "N{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}",
+		   coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.E[3],
+		   coeffs.E[4], coeffs.E[5], coeffs.E[6], coeffs.E[6],
+		   coeffs.E[7], coeffs.E[8], coeffs.E[9], coeffs.N[0],
+		   coeffs.N[1], coeffs.N[2], coeffs.N[3], coeffs.N[4],
+		   coeffs.N[5], coeffs.N[6], coeffs.N[6], coeffs.N[7],
+		   coeffs.N[8], coeffs.N[9]);
+	  else if (coeffs.order == 2)
+	      text =
+		  sqlite3_mprintf
+		  ("E{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, "
+		   "N{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}",
+		   coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.E[3],
+		   coeffs.E[4], coeffs.E[5], coeffs.N[0], coeffs.N[1],
+		   coeffs.N[2], coeffs.N[3], coeffs.N[4], coeffs.N[5]);
+	  else
+	      text =
+		  sqlite3_mprintf
+		  ("E{%1.10f,%1.10f,%1.10f}, N{%1.10f,%1.10f,%1.10f}",
+		   coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.N[0],
+		   coeffs.N[1], coeffs.N[2]);
+      }
+    clean_tps_coeffs (&coeffs);
+    return text;
+}
+
+static void
+gaia_point_transform3D (struct cp_coeffs *coeffs, double *x, double *y,
+			double *z)
+{
+/* Affine Transform 3D */
+    double x0 = *x;
+    double y0 = *y;
+    double z0 = *z;
+    double x1;
+    double y1;
+    double z1;
+    if (coeffs->type == THIN_PLATE_SPLINE)
+      {
+	  gcp_I_georef_tps (x0, y0, &x1, &y1, coeffs->Etps, coeffs->Ntps,
+			    &(coeffs->grass_cp), 1);
+	  z1 = z0;
+      }
+    else if (coeffs->type == POLYNOMIAL_2D)
+      {
+	  gcp_I_georef (x0, y0, &x1, &y1, coeffs->E, coeffs->N, coeffs->order);
+	  z1 = z0;
+      }
+    else
+	gcp_CRS_georef_3d (x0, y0, z0, &x1, &y1, &z1, coeffs->E, coeffs->N,
+			   coeffs->Z, coeffs->order);
+    *x = x1;
+    *y = y1;
+    *z = z1;
+}
+
+
+static void
+gaia_point_transform2D (struct cp_coeffs *coeffs, double *x, double *y)
+{
+/* Affine Transform 2D */
+    double x0 = *x;
+    double y0 = *y;
+    double x1;
+    double y1;
+    if (coeffs->type == THIN_PLATE_SPLINE)
+	gcp_I_georef_tps (x0, y0, &x1, &y1, coeffs->Etps, coeffs->Ntps,
+			  &(coeffs->grass_cp), 1);
+    else
+	gcp_I_georef (x0, y0, &x1, &y1, coeffs->E, coeffs->N, coeffs->order);
+    *x = x1;
+    *y = y1;
+}
+
+GAIACP_DECLARE gaiaGeomCollPtr
+gaiaPolynomialTransformGeometry (gaiaGeomCollPtr geom,
+				 const unsigned char *blob, int blob_sz)
+{
+/* transforming a Geometry by applying Polynomial coefficients */
+    int iv;
+    int ib;
+    double x;
+    double y;
+    double z;
+    double m;
+    gaiaPointPtr point;
+    gaiaLinestringPtr line;
+    gaiaLinestringPtr new_line;
+    gaiaPolygonPtr polyg;
+    gaiaPolygonPtr new_polyg;
+    gaiaGeomCollPtr new_geom;
+    gaiaRingPtr i_ring;
+    gaiaRingPtr o_ring;
+    struct cp_coeffs coeffs;
+    if (!gaiaPolynomialIsValid (blob, blob_sz))
+	return NULL;
+    if (!blob_decode (&coeffs, blob, blob_sz))
+	return NULL;
+    if (geom == NULL)
+      {
+	  free_control_points_2d (&(coeffs.grass_cp));
+	  return NULL;
+      }
+
+/* creating the output Geometry */
+    if (geom->DimensionModel == GAIA_XY_Z)
+	new_geom = gaiaAllocGeomCollXYZ ();
+    else if (geom->DimensionModel == GAIA_XY_M)
+	new_geom = gaiaAllocGeomCollXYM ();
+    else if (geom->DimensionModel == GAIA_XY_Z_M)
+	new_geom = gaiaAllocGeomCollXYZM ();
+    else
+	new_geom = gaiaAllocGeomColl ();
+    new_geom->Srid = geom->Srid;
+    new_geom->DeclaredType = geom->DeclaredType;
+
+/* cloning and transforming all individual items */
+    point = geom->FirstPoint;
+    while (point)
+      {
+	  /* copying POINTs */
+	  if (geom->DimensionModel == GAIA_XY_Z)
+	    {
+		x = point->X;
+		y = point->Y;
+		z = point->Z;
+		gaia_point_transform3D (&coeffs, &x, &y, &z);
+		gaiaAddPointToGeomCollXYZ (new_geom, x, y, z);
+	    }
+	  else if (geom->DimensionModel == GAIA_XY_M)
+	    {
+		x = point->X;
+		y = point->Y;
+		m = point->M;
+		gaia_point_transform2D (&coeffs, &x, &y);
+		gaiaAddPointToGeomCollXYM (new_geom, x, y, m);
+	    }
+	  else if (geom->DimensionModel == GAIA_XY_Z_M)
+	    {
+		x = point->X;
+		y = point->Y;
+		z = point->Z;
+		m = point->M;
+		gaia_point_transform3D (&coeffs, &x, &y, &z);
+		gaiaAddPointToGeomCollXYZM (new_geom, x, y, z, m);
+	    }
+	  else
+	    {
+		x = point->X;
+		y = point->Y;
+		gaia_point_transform2D (&coeffs, &x, &y);
+		gaiaAddPointToGeomColl (new_geom, x, y);
+	    }
+	  point = point->Next;
+      }
+
+    line = geom->FirstLinestring;
+    while (line)
+      {
+	  /* copying LINESTRINGs */
+	  new_line = gaiaAddLinestringToGeomColl (new_geom, line->Points);
+	  for (iv = 0; iv < line->Points; iv++)
+	    {
+		z = 0.0;
+		m = 0.0;
+		if (line->DimensionModel == GAIA_XY_Z)
+		  {
+		      gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z);
+		  }
+		else if (line->DimensionModel == GAIA_XY_M)
+		  {
+		      gaiaGetPointXYM (line->Coords, iv, &x, &y, &m);
+		  }
+		else if (line->DimensionModel == GAIA_XY_Z_M)
+		  {
+		      gaiaGetPointXYZM (line->Coords, iv, &x, &y, &z, &m);
+		  }
+		else
+		  {
+		      gaiaGetPoint (line->Coords, iv, &x, &y);
+		  }
+		if (new_line->DimensionModel == GAIA_XY_Z
+		    || new_line->DimensionModel == GAIA_XY_Z_M)
+		    gaia_point_transform3D (&coeffs, &x, &y, &z);
+		else
+		    gaia_point_transform2D (&coeffs, &x, &y);
+		if (new_line->DimensionModel == GAIA_XY_Z)
+		  {
+		      gaiaSetPointXYZ (new_line->Coords, iv, x, y, z);
+		  }
+		else if (new_line->DimensionModel == GAIA_XY_M)
+		  {
+		      gaiaSetPointXYM (new_line->Coords, iv, x, y, m);
+		  }
+		else if (new_line->DimensionModel == GAIA_XY_Z_M)
+		  {
+		      gaiaSetPointXYZM (new_line->Coords, iv, x, y, z, m);
+		  }
+		else
+		  {
+		      gaiaSetPoint (new_line->Coords, iv, x, y);
+		  }
+	    }
+	  line = line->Next;
+      }
+
+    polyg = geom->FirstPolygon;
+    while (polyg)
+      {
+	  /* copying POLYGONs */
+	  i_ring = polyg->Exterior;
+	  new_polyg =
+	      gaiaAddPolygonToGeomColl (new_geom, i_ring->Points,
+					polyg->NumInteriors);
+	  o_ring = new_polyg->Exterior;
+	  /* copying points for the EXTERIOR RING */
+	  for (iv = 0; iv < o_ring->Points; iv++)
+	    {
+		z = 0.0;
+		m = 0.0;
+		if (i_ring->DimensionModel == GAIA_XY_Z)
+		  {
+		      gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, &z);
+		  }
+		else if (i_ring->DimensionModel == GAIA_XY_M)
+		  {
+		      gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, &m);
+		  }
+		else if (i_ring->DimensionModel == GAIA_XY_Z_M)
+		  {
+		      gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, &z, &m);
+		  }
+		else
+		  {
+		      gaiaGetPoint (i_ring->Coords, iv, &x, &y);
+		  }
+		if (o_ring->DimensionModel == GAIA_XY_Z
+		    || o_ring->DimensionModel == GAIA_XY_Z_M)
+		    gaia_point_transform3D (&coeffs, &x, &y, &z);
+		else
+		    gaia_point_transform2D (&coeffs, &x, &y);
+		if (o_ring->DimensionModel == GAIA_XY_Z)
+		  {
+		      gaiaSetPointXYZ (o_ring->Coords, iv, x, y, z);
+		  }
+		else if (o_ring->DimensionModel == GAIA_XY_M)
+		  {
+		      gaiaSetPointXYM (o_ring->Coords, iv, x, y, m);
+		  }
+		else if (o_ring->DimensionModel == GAIA_XY_Z_M)
+		  {
+		      gaiaSetPointXYZM (o_ring->Coords, iv, x, y, z, m);
+		  }
+		else
+		  {
+		      gaiaSetPoint (o_ring->Coords, iv, x, y);
+		  }
+	    }
+	  for (ib = 0; ib < new_polyg->NumInteriors; ib++)
+	    {
+		/* copying each INTERIOR RING [if any] */
+		i_ring = polyg->Interiors + ib;
+		o_ring = gaiaAddInteriorRing (new_polyg, ib, i_ring->Points);
+		for (iv = 0; iv < o_ring->Points; iv++)
+		  {
+		      z = 0.0;
+		      m = 0.0;
+		      if (i_ring->DimensionModel == GAIA_XY_Z)
+			{
+			    gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, &z);
+			}
+		      else if (i_ring->DimensionModel == GAIA_XY_M)
+			{
+			    gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, &m);
+			}
+		      else if (i_ring->DimensionModel == GAIA_XY_Z_M)
+			{
+			    gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, &z,
+					      &m);
+			}
+		      else
+			{
+			    gaiaGetPoint (i_ring->Coords, iv, &x, &y);
+			}
+		      if (o_ring->DimensionModel == GAIA_XY_Z
+			  || o_ring->DimensionModel == GAIA_XY_Z_M)
+			  gaia_point_transform3D (&coeffs, &x, &y, &z);
+		      else
+			  gaia_point_transform2D (&coeffs, &x, &y);
+		      if (o_ring->DimensionModel == GAIA_XY_Z)
+			{
+			    gaiaSetPointXYZ (o_ring->Coords, iv, x, y, z);
+			}
+		      else if (o_ring->DimensionModel == GAIA_XY_M)
+			{
+			    gaiaSetPointXYM (o_ring->Coords, iv, x, y, m);
+			}
+		      else if (o_ring->DimensionModel == GAIA_XY_Z_M)
+			{
+			    gaiaSetPointXYZM (o_ring->Coords, iv, x, y, z, m);
+			}
+		      else
+			{
+			    gaiaSetPoint (o_ring->Coords, iv, x, y);
+			}
+		  }
+	    }
+	  polyg = polyg->Next;
+      }
+    free_control_points_2d (&(coeffs.grass_cp));
+    clean_tps_coeffs (&coeffs);
+    return new_geom;
+}
+
+GAIACP_DECLARE int
+gaiaPolynomialToMatrix (const unsigned char *iblob, int iblob_sz,
+			unsigned char **oblob, int *oblob_sz)
+{
+/*
+* converting a BLOB-Polynomial coeffs object into a
+* BLOB Affine Transformation matrix */
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    struct cp_coeffs coeffs;
+
+    *oblob = NULL;
+    *oblob_sz = 0;
+    if (!gaiaPolynomialIsValid (iblob, iblob_sz))
+	return 0;
+    if (!blob_decode (&coeffs, iblob, iblob_sz))
+	return 0;
+
+    if (coeffs.type == THIN_PLATE_SPLINE)
+      {
+	  free_control_points_2d (&(coeffs.grass_cp));
+	  clean_tps_coeffs (&coeffs);
+	  return 0;		/* Thin Plate Spline coefficients can't be converted */
+      }
+    if (coeffs.order != 1)
+	return 0;		/* only 1st order coefficients can be converted */
+
+/* converting */
+    if (coeffs.type == POLYNOMIAL_3D)
+      {
+	  a = coeffs.E[1];
+	  b = coeffs.E[2];
+	  c = coeffs.E[3];
+	  d = coeffs.N[1];
+	  e = coeffs.N[2];
+	  f = coeffs.N[3];
+	  g = coeffs.Z[1];
+	  h = coeffs.Z[2];
+	  i = coeffs.Z[3];
+	  xoff = coeffs.E[0];
+	  yoff = coeffs.N[0];
+	  zoff = coeffs.Z[0];
+      }
+    else
+      {
+	  a = coeffs.E[1];
+	  b = coeffs.E[2];
+	  d = coeffs.N[1];
+	  e = coeffs.N[2];
+	  xoff = coeffs.E[0];
+	  yoff = coeffs.N[0];
+      }
+    if (gaia_matrix_create
+	(a, b, c, d, e, f, g, h, i, xoff, yoff, zoff, oblob, oblob_sz))
+	return 1;
+    return 0;
+}
+
+#endif /* end including GCO */
diff --git a/src/control_points/grass_crs.h b/src/control_points/grass_crs.h
new file mode 100644
index 0000000..0ad1af3
--- /dev/null
+++ b/src/control_points/grass_crs.h
@@ -0,0 +1,110 @@
+/*
+
+ grass_crs.h -- private header file required by source file derived from
+                Grass GIS
+    
+ version 4.3, 2015 May 5
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ ------------------------------------------------------------------------------
+ DISCLAIMER: this source is strictly derived from Grass GIS code and simply
+             contains very trivial adjustments required in order to compile
+			 smoothly on libspatialite.
+			 NOTE: accordingly to the initial license this file is released
+			 under GPL2+ terms
+ ------------------------------------------------------------------------------
+ 
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ 
+*/
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+#define GCP_PRIVATE __attribute__ ((visibility("hidden")))
+#endif
+
+/* STRUCTURE FOR USE INTERNALLY WITH THESE FUNCTIONS.  THESE FUNCTIONS EXPECT
+   SQUARE MATRICES SO ONLY ONE VARIABLE IS GIVEN (N) FOR THE MATRIX SIZE */
+
+struct MATRIX
+{
+    int n;			/* SIZE OF THIS MATRIX (N x N) */
+    double *v;
+};
+
+/* CALCULATE OFFSET INTO ARRAY BASED ON R/C */
+
+#define M(row,col) m->v[(((row)-1)*(m->n))+(col)-1]
+
+#define MSUCCESS     1		/* SUCCESS */
+#define MNPTERR      0		/* NOT ENOUGH POINTS */
+#define MUNSOLVABLE -1		/* NOT SOLVABLE */
+#define MMEMERR     -2		/* NOT ENOUGH MEMORY */
+#define MPARMERR    -3		/* PARAMETER ERROR */
+#define MINTERR     -4		/* INTERNAL ERROR */
+
+#define MAXORDER 3		/* HIGHEST SUPPORTED ORDER OF TRANSFORMATION */
+
+#define GRASS_EPSILON 1.0e-15
+
+struct Control_Points
+{
+    int count;
+    double *e1;
+    double *n1;
+    double *e2;
+    double *n2;
+    int *status;
+};
+
+struct Control_Points_3D
+{
+    int count;
+    double *e1;
+    double *n1;
+    double *z1;
+    double *e2;
+    double *n2;
+    double *z2;
+    int *status;
+};
+
+GCP_PRIVATE int
+gcp_CRS_compute_georef_equations_3d (struct Control_Points_3D *,
+				     double *, double *, double *,
+				     double *, double *, double *, int);
+
+GCP_PRIVATE int
+gcp_I_compute_georef_equations (struct Control_Points *cp, double E12[],
+				double N12[], double E21[], double N21[],
+				int order);
+
+GCP_PRIVATE int
+gcp_I_compute_georef_equations_tps (struct Control_Points *cp,
+				    double **E12tps, double **N12tps,
+				    double **E21tps, double **N21tps);
+
+GCP_PRIVATE int
+gcp_I_georef (double e1, double n1, double *e, double *n, double E[],
+	      double N[], int order);
+
+GCP_PRIVATE int
+gcp_CRS_georef_3d (double e1, double n1, double z1, double *e,
+		   double *n, double *z, double E[], double N[],
+		   double Z[], int order);
+
+GCP_PRIVATE int
+gcp_I_georef_tps (double e1, double n1, double *e, double *n, double *E,
+		  double *N, struct Control_Points *cp, int fwd);
diff --git a/src/control_points/grass_crs3d.c b/src/control_points/grass_crs3d.c
new file mode 100644
index 0000000..889787b
--- /dev/null
+++ b/src/control_points/grass_crs3d.c
@@ -0,0 +1,579 @@
+/*
+
+ grass_crs3d.c -- strictly derived from Grass GIS code: vector/v.rectify/crs3d.c
+    
+ version 4.3, 2015 May 5
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ ------------------------------------------------------------------------------
+ DISCLAIMER: this source is strictly derived from Grass GIS code and simply
+             contains very trivial adjustments required in order to compile
+			 smoothly on libspatialite.
+			 NOTE: accordingly to the initial license this file is released
+			 under GPL2+ terms
+ ------------------------------------------------------------------------------
+ 
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ 
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <math.h>
+#include <limits.h>
+
+#if defined(_WIN32) && !defined(__MINGW32__)
+#include "config-msvc.h"
+#else
+#include "config.h"
+#endif
+
+#ifdef ENABLE_GCP		/* only if ControlPoints enabled */
+
+/* original code from Grass GIS starts here */
+
+/***********************************************************************
+
+   crs3d.c
+
+   written by: Markus Metz
+
+   based on crs.c - Center for Remote Sensing rectification routines
+
+************************************************************************/
+
+
+#include "grass_crs.h"
+
+/***********************************************************************
+
+  FUNCTION PROTOTYPES FOR STATIC (INTERNAL) FUNCTIONS
+
+************************************************************************/
+
+static int calccoef (struct Control_Points_3D *, double *, double *, double *,
+		     int);
+static int calcls (struct Control_Points_3D *, struct MATRIX *, double *,
+		   double *, double *, double *, double *, double *);
+static int exactdet (struct Control_Points_3D *, struct MATRIX *, double *,
+		     double *, double *, double *, double *, double *);
+static int solvemat (struct MATRIX *, double *, double *, double *, double *,
+		     double *, double *);
+static double term (int, double, double, double);
+
+/***********************************************************************
+
+  TRANSFORM A SINGLE COORDINATE PAIR.
+
+************************************************************************/
+
+GCP_PRIVATE int
+gcp_CRS_georef_3d (double e1,	/* EASTING TO BE TRANSFORMED */
+		   double n1,	/* NORTHING TO BE TRANSFORMED */
+		   double z1,	/* HEIGHT TO BE TRANSFORMED */
+		   double *e,	/* EASTING, TRANSFORMED */
+		   double *n,	/* NORTHING, TRANSFORMED */
+		   double *z,	/* HEIGHT, TRANSFORMED */
+		   double E[],	/* EASTING COEFFICIENTS */
+		   double N[],	/* NORTHING COEFFICIENTS */
+		   double Z[],	/* HEIGHT COEFFICIENTS */
+		   int order	/* ORDER OF TRANSFORMATION TO BE PERFORMED, MUST MATCH THE
+				   ORDER USED TO CALCULATE THE COEFFICIENTS */
+    )
+{
+    double e2, n2, z2, en, ez, nz,
+	e3, n3, z3, e2n, e2z, en2, ez2, n2z, nz2, enz;
+
+    switch (order)
+      {
+      case 1:
+	  *e = E[0] + E[1] * e1 + E[2] * n1 + E[3] * z1;
+	  *n = N[0] + N[1] * e1 + N[2] * n1 + N[3] * z1;
+	  *z = Z[0] + Z[1] * e1 + Z[2] * n1 + Z[3] * z1;
+	  break;
+
+      case 2:
+	  e2 = e1 * e1;
+	  en = e1 * n1;
+	  ez = e1 * z1;
+	  n2 = n1 * n1;
+	  nz = n1 * z1;
+	  z2 = z1 * z1;
+
+	  *e = E[0] + E[1] * e1 + E[2] * n1 + E[3] * z1 +
+	      E[4] * e2 + E[5] * en + E[6] * ez + E[7] * n2 + E[8] * nz +
+	      E[9] * z2;
+	  *n = N[0] + N[1] * e1 + N[2] * n1 + N[3] * z1 + N[4] * e2 +
+	      N[5] * en + N[6] * ez + N[7] * n2 + N[8] * nz + N[9] * z2;
+	  *z = Z[0] + Z[1] * e1 + Z[2] * n1 + Z[3] * z1 + Z[4] * e2 +
+	      Z[5] * en + Z[6] * ez + Z[7] * n2 + Z[8] * nz + Z[9] * z2;
+	  break;
+
+      case 3:
+	  e2 = e1 * e1;
+	  en = e1 * n1;
+	  ez = e1 * z1;
+	  n2 = n1 * n1;
+	  nz = n1 * z1;
+	  z2 = z1 * z1;
+
+	  e3 = e1 * e2;
+	  e2n = e2 * n1;
+	  e2z = e2 * z1;
+	  en2 = e1 * n2;
+	  enz = e1 * n1 * z1;
+	  ez2 = e1 * z2;
+	  n3 = n1 * n2;
+	  n2z = n2 * z1;
+	  nz2 = n1 * z2;
+	  z3 = z1 * z2;
+
+	  *e = E[0] + E[1] * e1 + E[2] * n1 + E[3] * z1 +
+	      E[4] * e2 + E[5] * en + E[6] * ez + E[7] * n2 + E[8] * nz +
+	      E[9] * z2 + E[10] * e3 + E[11] * e2n + E[12] * e2z + E[13] * en2 +
+	      E[14] * enz + E[15] * ez2 + E[16] * n3 + E[17] * n2z +
+	      E[18] * nz2 + E[19] * z3;
+	  *n = N[0] + N[1] * e1 + N[2] * n1 + N[3] * z1 + N[4] * e2 +
+	      N[5] * en + N[6] * ez + N[7] * n2 + N[8] * nz + N[9] * z2 +
+	      N[10] * e3 + N[11] * e2n + N[12] * e2z + N[13] * en2 +
+	      N[14] * enz + N[15] * ez2 + N[16] * n3 + N[17] * n2z +
+	      N[18] * nz2 + N[19] * z3;
+	  *z = Z[0] + Z[1] * e1 + Z[2] * n1 + Z[3] * z1 + Z[4] * e2 +
+	      Z[5] * en + Z[6] * ez + Z[7] * n2 + Z[8] * nz + Z[9] * z2 +
+	      Z[10] * e3 + Z[11] * e2n + Z[12] * e2z + Z[13] * en2 +
+	      Z[14] * enz + Z[15] * ez2 + Z[16] * n3 + Z[17] * n2z +
+	      Z[18] * nz2 + Z[19] * z3;
+	  break;
+
+      default:
+	  return MPARMERR;
+      }
+
+    return MSUCCESS;
+}
+
+/***********************************************************************
+
+  COMPUTE THE FORWARD AND BACKWARD GEOREFFERENCING COEFFICIENTS
+  BASED ON A SET OF CONTROL POINTS
+
+************************************************************************/
+
+GCP_PRIVATE int
+gcp_CRS_compute_georef_equations_3d (struct Control_Points_3D *cp,
+				     double E12[], double N12[], double Z12[],
+				     double E21[], double N21[], double Z21[],
+				     int order)
+{
+    double *tempptr;
+    int status;
+
+    if (order < 1 || order > MAXORDER)
+	return MPARMERR;
+
+    /* CALCULATE THE FORWARD TRANSFORMATION COEFFICIENTS */
+    status = calccoef (cp, E12, N12, Z12, order);
+
+    if (status != MSUCCESS)
+	return status;
+
+    /* SWITCH THE 1 AND 2 EASTING, NORTHING, AND HEIGHT ARRAYS */
+
+    tempptr = cp->e1;
+    cp->e1 = cp->e2;
+    cp->e2 = tempptr;
+    tempptr = cp->n1;
+    cp->n1 = cp->n2;
+    cp->n2 = tempptr;
+    tempptr = cp->z1;
+    cp->z1 = cp->z2;
+    cp->z2 = tempptr;
+
+    /* CALCULATE THE BACKWARD TRANSFORMATION COEFFICIENTS */
+
+    status = calccoef (cp, E21, N21, Z21, order);
+
+    /* SWITCH THE 1 AND 2 EASTING, NORTHING, AND HEIGHT ARRAYS BACK */
+
+    tempptr = cp->e1;
+    cp->e1 = cp->e2;
+    cp->e2 = tempptr;
+    tempptr = cp->n1;
+    cp->n1 = cp->n2;
+    cp->n2 = tempptr;
+    tempptr = cp->z1;
+    cp->z1 = cp->z2;
+    cp->z2 = tempptr;
+
+    return status;
+}
+
+/***********************************************************************
+
+  COMPUTE THE GEOREFFERENCING COEFFICIENTS
+  BASED ON A SET OF CONTROL POINTS
+
+************************************************************************/
+
+static int
+calccoef (struct Control_Points_3D *cp,
+	  double E[], double N[], double Z[], int order)
+{
+    struct MATRIX m;
+    double *a;
+    double *b;
+    double *c;
+    int numactive;		/* NUMBER OF ACTIVE CONTROL POINTS */
+    int status, i;
+
+    /* CALCULATE THE NUMBER OF VALID CONTROL POINTS */
+
+    for (i = numactive = 0; i < cp->count; i++)
+      {
+	  if (cp->status[i] > 0)
+	      numactive++;
+      }
+
+    /* CALCULATE THE MINIMUM NUMBER OF CONTROL POINTS NEEDED TO DETERMINE
+       A TRANSFORMATION OF THIS ORDER */
+
+    /*
+       2D    3D
+       1st order:    3     4
+       2nd order:    6    10
+       3rd order:   10    20
+     */
+
+    m.n = numactive + 1;
+
+    if (order == 1)
+	m.n = 4;
+    else if (order == 2)
+	m.n = 10;
+    else if (order == 3)
+	m.n = 20;
+
+    if (numactive < m.n)
+	return MNPTERR;
+
+    /* INITIALIZE MATRIX */
+
+    m.v = calloc (m.n * m.n, sizeof (double));
+    a = calloc (m.n, sizeof (double));
+    b = calloc (m.n, sizeof (double));
+    c = calloc (m.n, sizeof (double));
+
+    if (numactive == m.n)
+	status = exactdet (cp, &m, a, b, c, E, N, Z);
+    else
+	status = calcls (cp, &m, a, b, c, E, N, Z);
+
+    free (m.v);
+    free (a);
+    free (b);
+    free (c);
+
+    return status;
+}
+
+/***********************************************************************
+
+  CALCULATE THE TRANSFORMATION COEFFICIENTS WITH EXACTLY THE MINIMUM
+  NUMBER OF CONTROL POINTS REQUIRED FOR THIS TRANSFORMATION.
+
+************************************************************************/
+
+static int
+exactdet (struct Control_Points_3D *cp, struct MATRIX *m, double a[], double b[], double c[], double E[],	/* EASTING COEFFICIENTS */
+	  double N[],		/* NORTHING COEFFICIENTS */
+	  double Z[]		/* HEIGHT COEFFICIENTS */
+    )
+{
+    int pntnow, currow, j;
+
+    currow = 1;
+    for (pntnow = 0; pntnow < cp->count; pntnow++)
+      {
+	  if (cp->status[pntnow] > 0)
+	    {
+		/* POPULATE MATRIX M */
+
+		for (j = 1; j <= m->n; j++)
+		    M (currow, j) =
+			term (j, cp->e1[pntnow], cp->n1[pntnow],
+			      cp->z1[pntnow]);
+
+		/* POPULATE MATRIX A AND B */
+
+		a[currow - 1] = cp->e2[pntnow];
+		b[currow - 1] = cp->n2[pntnow];
+		c[currow - 1] = cp->z2[pntnow];
+
+		currow++;
+	    }
+      }
+
+    if (currow - 1 != m->n)
+	return MINTERR;
+
+    return solvemat (m, a, b, c, E, N, Z);
+}
+
+/***********************************************************************
+
+  CALCULATE THE TRANSFORMATION COEFFICIENTS WITH MORE THAN THE MINIMUM
+  NUMBER OF CONTROL POINTS REQUIRED FOR THIS TRANSFORMATION.  THIS
+  ROUTINE USES THE LEAST SQUARES METHOD TO COMPUTE THE COEFFICIENTS.
+
+************************************************************************/
+
+static int
+calcls (struct Control_Points_3D *cp, struct MATRIX *m, double a[], double b[], double c[], double E[],	/* EASTING COEFFICIENTS */
+	double N[],		/* NORTHING COEFFICIENTS */
+	double Z[]		/* HEIGHT COEFFICIENTS */
+    )
+{
+    int i, j, n, numactive = 0;
+
+    /* INITIALIZE THE UPPER HALF OF THE MATRIX AND THE TWO COLUMN VECTORS */
+
+    for (i = 1; i <= m->n; i++)
+      {
+	  for (j = i; j <= m->n; j++)
+	      M (i, j) = 0.0;
+	  a[i - 1] = b[i - 1] = c[i - 1] = 0.0;
+      }
+
+    /* SUM THE UPPER HALF OF THE MATRIX AND THE COLUMN VECTORS ACCORDING TO
+       THE LEAST SQUARES METHOD OF SOLVING OVER DETERMINED SYSTEMS */
+
+    for (n = 0; n < cp->count; n++)
+      {
+	  if (cp->status[n] > 0)
+	    {
+		numactive++;
+		for (i = 1; i <= m->n; i++)
+		  {
+		      for (j = i; j <= m->n; j++)
+			  M (i, j) +=
+			      term (i, cp->e1[n], cp->n1[n],
+				    cp->z1[n]) * term (j, cp->e1[n], cp->n1[n],
+						       cp->z1[n]);
+
+		      a[i - 1] +=
+			  cp->e2[n] * term (i, cp->e1[n], cp->n1[n], cp->z1[n]);
+		      b[i - 1] +=
+			  cp->n2[n] * term (i, cp->e1[n], cp->n1[n], cp->z1[n]);
+		      c[i - 1] +=
+			  cp->z2[n] * term (i, cp->e1[n], cp->n1[n], cp->z1[n]);
+		  }
+	    }
+      }
+
+    if (numactive <= m->n)
+	return MINTERR;
+
+    /* TRANSPOSE VALUES IN UPPER HALF OF M TO OTHER HALF */
+
+    for (i = 2; i <= m->n; i++)
+	for (j = 1; j < i; j++)
+	    M (i, j) = M (j, i);
+
+    return solvemat (m, a, b, c, E, N, Z);
+}
+
+/***********************************************************************
+
+  CALCULATE THE X/Y TERM BASED ON THE TERM NUMBER
+
+  ORDER\TERM   1      2      3      4      5      6      7      8      9      10
+  1            e0n0z0 e1n0z0 e0n1z0 e0n0z1
+  2            e0n0z0 e1n0z0 e0n1z0 e0n0z1 e2n0z0 e1n1z0 e1n0z1 e0n2z0 e0n1z1 e0n0z2
+  3            e0n0z0 e1n0z0 e0n1z0 e0n0z1 e2n0z0 e1n1z0 e1n0z1 e0n2z0 e0n1z1 e0n0z2
+
+  ORDER\TERM   11      12     13     14     15     16     17     18     19     20
+  3            e3n0z0  e2n1z0 e2n0z1 e1n2z0 e1n1z1 e1n0z2 e0n3z0 e0n2z1 e0n1z2 e0n0z3
+
+************************************************************************/
+
+static double
+term (int term, double e, double n, double z)
+{
+    switch (term)
+      {
+	  /* 1st order */
+      case 1:
+	  return 1.0;
+      case 2:
+	  return e;
+      case 3:
+	  return n;
+      case 4:
+	  return z;
+	  /* 2nd order */
+      case 5:
+	  return e * e;
+      case 6:
+	  return e * n;
+      case 7:
+	  return e * z;
+      case 8:
+	  return n * n;
+      case 9:
+	  return n * z;
+      case 10:
+	  return z * z;
+	  /* 3rd order */
+      case 11:
+	  return e * e * e;
+      case 12:
+	  return e * e * n;
+      case 13:
+	  return e * e * z;
+      case 14:
+	  return e * n * n;
+      case 15:
+	  return e * n * z;
+      case 16:
+	  return e * z * z;
+      case 17:
+	  return n * n * n;
+      case 18:
+	  return n * n * z;
+      case 19:
+	  return n * z * z;
+      case 20:
+	  return z * z * z;
+      }
+
+    return 0.0;
+}
+
+/***********************************************************************
+
+  SOLVE FOR THE 'E', 'N' AND 'Z' COEFFICIENTS BY USING A
+  SOMEWHAT MODIFIED GAUSSIAN ELIMINATION METHOD.
+
+  | M11 M12 ... M1n | | E0   |   | a0   |
+  | M21 M22 ... M2n | | E1   | = | a1   |
+  |  .   .   .   .  | | .    |   | .    |
+  | Mn1 Mn2 ... Mnn | | En-1 |   | an-1 |
+
+  ,
+
+  | M11 M12 ... M1n | | N0   |   | b0   |
+  | M21 M22 ... M2n | | N1   | = | b1   |
+  |  .   .   .   .  | | .    |   | .    |
+  | Mn1 Mn2 ... Mnn | | Nn-1 |   | bn-1 |
+
+  and
+
+  | M11 M12 ... M1n | | Z0   |   | c0   |
+  | M21 M22 ... M2n | | Z1   | = | c1   |
+  |  .   .   .   .  | | .    |   | .    |
+  | Mn1 Mn2 ... Mnn | | Zn-1 |   | cn-1 |
+
+************************************************************************/
+
+static int
+solvemat (struct MATRIX *m, double a[], double b[], double c[],
+	  double E[], double N[], double Z[])
+{
+    int i, j, i2, j2, imark;
+    double factor, temp;
+    double pivot;		/* ACTUAL VALUE OF THE LARGEST PIVOT CANDIDATE */
+
+    for (i = 1; i <= m->n; i++)
+      {
+	  j = i;
+
+	  /* find row with largest magnitude value for pivot value */
+
+	  pivot = M (i, j);
+	  imark = i;
+	  for (i2 = i + 1; i2 <= m->n; i2++)
+	    {
+		temp = fabs (M (i2, j));
+		if (temp > fabs (pivot))
+		  {
+		      pivot = M (i2, j);
+		      imark = i2;
+		  }
+	    }
+
+	  /* if the pivot is very small then the points are nearly co-linear */
+	  /* co-linear points result in an undefined matrix, and nearly */
+	  /* co-linear points results in a solution with rounding error */
+
+	  if (fabs (pivot) < GRASS_EPSILON)
+	      return MUNSOLVABLE;
+
+	  /* if row with highest pivot is not the current row, switch them */
+
+	  if (imark != i)
+	    {
+		for (j2 = 1; j2 <= m->n; j2++)
+		  {
+		      temp = M (imark, j2);
+		      M (imark, j2) = M (i, j2);
+		      M (i, j2) = temp;
+		  }
+
+		temp = a[imark - 1];
+		a[imark - 1] = a[i - 1];
+		a[i - 1] = temp;
+
+		temp = b[imark - 1];
+		b[imark - 1] = b[i - 1];
+		b[i - 1] = temp;
+
+		temp = c[imark - 1];
+		c[imark - 1] = c[i - 1];
+		c[i - 1] = temp;
+	    }
+
+	  /* compute zeros above and below the pivot, and compute
+	     values for the rest of the row as well */
+
+	  for (i2 = 1; i2 <= m->n; i2++)
+	    {
+		if (i2 != i)
+		  {
+		      factor = M (i2, j) / pivot;
+		      for (j2 = j; j2 <= m->n; j2++)
+			  M (i2, j2) -= factor * M (i, j2);
+		      a[i2 - 1] -= factor * a[i - 1];
+		      b[i2 - 1] -= factor * b[i - 1];
+		      c[i2 - 1] -= factor * c[i - 1];
+		  }
+	    }
+      }
+
+    /* SINCE ALL OTHER VALUES IN THE MATRIX ARE ZERO NOW, CALCULATE THE
+       COEFFICIENTS BY DIVIDING THE COLUMN VECTORS BY THE DIAGONAL VALUES. */
+
+    for (i = 1; i <= m->n; i++)
+      {
+	  E[i - 1] = a[i - 1] / M (i, i);
+	  N[i - 1] = b[i - 1] / M (i, i);
+	  Z[i - 1] = c[i - 1] / M (i, i);
+      }
+
+    return MSUCCESS;
+}
+
+#endif /* end including GCP */
diff --git a/src/control_points/grass_georef.c b/src/control_points/grass_georef.c
new file mode 100644
index 0000000..41e9984
--- /dev/null
+++ b/src/control_points/grass_georef.c
@@ -0,0 +1,490 @@
+/*
+
+ grass_georef.c -- strictly derived from Grass GIS code: lib/imagery/georef.c
+    
+ version 4.3, 2015 May 5
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ ------------------------------------------------------------------------------
+ DISCLAIMER: this source is strictly derived from Grass GIS code and simply
+             contains very trivial adjustments required in order to compile
+			 smoothly on libspatialite.
+			 NOTE: accordingly to the initial license this file is released
+			 under GPL2+ terms
+ ------------------------------------------------------------------------------
+ 
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ 
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+#if defined(_WIN32) && !defined(__MINGW32__)
+#include "config-msvc.h"
+#else
+#include "config.h"
+#endif
+
+#ifdef ENABLE_GCP		/* only if ControlPoints enabled */
+
+/* original code from Grass GIS starts here */
+
+/****************************************************************************
+ *
+ * MODULE:       imagery library
+ * AUTHOR(S):    Original author(s) name(s) unknown - written by CERL
+ *               Written By: Brian J. Buckley
+ *
+ *               At: The Center for Remote Sensing
+ *               Michigan State University
+ *
+ * PURPOSE:      Image processing library
+ * COPYRIGHT:    (C) 1999, 2005 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the file COPYING that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+/*
+ *  Written: 12/19/91
+ *
+ *  Last Update: 12/26/91 Brian J. Buckley
+ *  Last Update:  1/24/92 Brian J. Buckley
+ *  Added printout of trnfile. Triggered by BDEBUG.
+ *  Last Update:  1/27/92 Brian J. Buckley
+ *  Fixed bug so that only the active control points were used.
+ * 
+ */
+
+#include "grass_crs.h"
+
+/***********************************************************************
+
+  FUNCTION PROTOTYPES FOR STATIC (INTERNAL) FUNCTIONS
+
+************************************************************************/
+
+static int calccoef (struct Control_Points *, double *, double *, int);
+static int calcls (struct Control_Points *, struct MATRIX *, double *,
+		   double *, double *, double *);
+static int exactdet (struct Control_Points *, struct MATRIX *, double *,
+		     double *, double *, double *);
+static int solvemat (struct MATRIX *, double *, double *, double *, double *);
+static double term (int, double, double);
+
+/***********************************************************************
+
+  TRANSFORM A SINGLE COORDINATE PAIR.
+
+************************************************************************/
+
+GCP_PRIVATE int
+gcp_I_georef (double e1,	/* EASTING TO BE TRANSFORMED */
+	      double n1,	/* NORTHING TO BE TRANSFORMED */
+	      double *e,	/* EASTING, TRANSFORMED */
+	      double *n,	/* NORTHING, TRANSFORMED */
+	      double E[],	/* EASTING COEFFICIENTS */
+	      double N[],	/* NORTHING COEFFICIENTS */
+	      int order		/* ORDER OF TRANSFORMATION TO BE PERFORMED, MUST MATCH THE
+				   ORDER USED TO CALCULATE THE COEFFICIENTS */
+    )
+{
+    double e3, e2n, en2, n3, e2, en, n2;
+
+    switch (order)
+      {
+      case 1:
+	  *e = E[0] + E[1] * e1 + E[2] * n1;
+	  *n = N[0] + N[1] * e1 + N[2] * n1;
+	  break;
+
+      case 2:
+	  e2 = e1 * e1;
+	  n2 = n1 * n1;
+	  en = e1 * n1;
+
+	  *e = E[0] + E[1] * e1 + E[2] * n1 + E[3] * e2 + E[4] * en + E[5] * n2;
+	  *n = N[0] + N[1] * e1 + N[2] * n1 + N[3] * e2 + N[4] * en + N[5] * n2;
+	  break;
+
+      case 3:
+	  e2 = e1 * e1;
+	  en = e1 * n1;
+	  n2 = n1 * n1;
+	  e3 = e1 * e2;
+	  e2n = e2 * n1;
+	  en2 = e1 * n2;
+	  n3 = n1 * n2;
+
+	  *e = E[0] +
+	      E[1] * e1 + E[2] * n1 +
+	      E[3] * e2 + E[4] * en + E[5] * n2 +
+	      E[6] * e3 + E[7] * e2n + E[8] * en2 + E[9] * n3;
+	  *n = N[0] +
+	      N[1] * e1 + N[2] * n1 +
+	      N[3] * e2 + N[4] * en + N[5] * n2 +
+	      N[6] * e3 + N[7] * e2n + N[8] * en2 + N[9] * n3;
+	  break;
+
+      default:
+	  return MPARMERR;
+      }
+
+    return MSUCCESS;
+}
+
+/***********************************************************************
+
+  COMPUTE THE FORWARD AND BACKWARD GEOREFFERENCING COEFFICIENTS
+  BASED ON A SET OF CONTROL POINTS
+
+************************************************************************/
+
+GCP_PRIVATE int
+gcp_I_compute_georef_equations (struct Control_Points *cp, double E12[],
+				double N12[], double E21[], double N21[],
+				int order)
+{
+    double *tempptr;
+    int status;
+
+    if (order < 1 || order > MAXORDER)
+	return MPARMERR;
+
+    /* CALCULATE THE FORWARD TRANSFORMATION COEFFICIENTS */
+
+    status = calccoef (cp, E12, N12, order);
+
+    if (status != MSUCCESS)
+	return status;
+
+    /* SWITCH THE 1 AND 2 EASTING AND NORTHING ARRAYS */
+
+    tempptr = cp->e1;
+    cp->e1 = cp->e2;
+    cp->e2 = tempptr;
+    tempptr = cp->n1;
+    cp->n1 = cp->n2;
+    cp->n2 = tempptr;
+
+    /* CALCULATE THE BACKWARD TRANSFORMATION COEFFICIENTS */
+
+    status = calccoef (cp, E21, N21, order);
+
+    /* SWITCH THE 1 AND 2 EASTING AND NORTHING ARRAYS BACK */
+
+    tempptr = cp->e1;
+    cp->e1 = cp->e2;
+    cp->e2 = tempptr;
+    tempptr = cp->n1;
+    cp->n1 = cp->n2;
+    cp->n2 = tempptr;
+
+    return status;
+}
+
+/***********************************************************************
+
+  COMPUTE THE GEOREFFERENCING COEFFICIENTS
+  BASED ON A SET OF CONTROL POINTS
+
+************************************************************************/
+
+static int
+calccoef (struct Control_Points *cp, double E[], double N[], int order)
+{
+    struct MATRIX m;
+    double *a;
+    double *b;
+    int numactive;		/* NUMBER OF ACTIVE CONTROL POINTS */
+    int status, i;
+
+    /* CALCULATE THE NUMBER OF VALID CONTROL POINTS */
+
+    for (i = numactive = 0; i < cp->count; i++)
+      {
+	  if (cp->status[i] > 0)
+	      numactive++;
+      }
+
+    /* CALCULATE THE MINIMUM NUMBER OF CONTROL POINTS NEEDED TO DETERMINE
+       A TRANSFORMATION OF THIS ORDER */
+
+    m.n = ((order + 1) * (order + 2)) / 2;
+
+    if (numactive < m.n)
+	return MNPTERR;
+
+    /* INITIALIZE MATRIX */
+
+    m.v = calloc (m.n * m.n, sizeof (double));
+    a = calloc (m.n, sizeof (double));
+    b = calloc (m.n, sizeof (double));
+
+    if (numactive == m.n)
+	status = exactdet (cp, &m, a, b, E, N);
+    else
+	status = calcls (cp, &m, a, b, E, N);
+
+    free (m.v);
+    free (a);
+    free (b);
+
+    return status;
+}
+
+/***********************************************************************
+
+  CALCULATE THE TRANSFORMATION COEFFICIENTS WITH EXACTLY THE MINIMUM
+  NUMBER OF CONTROL POINTS REQUIRED FOR THIS TRANSFORMATION.
+
+************************************************************************/
+
+static int
+exactdet (struct Control_Points *cp, struct MATRIX *m, double a[], double b[], double E[],	/* EASTING COEFFICIENTS */
+	  double N[]		/* NORTHING COEFFICIENTS */
+    )
+{
+    int pntnow, currow, j;
+
+    currow = 1;
+    for (pntnow = 0; pntnow < cp->count; pntnow++)
+      {
+	  if (cp->status[pntnow] > 0)
+	    {
+		/* POPULATE MATRIX M */
+
+		for (j = 1; j <= m->n; j++)
+		    M (currow, j) = term (j, cp->e1[pntnow], cp->n1[pntnow]);
+
+		/* POPULATE MATRIX A AND B */
+
+		a[currow - 1] = cp->e2[pntnow];
+		b[currow - 1] = cp->n2[pntnow];
+
+		currow++;
+	    }
+      }
+
+    if (currow - 1 != m->n)
+	return MINTERR;
+
+    return solvemat (m, a, b, E, N);
+}
+
+/***********************************************************************
+
+  CALCULATE THE TRANSFORMATION COEFFICIENTS WITH MORE THAN THE MINIMUM
+  NUMBER OF CONTROL POINTS REQUIRED FOR THIS TRANSFORMATION.  THIS
+  ROUTINE USES THE LEAST SQUARES METHOD TO COMPUTE THE COEFFICIENTS.
+
+************************************************************************/
+
+static int
+calcls (struct Control_Points *cp, struct MATRIX *m, double a[], double b[], double E[],	/* EASTING COEFFICIENTS */
+	double N[]		/* NORTHING COEFFICIENTS */
+    )
+{
+    int i, j, n, numactive = 0;
+
+    /* INITIALIZE THE UPPER HALF OF THE MATRIX AND THE TWO COLUMN VECTORS */
+
+    for (i = 1; i <= m->n; i++)
+      {
+	  for (j = i; j <= m->n; j++)
+	      M (i, j) = 0.0;
+	  a[i - 1] = b[i - 1] = 0.0;
+      }
+
+    /* SUM THE UPPER HALF OF THE MATRIX AND THE COLUMN VECTORS ACCORDING TO
+       THE LEAST SQUARES METHOD OF SOLVING OVER DETERMINED SYSTEMS */
+
+    for (n = 0; n < cp->count; n++)
+      {
+	  if (cp->status[n] > 0)
+	    {
+		numactive++;
+		for (i = 1; i <= m->n; i++)
+		  {
+		      for (j = i; j <= m->n; j++)
+			  M (i, j) +=
+			      term (i, cp->e1[n], cp->n1[n]) * term (j,
+								     cp->e1[n],
+								     cp->n1[n]);
+
+		      a[i - 1] += cp->e2[n] * term (i, cp->e1[n], cp->n1[n]);
+		      b[i - 1] += cp->n2[n] * term (i, cp->e1[n], cp->n1[n]);
+		  }
+	    }
+      }
+
+    if (numactive <= m->n)
+	return MINTERR;
+
+    /* TRANSPOSE VALUES IN UPPER HALF OF M TO OTHER HALF */
+
+    for (i = 2; i <= m->n; i++)
+	for (j = 1; j < i; j++)
+	    M (i, j) = M (j, i);
+
+    return solvemat (m, a, b, E, N);
+}
+
+/***********************************************************************
+
+  CALCULATE THE X/Y TERM BASED ON THE TERM NUMBER
+
+  ORDER\TERM   1    2    3    4    5    6    7    8    9   10
+  1            e0n0 e1n0 e0n1
+  2            e0n0 e1n0 e0n1 e2n0 e1n1 e0n2
+  3            e0n0 e1n0 e0n1 e2n0 e1n1 e0n2 e3n0 e2n1 e1n2 e0n3
+
+************************************************************************/
+
+static double
+term (int term, double e, double n)
+{
+    switch (term)
+      {
+      case 1:
+	  return 1.0;
+      case 2:
+	  return e;
+      case 3:
+	  return n;
+      case 4:
+	  return e * e;
+      case 5:
+	  return e * n;
+      case 6:
+	  return n * n;
+      case 7:
+	  return e * e * e;
+      case 8:
+	  return e * e * n;
+      case 9:
+	  return e * n * n;
+      case 10:
+	  return n * n * n;
+      }
+
+    return 0.0;
+}
+
+/***********************************************************************
+
+  SOLVE FOR THE 'E' AND 'N' COEFFICIENTS BY USING A SOMEWHAT MODIFIED
+  GAUSSIAN ELIMINATION METHOD.
+
+  | M11 M12 ... M1n | | E0   |   | a0   |
+  | M21 M22 ... M2n | | E1   | = | a1   |
+  |  .   .   .   .  | | .    |   | .    |
+  | Mn1 Mn2 ... Mnn | | En-1 |   | an-1 |
+
+  and
+
+  | M11 M12 ... M1n | | N0   |   | b0   |
+  | M21 M22 ... M2n | | N1   | = | b1   |
+  |  .   .   .   .  | | .    |   | .    |
+  | Mn1 Mn2 ... Mnn | | Nn-1 |   | bn-1 |
+
+************************************************************************/
+
+static int
+solvemat (struct MATRIX *m, double a[], double b[], double E[], double N[])
+{
+    int i, j, i2, j2, imark;
+    double factor, temp;
+    double pivot;		/* ACTUAL VALUE OF THE LARGEST PIVOT CANDIDATE */
+
+    for (i = 1; i <= m->n; i++)
+      {
+	  j = i;
+
+	  /* find row with largest magnitude value for pivot value */
+
+	  pivot = M (i, j);
+	  imark = i;
+	  for (i2 = i + 1; i2 <= m->n; i2++)
+	    {
+		temp = fabs (M (i2, j));
+		if (temp > fabs (pivot))
+		  {
+		      pivot = M (i2, j);
+		      imark = i2;
+		  }
+	    }
+
+	  /* if the pivot is very small then the points are nearly co-linear */
+	  /* co-linear points result in an undefined matrix, and nearly */
+	  /* co-linear points results in a solution with rounding error */
+
+	  if (pivot == 0.0)
+	      return MUNSOLVABLE;
+
+	  /* if row with highest pivot is not the current row, switch them */
+
+	  if (imark != i)
+	    {
+		for (j2 = 1; j2 <= m->n; j2++)
+		  {
+		      temp = M (imark, j2);
+		      M (imark, j2) = M (i, j2);
+		      M (i, j2) = temp;
+		  }
+
+		temp = a[imark - 1];
+		a[imark - 1] = a[i - 1];
+		a[i - 1] = temp;
+
+		temp = b[imark - 1];
+		b[imark - 1] = b[i - 1];
+		b[i - 1] = temp;
+	    }
+
+	  /* compute zeros above and below the pivot, and compute
+	     values for the rest of the row as well */
+
+	  for (i2 = 1; i2 <= m->n; i2++)
+	    {
+		if (i2 != i)
+		  {
+		      factor = M (i2, j) / pivot;
+		      for (j2 = j; j2 <= m->n; j2++)
+			  M (i2, j2) -= factor * M (i, j2);
+		      a[i2 - 1] -= factor * a[i - 1];
+		      b[i2 - 1] -= factor * b[i - 1];
+		  }
+	    }
+      }
+
+    /* SINCE ALL OTHER VALUES IN THE MATRIX ARE ZERO NOW, CALCULATE THE
+       COEFFICIENTS BY DIVIDING THE COLUMN VECTORS BY THE DIAGONAL VALUES. */
+
+    for (i = 1; i <= m->n; i++)
+      {
+	  E[i - 1] = a[i - 1] / M (i, i);
+	  N[i - 1] = b[i - 1] / M (i, i);
+      }
+
+    return MSUCCESS;
+}
+
+#endif /* end including GCP */
diff --git a/src/control_points/grass_georef_tps.c b/src/control_points/grass_georef_tps.c
new file mode 100644
index 0000000..8b6b7c1
--- /dev/null
+++ b/src/control_points/grass_georef_tps.c
@@ -0,0 +1,540 @@
+/*
+
+ grass_georef_tps.c -- strictly derived from Grass GIS code: lib/imagery/georef_tps.c
+    
+ version 4.3, 2015 May 5
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ ------------------------------------------------------------------------------
+ DISCLAIMER: this source is strictly derived from Grass GIS code and simply
+             contains very trivial adjustments required in order to compile
+			 smoothly on libspatialite.
+			 NOTE: accordingly to the initial license this file is released
+			 under GPL2+ terms
+ ------------------------------------------------------------------------------
+ 
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ 
+*/
+
+#include <stdlib.h>
+#include <math.h>
+#include <stdio.h>
+
+#if defined(_WIN32) && !defined(__MINGW32__)
+#include "config-msvc.h"
+#else
+#include "config.h"
+#endif
+
+#ifdef ENABLE_GCP		/* only if ControlPoints enabled */
+
+/* original code from Grass GIS starts here */
+
+/****************************************************************************
+ *
+ * MODULE:       imagery library
+ * AUTHOR(S):    Markus Metz
+ *
+ * PURPOSE:      Image processing library
+ * COPYRIGHT:    (C) 2013 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the file COPYING that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+#include "grass_crs.h"
+
+#ifndef MAX
+#define MAX(x,y) ((x) > (y) ? (x) : (y))
+#endif
+#ifndef MIN
+#define MIN(x,y) ((x) < (y) ? (x) : (y))
+#endif
+
+/***********************************************************************
+
+  FUNCTION PROTOTYPES FOR STATIC (INTERNAL) FUNCTIONS
+
+************************************************************************/
+
+static int calccoef (struct Control_Points *, double **, double **);
+static int calcls (struct Control_Points *, struct MATRIX *, double *,
+		   double *, double *, double *);
+
+static double tps_base_func (const double x1, const double y1,
+			     const double x2, const double y2);
+static int solvemat (struct MATRIX *, double *, double *, double *, double *);
+
+/***********************************************************************
+
+  TRANSFORM A SINGLE COORDINATE PAIR.
+
+************************************************************************/
+
+GCP_PRIVATE int
+gcp_I_georef_tps (double e1,	/* EASTING TO BE TRANSFORMED */
+		  double n1,	/* NORTHING TO BE TRANSFORMED */
+		  double *e,	/* EASTING, TRANSFORMED */
+		  double *n,	/* NORTHING, TRANSFORMED */
+		  double *E,	/* EASTING COEFFICIENTS */
+		  double *N,	/* NORTHING COEFFICIENTS */
+		  struct Control_Points *cp, int fwd)
+{
+    int i, j;
+    double dist, *pe, *pn;
+
+    if (fwd)
+      {
+	  pe = cp->e1;
+	  pn = cp->n1;
+      }
+    else
+      {
+	  pe = cp->e2;
+	  pn = cp->n2;
+      }
+
+    /* global affine (1st order poly) */
+    *e = E[0] + e1 * E[1] + n1 * E[2];
+    *n = N[0] + e1 * N[1] + n1 * N[2];
+
+    for (i = 0, j = 0; i < cp->count; i++)
+      {
+	  if (cp->status[i] > 0)
+	    {
+
+		dist = tps_base_func (e1, n1, pe[i], pn[i]);
+
+		*e += E[j + 3] * dist;
+		*n += N[j + 3] * dist;
+		j++;
+	    }
+      }
+
+    return MSUCCESS;
+}
+
+/***********************************************************************
+
+  COMPUTE THE FORWARD AND BACKWARD GEOREFFERENCING COEFFICIENTS
+  BASED ON A SET OF CONTROL POINTS
+
+************************************************************************/
+
+GCP_PRIVATE int
+gcp_I_compute_georef_equations_tps (struct Control_Points *cp,
+				    double **E12tps, double **N12tps,
+				    double **E21tps, double **N21tps)
+{
+    double *tempptr;
+    int numactive;		/* NUMBER OF ACTIVE CONTROL POINTS */
+    int status, i;
+    double xmax, xmin, ymax, ymin;
+    double delx, dely;
+    double xx, yy;
+    double sumx, sumy, sumx2, sumy2, sumxy;
+    double SSxx, SSyy, SSxy;
+
+    /* CALCULATE THE NUMBER OF VALID CONTROL POINTS */
+
+    for (i = numactive = 0; i < cp->count; i++)
+      {
+	  if (cp->status[i] > 0)
+	      numactive++;
+      }
+
+    if (numactive < 3)
+	return MNPTERR;
+
+    if (numactive > 100000)	/* arbitrary, admittedly */
+	return MNPTERR;
+
+    xmin = xmax = cp->e1[0];
+    ymin = ymax = cp->n1[0];
+
+    sumx = sumy = sumx2 = sumy2 = sumxy = 0.0;
+
+    for (i = 0; i < cp->count; i++)
+      {
+	  if (cp->status[i] > 0)
+	    {
+		xx = cp->e1[i];
+		yy = cp->n1[i];
+
+		xmax = MAX (xmax, xx);
+		xmin = MIN (xmin, xx);
+		ymax = MAX (ymax, yy);
+		ymin = MIN (ymin, yy);
+
+		sumx += xx;
+		sumx2 += xx * xx;
+		sumy += yy;
+		sumy2 += yy * yy;
+		sumxy += xx * yy;
+	    }
+      }
+
+    delx = xmax - xmin;
+    dely = ymax - ymin;
+
+    SSxx = sumx2 - sumx * sumx / numactive;
+    SSyy = sumy2 - sumy * sumy / numactive;
+    SSxy = sumxy - sumx * sumy / numactive;
+
+    if (delx < 0.001 * dely || dely < 0.001 * delx ||
+	fabs (SSxy * SSxy / (SSxx * SSyy)) > 0.99)
+      {
+	  /* points are colinear */
+	  return MUNSOLVABLE;
+      }
+
+    xmin = xmax = cp->e2[0];
+    ymin = ymax = cp->n2[0];
+
+    sumx = sumy = sumx2 = sumy2 = sumxy = 0.0;
+    for (i = 0; i < cp->count; i++)
+      {
+	  if (cp->status[i] > 0)
+	    {
+		xx = cp->e2[i];
+		yy = cp->n2[i];
+
+		xmax = MAX (xmax, xx);
+		xmin = MIN (xmin, xx);
+		ymax = MAX (ymax, yy);
+		ymin = MIN (ymin, yy);
+
+		sumx += xx;
+		sumx2 += xx * xx;
+		sumy += yy;
+		sumy2 += yy * yy;
+		sumxy += xx * yy;
+	    }
+      }
+
+    delx = xmax - xmin;
+    dely = ymax - ymin;
+
+    SSxx = sumx2 - sumx * sumx / numactive;
+    SSyy = sumy2 - sumy * sumy / numactive;
+    SSxy = sumxy - sumx * sumy / numactive;
+
+    if (delx < 0.001 * dely || dely < 0.001 * delx ||
+	fabs (SSxy * SSxy / (SSxx * SSyy)) > 0.99)
+      {
+	  /* points are colinear */
+	  return MUNSOLVABLE;
+      }
+
+    /* CALCULATE THE FORWARD TRANSFORMATION COEFFICIENTS */
+
+    status = calccoef (cp, E12tps, N12tps);
+
+    if (status != MSUCCESS)
+	return status;
+
+    /* SWITCH THE 1 AND 2 EASTING AND NORTHING ARRAYS */
+
+    tempptr = cp->e1;
+    cp->e1 = cp->e2;
+    cp->e2 = tempptr;
+    tempptr = cp->n1;
+    cp->n1 = cp->n2;
+    cp->n2 = tempptr;
+
+    /* CALCULATE THE BACKWARD TRANSFORMATION COEFFICIENTS */
+
+    status = calccoef (cp, E21tps, N21tps);
+
+    /* SWITCH THE 1 AND 2 EASTING AND NORTHING ARRAYS BACK */
+
+    tempptr = cp->e1;
+    cp->e1 = cp->e2;
+    cp->e2 = tempptr;
+    tempptr = cp->n1;
+    cp->n1 = cp->n2;
+    cp->n2 = tempptr;
+
+    return status;
+}
+
+/***********************************************************************
+
+  COMPUTE THE GEOREFFERENCING COEFFICIENTS
+  BASED ON A SET OF CONTROL POINTS
+
+************************************************************************/
+
+static int
+calccoef (struct Control_Points *cp, double **E, double **N)
+{
+    struct MATRIX m;
+    double *a;
+    double *b;
+    int numactive;		/* NUMBER OF ACTIVE CONTROL POINTS */
+    int status, i;
+
+    /* CALCULATE THE NUMBER OF VALID CONTROL POINTS */
+
+    for (i = numactive = 0; i < cp->count; i++)
+      {
+	  if (cp->status[i] > 0)
+	      numactive++;
+      }
+
+    /* INITIALIZE MATRIX */
+
+    m.n = numactive + 3;
+
+    m.v = calloc (m.n * m.n, sizeof (double));
+    if (m.v == NULL)
+	fprintf (stderr, "out of memory - I_compute_georef_equations_tps()\n");
+    a = calloc (m.n, sizeof (double));
+    if (a == NULL)
+	fprintf (stderr, "out of memory - I_compute_georef_equations_tps()\n");
+    b = calloc (m.n, sizeof (double));
+    if (b == NULL)
+	fprintf (stderr, "out of memory - I_compute_georef_equations_tps()\n");
+
+    /* equation coefficients */
+    *E = calloc (m.n, sizeof (double));
+    if (*E == NULL)
+	fprintf (stderr, "out of memory - I_compute_georef_equations_tps()\n");
+    *N = calloc (m.n, sizeof (double));
+    if (*N == NULL)
+	fprintf (stderr, "out of memory - I_compute_georef_equations_tps()\n");
+
+    status = calcls (cp, &m, a, b, *E, *N);
+
+    free (m.v);
+    free (a);
+    free (b);
+
+    return status;
+}
+
+
+/***********************************************************************
+
+  CALCULATE THE TRANSFORMATION COEFFICIENTS FOR THIN PLATE SPLINE 
+  INTERPOLATION.
+  THIS ROUTINE USES THE LEAST SQUARES METHOD TO COMPUTE THE COEFFICIENTS.
+
+************************************************************************/
+
+static int
+calcls (struct Control_Points *cp, struct MATRIX *m, double a[], double b[], double E[],	/* EASTING COEFFICIENTS */
+	double N[]		/* NORTHING COEFFICIENTS */
+    )
+{
+    int i, j, n, o, numactive = 0;
+    double dist = 0.0, dx, dy;
+
+    /* INITIALIZE THE MATRIX AND THE TWO COLUMN VECTORS */
+
+    for (i = 1; i <= m->n; i++)
+      {
+	  for (j = i; j <= m->n; j++)
+	    {
+		M (i, j) = 0.0;
+		if (i != j)
+		    M (j, i) = 0.0;
+	    }
+	  a[i - 1] = b[i - 1] = 0.0;
+      }
+
+    /* SUM THE UPPER HALF OF THE MATRIX AND THE COLUMN VECTORS ACCORDING TO
+       THE LEAST SQUARES METHOD OF SOLVING OVER DETERMINED SYSTEMS */
+
+    for (n = 0; n < cp->count; n++)
+      {
+	  if (cp->status[n] > 0)
+	    {
+
+		a[numactive + 3] = cp->e2[n];
+		b[numactive + 3] = cp->n2[n];
+
+		numactive++;
+		M (1, numactive + 3) = 1.0;
+		M (2, numactive + 3) = cp->e1[n];
+		M (3, numactive + 3) = cp->n1[n];
+
+		M (numactive + 3, 1) = 1.0;
+		M (numactive + 3, 2) = cp->e1[n];
+		M (numactive + 3, 3) = cp->n1[n];
+	    }
+      }
+
+    if (numactive < m->n - 3)
+	return MINTERR;
+
+    i = 0;
+    for (n = 0; n < cp->count; n++)
+      {
+	  if (cp->status[n] > 0)
+	    {
+		i++;
+
+		j = 0;
+		for (o = 0; o <= n; o++)
+		  {
+		      if (cp->status[o] > 0)
+			{
+			    j++;
+			    M (i + 3, j + 3) =
+				tps_base_func (cp->e1[n], cp->n1[n], cp->e1[o],
+					       cp->n1[o]);
+
+			    if (i != j)
+				M (j + 3, i + 3) = M (i + 3, j + 3);
+
+			    dx = cp->e1[n] - cp->e1[o];
+			    dy = cp->n1[n] - cp->n1[o];
+			    dist += sqrt (dx * dx + dy * dy);
+			}
+		  }
+	    }
+      }
+
+    /* regularization 
+       dist /= (numactive * numactive);
+       regularization = 0.01 * dist * dist;
+     */
+
+    /* set diagonal to regularization, but not the first 3x3 (global affine) */
+
+    return solvemat (m, a, b, E, N);
+}
+
+
+/***********************************************************************
+
+  SOLVE FOR THE 'E' AND 'N' COEFFICIENTS BY USING A SOMEWHAT MODIFIED
+  GAUSSIAN ELIMINATION METHOD.
+
+  | M11 M12 ... M1n | | E0   |   | a0   |
+  | M21 M22 ... M2n | | E1   | = | a1   |
+  |  .   .   .   .  | | .    |   | .    |
+  | Mn1 Mn2 ... Mnn | | En-1 |   | an-1 |
+
+  and
+
+  | M11 M12 ... M1n | | N0   |   | b0   |
+  | M21 M22 ... M2n | | N1   | = | b1   |
+  |  .   .   .   .  | | .    |   | .    |
+  | Mn1 Mn2 ... Mnn | | Nn-1 |   | bn-1 |
+
+************************************************************************/
+
+static int
+solvemat (struct MATRIX *m, double a[], double b[], double E[], double N[])
+{
+    int i, j, i2, j2, imark;
+    double factor, temp;
+    double pivot;		/* ACTUAL VALUE OF THE LARGEST PIVOT CANDIDATE */
+
+    for (i = 1; i <= m->n; i++)
+      {
+	  j = i;
+
+	  /* find row with largest magnitude value for pivot value */
+
+	  pivot = M (i, j);
+	  imark = i;
+	  for (i2 = i + 1; i2 <= m->n; i2++)
+	    {
+		temp = fabs (M (i2, j));
+		if (temp > fabs (pivot))
+		  {
+		      pivot = M (i2, j);
+		      imark = i2;
+		  }
+	    }
+
+	  /* if the pivot is very small then the points are nearly co-linear */
+	  /* co-linear points result in an undefined matrix, and nearly */
+	  /* co-linear points results in a solution with rounding error */
+
+	  if (pivot == 0.0)
+	      return MUNSOLVABLE;
+
+	  /* if row with highest pivot is not the current row, switch them */
+
+	  if (imark != i)
+	    {
+		for (j2 = 1; j2 <= m->n; j2++)
+		  {
+		      temp = M (imark, j2);
+		      M (imark, j2) = M (i, j2);
+		      M (i, j2) = temp;
+		  }
+
+		temp = a[imark - 1];
+		a[imark - 1] = a[i - 1];
+		a[i - 1] = temp;
+
+		temp = b[imark - 1];
+		b[imark - 1] = b[i - 1];
+		b[i - 1] = temp;
+	    }
+
+	  /* compute zeros above and below the pivot, and compute
+	     values for the rest of the row as well */
+
+	  for (i2 = 1; i2 <= m->n; i2++)
+	    {
+		if (i2 != i)
+		  {
+		      factor = M (i2, j) / pivot;
+		      for (j2 = j; j2 <= m->n; j2++)
+			  M (i2, j2) -= factor * M (i, j2);
+		      a[i2 - 1] -= factor * a[i - 1];
+		      b[i2 - 1] -= factor * b[i - 1];
+		  }
+	    }
+      }
+
+    /* SINCE ALL OTHER VALUES IN THE MATRIX ARE ZERO NOW, CALCULATE THE
+       COEFFICIENTS BY DIVIDING THE COLUMN VECTORS BY THE DIAGONAL VALUES. */
+
+    for (i = 1; i <= m->n; i++)
+      {
+	  E[i - 1] = a[i - 1] / M (i, i);
+	  N[i - 1] = b[i - 1] / M (i, i);
+      }
+
+    return MSUCCESS;
+}
+
+static double
+tps_base_func (const double x1, const double y1,
+	       const double x2, const double y2)
+{
+    /* official: r * r * log(r) */
+    double dist;
+
+    if ((x1 == x2) && (y1 == y2))
+	return 0.0;
+
+    dist = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1);
+
+    return dist * log (dist) * 0.5;
+}
+
+#endif /* end including GCO */
diff --git a/src/dxf/Makefile.in b/src/dxf/Makefile.in
index 9e53e7e..807623b 100644
--- a/src/dxf/Makefile.in
+++ b/src/dxf/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,8 +90,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/dxf
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -89,6 +97,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -173,6 +183,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -333,7 +344,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/dxf/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/dxf/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -391,14 +401,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -652,6 +662,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/dxf/dxf_parser.c b/src/dxf/dxf_parser.c
index 8ff54ef..92bb2a4 100644
--- a/src/dxf/dxf_parser.c
+++ b/src/dxf/dxf_parser.c
@@ -2421,9 +2421,15 @@ reset_dxf_entity (const void *p_cache, gaiaDxfParserPtr dxf)
 	  dxf->curr_layer_name = NULL;
       }
     if (dxf->extra_key != NULL)
-	free (dxf->extra_key);
+      {
+	  free (dxf->extra_key);
+	  dxf->extra_key = NULL;
+      }
     if (dxf->extra_value != NULL)
-	free (dxf->extra_value);
+      {
+	  free (dxf->extra_value);
+	  dxf->extra_value = NULL;
+      }
     ext = dxf->first_ext;
     while (ext != NULL)
       {
diff --git a/src/gaiaaux/Makefile.in b/src/gaiaaux/Makefile.in
index 3234ae0..7657103 100644
--- a/src/gaiaaux/Makefile.in
+++ b/src/gaiaaux/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/gaiaaux
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -168,6 +177,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -324,7 +334,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiaaux/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/gaiaaux/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -376,14 +385,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -616,6 +625,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/gaiaaux/gg_sqlaux.c b/src/gaiaaux/gg_sqlaux.c
index 7906f33..5d18243 100644
--- a/src/gaiaaux/gg_sqlaux.c
+++ b/src/gaiaaux/gg_sqlaux.c
@@ -48,6 +48,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include <stdio.h>
 #include <string.h>
 #include <math.h>
+#include <ctype.h>
 
 #if defined(_WIN32) && !defined(__MINGW32__)
 #include "config-msvc.h"
@@ -1198,3 +1199,239 @@ gaiaConvertToDMS (double longitude, double latitude)
     sqlite3_free (dms0);
     return dms;
 }
+
+/*********************************************************************
+/
+/ DISCLAIMER
+/
+/ the following code implementation (URL percent-encoding/-decoding)
+/ simply is a rearranged adaption of this original code released
+/ into the Public Domain:
+/
+/ http://www.geekhideout.com/urlcode.shtml
+/
+*********************************************************************/
+
+static char
+url_to_hex (char code)
+{
+    static char hex[] = "0123456789abcdef";
+    return hex[code & 15];
+}
+
+GAIAAUX_DECLARE char *
+gaiaEncodeURL (const char *url)
+{
+/* encoding some URL */
+    char *encoded = NULL;
+    const char *in = url;
+    char *out;
+    int len;
+    if (url == NULL)
+	return NULL;
+    len = strlen (url);
+    if (len == 0)
+	return NULL;
+
+    encoded = malloc ((len * 3) + 1);
+    out = encoded;
+    while (*in != '\0')
+      {
+	  if (isalnum (*in) || *in == '-' || *in == '_' || *in == '.'
+	      || *in == '~')
+	      *out++ = *in;
+	  else if (*in == ' ')
+	      *out++ = '+';
+	  else
+	    {
+		*out++ = '%';
+		*out++ = url_to_hex (*in >> 4);
+		*out++ = url_to_hex (*in & 15);
+	    }
+	  in++;
+      }
+    *out = '\0';
+    return encoded;
+}
+
+static char
+url_from_hex (char ch)
+{
+    return isdigit (ch) ? ch - '0' : tolower (ch) - 'a' + 10;
+}
+
+GAIAAUX_DECLARE char *
+gaiaDecodeURL (const char *encoded)
+{
+/* decoding some URL */
+    char *url = NULL;
+    const char *in = encoded;
+    char *out;
+    int len;
+    if (encoded == NULL)
+	return NULL;
+    len = strlen (encoded);
+    if (len == 0)
+	return NULL;
+
+    url = malloc (len + 1);
+    out = url;
+    while (*in != '\0')
+      {
+	  if (*in == '%')
+	    {
+		if (*(in + 1) && *(in + 2))
+		  {
+		      *out++ =
+			  url_from_hex (*(in + 1)) << 4 |
+			  url_from_hex (*(in + 2));
+		      in += 2;
+		  }
+	    }
+	  else if (*in == '+')
+	      *out++ = ' ';
+	  else
+	      *out++ = *in;
+	  in++;
+      }
+    *out = '\0';
+    return url;
+}
+
+GAIAAUX_DECLARE char *
+gaiaDirNameFromPath (const char *path)
+{
+/* extracting the DirName (if any) from a Path */
+	const char *in = path;
+	const char *last = NULL;
+	int len = 0;
+	int dirlen;
+	char *name;
+	
+	if (path == NULL)
+	return NULL;
+	
+	while (*in != '\0')
+	{
+	/* parsing the Path */
+		len++;
+		if (*in == '/' || *in == '\\')
+		{
+			last = in;
+			dirlen = len;
+		}
+		in++;
+	}
+	if (last == NULL)
+	return NULL;	/* there is no Dir component */
+	
+/* allocating the DirName  to be returned */
+	name = malloc(dirlen+1);
+	memcpy(name, path, dirlen);
+	*(name+dirlen) = '\0';
+	return name;
+}
+
+GAIAAUX_DECLARE char *
+gaiaFullFileNameFromPath (const char *path)
+{
+/* extracting the FullFileName (including Extension) from a Path */
+	const char *in = path;
+	const char *last = path - 1;
+	int len;
+	char *name;
+	
+	if (path == NULL)
+	return NULL;
+	
+	while (*in != '\0')
+	{
+	/* parsing the Path */
+		if (*in == '/' || *in == '\\')
+			last = in;
+		in++;
+	}
+	len = strlen(last+1);
+	if (len == 0)
+	return NULL;
+	
+/* allocating the FullFileName to be returned */
+	name = malloc(len+1);
+	strcpy(name, last+1);
+	return name;
+}
+
+GAIAAUX_DECLARE char *
+gaiaFileNameFromPath (const char *path)
+{
+/* extracting the FileName (excluding Extension) from a Path */
+	const char *in = path;
+	const char *last = path - 1;
+	int len;
+	char *name;
+	int i;
+	
+	if (path == NULL)
+	return NULL;
+	
+	while (*in != '\0')
+	{
+	/* parsing the Path */
+		if (*in == '/' || *in == '\\')
+			last = in;
+		in++;
+	}
+	len = strlen(last+1);
+	if (len == 0)
+	return NULL;
+	
+/* allocating the FullFileName to be returned */
+	name = malloc(len+1);
+	strcpy(name, last+1);
+	for (i = len - 1; i > 0; i--)
+	{
+		if (*(name+i) == '.')
+		{
+		/* stripping out the extension */
+			*(name+i) = '\0';
+			break;
+		}
+	}
+	return name;
+}
+
+GAIAAUX_DECLARE char *
+gaiaFileExtFromPath (const char *path)
+{
+/* extracting the FileExtension (if any) from a Path */
+	int len;
+	char *name;
+	int i;
+	int pos = -1;
+	
+	if (path == NULL)
+	return NULL;
+	
+	len = strlen(path);
+	for (i = len - 1; i > 0; i--)
+	{
+		if (*(path+i) == '/' || *(path+i) == '\\')
+		break;
+		if (*(path+i) == '.')
+		{
+		/* found an extension */
+			pos = i;
+			break;
+		}
+	}
+	if (pos <= 0)
+	return NULL;
+	
+/* allocating the FileExtension to be returned */
+	len = strlen(path + pos + 1);
+	if (len == 0)
+	return NULL;
+	name = malloc(len+1);
+	strcpy(name, path + pos + 1);
+	return name;
+}
diff --git a/src/gaiaexif/Makefile.in b/src/gaiaexif/Makefile.in
index b5587cd..87f9bfe 100644
--- a/src/gaiaexif/Makefile.in
+++ b/src/gaiaexif/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/gaiaexif
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -167,6 +176,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -322,7 +332,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiaexif/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/gaiaexif/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -372,14 +381,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -605,6 +614,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/gaiageo/Makefile.am b/src/gaiageo/Makefile.am
index 7020fb7..294aec4 100644
--- a/src/gaiageo/Makefile.am
+++ b/src/gaiageo/Makefile.am
@@ -25,7 +25,8 @@ GAIAGEO_COMMON_SOURCES = gg_advanced.c \
 	gg_kml.c \
 	gg_gml.c \
 	gg_voronoj.c \
-	gg_xml.c 
+	gg_xml.c \
+	gg_matrix.c
 
 libgaiageo_la_SOURCES = $(GAIAGEO_COMMON_SOURCES)
 
diff --git a/src/gaiageo/Makefile.in b/src/gaiageo/Makefile.in
index 5005e65..92ec0f3 100644
--- a/src/gaiageo/Makefile.in
+++ b/src/gaiageo/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/gaiageo
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -103,7 +112,8 @@ am__objects_1 = gaiageo_la-gg_advanced.lo gaiageo_la-gg_endian.lo \
 	gaiageo_la-gg_wkt.lo gaiageo_la-gg_vanuatu.lo \
 	gaiageo_la-gg_ewkt.lo gaiageo_la-gg_geoJSON.lo \
 	gaiageo_la-gg_kml.lo gaiageo_la-gg_gml.lo \
-	gaiageo_la-gg_voronoj.lo gaiageo_la-gg_xml.lo
+	gaiageo_la-gg_voronoj.lo gaiageo_la-gg_xml.lo \
+	gaiageo_la-gg_matrix.lo
 am_gaiageo_la_OBJECTS = $(am__objects_1)
 gaiageo_la_OBJECTS = $(am_gaiageo_la_OBJECTS)
 AM_V_lt = $(am__v_lt_ at AM_V@)
@@ -118,7 +128,8 @@ am__objects_2 = gg_advanced.lo gg_endian.lo gg_geodesic.lo \
 	gg_geometries.lo gg_geoscvt.lo gg_relations.lo \
 	gg_relations_ext.lo gg_lwgeom.lo gg_extras.lo gg_shape.lo \
 	gg_transform.lo gg_wkb.lo gg_wkt.lo gg_vanuatu.lo gg_ewkt.lo \
-	gg_geoJSON.lo gg_kml.lo gg_gml.lo gg_voronoj.lo gg_xml.lo
+	gg_geoJSON.lo gg_kml.lo gg_gml.lo gg_voronoj.lo gg_xml.lo \
+	gg_matrix.lo
 am_libgaiageo_la_OBJECTS = $(am__objects_2)
 libgaiageo_la_OBJECTS = $(am_libgaiageo_la_OBJECTS)
 AM_V_P = $(am__v_P_ at AM_V@)
@@ -198,6 +209,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -376,7 +388,8 @@ GAIAGEO_COMMON_SOURCES = gg_advanced.c \
 	gg_kml.c \
 	gg_gml.c \
 	gg_voronoj.c \
-	gg_xml.c 
+	gg_xml.c \
+	gg_matrix.c
 
 libgaiageo_la_SOURCES = $(GAIAGEO_COMMON_SOURCES)
 gaiageo_la_SOURCES = $(GAIAGEO_COMMON_SOURCES)
@@ -407,7 +420,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiageo/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/gaiageo/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -460,6 +472,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gaiageo_la-gg_gml.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gaiageo_la-gg_kml.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gaiageo_la-gg_lwgeom.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gaiageo_la-gg_matrix.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gaiageo_la-gg_relations.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gaiageo_la-gg_relations_ext.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gaiageo_la-gg_shape.Plo at am__quote@
@@ -480,6 +493,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gg_gml.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gg_kml.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gg_lwgeom.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gg_matrix.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gg_relations.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gg_relations_ext.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gg_shape.Plo at am__quote@
@@ -495,14 +509,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -651,6 +665,13 @@ gaiageo_la-gg_xml.lo: gg_xml.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(gaiageo_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gaiageo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gaiageo_la-gg_xml.lo `test -f 'gg_xml.c' || echo '$(srcdir)/'`gg_xml.c
 
+gaiageo_la-gg_matrix.lo: gg_matrix.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(gaiageo_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gaiageo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gaiageo_la-gg_matrix.lo -MD -MP -MF $(DEPDIR)/gaiageo_la-gg_matrix.Tpo -c -o gaiageo_la-gg_matrix.lo `test -f 'gg_matrix.c' || echo '$(srcdir)/'`gg_matrix.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gaiageo_la-gg_matrix.Tpo $(DEPDIR)/gaiageo_la-gg_matrix.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gg_matrix.c' object='gaiageo_la-gg_matrix.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(gaiageo_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gaiageo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gaiageo_la-gg_matrix.lo `test -f 'gg_matrix.c' || echo '$(srcdir)/'`gg_matrix.c
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -935,6 +956,8 @@ uninstall-am:
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/gaiageo/flex/Makefile.in b/src/gaiageo/flex/Makefile.in
index 77119d6..33cfef9 100644
--- a/src/gaiageo/flex/Makefile.in
+++ b/src/gaiageo/flex/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/gaiageo/flex
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -258,7 +269,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiageo/flex/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/gaiageo/flex/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -433,6 +443,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/gaiageo/gg_extras.c b/src/gaiageo/gg_extras.c
index d502ce2..5113ee1 100644
--- a/src/gaiageo/gg_extras.c
+++ b/src/gaiageo/gg_extras.c
@@ -911,26 +911,58 @@ get_trigrid_base (double min_x, double min_y, double origin_x, double origin_y,
     while (1)
       {
 	  /* looping on grid rows */
-	  if (by < min_y)
-	      goto next_scanline;
-	  if (*odd_even)
-	      bx = origin_x - shift_h_odd;
+	  if (min_y < origin_y)
+	    {
+		/* going southward */
+		if (by > min_y)
+		    goto next_scanline;
+		if (*odd_even)
+		    bx = origin_x - shift_h_odd;
+		else
+		    bx = origin_x;
+	    }
 	  else
-	      bx = origin_x;
+	    {
+		/* going northward */
+		if (by < min_y)
+		    goto next_scanline;
+		if (*odd_even)
+		    bx = origin_x - shift_h_odd;
+		else
+		    bx = origin_x;
+	    }
 	  while (1)
 	    {
 		/* looping on grid columns */
-		if (bx + shift_h_even > min_x
-		    || bx + shift_h_even + shift_h_odd > min_x)
+		if (min_x < origin_x)
 		  {
-		      *base_x = bx;
-		      *base_y = by;
-		      return;
+		      /* going eastward */
+		      if (bx - shift_h_even - shift_h_odd < min_x)
+			{
+			    *base_x = bx;
+			    *base_y = by;
+			    return;
+			}
+		      bx -= shift_h_even;
+		  }
+		else
+		  {
+		      /* going westward */
+		      if (bx + shift_h_even > min_x
+			  || bx + shift_h_even + shift_h_odd > min_x)
+			{
+			    *base_x = bx;
+			    *base_y = by;
+			    return;
+			}
+		      bx += shift_h_even;
 		  }
-		bx += shift_h_even;
 	    }
 	next_scanline:
-	  by += shift_v;
+	  if (min_y < origin_y)
+	      by -= shift_v;
+	  else
+	      by += shift_v;
 	  if (*odd_even)
 	      *odd_even = 0;
 	  else
@@ -981,6 +1013,8 @@ gaiaTriangularGridCommon (const void *p_cache, gaiaGeomCollPtr geom,
     get_grid_bbox (geom, &min_x, &min_y, &max_x, &max_y);
     get_trigrid_base (min_x, min_y, origin_x, origin_y, shift_h_odd,
 		      shift_h_even, shift_v, &odd_even, &base_x, &base_y);
+    base_x -= base_x;
+    base_y -= shift_v;
     while (base_y < max_y)
       {
 	  /* looping on grid rows */
@@ -1150,25 +1184,57 @@ get_hexgrid_base (double min_x, double min_y, double origin_x, double origin_y,
     while (1)
       {
 	  /* looping on grid rows */
-	  if (by < min_y)
-	      goto next_scanline;
-	  if (*odd_even)
-	      bx = origin_x + (shift3 / 2.0);
+	  if (min_y < origin_y)
+	    {
+		/* going southward */
+		if (by > min_y)
+		    goto next_scanline;
+		if (*odd_even)
+		    bx = origin_x - (shift3 / 2.0);
+		else
+		    bx = origin_x;
+	    }
 	  else
-	      bx = origin_x;
+	    {
+		/* going northward */
+		if (by < min_y)
+		    goto next_scanline;
+		if (*odd_even)
+		    bx = origin_x + (shift3 / 2.0);
+		else
+		    bx = origin_x;
+	    }
 	  while (1)
 	    {
 		/* looping on grid columns */
-		if (bx + shift4 > min_x)
+		if (min_x < origin_x)
 		  {
-		      *base_x = bx;
-		      *base_y = by;
-		      return;
+		      /* going westward */
+		      if (bx - shift4 < min_x)
+			{
+			    *base_x = bx;
+			    *base_y = by;
+			    return;
+			}
+		      bx -= shift3;
+		  }
+		else
+		  {
+		      /* going eastward */
+		      if (bx + shift4 > min_x)
+			{
+			    *base_x = bx;
+			    *base_y = by;
+			    return;
+			}
+		      bx += shift3;
 		  }
-		bx += shift3;
 	    }
 	next_scanline:
-	  by += shift;
+	  if (min_y < origin_y)
+	      by -= shift;
+	  else
+	      by += shift;
 	  if (*odd_even)
 	      *odd_even = 0;
 	  else
@@ -1225,6 +1291,8 @@ gaiaHexagonalGridCommon (const void *p_cache, gaiaGeomCollPtr geom,
     get_grid_bbox (geom, &min_x, &min_y, &max_x, &max_y);
     get_hexgrid_base (min_x, min_y, origin_x, origin_y, shift3, shift4,
 		      shift, &odd_even, &base_x, &base_y);
+    base_x -= shift3;
+    base_y -= shift;
     while ((base_y - shift) < max_y)
       {
 	  /* looping on grid rows */
diff --git a/src/gaiageo/gg_matrix.c b/src/gaiageo/gg_matrix.c
new file mode 100644
index 0000000..14879ac
--- /dev/null
+++ b/src/gaiageo/gg_matrix.c
@@ -0,0 +1,831 @@
+/*
+
+ gg_matrix.c -- Gaia Affine Transform Matrix support
+    
+ version 4.3, 2015 April 28
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ ------------------------------------------------------------------------------
+ 
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ 
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+ 
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
+
+The Original Code is the SpatiaLite library
+
+The Initial Developer of the Original Code is Alessandro Furieri
+ 
+Portions created by the Initial Developer are Copyright (C) 2012-2013
+the Initial Developer. All Rights Reserved.
+
+Contributor(s):
+
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+
+#include <sys/types.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#if defined(_WIN32) && !defined(__MINGW32__)
+#include "config-msvc.h"
+#else
+#include "config.h"
+#endif
+
+#include <spatialite/sqlite.h>
+
+#include <spatialite/gaiageo.h>
+#include <spatialite/gaiamatrix.h>
+#include <spatialite_private.h>
+
+#define MATRIX_MAGIC_START		0x00
+#define MATRIX_MAGIC_DELIMITER	0x3a
+#define MATRIX_MAGIC_END		0xb3
+
+struct at_matrix
+{
+/* 3D Affine Transform Matrix */
+    double xx;
+    double xy;
+    double xz;
+    double xoff;
+    double yx;
+    double yy;
+    double yz;
+    double yoff;
+    double zx;
+    double zy;
+    double zz;
+    double zoff;
+    double w1;
+    double w2;
+    double w3;
+    double w4;
+};
+
+static int
+blob_matrix_encode (struct at_matrix *matrix, unsigned char **blob,
+		    int *blob_sz)
+{
+/* creating a BLOB-Matrix object */
+    unsigned char *xblob = NULL;
+    unsigned char *ptr;
+    int xblob_sz = 146;
+    int endian_arch = gaiaEndianArch ();
+
+    *blob = NULL;
+    *blob_sz = 0;
+
+    xblob = malloc (xblob_sz);
+    if (xblob == NULL)
+	return 0;
+    ptr = xblob;
+/* encoding the BLOB */
+    *ptr = MATRIX_MAGIC_START;	/* START signature */
+    *(ptr + 1) = 1;		/* LITTLE ENDIAN */
+    gaiaExport64 (ptr + 2, matrix->xx, 1, endian_arch);
+    *(ptr + 10) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 11, matrix->xy, 1, endian_arch);
+    *(ptr + 19) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 20, matrix->xz, 1, endian_arch);
+    *(ptr + 28) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 29, matrix->xoff, 1, endian_arch);
+    *(ptr + 37) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 38, matrix->yx, 1, endian_arch);
+    *(ptr + 46) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 47, matrix->yy, 1, endian_arch);
+    *(ptr + 55) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 56, matrix->yz, 1, endian_arch);
+    *(ptr + 64) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 65, matrix->yoff, 1, endian_arch);
+    *(ptr + 73) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 74, matrix->zx, 1, endian_arch);
+    *(ptr + 82) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 83, matrix->zy, 1, endian_arch);
+    *(ptr + 91) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 92, matrix->zz, 1, endian_arch);
+    *(ptr + 100) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 101, matrix->zoff, 1, endian_arch);
+    *(ptr + 109) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 110, matrix->w1, 1, endian_arch);
+    *(ptr + 118) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 119, matrix->w2, 1, endian_arch);
+    *(ptr + 127) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 128, matrix->w3, 1, endian_arch);
+    *(ptr + 136) = MATRIX_MAGIC_DELIMITER;
+    gaiaExport64 (ptr + 137, matrix->w4, 1, endian_arch);
+    *(ptr + 145) = MATRIX_MAGIC_END;
+
+    *blob = xblob;
+    *blob_sz = xblob_sz;
+    return 1;
+}
+
+static int
+blob_matrix_decode (struct at_matrix *matrix, const unsigned char *blob,
+		    int blob_sz)
+{
+/* decoding a BLOB-Matrix object */
+    int endian;
+    int endian_arch = gaiaEndianArch ();
+    const unsigned char *ptr = blob;
+    if (blob == NULL)
+	return 0;
+    if (blob_sz != 146)
+	return 0;
+
+    if (*ptr != MATRIX_MAGIC_START)
+	return 0;
+    if (*(ptr + 1) == 1)
+	endian = 1;
+    else if (*(ptr + 1) == 0)
+	endian = 0;
+    else
+	return 0;
+    matrix->xx = gaiaImport64 (ptr + 2, endian, endian_arch);
+    matrix->xy = gaiaImport64 (ptr + 11, endian, endian_arch);
+    matrix->xz = gaiaImport64 (ptr + 20, endian, endian_arch);
+    matrix->xoff = gaiaImport64 (ptr + 29, endian, endian_arch);
+    matrix->yx = gaiaImport64 (ptr + 38, endian, endian_arch);
+    matrix->yy = gaiaImport64 (ptr + 47, endian, endian_arch);
+    matrix->yz = gaiaImport64 (ptr + 56, endian, endian_arch);
+    matrix->yoff = gaiaImport64 (ptr + 65, endian, endian_arch);
+    matrix->zx = gaiaImport64 (ptr + 74, endian, endian_arch);
+    matrix->zy = gaiaImport64 (ptr + 83, endian, endian_arch);
+    matrix->zz = gaiaImport64 (ptr + 92, endian, endian_arch);
+    matrix->zoff = gaiaImport64 (ptr + 101, endian, endian_arch);
+    matrix->w1 = gaiaImport64 (ptr + 110, endian, endian_arch);
+    matrix->w2 = gaiaImport64 (ptr + 119, endian, endian_arch);
+    matrix->w3 = gaiaImport64 (ptr + 128, endian, endian_arch);
+    matrix->w4 = gaiaImport64 (ptr + 137, endian, endian_arch);
+    if (*(ptr + 145) != MATRIX_MAGIC_END)
+	return 0;
+    return 1;
+}
+
+GAIAMATRIX_DECLARE int
+gaia_matrix_create (double a, double b, double c, double d, double e, double f,
+		    double g, double h, double i, double xoff, double yoff,
+		    double zoff, unsigned char **blob, int *blob_sz)
+{
+/*
+* creating a BLOB-serialized Affine Transform Matrix
+* iniziatialized with explicit values
+*/
+    struct at_matrix matrix;
+    matrix.xx = a;
+    matrix.xy = b;
+    matrix.xz = c;
+    matrix.xoff = xoff;
+    matrix.yx = d;
+    matrix.yy = e;
+    matrix.yz = f;
+    matrix.yoff = yoff;
+    matrix.zx = g;
+    matrix.zy = h;
+    matrix.zz = i;
+    matrix.zoff = zoff;
+    matrix.w1 = 0.0;
+    matrix.w2 = 0.0;
+    matrix.w3 = 0.0;
+    matrix.w4 = 1.0;
+    return blob_matrix_encode (&matrix, blob, blob_sz);
+}
+
+static void
+matrix_multiply (struct at_matrix *result, struct at_matrix *matrix1,
+		 struct at_matrix *matrix2)
+{
+/* multiplying MatrixA by MatrixB */
+    result->xx =
+	(matrix1->xx * matrix2->xx) + (matrix1->xy * matrix2->yx) +
+	(matrix1->xz * matrix2->zx) + (matrix1->xoff * matrix2->w1);
+    result->xy =
+	(matrix1->xx * matrix2->xy) + (matrix1->xy * matrix2->yy) +
+	(matrix1->xz * matrix2->zy) + (matrix1->xoff * matrix2->w2);
+    result->xz =
+	(matrix1->xx * matrix2->xz) + (matrix1->xy * matrix2->yz) +
+	(matrix1->xz * matrix2->zz) + (matrix1->xoff * matrix2->w3);
+    result->xoff =
+	(matrix1->xx * matrix2->xoff) + (matrix1->xy * matrix2->yoff) +
+	(matrix1->xz * matrix2->zoff) + (matrix1->xoff * matrix2->w4);
+
+    result->yx =
+	(matrix1->yx * matrix2->xx) + (matrix1->yy * matrix2->yx) +
+	(matrix1->yz * matrix2->zx) + (matrix1->yoff * matrix2->w1);
+    result->yy =
+	(matrix1->yx * matrix2->xy) + (matrix1->yy * matrix2->yy) +
+	(matrix1->yz * matrix2->zy) + (matrix1->yoff * matrix2->w2);
+    result->yz =
+	(matrix1->yx * matrix2->xz) + (matrix1->yy * matrix2->yz) +
+	(matrix1->yz * matrix2->zz) + (matrix1->yoff * matrix2->w3);
+    result->yoff =
+	(matrix1->yx * matrix2->xoff) + (matrix1->yy * matrix2->yoff) +
+	(matrix1->yz * matrix2->zoff) + (matrix1->yoff * matrix2->w4);
+
+    result->zx =
+	(matrix1->zx * matrix2->xx) + (matrix1->zy * matrix2->yx) +
+	(matrix1->zz * matrix2->zx) + (matrix1->zoff * matrix2->w1);
+    result->zy =
+	(matrix1->zx * matrix2->xy) + (matrix1->zy * matrix2->yy) +
+	(matrix1->zz * matrix2->zy) + (matrix1->zoff * matrix2->w2);
+    result->zz =
+	(matrix1->zx * matrix2->xz) + (matrix1->zy * matrix2->yz) +
+	(matrix1->zz * matrix2->zz) + (matrix1->zoff * matrix2->w3);
+    result->zoff =
+	(matrix1->zx * matrix2->xoff) + (matrix1->zy * matrix2->yoff) +
+	(matrix1->zz * matrix2->zoff) + (matrix1->zoff * matrix2->w4);
+
+    result->w1 =
+	(matrix1->w1 * matrix2->xx) + (matrix1->w2 * matrix2->yx) +
+	(matrix1->w3 * matrix2->zx) + (matrix1->w4 * matrix2->w1);
+    result->w2 =
+	(matrix1->w1 * matrix2->xy) + (matrix1->w2 * matrix2->yy) +
+	(matrix1->w3 * matrix2->zy) + (matrix1->w4 * matrix2->w2);
+    result->w3 =
+	(matrix1->w1 * matrix2->xz) + (matrix1->w2 * matrix2->yz) +
+	(matrix1->w3 * matrix2->zz) + (matrix1->w4 * matrix2->w3);
+    result->w4 =
+	(matrix1->w1 * matrix2->xoff) + (matrix1->w2 * matrix2->yoff) +
+	(matrix1->w3 * matrix2->zoff) + (matrix1->w4 * matrix2->w4);
+}
+
+GAIAMATRIX_DECLARE int
+gaia_matrix_multiply (const unsigned char *iblob1, int iblob1_sz,
+		      const unsigned char *iblob2, int iblob2_sz,
+		      unsigned char **blob, int *blob_sz)
+{
+/*
+* creating a BLOB-serialized Affine Transform Matrix
+* by multiplying MatrixA by MatrixB
+*/
+    struct at_matrix matrix1;
+    struct at_matrix matrix2;
+    struct at_matrix result;
+
+    *blob = NULL;
+    *blob_sz = 0;
+    if (!blob_matrix_decode (&matrix1, iblob1, iblob1_sz))
+	return 0;
+    if (!blob_matrix_decode (&matrix2, iblob2, iblob2_sz))
+	return 0;
+    matrix_multiply (&result, &matrix1, &matrix2);
+    return blob_matrix_encode (&result, blob, blob_sz);
+}
+
+GAIAMATRIX_DECLARE int
+gaia_matrix_create_multiply (const unsigned char *iblob, int iblob_sz, double a,
+			     double b, double c, double d, double e, double f,
+			     double g, double h, double i, double xoff,
+			     double yoff, double zoff, unsigned char **blob,
+			     int *blob_sz)
+{
+/*
+* creating a BLOB-serialized Affine Transform Matrix
+* iniziatialized with explicit values
+*/
+    struct at_matrix old_matrix;
+    struct at_matrix matrix;
+    struct at_matrix result;
+    matrix.xx = a;
+    matrix.xy = b;
+    matrix.xz = c;
+    matrix.xoff = xoff;
+    matrix.yx = d;
+    matrix.yy = e;
+    matrix.yz = f;
+    matrix.yoff = yoff;
+    matrix.zx = g;
+    matrix.zy = h;
+    matrix.zz = i;
+    matrix.zoff = zoff;
+    matrix.w1 = 0.0;
+    matrix.w2 = 0.0;
+    matrix.w3 = 0.0;
+    matrix.w4 = 1.0;
+    *blob = NULL;
+    *blob_sz = 0;
+    if (!blob_matrix_decode (&old_matrix, iblob, iblob_sz))
+	return 0;
+    matrix_multiply (&result, &matrix, &old_matrix);
+    return blob_matrix_encode (&result, blob, blob_sz);
+}
+
+GAIAMATRIX_DECLARE int
+gaia_matrix_is_valid (const unsigned char *blob, int blob_sz)
+{
+/* checking a BLOB-ATM object for validity */
+    const unsigned char *ptr = blob;
+    if (blob == NULL)
+	return 0;
+    if (blob_sz != 146)
+	return 0;
+
+    if (*ptr != MATRIX_MAGIC_START)
+	return 0;
+    if (*(ptr + 1) == 1 || *(ptr + 1) == 0)
+	;
+    else
+	return 0;
+    if (*(ptr + 10) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 19) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 28) != MATRIX_MAGIC_DELIMITER)
+	return 0;;
+    if (*(ptr + 37) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 46) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 55) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 64) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 73) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 82) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 91) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 100) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 109) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 118) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 127) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 136) != MATRIX_MAGIC_DELIMITER)
+	return 0;
+    if (*(ptr + 145) != MATRIX_MAGIC_END)
+	return 0;
+    return 1;
+}
+
+GAIAMATRIX_DECLARE char *
+gaia_matrix_as_text (const unsigned char *blob, int blob_sz)
+{
+/* printing a BLOB-AMT object as a text string */
+    char *text;
+    struct at_matrix matrix;
+    if (!gaia_matrix_is_valid (blob, blob_sz))
+	return NULL;
+    if (!blob_matrix_decode (&matrix, blob, blob_sz))
+	return NULL;
+
+/* printing the AT Matrix as text */
+    text =
+	sqlite3_mprintf
+	("%1.10f %1.10f %1.10f %1.10f\n%1.10f %1.10f %1.10f %1.10f\n"
+	 "%1.10f %1.10f %1.10f %1.10f\n%1.10f %1.10f %1.10f %1.10f\n",
+	 matrix.xx, matrix.xy, matrix.xz, matrix.xoff, matrix.yx, matrix.yy,
+	 matrix.yz, matrix.yoff, matrix.zx, matrix.zy, matrix.zz, matrix.zoff,
+	 matrix.w1, matrix.w2, matrix.w3, matrix.w4);
+    return text;
+}
+
+static void
+gaia_point_transform3D (struct at_matrix *matrix, double *x, double *y,
+			double *z)
+{
+/* Affine Transform 3D */
+    double x0 = *x;
+    double y0 = *y;
+    double z0 = *z;
+    *x = (matrix->xx * x0) + (matrix->xy * y0) + (matrix->xz * z0) +
+	matrix->xoff;
+    *y = (matrix->yx * x0) + (matrix->yy * y0) + (matrix->yz * z0) +
+	matrix->yoff;
+    *z = (matrix->zx * x0) + (matrix->zy * y0) + (matrix->zz * z0) +
+	matrix->zoff;
+}
+
+
+static void
+gaia_point_transform2D (struct at_matrix *matrix, double *x, double *y)
+{
+/* Affine Transform 2D */
+    double x0 = *x;
+    double y0 = *y;
+    *x = (matrix->xx * x0) + (matrix->xy * y0) + matrix->xoff;
+    *y = (matrix->yx * x0) + (matrix->yy * y0) + matrix->yoff;
+}
+
+GAIAMATRIX_DECLARE gaiaGeomCollPtr
+gaia_matrix_transform_geometry (gaiaGeomCollPtr geom,
+				const unsigned char *blob, int blob_sz)
+{
+/* transforming a Geometry by applying an Affine Transform Matrix */
+    int iv;
+    int ib;
+    double x;
+    double y;
+    double z;
+    double m;
+    gaiaPointPtr point;
+    gaiaLinestringPtr line;
+    gaiaLinestringPtr new_line;
+    gaiaPolygonPtr polyg;
+    gaiaPolygonPtr new_polyg;
+    gaiaGeomCollPtr new_geom;
+    gaiaRingPtr i_ring;
+    gaiaRingPtr o_ring;
+    struct at_matrix matrix;
+    if (!gaia_matrix_is_valid (blob, blob_sz))
+	return NULL;
+    if (!blob_matrix_decode (&matrix, blob, blob_sz))
+	return NULL;
+    if (geom == NULL)
+	return NULL;
+
+/* creating the output Geometry */
+    if (geom->DimensionModel == GAIA_XY_Z)
+	new_geom = gaiaAllocGeomCollXYZ ();
+    else if (geom->DimensionModel == GAIA_XY_M)
+	new_geom = gaiaAllocGeomCollXYM ();
+    else if (geom->DimensionModel == GAIA_XY_Z_M)
+	new_geom = gaiaAllocGeomCollXYZM ();
+    else
+	new_geom = gaiaAllocGeomColl ();
+    new_geom->Srid = geom->Srid;
+    new_geom->DeclaredType = geom->DeclaredType;
+
+/* cloning and transforming all individual items */
+    point = geom->FirstPoint;
+    while (point)
+      {
+	  /* copying POINTs */
+	  if (geom->DimensionModel == GAIA_XY_Z)
+	    {
+		x = point->X;
+		y = point->Y;
+		z = point->Z;
+		gaia_point_transform3D (&matrix, &x, &y, &z);
+		gaiaAddPointToGeomCollXYZ (new_geom, x, y, z);
+	    }
+	  else if (geom->DimensionModel == GAIA_XY_M)
+	    {
+		x = point->X;
+		y = point->Y;
+		m = point->M;
+		gaia_point_transform2D (&matrix, &x, &y);
+		gaiaAddPointToGeomCollXYM (new_geom, x, y, m);
+	    }
+	  else if (geom->DimensionModel == GAIA_XY_Z_M)
+	    {
+		x = point->X;
+		y = point->Y;
+		z = point->Z;
+		m = point->M;
+		gaia_point_transform3D (&matrix, &x, &y, &z);
+		gaiaAddPointToGeomCollXYZM (new_geom, x, y, z, m);
+	    }
+	  else
+	    {
+		x = point->X;
+		y = point->Y;
+		gaia_point_transform2D (&matrix, &x, &y);
+		gaiaAddPointToGeomColl (new_geom, x, y);
+	    }
+	  point = point->Next;
+      }
+
+    line = geom->FirstLinestring;
+    while (line)
+      {
+	  /* copying LINESTRINGs */
+	  new_line = gaiaAddLinestringToGeomColl (new_geom, line->Points);
+	  for (iv = 0; iv < line->Points; iv++)
+	    {
+		z = 0.0;
+		m = 0.0;
+		if (line->DimensionModel == GAIA_XY_Z)
+		  {
+		      gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z);
+		  }
+		else if (line->DimensionModel == GAIA_XY_M)
+		  {
+		      gaiaGetPointXYM (line->Coords, iv, &x, &y, &m);
+		  }
+		else if (line->DimensionModel == GAIA_XY_Z_M)
+		  {
+		      gaiaGetPointXYZM (line->Coords, iv, &x, &y, &z, &m);
+		  }
+		else
+		  {
+		      gaiaGetPoint (line->Coords, iv, &x, &y);
+		  }
+		if (new_line->DimensionModel == GAIA_XY_Z
+		    || new_line->DimensionModel == GAIA_XY_Z_M)
+		    gaia_point_transform3D (&matrix, &x, &y, &z);
+		else
+		    gaia_point_transform2D (&matrix, &x, &y);
+		if (new_line->DimensionModel == GAIA_XY_Z)
+		  {
+		      gaiaSetPointXYZ (new_line->Coords, iv, x, y, z);
+		  }
+		else if (new_line->DimensionModel == GAIA_XY_M)
+		  {
+		      gaiaSetPointXYM (new_line->Coords, iv, x, y, m);
+		  }
+		else if (new_line->DimensionModel == GAIA_XY_Z_M)
+		  {
+		      gaiaSetPointXYZM (new_line->Coords, iv, x, y, z, m);
+		  }
+		else
+		  {
+		      gaiaSetPoint (new_line->Coords, iv, x, y);
+		  }
+	    }
+	  line = line->Next;
+      }
+
+    polyg = geom->FirstPolygon;
+    while (polyg)
+      {
+	  /* copying POLYGONs */
+	  i_ring = polyg->Exterior;
+	  new_polyg =
+	      gaiaAddPolygonToGeomColl (new_geom, i_ring->Points,
+					polyg->NumInteriors);
+	  o_ring = new_polyg->Exterior;
+	  /* copying points for the EXTERIOR RING */
+	  for (iv = 0; iv < o_ring->Points; iv++)
+	    {
+		z = 0.0;
+		m = 0.0;
+		if (i_ring->DimensionModel == GAIA_XY_Z)
+		  {
+		      gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, &z);
+		  }
+		else if (i_ring->DimensionModel == GAIA_XY_M)
+		  {
+		      gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, &m);
+		  }
+		else if (i_ring->DimensionModel == GAIA_XY_Z_M)
+		  {
+		      gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, &z, &m);
+		  }
+		else
+		  {
+		      gaiaGetPoint (i_ring->Coords, iv, &x, &y);
+		  }
+		if (o_ring->DimensionModel == GAIA_XY_Z
+		    || o_ring->DimensionModel == GAIA_XY_Z_M)
+		    gaia_point_transform3D (&matrix, &x, &y, &z);
+		else
+		    gaia_point_transform2D (&matrix, &x, &y);
+		if (o_ring->DimensionModel == GAIA_XY_Z)
+		  {
+		      gaiaSetPointXYZ (o_ring->Coords, iv, x, y, z);
+		  }
+		else if (o_ring->DimensionModel == GAIA_XY_M)
+		  {
+		      gaiaSetPointXYM (o_ring->Coords, iv, x, y, m);
+		  }
+		else if (o_ring->DimensionModel == GAIA_XY_Z_M)
+		  {
+		      gaiaSetPointXYZM (o_ring->Coords, iv, x, y, z, m);
+		  }
+		else
+		  {
+		      gaiaSetPoint (o_ring->Coords, iv, x, y);
+		  }
+	    }
+	  for (ib = 0; ib < new_polyg->NumInteriors; ib++)
+	    {
+		/* copying each INTERIOR RING [if any] */
+		i_ring = polyg->Interiors + ib;
+		o_ring = gaiaAddInteriorRing (new_polyg, ib, i_ring->Points);
+		for (iv = 0; iv < o_ring->Points; iv++)
+		  {
+		      z = 0.0;
+		      m = 0.0;
+		      if (i_ring->DimensionModel == GAIA_XY_Z)
+			{
+			    gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, &z);
+			}
+		      else if (i_ring->DimensionModel == GAIA_XY_M)
+			{
+			    gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, &m);
+			}
+		      else if (i_ring->DimensionModel == GAIA_XY_Z_M)
+			{
+			    gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, &z,
+					      &m);
+			}
+		      else
+			{
+			    gaiaGetPoint (i_ring->Coords, iv, &x, &y);
+			}
+		      if (o_ring->DimensionModel == GAIA_XY_Z
+			  || o_ring->DimensionModel == GAIA_XY_Z_M)
+			  gaia_point_transform3D (&matrix, &x, &y, &z);
+		      else
+			  gaia_point_transform2D (&matrix, &x, &y);
+		      if (o_ring->DimensionModel == GAIA_XY_Z)
+			{
+			    gaiaSetPointXYZ (o_ring->Coords, iv, x, y, z);
+			}
+		      else if (o_ring->DimensionModel == GAIA_XY_M)
+			{
+			    gaiaSetPointXYM (o_ring->Coords, iv, x, y, m);
+			}
+		      else if (o_ring->DimensionModel == GAIA_XY_Z_M)
+			{
+			    gaiaSetPointXYZM (o_ring->Coords, iv, x, y, z, m);
+			}
+		      else
+			{
+			    gaiaSetPoint (o_ring->Coords, iv, x, y);
+			}
+		  }
+	    }
+	  polyg = polyg->Next;
+      }
+    return new_geom;
+}
+
+static double
+matrix_determinant (struct at_matrix *matrix)
+{
+/* computing the Determinant for a 4x4 Matrix */
+    double m00 = matrix->xx;
+    double m01 = matrix->xy;
+    double m02 = matrix->xz;
+    double m03 = matrix->xoff;
+    double m10 = matrix->yx;
+    double m11 = matrix->yy;
+    double m12 = matrix->yz;
+    double m13 = matrix->yoff;
+    double m20 = matrix->zx;
+    double m21 = matrix->zy;
+    double m22 = matrix->zz;
+    double m23 = matrix->zoff;
+    double m30 = matrix->w1;
+    double m31 = matrix->w2;
+    double m32 = matrix->w3;
+    double m33 = matrix->w4;
+    double value =
+	m03 * m12 * m21 * m30 - m02 * m13 * m21 * m30 - m03 * m11 * m22 * m30 +
+	m01 * m13 * m22 * m30 + m02 * m11 * m23 * m30 - m01 * m12 * m23 * m30 -
+	m03 * m12 * m20 * m31 + m02 * m13 * m20 * m31 + m03 * m10 * m22 * m31 -
+	m00 * m13 * m22 * m31 - m02 * m10 * m23 * m31 + m00 * m12 * m23 * m31 +
+	m03 * m11 * m20 * m32 - m01 * m13 * m20 * m32 - m03 * m10 * m21 * m32 +
+	m00 * m13 * m21 * m32 + m01 * m10 * m23 * m32 - m00 * m11 * m23 * m32 -
+	m02 * m11 * m20 * m33 + m01 * m12 * m20 * m33 + m02 * m10 * m21 * m33 -
+	m00 * m12 * m21 * m33 - m01 * m10 * m22 * m33 + m00 * m11 * m22 * m33;
+    return value;
+}
+
+GAIAMATRIX_DECLARE double
+gaia_matrix_determinant (const unsigned char *blob, int blob_sz)
+{
+/* computing the Determinant from a BLOB-AMT object */
+    double det;
+    struct at_matrix matrix;
+    if (!gaia_matrix_is_valid (blob, blob_sz))
+	return 0.0;
+    if (!blob_matrix_decode (&matrix, blob, blob_sz))
+	return 0.0;
+
+/* computing the Determinant */
+    det = matrix_determinant (&matrix);
+    return det;
+}
+
+
+static void
+matrix_invert (struct at_matrix *matrix, double determinant)
+{
+/* inverting a Matrix */
+    double m00 = matrix->xx;
+    double m01 = matrix->xy;
+    double m02 = matrix->xz;
+    double m03 = matrix->xoff;
+    double m10 = matrix->yx;
+    double m11 = matrix->yy;
+    double m12 = matrix->yz;
+    double m13 = matrix->yoff;
+    double m20 = matrix->zx;
+    double m21 = matrix->zy;
+    double m22 = matrix->zz;
+    double m23 = matrix->zoff;
+    double m30 = matrix->w1;
+    double m31 = matrix->w2;
+    double m32 = matrix->w3;
+    double m33 = matrix->w4;
+    double scale = 1.0 / determinant;
+    double r00 =
+	m12 * m23 * m31 - m13 * m22 * m31 + m13 * m21 * m32 - m11 * m23 * m32 -
+	m12 * m21 * m33 + m11 * m22 * m33;
+    double r01 =
+	m03 * m22 * m31 - m02 * m23 * m31 - m03 * m21 * m32 + m01 * m23 * m32 +
+	m02 * m21 * m33 - m01 * m22 * m33;
+    double r02 =
+	m02 * m13 * m31 - m03 * m12 * m31 + m03 * m11 * m32 - m01 * m13 * m32 -
+	m02 * m11 * m33 + m01 * m12 * m33;
+    double r03 =
+	m03 * m12 * m21 - m02 * m13 * m21 - m03 * m11 * m22 + m01 * m13 * m22 +
+	m02 * m11 * m23 - m01 * m12 * m23;
+    double r10 =
+	m13 * m22 * m30 - m12 * m23 * m30 - m13 * m20 * m32 + m10 * m23 * m32 +
+	m12 * m20 * m33 - m10 * m22 * m33;
+    double r11 =
+	m02 * m23 * m30 - m03 * m22 * m30 + m03 * m20 * m32 - m00 * m23 * m32 -
+	m02 * m20 * m33 + m00 * m22 * m33;
+    double r12 =
+	m03 * m12 * m30 - m02 * m13 * m30 - m03 * m10 * m32 + m00 * m13 * m32 +
+	m02 * m10 * m33 - m00 * m12 * m33;
+    double r13 =
+	m02 * m13 * m20 - m03 * m12 * m20 + m03 * m10 * m22 - m00 * m13 * m22 -
+	m02 * m10 * m23 + m00 * m12 * m23;
+    double r20 =
+	m11 * m23 * m30 - m13 * m21 * m30 + m13 * m20 * m31 - m10 * m23 * m31 -
+	m11 * m20 * m33 + m10 * m21 * m33;
+    double r21 =
+	m03 * m21 * m30 - m01 * m23 * m30 - m03 * m20 * m31 + m00 * m23 * m31 +
+	m01 * m20 * m33 - m00 * m21 * m33;
+    double r22 =
+	m01 * m13 * m30 - m03 * m11 * m30 + m03 * m10 * m31 - m00 * m13 * m31 -
+	m01 * m10 * m33 + m00 * m11 * m33;
+    double r23 =
+	m03 * m11 * m20 - m01 * m13 * m20 - m03 * m10 * m21 + m00 * m13 * m21 +
+	m01 * m10 * m23 - m00 * m11 * m23;
+    double r30 =
+	m12 * m21 * m30 - m11 * m22 * m30 - m12 * m20 * m31 + m10 * m22 * m31 +
+	m11 * m20 * m32 - m10 * m21 * m32;
+    double r31 =
+	m01 * m22 * m30 - m02 * m21 * m30 + m02 * m20 * m31 - m00 * m22 * m31 -
+	m01 * m20 * m32 + m00 * m21 * m32;
+    double r32 =
+	m02 * m11 * m30 - m01 * m12 * m30 - m02 * m10 * m31 + m00 * m12 * m31 +
+	m01 * m10 * m32 - m00 * m11 * m32;
+    double r33 =
+	m01 * m12 * m20 - m02 * m11 * m20 + m02 * m10 * m21 - m00 * m12 * m21 -
+	m01 * m10 * m22 + m00 * m11 * m22;
+    matrix->xx = r00 * scale;
+    matrix->xy = r01 * scale;
+    matrix->xz = r02 * scale;
+    matrix->xoff = r03 * scale;
+    matrix->yx = r10 * scale;
+    matrix->yy = r11 * scale;
+    matrix->yz = r12 * scale;
+    matrix->yoff = r13 * scale;
+    matrix->zx = r20 * scale;
+    matrix->zy = r21 * scale;
+    matrix->zz = r22 * scale;
+    matrix->zoff = r23 * scale;
+    matrix->w1 = r30 * scale;
+    matrix->w2 = r31 * scale;
+    matrix->w3 = r32 * scale;
+    matrix->w4 = r33 * scale;
+}
+
+GAIAMATRIX_DECLARE int
+gaia_matrix_invert (const unsigned char *iblob, int iblob_sz,
+		    unsigned char **oblob, int *oblob_sz)
+{
+/*
+* creating a BLOB-serialized Affine Transform Matrix
+* by Inverting another Matrix
+*/
+    double det;
+    struct at_matrix matrix;
+
+    *oblob = NULL;
+    *oblob_sz = 0;
+    if (!gaia_matrix_is_valid (iblob, iblob_sz))
+	return 0;
+    if (!blob_matrix_decode (&matrix, iblob, iblob_sz))
+	return 0;
+    det = matrix_determinant (&matrix);
+    if (det == 0.0)
+	return 0;
+
+/* creating the Inverse Matrix */
+    matrix_invert (&matrix, det);
+    return blob_matrix_encode (&matrix, oblob, oblob_sz);
+}
diff --git a/src/gaiageo/gg_relations_ext.c b/src/gaiageo/gg_relations_ext.c
index 16dae51..a92e9a0 100644
--- a/src/gaiageo/gg_relations_ext.c
+++ b/src/gaiageo/gg_relations_ext.c
@@ -89,6 +89,9 @@ gaiaOffsetCurve (gaiaGeomCollPtr geom, double radius, int points,
     if (!geom)
 	return NULL;
 
+    if (left_right < 0)
+	left_right = 0;		/* silencing stupid compiler warnings */
+
 /* checking the input geometry for validity */
     pt = geom->FirstPoint;
     while (pt)
@@ -120,8 +123,7 @@ gaiaOffsetCurve (gaiaGeomCollPtr geom, double radius, int points,
     geom->DeclaredType = GAIA_LINESTRING;
 
     g1 = gaiaToGeos (geom);
-    g2 = GEOSSingleSidedBuffer (g1, radius, points, GEOSBUF_JOIN_ROUND, 5.0,
-				left_right);
+    g2 = GEOSOffsetCurve (g1, radius, points, GEOSBUF_JOIN_ROUND, 5.0);
     GEOSGeom_destroy (g1);
     if (!g2)
 	return NULL;
@@ -174,6 +176,9 @@ gaiaOffsetCurve_r (const void *p_cache, gaiaGeomCollPtr geom, double radius,
     if (!geom)
 	return NULL;
 
+    if (left_right < 0)
+	left_right = 0;		/* silencing stupid compiler warnings */
+
 /* checking the input geometry for validity */
     pt = geom->FirstPoint;
     while (pt)
@@ -205,8 +210,8 @@ gaiaOffsetCurve_r (const void *p_cache, gaiaGeomCollPtr geom, double radius,
     geom->DeclaredType = GAIA_LINESTRING;
 
     g1 = gaiaToGeos_r (cache, geom);
-    g2 = GEOSSingleSidedBuffer_r (handle, g1, radius, points,
-				  GEOSBUF_JOIN_ROUND, 5.0, left_right);
+    g2 = GEOSOffsetCurve_r (handle, g1, radius, points,
+			    GEOSBUF_JOIN_ROUND, 5.0);
     GEOSGeom_destroy_r (handle, g1);
     if (!g2)
 	return NULL;
diff --git a/src/gaiageo/gg_transform.c b/src/gaiageo/gg_transform.c
index ee5dd75..5f0df8b 100644
--- a/src/gaiageo/gg_transform.c
+++ b/src/gaiageo/gg_transform.c
@@ -198,6 +198,12 @@ gaiaMakeEllipticArc (double cx,
 	  y = cy + (y_axis * sin (rads));
 	  gaiaAppendPointToDynamicLine (dyn, x, y);
 	  angle += step;
+	  points++;
+      }
+    if (points == 0)
+      {
+	  gaiaFreeDynamicLine (dyn);
+	  return NULL;
       }
 /* closing the arc */
     rads = stop * .0174532925199432958;
@@ -207,6 +213,7 @@ gaiaMakeEllipticArc (double cx,
 	gaiaAppendPointToDynamicLine (dyn, x, y);
 
     pt = dyn->First;
+    points = 0;
     while (pt)
       {
 	  /* counting how many points */
diff --git a/src/gaiageo/gg_wkb.c b/src/gaiageo/gg_wkb.c
index e7c859b..fc1c504 100644
--- a/src/gaiageo/gg_wkb.c
+++ b/src/gaiageo/gg_wkb.c
@@ -58,6 +58,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include <spatialite/sqlite.h>
 
 #include <spatialite/gaiageo.h>
+#include <spatialite/geopackage.h>
 
 static void
 ParseWkbPoint (gaiaGeomCollPtr geo)
@@ -1071,13 +1072,31 @@ ParseWkbGeometry (gaiaGeomCollPtr geo, int isWKB)
 }
 
 GAIAGEO_DECLARE gaiaGeomCollPtr
-gaiaFromSpatiaLiteBlobWkb (const unsigned char *blob, unsigned int size)
+gaiaFromSpatiaLiteBlobWkbEx (const unsigned char *blob, unsigned int size,
+			     int gpkg_mode, int gpkg_amphibious)
 {
 /* decoding from SpatiaLite BLOB to GEOMETRY */
     int type;
     int little_endian;
     int endian_arch = gaiaEndianArch ();
     gaiaGeomCollPtr geo = NULL;
+
+    if (gpkg_amphibious || gpkg_mode)
+      {
+#ifdef ENABLE_GEOPACKAGE	/* GEOPACKAGE enabled: supporting GPKG geometries */
+	  if (gaiaIsValidGPB (blob, size))
+	    {
+		geo = gaiaFromGeoPackageGeometryBlob (blob, size);
+		if (geo != NULL)
+		    return geo;
+	    }
+	  if (gpkg_mode)
+	      return NULL;	/* must accept only GPKG geometries */
+#else
+	  ;
+#endif /* end GEOPACKAGE: supporting GPKG geometries */
+      }
+
     if (size < 45)
 	return NULL;		/* cannot be an internal BLOB WKB geometry */
     if (*(blob + 0) != GAIA_MARK_START)
@@ -1289,6 +1308,16 @@ gaiaFromSpatiaLiteBlobWkb (const unsigned char *blob, unsigned int size)
 }
 
 GAIAGEO_DECLARE gaiaGeomCollPtr
+gaiaFromSpatiaLiteBlobWkb (const unsigned char *blob, unsigned int size)
+{
+/* 
+* decoding from SpatiaLite BLOB to GEOMETRY 
+* convenience method - always disabling GPKG compatibility Modes
+*/
+    return gaiaFromSpatiaLiteBlobWkbEx (blob, size, 0, 0);
+}
+
+GAIAGEO_DECLARE gaiaGeomCollPtr
 gaiaFromSpatiaLiteBlobMbr (const unsigned char *blob, unsigned int size)
 {
 /* decoding from SpatiaLite BLOB to GEOMETRY [MBR only] */
@@ -1331,8 +1360,8 @@ gaiaFromSpatiaLiteBlobMbr (const unsigned char *blob, unsigned int size)
 }
 
 GAIAGEO_DECLARE void
-gaiaToSpatiaLiteBlobWkb (gaiaGeomCollPtr geom, unsigned char **result,
-			 int *size)
+gaiaToSpatiaLiteBlobWkbEx (gaiaGeomCollPtr geom, unsigned char **result,
+			   int *size, int gpkg_mode)
 {
 /* builds the SpatiaLite BLOB representation for this GEOMETRY */
     int ib;
@@ -1356,6 +1385,14 @@ gaiaToSpatiaLiteBlobWkb (gaiaGeomCollPtr geom, unsigned char **result,
     gaiaPolygonPtr polyg = NULL;
     int endian_arch = gaiaEndianArch ();
     gaiaMbrGeometry (geom);
+
+    if (gpkg_mode)
+      {
+	  /* GeoPackage Mode enabled */
+	  gaiaToGPB (geom, result, size);
+	  return;
+      }
+
 /* how many entities, and of what kind, do we have ? */
     pt = geom->FirstPoint;
     while (pt)
@@ -2215,6 +2252,17 @@ gaiaToSpatiaLiteBlobWkb (gaiaGeomCollPtr geom, unsigned char **result,
 }
 
 GAIAGEO_DECLARE void
+gaiaToSpatiaLiteBlobWkb (gaiaGeomCollPtr geom, unsigned char **result,
+			 int *size)
+{
+/* 
+* builds the SpatiaLite BLOB representation for this GEOMETRY 
+* convenience method - always disabling GPKG compatibility Modes
+*/
+    gaiaToSpatiaLiteBlobWkbEx (geom, result, size, 0);
+}
+
+GAIAGEO_DECLARE void
 gaiaToCompressedBlobWkb (gaiaGeomCollPtr geom, unsigned char **result,
 			 int *size)
 {
diff --git a/src/gaiageo/gg_wkt.c b/src/gaiageo/gg_wkt.c
index 56ca504..ab34d90 100644
--- a/src/gaiageo/gg_wkt.c
+++ b/src/gaiageo/gg_wkt.c
@@ -165,15 +165,21 @@ gaiaOutPointStrict (gaiaOutBufferPtr out_buf, gaiaPointPtr point, int precision)
 }
 
 static void
-gaiaOutPoint (gaiaOutBufferPtr out_buf, gaiaPointPtr point)
+gaiaOutPoint (gaiaOutBufferPtr out_buf, gaiaPointPtr point, int precision)
 {
 /* formats a WKT POINT */
     char *buf_x;
     char *buf_y;
     char *buf;
-    buf_x = sqlite3_mprintf ("%1.6f", point->X);
+    if (precision < 0)
+	buf_x = sqlite3_mprintf ("%1.6f", point->X);
+    else
+	buf_x = sqlite3_mprintf ("%.*f", precision, point->X);
     gaiaOutClean (buf_x);
-    buf_y = sqlite3_mprintf ("%1.6f", point->Y);
+    if (precision < 0)
+	buf_y = sqlite3_mprintf ("%1.6f", point->Y);
+    else
+	buf_y = sqlite3_mprintf ("%.*f", precision, point->Y);
     gaiaOutClean (buf_y);
     buf = sqlite3_mprintf ("%s %s", buf_x, buf_y);
     sqlite3_free (buf_x);
@@ -183,18 +189,27 @@ gaiaOutPoint (gaiaOutBufferPtr out_buf, gaiaPointPtr point)
 }
 
 GAIAGEO_DECLARE void
-gaiaOutPointZ (gaiaOutBufferPtr out_buf, gaiaPointPtr point)
+gaiaOutPointZex (gaiaOutBufferPtr out_buf, gaiaPointPtr point, int precision)
 {
 /* formats a WKT POINTZ */
     char *buf_x;
     char *buf_y;
     char *buf_z;
     char *buf;
-    buf_x = sqlite3_mprintf ("%1.6f", point->X);
+    if (precision < 0)
+	buf_x = sqlite3_mprintf ("%1.6f", point->X);
+    else
+	buf_x = sqlite3_mprintf ("%.*f", precision, point->X);
     gaiaOutClean (buf_x);
-    buf_y = sqlite3_mprintf ("%1.6f", point->Y);
+    if (precision < 0)
+	buf_y = sqlite3_mprintf ("%1.6f", point->Y);
+    else
+	buf_y = sqlite3_mprintf ("%.*f", precision, point->Y);
     gaiaOutClean (buf_y);
-    buf_z = sqlite3_mprintf ("%1.6f", point->Z);
+    if (precision < 0)
+	buf_z = sqlite3_mprintf ("%1.6f", point->Z);
+    else
+	buf_z = sqlite3_mprintf ("%.*f", precision, point->Z);
     gaiaOutClean (buf_z);
     buf = sqlite3_mprintf ("%s %s %s", buf_x, buf_y, buf_z);
     sqlite3_free (buf_x);
@@ -204,19 +219,38 @@ gaiaOutPointZ (gaiaOutBufferPtr out_buf, gaiaPointPtr point)
     sqlite3_free (buf);
 }
 
+GAIAGEO_DECLARE void
+gaiaOutPointZ (gaiaOutBufferPtr out_buf, gaiaPointPtr point)
+{
+/* 
+* formats a WKT POINTZ 
+* convenience method - default decimal precision
+*/
+    gaiaOutPointZex (out_buf, point, -1);
+}
+
 static void
-gaiaOutPointM (gaiaOutBufferPtr out_buf, gaiaPointPtr point)
+gaiaOutPointM (gaiaOutBufferPtr out_buf, gaiaPointPtr point, int precision)
 {
 /* formats a WKT POINTM */
     char *buf_x;
     char *buf_y;
     char *buf_m;
     char *buf;
-    buf_x = sqlite3_mprintf ("%1.6f", point->X);
+    if (precision < 0)
+	buf_x = sqlite3_mprintf ("%1.6f", point->X);
+    else
+	buf_x = sqlite3_mprintf ("%.*f", precision, point->X);
     gaiaOutClean (buf_x);
-    buf_y = sqlite3_mprintf ("%1.6f", point->Y);
+    if (precision < 0)
+	buf_y = sqlite3_mprintf ("%1.6f", point->Y);
+    else
+	buf_y = sqlite3_mprintf ("%.*f", precision, point->Y);
     gaiaOutClean (buf_y);
-    buf_m = sqlite3_mprintf ("%1.6f", point->M);
+    if (precision < 0)
+	buf_m = sqlite3_mprintf ("%1.6f", point->M);
+    else
+	buf_m = sqlite3_mprintf ("%.*f", precision, point->M);
     gaiaOutClean (buf_m);
     buf = sqlite3_mprintf ("%s %s %s", buf_x, buf_y, buf_m);
     sqlite3_free (buf_x);
@@ -227,7 +261,7 @@ gaiaOutPointM (gaiaOutBufferPtr out_buf, gaiaPointPtr point)
 }
 
 static void
-gaiaOutPointZM (gaiaOutBufferPtr out_buf, gaiaPointPtr point)
+gaiaOutPointZM (gaiaOutBufferPtr out_buf, gaiaPointPtr point, int precision)
 {
 /* formats a WKT POINTZM */
     char *buf_x;
@@ -235,13 +269,25 @@ gaiaOutPointZM (gaiaOutBufferPtr out_buf, gaiaPointPtr point)
     char *buf_z;
     char *buf_m;
     char *buf;
-    buf_x = sqlite3_mprintf ("%1.6f", point->X);
+    if (precision < 0)
+	buf_x = sqlite3_mprintf ("%1.6f", point->X);
+    else
+	buf_x = sqlite3_mprintf ("%.*f", precision, point->X);
     gaiaOutClean (buf_x);
-    buf_y = sqlite3_mprintf ("%1.6f", point->Y);
+    if (precision < 0)
+	buf_y = sqlite3_mprintf ("%1.6f", point->Y);
+    else
+	buf_y = sqlite3_mprintf ("%.*f", precision, point->Y);
     gaiaOutClean (buf_y);
-    buf_z = sqlite3_mprintf ("%1.6f", point->Z);
+    if (precision < 0)
+	buf_z = sqlite3_mprintf ("%1.6f", point->Z);
+    else
+	buf_z = sqlite3_mprintf ("%.*f", precision, point->Z);
     gaiaOutClean (buf_z);
-    buf_m = sqlite3_mprintf ("%1.6f", point->M);
+    if (precision < 0)
+	buf_m = sqlite3_mprintf ("%1.6f", point->M);
+    else
+	buf_m = sqlite3_mprintf ("%.*f", precision, point->M);
     gaiaOutClean (buf_m);
     buf = sqlite3_mprintf ("%s %s %s %s", buf_x, buf_y, buf_z, buf_m);
     sqlite3_free (buf_x);
@@ -387,7 +433,8 @@ gaiaOutLinestringStrict (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line,
 }
 
 static void
-gaiaOutLinestring (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
+gaiaOutLinestring (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line,
+		   int precision)
 {
 /* formats a WKT LINESTRING */
     char *buf_x;
@@ -399,9 +446,15 @@ gaiaOutLinestring (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
     for (iv = 0; iv < line->Points; iv++)
       {
 	  gaiaGetPoint (line->Coords, iv, &x, &y);
-	  buf_x = sqlite3_mprintf ("%1.6f", x);
+	  if (precision < 0)
+	      buf_x = sqlite3_mprintf ("%1.6f", x);
+	  else
+	      buf_x = sqlite3_mprintf ("%.*f", precision, x);
 	  gaiaOutClean (buf_x);
-	  buf_y = sqlite3_mprintf ("%1.6f", y);
+	  if (precision < 0)
+	      buf_y = sqlite3_mprintf ("%1.6f", y);
+	  else
+	      buf_y = sqlite3_mprintf ("%.*f", precision, y);
 	  gaiaOutClean (buf_y);
 	  if (iv > 0)
 	      buf = sqlite3_mprintf (", %s %s", buf_x, buf_y);
@@ -415,7 +468,8 @@ gaiaOutLinestring (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
 }
 
 GAIAGEO_DECLARE void
-gaiaOutLinestringZ (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
+gaiaOutLinestringZex (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line,
+		      int precision)
 {
 /* formats a WKT LINESTRINGZ */
     char *buf_x;
@@ -429,11 +483,20 @@ gaiaOutLinestringZ (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
     for (iv = 0; iv < line->Points; iv++)
       {
 	  gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z);
-	  buf_x = sqlite3_mprintf ("%1.6f", x);
+	  if (precision < 0)
+	      buf_x = sqlite3_mprintf ("%1.6f", x);
+	  else
+	      buf_x = sqlite3_mprintf ("%.*f", precision, x);
 	  gaiaOutClean (buf_x);
-	  buf_y = sqlite3_mprintf ("%1.6f", y);
+	  if (precision < 0)
+	      buf_y = sqlite3_mprintf ("%1.6f", y);
+	  else
+	      buf_y = sqlite3_mprintf ("%.*f", precision, y);
 	  gaiaOutClean (buf_y);
-	  buf_z = sqlite3_mprintf ("%1.6f", z);
+	  if (precision < 0)
+	      buf_z = sqlite3_mprintf ("%1.6f", z);
+	  else
+	      buf_z = sqlite3_mprintf ("%.*f", precision, z);
 	  gaiaOutClean (buf_z);
 	  if (iv > 0)
 	      buf = sqlite3_mprintf (", %s %s %s", buf_x, buf_y, buf_z);
@@ -447,8 +510,19 @@ gaiaOutLinestringZ (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
       }
 }
 
+GAIAGEO_DECLARE void
+gaiaOutLinestringZ (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
+{
+/*
+* formats a WKT LINESTRINGZ 
+* convenience method - default decimal precision
+*/
+    gaiaOutLinestringZex (out_buf, line, -1);
+}
+
 static void
-gaiaOutLinestringM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
+gaiaOutLinestringM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line,
+		    int precision)
 {
 /* formats a WKT LINESTRINGM */
     char *buf_x;
@@ -462,11 +536,20 @@ gaiaOutLinestringM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
     for (iv = 0; iv < line->Points; iv++)
       {
 	  gaiaGetPointXYM (line->Coords, iv, &x, &y, &m);
-	  buf_x = sqlite3_mprintf ("%1.6f", x);
+	  if (precision < 0)
+	      buf_x = sqlite3_mprintf ("%1.6f", x);
+	  else
+	      buf_x = sqlite3_mprintf ("%.*f", precision, x);
 	  gaiaOutClean (buf_x);
-	  buf_y = sqlite3_mprintf ("%1.6f", y);
+	  if (precision < 0)
+	      buf_y = sqlite3_mprintf ("%1.6f", y);
+	  else
+	      buf_y = sqlite3_mprintf ("%.*f", precision, y);
 	  gaiaOutClean (buf_y);
-	  buf_m = sqlite3_mprintf ("%1.6f", m);
+	  if (precision < 0)
+	      buf_m = sqlite3_mprintf ("%1.6f", m);
+	  else
+	      buf_m = sqlite3_mprintf ("%.*f", precision, m);
 	  gaiaOutClean (buf_m);
 	  if (iv > 0)
 	      buf = sqlite3_mprintf (", %s %s %s", buf_x, buf_y, buf_m);
@@ -481,7 +564,8 @@ gaiaOutLinestringM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
 }
 
 static void
-gaiaOutLinestringZM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
+gaiaOutLinestringZM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line,
+		     int precision)
 {
 /* formats a WKT LINESTRINGZM */
     char *buf_x;
@@ -497,13 +581,25 @@ gaiaOutLinestringZM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line)
     for (iv = 0; iv < line->Points; iv++)
       {
 	  gaiaGetPointXYZM (line->Coords, iv, &x, &y, &z, &m);
-	  buf_x = sqlite3_mprintf ("%1.6f", x);
+	  if (precision < 0)
+	      buf_x = sqlite3_mprintf ("%1.6f", x);
+	  else
+	      buf_x = sqlite3_mprintf ("%.*f", precision, x);
 	  gaiaOutClean (buf_x);
-	  buf_y = sqlite3_mprintf ("%1.6f", y);
+	  if (precision < 0)
+	      buf_y = sqlite3_mprintf ("%1.6f", y);
+	  else
+	      buf_y = sqlite3_mprintf ("%.*f", precision, y);
 	  gaiaOutClean (buf_y);
-	  buf_z = sqlite3_mprintf ("%1.6f", z);
+	  if (precision < 0)
+	      buf_z = sqlite3_mprintf ("%1.6f", z);
+	  else
+	      buf_z = sqlite3_mprintf ("%.*f", precision, z);
 	  gaiaOutClean (buf_z);
-	  buf_m = sqlite3_mprintf ("%1.6f", m);
+	  if (precision < 0)
+	      buf_m = sqlite3_mprintf ("%1.6f", m);
+	  else
+	      buf_m = sqlite3_mprintf ("%.*f", precision, m);
 	  gaiaOutClean (buf_m);
 	  if (iv > 0)
 	      buf =
@@ -740,7 +836,7 @@ gaiaOutPolygonStrict (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg,
 }
 
 static void
-gaiaOutPolygon (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
+gaiaOutPolygon (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg, int precision)
 {
 /* formats a WKT POLYGON */
     char *buf_x;
@@ -754,9 +850,15 @@ gaiaOutPolygon (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
     for (iv = 0; iv < ring->Points; iv++)
       {
 	  gaiaGetPoint (ring->Coords, iv, &x, &y);
-	  buf_x = sqlite3_mprintf ("%1.6f", x);
+	  if (precision < 0)
+	      buf_x = sqlite3_mprintf ("%1.6f", x);
+	  else
+	      buf_x = sqlite3_mprintf ("%.*f", precision, x);
 	  gaiaOutClean (buf_x);
-	  buf_y = sqlite3_mprintf ("%1.6f", y);
+	  if (precision < 0)
+	      buf_y = sqlite3_mprintf ("%1.6f", y);
+	  else
+	      buf_y = sqlite3_mprintf ("%.*f", precision, y);
 	  gaiaOutClean (buf_y);
 	  if (iv == 0)
 	      buf = sqlite3_mprintf ("(%s %s", buf_x, buf_y);
@@ -775,9 +877,15 @@ gaiaOutPolygon (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
 	  for (iv = 0; iv < ring->Points; iv++)
 	    {
 		gaiaGetPoint (ring->Coords, iv, &x, &y);
-		buf_x = sqlite3_mprintf ("%1.6f", x);
+		if (precision < 0)
+		    buf_x = sqlite3_mprintf ("%1.6f", x);
+		else
+		    buf_x = sqlite3_mprintf ("%.*f", precision, x);
 		gaiaOutClean (buf_x);
-		buf_y = sqlite3_mprintf ("%1.6f", y);
+		if (precision < 0)
+		    buf_y = sqlite3_mprintf ("%1.6f", y);
+		else
+		    buf_y = sqlite3_mprintf ("%.*f", precision, y);
 		gaiaOutClean (buf_y);
 		if (iv == 0)
 		    buf = sqlite3_mprintf (", (%s %s", buf_x, buf_y);
@@ -794,7 +902,8 @@ gaiaOutPolygon (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
 }
 
 GAIAGEO_DECLARE void
-gaiaOutPolygonZ (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
+gaiaOutPolygonZex (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg,
+		   int precision)
 {
 /* formats a WKT POLYGONZ */
     char *buf_x;
@@ -810,11 +919,20 @@ gaiaOutPolygonZ (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
     for (iv = 0; iv < ring->Points; iv++)
       {
 	  gaiaGetPointXYZ (ring->Coords, iv, &x, &y, &z);
-	  buf_x = sqlite3_mprintf ("%1.6f", x);
+	  if (precision < 0)
+	      buf_x = sqlite3_mprintf ("%1.6f", x);
+	  else
+	      buf_x = sqlite3_mprintf ("%.*f", precision, x);
 	  gaiaOutClean (buf_x);
-	  buf_y = sqlite3_mprintf ("%1.6f", y);
+	  if (precision < 0)
+	      buf_y = sqlite3_mprintf ("%1.6f", y);
+	  else
+	      buf_y = sqlite3_mprintf ("%.*f", precision, y);
 	  gaiaOutClean (buf_y);
-	  buf_z = sqlite3_mprintf ("%1.6f", z);
+	  if (precision < 0)
+	      buf_z = sqlite3_mprintf ("%1.6f", z);
+	  else
+	      buf_z = sqlite3_mprintf ("%.*f", precision, z);
 	  gaiaOutClean (buf_z);
 	  if (iv == 0)
 	      buf = sqlite3_mprintf ("(%s %s %s", buf_x, buf_y, buf_z);
@@ -834,11 +952,20 @@ gaiaOutPolygonZ (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
 	  for (iv = 0; iv < ring->Points; iv++)
 	    {
 		gaiaGetPointXYZ (ring->Coords, iv, &x, &y, &z);
-		buf_x = sqlite3_mprintf ("%1.6f", x);
+		if (precision < 0)
+		    buf_x = sqlite3_mprintf ("%1.6f", x);
+		else
+		    buf_x = sqlite3_mprintf ("%.*f", precision, x);
 		gaiaOutClean (buf_x);
-		buf_y = sqlite3_mprintf ("%1.6f", y);
+		if (precision < 0)
+		    buf_y = sqlite3_mprintf ("%1.6f", y);
+		else
+		    buf_y = sqlite3_mprintf ("%.*f", precision, y);
 		gaiaOutClean (buf_y);
-		buf_z = sqlite3_mprintf ("%1.6f", z);
+		if (precision < 0)
+		    buf_z = sqlite3_mprintf ("%1.6f", z);
+		else
+		    buf_z = sqlite3_mprintf ("%.*f", precision, z);
 		gaiaOutClean (buf_z);
 		if (iv == 0)
 		    buf = sqlite3_mprintf (", (%s %s %s", buf_x, buf_y, buf_z);
@@ -855,8 +982,18 @@ gaiaOutPolygonZ (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
       }
 }
 
+GAIAGEO_DECLARE void
+gaiaOutPolygonZ (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
+{
+/* 
+* formats a WKT POLYGONZ
+* convenience method - default decimal precision
+*/
+    gaiaOutPolygonZex (out_buf, polyg, -1);
+}
+
 static void
-gaiaOutPolygonM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
+gaiaOutPolygonM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg, int precision)
 {
 /* formats a WKT POLYGONM */
     char *buf_x;
@@ -872,11 +1009,20 @@ gaiaOutPolygonM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
     for (iv = 0; iv < ring->Points; iv++)
       {
 	  gaiaGetPointXYM (ring->Coords, iv, &x, &y, &m);
-	  buf_x = sqlite3_mprintf ("%1.6f", x);
+	  if (precision < 0)
+	      buf_x = sqlite3_mprintf ("%1.6f", x);
+	  else
+	      buf_x = sqlite3_mprintf ("%.*f", precision, x);
 	  gaiaOutClean (buf_x);
-	  buf_y = sqlite3_mprintf ("%1.6f", y);
+	  if (precision < 0)
+	      buf_y = sqlite3_mprintf ("%1.6f", y);
+	  else
+	      buf_y = sqlite3_mprintf ("%.*f", precision, y);
 	  gaiaOutClean (buf_y);
-	  buf_m = sqlite3_mprintf ("%1.6f", m);
+	  if (precision < 0)
+	      buf_m = sqlite3_mprintf ("%1.6f", m);
+	  else
+	      buf_m = sqlite3_mprintf ("%.*f", precision, m);
 	  gaiaOutClean (buf_m);
 	  if (iv == 0)
 	      buf = sqlite3_mprintf ("(%s %s %s", buf_x, buf_y, buf_m);
@@ -896,11 +1042,20 @@ gaiaOutPolygonM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
 	  for (iv = 0; iv < ring->Points; iv++)
 	    {
 		gaiaGetPointXYM (ring->Coords, iv, &x, &y, &m);
-		buf_x = sqlite3_mprintf ("%1.6f", x);
+		if (precision < 0)
+		    buf_x = sqlite3_mprintf ("%1.6f", x);
+		else
+		    buf_x = sqlite3_mprintf ("%.*f", precision, x);
 		gaiaOutClean (buf_x);
-		buf_y = sqlite3_mprintf ("%1.6f", y);
+		if (precision < 0)
+		    buf_y = sqlite3_mprintf ("%1.6f", y);
+		else
+		    buf_y = sqlite3_mprintf ("%.*f", precision, y);
 		gaiaOutClean (buf_y);
-		buf_m = sqlite3_mprintf ("%1.6f", m);
+		if (precision < 0)
+		    buf_m = sqlite3_mprintf ("%1.6f", m);
+		else
+		    buf_m = sqlite3_mprintf ("%.*f", precision, m);
 		gaiaOutClean (buf_m);
 		if (iv == 0)
 		    buf = sqlite3_mprintf (", (%s %s %s", buf_x, buf_y, buf_m);
@@ -918,7 +1073,7 @@ gaiaOutPolygonM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
 }
 
 static void
-gaiaOutPolygonZM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
+gaiaOutPolygonZM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg, int precision)
 {
 /* formats a WKT POLYGONZM */
     char *buf_x;
@@ -936,13 +1091,25 @@ gaiaOutPolygonZM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
     for (iv = 0; iv < ring->Points; iv++)
       {
 	  gaiaGetPointXYZM (ring->Coords, iv, &x, &y, &z, &m);
-	  buf_x = sqlite3_mprintf ("%1.6f", x);
+	  if (precision < 0)
+	      buf_x = sqlite3_mprintf ("%1.6f", x);
+	  else
+	      buf_x = sqlite3_mprintf ("%.*f", precision, x);
 	  gaiaOutClean (buf_x);
-	  buf_y = sqlite3_mprintf ("%1.6f", y);
+	  if (precision < 0)
+	      buf_y = sqlite3_mprintf ("%1.6f", y);
+	  else
+	      buf_y = sqlite3_mprintf ("%.*f", precision, y);
 	  gaiaOutClean (buf_y);
-	  buf_z = sqlite3_mprintf ("%1.6f", z);
+	  if (precision < 0)
+	      buf_z = sqlite3_mprintf ("%1.6f", z);
+	  else
+	      buf_z = sqlite3_mprintf ("%.*f", precision, z);
 	  gaiaOutClean (buf_z);
-	  buf_m = sqlite3_mprintf ("%1.6f", m);
+	  if (precision < 0)
+	      buf_m = sqlite3_mprintf ("%1.6f", m);
+	  else
+	      buf_m = sqlite3_mprintf ("%.*f", precision, m);
 	  gaiaOutClean (buf_m);
 	  if (iv == 0)
 	      buf =
@@ -967,13 +1134,25 @@ gaiaOutPolygonZM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
 	  for (iv = 0; iv < ring->Points; iv++)
 	    {
 		gaiaGetPointXYZM (ring->Coords, iv, &x, &y, &z, &m);
-		buf_x = sqlite3_mprintf ("%1.6f", x);
+		if (precision < 0)
+		    buf_x = sqlite3_mprintf ("%1.6f", x);
+		else
+		    buf_x = sqlite3_mprintf ("%.*f", precision, x);
 		gaiaOutClean (buf_x);
-		buf_y = sqlite3_mprintf ("%1.6f", y);
+		if (precision < 0)
+		    buf_y = sqlite3_mprintf ("%1.6f", y);
+		else
+		    buf_y = sqlite3_mprintf ("%.*f", precision, y);
 		gaiaOutClean (buf_y);
-		buf_z = sqlite3_mprintf ("%1.6f", z);
+		if (precision < 0)
+		    buf_z = sqlite3_mprintf ("%1.6f", z);
+		else
+		    buf_z = sqlite3_mprintf ("%.*f", precision, z);
 		gaiaOutClean (buf_z);
-		buf_m = sqlite3_mprintf ("%1.6f", m);
+		if (precision < 0)
+		    buf_m = sqlite3_mprintf ("%1.6f", m);
+		else
+		    buf_m = sqlite3_mprintf ("%.*f", precision, m);
 		gaiaOutClean (buf_m);
 		if (iv == 0)
 		    buf =
@@ -1255,7 +1434,7 @@ gaiaOutEwktPolygonZM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg)
 }
 
 GAIAGEO_DECLARE void
-gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
+gaiaOutWktEx (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom, int precision)
 {
 /* prints the WKT representation of current geometry */
     int pts = 0;
@@ -1300,25 +1479,25 @@ gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
 		  {
 		      /* processing POINTZ */
 		      gaiaAppendToOutBuffer (out_buf, "POINT Z(");
-		      gaiaOutPointZ (out_buf, point);
+		      gaiaOutPointZex (out_buf, point, precision);
 		  }
 		else if (point->DimensionModel == GAIA_XY_M)
 		  {
 		      /* processing POINTM */
 		      gaiaAppendToOutBuffer (out_buf, "POINT M(");
-		      gaiaOutPointM (out_buf, point);
+		      gaiaOutPointM (out_buf, point, precision);
 		  }
 		else if (point->DimensionModel == GAIA_XY_Z_M)
 		  {
 		      /* processing POINTZM */
 		      gaiaAppendToOutBuffer (out_buf, "POINT ZM(");
-		      gaiaOutPointZM (out_buf, point);
+		      gaiaOutPointZM (out_buf, point, precision);
 		  }
 		else
 		  {
 		      /* processing POINT */
 		      gaiaAppendToOutBuffer (out_buf, "POINT(");
-		      gaiaOutPoint (out_buf, point);
+		      gaiaOutPoint (out_buf, point, precision);
 		  }
 		gaiaAppendToOutBuffer (out_buf, ")");
 		point = point->Next;
@@ -1330,25 +1509,25 @@ gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
 		  {
 		      /* processing LINESTRINGZ */
 		      gaiaAppendToOutBuffer (out_buf, "LINESTRING Z(");
-		      gaiaOutLinestringZ (out_buf, line);
+		      gaiaOutLinestringZex (out_buf, line, precision);
 		  }
 		else if (line->DimensionModel == GAIA_XY_M)
 		  {
 		      /* processing LINESTRINGM */
 		      gaiaAppendToOutBuffer (out_buf, "LINESTRING M(");
-		      gaiaOutLinestringM (out_buf, line);
+		      gaiaOutLinestringM (out_buf, line, precision);
 		  }
 		else if (line->DimensionModel == GAIA_XY_Z_M)
 		  {
 		      /* processing LINESTRINGZM */
 		      gaiaAppendToOutBuffer (out_buf, "LINESTRING ZM(");
-		      gaiaOutLinestringZM (out_buf, line);
+		      gaiaOutLinestringZM (out_buf, line, precision);
 		  }
 		else
 		  {
 		      /* processing LINESTRING */
 		      gaiaAppendToOutBuffer (out_buf, "LINESTRING(");
-		      gaiaOutLinestring (out_buf, line);
+		      gaiaOutLinestring (out_buf, line, precision);
 		  }
 		gaiaAppendToOutBuffer (out_buf, ")");
 		line = line->Next;
@@ -1360,25 +1539,25 @@ gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
 		  {
 		      /* processing POLYGONZ */
 		      gaiaAppendToOutBuffer (out_buf, "POLYGON Z(");
-		      gaiaOutPolygonZ (out_buf, polyg);
+		      gaiaOutPolygonZex (out_buf, polyg, precision);
 		  }
 		else if (polyg->DimensionModel == GAIA_XY_M)
 		  {
 		      /* processing POLYGONM */
 		      gaiaAppendToOutBuffer (out_buf, "POLYGON M(");
-		      gaiaOutPolygonM (out_buf, polyg);
+		      gaiaOutPolygonM (out_buf, polyg, precision);
 		  }
 		else if (polyg->DimensionModel == GAIA_XY_Z_M)
 		  {
 		      /* processing POLYGONZM */
 		      gaiaAppendToOutBuffer (out_buf, "POLYGON ZM(");
-		      gaiaOutPolygonZM (out_buf, polyg);
+		      gaiaOutPolygonZM (out_buf, polyg, precision);
 		  }
 		else
 		  {
 		      /* processing POLYGON */
 		      gaiaAppendToOutBuffer (out_buf, "POLYGON(");
-		      gaiaOutPolygon (out_buf, polyg);
+		      gaiaOutPolygon (out_buf, polyg, precision);
 		  }
 		gaiaAppendToOutBuffer (out_buf, ")");
 		polyg = polyg->Next;
@@ -1406,25 +1585,25 @@ gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
 			{
 			    if (point != geom->FirstPoint)
 				gaiaAppendToOutBuffer (out_buf, ", ");
-			    gaiaOutPointZ (out_buf, point);
+			    gaiaOutPointZex (out_buf, point, precision);
 			}
 		      else if (point->DimensionModel == GAIA_XY_M)
 			{
 			    if (point != geom->FirstPoint)
 				gaiaAppendToOutBuffer (out_buf, ", ");
-			    gaiaOutPointM (out_buf, point);
+			    gaiaOutPointM (out_buf, point, precision);
 			}
 		      else if (point->DimensionModel == GAIA_XY_Z_M)
 			{
 			    if (point != geom->FirstPoint)
 				gaiaAppendToOutBuffer (out_buf, ", ");
-			    gaiaOutPointZM (out_buf, point);
+			    gaiaOutPointZM (out_buf, point, precision);
 			}
 		      else
 			{
 			    if (point != geom->FirstPoint)
 				gaiaAppendToOutBuffer (out_buf, ", ");
-			    gaiaOutPoint (out_buf, point);
+			    gaiaOutPoint (out_buf, point, precision);
 			}
 		      point = point->Next;
 		  }
@@ -1451,22 +1630,22 @@ gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
 			  gaiaAppendToOutBuffer (out_buf, "(");
 		      if (line->DimensionModel == GAIA_XY_Z)
 			{
-			    gaiaOutLinestringZ (out_buf, line);
+			    gaiaOutLinestringZex (out_buf, line, precision);
 			    gaiaAppendToOutBuffer (out_buf, ")");
 			}
 		      else if (line->DimensionModel == GAIA_XY_M)
 			{
-			    gaiaOutLinestringM (out_buf, line);
+			    gaiaOutLinestringM (out_buf, line, precision);
 			    gaiaAppendToOutBuffer (out_buf, ")");
 			}
 		      else if (line->DimensionModel == GAIA_XY_Z_M)
 			{
-			    gaiaOutLinestringZM (out_buf, line);
+			    gaiaOutLinestringZM (out_buf, line, precision);
 			    gaiaAppendToOutBuffer (out_buf, ")");
 			}
 		      else
 			{
-			    gaiaOutLinestring (out_buf, line);
+			    gaiaOutLinestring (out_buf, line, precision);
 			    gaiaAppendToOutBuffer (out_buf, ")");
 			}
 		      line = line->Next;
@@ -1494,22 +1673,22 @@ gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
 			  gaiaAppendToOutBuffer (out_buf, "(");
 		      if (polyg->DimensionModel == GAIA_XY_Z)
 			{
-			    gaiaOutPolygonZ (out_buf, polyg);
+			    gaiaOutPolygonZex (out_buf, polyg, precision);
 			    gaiaAppendToOutBuffer (out_buf, ")");
 			}
 		      else if (polyg->DimensionModel == GAIA_XY_M)
 			{
-			    gaiaOutPolygonM (out_buf, polyg);
+			    gaiaOutPolygonM (out_buf, polyg, precision);
 			    gaiaAppendToOutBuffer (out_buf, ")");
 			}
 		      else if (polyg->DimensionModel == GAIA_XY_Z_M)
 			{
-			    gaiaOutPolygonZM (out_buf, polyg);
+			    gaiaOutPolygonZM (out_buf, polyg, precision);
 			    gaiaAppendToOutBuffer (out_buf, ")");
 			}
 		      else
 			{
-			    gaiaOutPolygon (out_buf, polyg);
+			    gaiaOutPolygon (out_buf, polyg, precision);
 			    gaiaAppendToOutBuffer (out_buf, ")");
 			}
 		      polyg = polyg->Next;
@@ -1538,22 +1717,22 @@ gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
 		      if (point->DimensionModel == GAIA_XY_Z)
 			{
 			    gaiaAppendToOutBuffer (out_buf, "POINT Z(");
-			    gaiaOutPointZ (out_buf, point);
+			    gaiaOutPointZex (out_buf, point, precision);
 			}
 		      else if (point->DimensionModel == GAIA_XY_M)
 			{
 			    gaiaAppendToOutBuffer (out_buf, "POINT M(");
-			    gaiaOutPointM (out_buf, point);
+			    gaiaOutPointM (out_buf, point, precision);
 			}
 		      else if (point->DimensionModel == GAIA_XY_Z_M)
 			{
 			    gaiaAppendToOutBuffer (out_buf, "POINT ZM(");
-			    gaiaOutPointZM (out_buf, point);
+			    gaiaOutPointZM (out_buf, point, precision);
 			}
 		      else
 			{
 			    gaiaAppendToOutBuffer (out_buf, "POINT(");
-			    gaiaOutPoint (out_buf, point);
+			    gaiaOutPoint (out_buf, point, precision);
 			}
 		      gaiaAppendToOutBuffer (out_buf, ")");
 		      point = point->Next;
@@ -1568,22 +1747,22 @@ gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
 		      if (line->DimensionModel == GAIA_XY_Z)
 			{
 			    gaiaAppendToOutBuffer (out_buf, "LINESTRING Z(");
-			    gaiaOutLinestringZ (out_buf, line);
+			    gaiaOutLinestringZex (out_buf, line, precision);
 			}
 		      else if (line->DimensionModel == GAIA_XY_M)
 			{
 			    gaiaAppendToOutBuffer (out_buf, "LINESTRING M(");
-			    gaiaOutLinestringM (out_buf, line);
+			    gaiaOutLinestringM (out_buf, line, precision);
 			}
 		      else if (line->DimensionModel == GAIA_XY_Z_M)
 			{
 			    gaiaAppendToOutBuffer (out_buf, "LINESTRING ZM(");
-			    gaiaOutLinestringZM (out_buf, line);
+			    gaiaOutLinestringZM (out_buf, line, precision);
 			}
 		      else
 			{
 			    gaiaAppendToOutBuffer (out_buf, "LINESTRING(");
-			    gaiaOutLinestring (out_buf, line);
+			    gaiaOutLinestring (out_buf, line, precision);
 			}
 		      gaiaAppendToOutBuffer (out_buf, ")");
 		      line = line->Next;
@@ -1598,22 +1777,22 @@ gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
 		      if (polyg->DimensionModel == GAIA_XY_Z)
 			{
 			    gaiaAppendToOutBuffer (out_buf, "POLYGON Z(");
-			    gaiaOutPolygonZ (out_buf, polyg);
+			    gaiaOutPolygonZex (out_buf, polyg, precision);
 			}
 		      else if (polyg->DimensionModel == GAIA_XY_M)
 			{
 			    gaiaAppendToOutBuffer (out_buf, "POLYGON M(");
-			    gaiaOutPolygonM (out_buf, polyg);
+			    gaiaOutPolygonM (out_buf, polyg, precision);
 			}
 		      else if (polyg->DimensionModel == GAIA_XY_Z_M)
 			{
 			    gaiaAppendToOutBuffer (out_buf, "POLYGON ZM(");
-			    gaiaOutPolygonZM (out_buf, polyg);
+			    gaiaOutPolygonZM (out_buf, polyg, precision);
 			}
 		      else
 			{
 			    gaiaAppendToOutBuffer (out_buf, "POLYGON(");
-			    gaiaOutPolygon (out_buf, polyg);
+			    gaiaOutPolygon (out_buf, polyg, precision);
 			}
 		      gaiaAppendToOutBuffer (out_buf, ")");
 		      polyg = polyg->Next;
@@ -1624,6 +1803,16 @@ gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
 }
 
 GAIAGEO_DECLARE void
+gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom)
+{
+/* 
+* prints the WKT representation of current geometry 
+* convenience method - default decimal precision
+*/
+    gaiaOutWktEx (out_buf, geom, -1);
+}
+
+GAIAGEO_DECLARE void
 gaiaOutWktStrict (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom, int precision)
 {
 /* 
diff --git a/src/gaiageo/gg_xml.c b/src/gaiageo/gg_xml.c
index 8c32d02..377c71c 100644
--- a/src/gaiageo/gg_xml.c
+++ b/src/gaiageo/gg_xml.c
@@ -2942,7 +2942,7 @@ gaiaIsCompressedXmlBlob (const unsigned char *blob, int blob_size)
 GAIAGEO_DECLARE int
 gaiaIsSchemaValidatedXmlBlob (const unsigned char *blob, int blob_size)
 {
-/* Checks if a valid XmlBLOB buffer has succesfully passed a formal Schema validation or not */
+/* Checks if a valid XmlBLOB buffer has successfully passed a formal Schema validation or not */
     int validated = 0;
     unsigned char flag;
 
diff --git a/src/gaiageo/lemon/Makefile.in b/src/gaiageo/lemon/Makefile.in
index 045ee51..7b1b436 100644
--- a/src/gaiageo/lemon/Makefile.in
+++ b/src/gaiageo/lemon/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/gaiageo/lemon
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -145,6 +155,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -317,7 +328,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiageo/lemon/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/gaiageo/lemon/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -612,6 +622,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/gaiageo/lemon/lemon_src/Makefile.in b/src/gaiageo/lemon/lemon_src/Makefile.in
index 32a82dc..52e2222 100644
--- a/src/gaiageo/lemon/lemon_src/Makefile.in
+++ b/src/gaiageo/lemon/lemon_src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/gaiageo/lemon/lemon_src
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -256,7 +267,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiageo/lemon/lemon_src/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/gaiageo/lemon/lemon_src/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -431,6 +441,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/geopackage/Makefile.in b/src/geopackage/Makefile.in
index c73f0c3..19c7649 100644
--- a/src/geopackage/Makefile.in
+++ b/src/geopackage/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/geopackage
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -198,6 +207,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -372,7 +382,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/geopackage/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/geopackage/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -448,14 +457,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -870,6 +879,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/geopackage/gpkgAddGeometryColumn.c b/src/geopackage/gpkgAddGeometryColumn.c
index e44b77f..4bdba25 100644
--- a/src/geopackage/gpkgAddGeometryColumn.c
+++ b/src/geopackage/gpkgAddGeometryColumn.c
@@ -56,7 +56,7 @@ static char *SUPPORTED_GEOMETRY_TYPES[] = {
     NULL
 };
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgAddGeometryColumn (sqlite3_context * context, int argc
 			    __attribute__ ((unused)), sqlite3_value ** argv)
 {
@@ -69,6 +69,8 @@ fnct_gpkgAddGeometryColumn (sqlite3_context * context, int argc
 / with_z is a flag (0 for no z values, 1 for mandatory z values, 2 for optional z values)
 / with_m is a flag (0 for no m values, 1 for mandatory m values, 2 for optional m values)
 /
+/ It also adds a matching entry into gpkg_contents (if not already present)
+/
 / returns nothing on success, raises exception on error
 / 
 / This function assumes usual tile conventions, including that the tiles are power-of-two-zoom,
@@ -174,6 +176,11 @@ fnct_gpkgAddGeometryColumn (sqlite3_context * context, int argc
     srid = sqlite3_value_int (argv[5]);
 
     sqlite = sqlite3_context_db_handle (context);
+    
+    sql_stmt = sqlite3_mprintf("INSERT OR IGNORE INTO gpkg_contents "
+                 "(table_name, data_type, srs_id, min_x, min_y, max_x, max_y) "
+                 "VALUES (%Q, 'feature', %i, NULL, NULL, NULL, NULL)",
+                 table, srid);
 
     /* Add column definition to metadata table */
     sql_stmt = sqlite3_mprintf ("INSERT INTO gpkg_geometry_columns "
@@ -192,8 +199,8 @@ fnct_gpkgAddGeometryColumn (sqlite3_context * context, int argc
       }
 
     /* extend table_name to actually have a geometry column */
-    sql_stmt = sqlite3_mprintf ("ALTER TABLE %s ADD COLUMN %s BLOB",
-				table, geometry_column_name);
+    sql_stmt = sqlite3_mprintf ("ALTER TABLE %s ADD COLUMN %s %s",
+				table, geometry_column_name, geometry_type_name);
     ret = sqlite3_exec (sqlite, sql_stmt, NULL, NULL, &errMsg);
     sqlite3_free (sql_stmt);
     if (ret != SQLITE_OK)
diff --git a/src/geopackage/gpkgBinary.c b/src/geopackage/gpkgBinary.c
index 849c332..a6e2ef3 100644
--- a/src/geopackage/gpkgBinary.c
+++ b/src/geopackage/gpkgBinary.c
@@ -65,8 +65,8 @@ gpkgSetHeader2DMbr (unsigned char *ptr, double min_x, double min_y,
     gaiaExport64 (ptr + 3 * sizeof (double), max_y, 1, endian_arch);
 }
 
-static void
-gaiaToGPB (gaiaGeomCollPtr geom, unsigned char **result, unsigned int *size)
+GEOPACKAGE_DECLARE void
+gaiaToGPB (gaiaGeomCollPtr geom, unsigned char **result, int *size)
 {
     int wkbOnlyLength;
     unsigned char *wkbOnlyGeometry = NULL;
@@ -103,7 +103,7 @@ gaiaToGPB (gaiaGeomCollPtr geom, unsigned char **result, unsigned int *size)
 }
 
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_ToGPB (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
@@ -115,7 +115,7 @@ fnct_ToGPB (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_blob;
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
-    unsigned int len;
+    int len;
     unsigned char *p_result = NULL;
     GEOPACKAGE_UNUSED ();	/* LCOV_EXCL_LINE */
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
@@ -235,7 +235,7 @@ gaiaFromGeoPackageGeometryBlob (const unsigned char *gpb, unsigned int gpb_len)
     return geo;
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_GeomFromGPB (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
@@ -440,7 +440,7 @@ gaiaGetGeometryTypeFromGPB (const unsigned char *gpb, int gpb_len)
     return gtype;
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_GPKG_IsAssignable (sqlite3_context * context, int argc,
 			sqlite3_value ** argv)
 {
@@ -484,7 +484,7 @@ fnct_GPKG_IsAssignable (sqlite3_context * context, int argc,
     sqlite3_result_int (context, ret);
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_IsValidGPB (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
diff --git a/src/geopackage/gpkgCreateBaseTables.c b/src/geopackage/gpkgCreateBaseTables.c
index aa7bf8b..3deef95 100644
--- a/src/geopackage/gpkgCreateBaseTables.c
+++ b/src/geopackage/gpkgCreateBaseTables.c
@@ -46,7 +46,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 #ifdef ENABLE_GEOPACKAGE
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgCreateBaseTables (sqlite3_context * context, int argc
 			   __attribute__ ((unused)), sqlite3_value ** argv)
 {
@@ -86,7 +86,7 @@ fnct_gpkgCreateBaseTables (sqlite3_context * context, int argc
 	    "data_type TEXT NOT NULL,\n"
 	    "identifier TEXT UNIQUE,\n"
 	    "description TEXT DEFAULT '',\n"
-	    "last_change TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ',CURRENT_TIMESTAMP)),\n"
+	    "last_change DATETIME NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ',CURRENT_TIMESTAMP)),\n"
 	    "min_x DOUBLE,\n"
 	    "min_y DOUBLE,\n"
 	    "max_x DOUBLE,\n"
@@ -97,10 +97,10 @@ fnct_gpkgCreateBaseTables (sqlite3_context * context, int argc
 	/* GeoPackage specification Table 6 / Table 22 */
 	"CREATE TABLE gpkg_geometry_columns (\n"
 	    "table_name TEXT NOT NULL,\n"
-	    "column_name TEXT,\n"
-	    "geometry_type_name TEXT,\n"
+	    "column_name TEXT NOT NULL,\n"
+	    "geometry_type_name TEXT NOT NULL,\n"
 	    "srs_id INTEGER NOT NULL,\n"
-	    "z INTEGER NOT NULL,\n"
+	    "z TINYINT NOT NULL,\n"
 	    "m TINYINT NOT NULL,\n"
 	    "CONSTRAINT pk_geom_cols PRIMARY KEY (table_name, column_name),\n"
 	    "CONSTRAINT uk_gc_table_name UNIQUE (table_name),\n"
@@ -153,6 +153,7 @@ fnct_gpkgCreateBaseTables (sqlite3_context * context, int argc
 	    "minIsInclusive BOOLEAN,\n"
 	    "max NUMERIC,\n"
 	    "maxIsInclusive BOOLEAN,\n"
+	    "description TEXT,\n"
 	    "CONSTRAINT gdcc_ntv UNIQUE (constraint_name, constraint_type, value))",
 
 	/* GeoPackage specification Table 14 / Table 33 */
diff --git a/src/geopackage/gpkgCreateTilesTable.c b/src/geopackage/gpkgCreateTilesTable.c
index 2a3a3ed..83c04cc 100644
--- a/src/geopackage/gpkgCreateTilesTable.c
+++ b/src/geopackage/gpkgCreateTilesTable.c
@@ -42,7 +42,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include "geopackage_internal.h"
 
 #ifdef ENABLE_GEOPACKAGE
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgCreateTilesTable (sqlite3_context * context, int argc
 			   __attribute__ ((unused)), sqlite3_value ** argv)
 {
diff --git a/src/geopackage/gpkgCreateTilesZoomLevel.c b/src/geopackage/gpkgCreateTilesZoomLevel.c
index 6dda9e4..68db21d 100644
--- a/src/geopackage/gpkgCreateTilesZoomLevel.c
+++ b/src/geopackage/gpkgCreateTilesZoomLevel.c
@@ -43,7 +43,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include "geopackage_internal.h"
 
 #ifdef ENABLE_GEOPACKAGE
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgCreateTilesZoomLevel (sqlite3_context * context, int argc
 			       __attribute__ ((unused)), sqlite3_value ** argv)
 {
diff --git a/src/geopackage/gpkgGetImageType.c b/src/geopackage/gpkgGetImageType.c
index a6b7f36..266307d 100644
--- a/src/geopackage/gpkgGetImageType.c
+++ b/src/geopackage/gpkgGetImageType.c
@@ -44,7 +44,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 #ifdef ENABLE_GEOPACKAGE
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgGetImageType (sqlite3_context * context, int argc UNUSED,
 		       sqlite3_value ** argv)
 {
diff --git a/src/geopackage/gpkgInsertEpsgSRID.c b/src/geopackage/gpkgInsertEpsgSRID.c
index 13f9798..e57425e 100644
--- a/src/geopackage/gpkgInsertEpsgSRID.c
+++ b/src/geopackage/gpkgInsertEpsgSRID.c
@@ -42,7 +42,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include "geopackage_internal.h"
 
 #ifdef ENABLE_GEOPACKAGE
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgInsertEpsgSRID (sqlite3_context * context, int argc UNUSED,
 			 sqlite3_value ** argv)
 {
diff --git a/src/geopackage/gpkgMakePoint.c b/src/geopackage/gpkgMakePoint.c
index 0e47b11..9d5395e 100644
--- a/src/geopackage/gpkgMakePoint.c
+++ b/src/geopackage/gpkgMakePoint.c
@@ -218,7 +218,7 @@ gpkgMakePointZM (double x, double y, double z, double m, int srid,
 		  endian_arch);
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgMakePoint (sqlite3_context * context, int argc UNUSED,
 		    sqlite3_value ** argv)
 {
@@ -274,7 +274,7 @@ fnct_gpkgMakePoint (sqlite3_context * context, int argc UNUSED,
       }
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgMakePointWithSRID (sqlite3_context * context, int argc UNUSED,
 			    sqlite3_value ** argv)
 {
@@ -338,7 +338,7 @@ fnct_gpkgMakePointWithSRID (sqlite3_context * context, int argc UNUSED,
       }
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgMakePointZ (sqlite3_context * context, int argc UNUSED,
 		     sqlite3_value ** argv)
 {
@@ -411,7 +411,7 @@ fnct_gpkgMakePointZ (sqlite3_context * context, int argc UNUSED,
       }
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgMakePointZWithSRID (sqlite3_context * context, int argc UNUSED,
 			     sqlite3_value ** argv)
 {
@@ -490,7 +490,7 @@ fnct_gpkgMakePointZWithSRID (sqlite3_context * context, int argc UNUSED,
       }
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgMakePointM (sqlite3_context * context, int argc UNUSED,
 		     sqlite3_value ** argv)
 {
@@ -563,7 +563,7 @@ fnct_gpkgMakePointM (sqlite3_context * context, int argc UNUSED,
       }
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgMakePointMWithSRID (sqlite3_context * context, int argc UNUSED,
 			     sqlite3_value ** argv)
 {
@@ -642,7 +642,7 @@ fnct_gpkgMakePointMWithSRID (sqlite3_context * context, int argc UNUSED,
       }
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgMakePointZM (sqlite3_context * context, int argc UNUSED,
 		      sqlite3_value ** argv)
 {
@@ -730,7 +730,7 @@ fnct_gpkgMakePointZM (sqlite3_context * context, int argc UNUSED,
       }
 }
 
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgMakePointZMWithSRID (sqlite3_context * context, int argc UNUSED,
 			      sqlite3_value ** argv)
 {
diff --git a/src/geopackage/gpkg_add_geometry_triggers.c b/src/geopackage/gpkg_add_geometry_triggers.c
index f91e358..2b3aed7 100644
--- a/src/geopackage/gpkg_add_geometry_triggers.c
+++ b/src/geopackage/gpkg_add_geometry_triggers.c
@@ -44,7 +44,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include "geopackage_internal.h"
 
 #ifdef ENABLE_GEOPACKAGE
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgAddGeometryTriggers (sqlite3_context * context, int argc
 			      __attribute__ ((unused)), sqlite3_value ** argv)
 {
diff --git a/src/geopackage/gpkg_add_spatial_index.c b/src/geopackage/gpkg_add_spatial_index.c
index d3be278..ca80fae 100644
--- a/src/geopackage/gpkg_add_spatial_index.c
+++ b/src/geopackage/gpkg_add_spatial_index.c
@@ -44,7 +44,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include "geopackage_internal.h"
 
 #ifdef ENABLE_GEOPACKAGE
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgAddSpatialIndex (sqlite3_context * context, int argc
 			  __attribute__ ((unused)), sqlite3_value ** argv)
 {
diff --git a/src/geopackage/gpkg_add_tile_triggers.c b/src/geopackage/gpkg_add_tile_triggers.c
index 2e0d33b..413d066 100644
--- a/src/geopackage/gpkg_add_tile_triggers.c
+++ b/src/geopackage/gpkg_add_tile_triggers.c
@@ -42,7 +42,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include "geopackage_internal.h"
 
 #ifdef ENABLE_GEOPACKAGE
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgAddTileTriggers (sqlite3_context * context, int argc
 			  __attribute__ ((unused)), sqlite3_value ** argv)
 {
diff --git a/src/geopackage/gpkg_get_normal_row.c b/src/geopackage/gpkg_get_normal_row.c
index 73da7b7..a47efac 100644
--- a/src/geopackage/gpkg_get_normal_row.c
+++ b/src/geopackage/gpkg_get_normal_row.c
@@ -42,7 +42,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include "geopackage_internal.h"
 
 #ifdef ENABLE_GEOPACKAGE
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgGetNormalRow (sqlite3_context * context, int argc UNUSED,
 		       sqlite3_value ** argv)
 {
diff --git a/src/geopackage/gpkg_get_normal_zoom.c b/src/geopackage/gpkg_get_normal_zoom.c
index 1a88b78..e087d3c 100644
--- a/src/geopackage/gpkg_get_normal_zoom.c
+++ b/src/geopackage/gpkg_get_normal_zoom.c
@@ -42,7 +42,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include "geopackage_internal.h"
 
 #ifdef ENABLE_GEOPACKAGE
-GEOPACKAGE_DECLARE void
+GEOPACKAGE_PRIVATE void
 fnct_gpkgGetNormalZoom (sqlite3_context * context, int argc UNUSED,
 			sqlite3_value ** argv)
 {
diff --git a/src/headers/Makefile.am b/src/headers/Makefile.am
index 2c99ee7..d14f53c 100644
--- a/src/headers/Makefile.am
+++ b/src/headers/Makefile.am
@@ -3,6 +3,7 @@ noinst_HEADERS = spatialite_private.h
 nobase_include_HEADERS = spatialite.h \
 	spatialite/gaiaexif.h \
 	spatialite/gaiaaux.h \
+	spatialite/gaiamatrix.h \
 	spatialite/gaiageo.h \
 	spatialite/gg_const.h \
 	spatialite/gg_structs.h \
@@ -17,4 +18,5 @@ nobase_include_HEADERS = spatialite.h \
 	spatialite/spatialite.h \
 	spatialite/sqlite.h \
 	spatialite/debug.h \
-	spatialite/geopackage.h
+	spatialite/geopackage.h \
+	spatialite/control_points.h
diff --git a/src/headers/Makefile.in b/src/headers/Makefile.in
index 2a43e50..f5c5164 100644
--- a/src/headers/Makefile.in
+++ b/src/headers/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/headers
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(nobase_include_HEADERS) $(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +96,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(nobase_include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -159,6 +169,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -293,6 +304,7 @@ noinst_HEADERS = spatialite_private.h
 nobase_include_HEADERS = spatialite.h \
 	spatialite/gaiaexif.h \
 	spatialite/gaiaaux.h \
+	spatialite/gaiamatrix.h \
 	spatialite/gaiageo.h \
 	spatialite/gg_const.h \
 	spatialite/gg_structs.h \
@@ -307,7 +319,8 @@ nobase_include_HEADERS = spatialite.h \
 	spatialite/spatialite.h \
 	spatialite/sqlite.h \
 	spatialite/debug.h \
-	spatialite/geopackage.h
+	spatialite/geopackage.h \
+	spatialite/control_points.h
 
 all: all-am
 
@@ -324,7 +337,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/headers/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/headers/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -574,6 +586,8 @@ uninstall-am: uninstall-nobase_includeHEADERS
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am uninstall-nobase_includeHEADERS
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/headers/spatialite.h b/src/headers/spatialite.h
index c27d4e2..9cfa314 100644
--- a/src/headers/spatialite.h
+++ b/src/headers/spatialite.h
@@ -64,6 +64,10 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #define _SPATIALITE_H
 #endif
 
+#define SPLITE_AXIS_1		0x51
+#define SPLITE_AXIS_2		0x52
+#define SPLITE_AXIS_NAME	0x3e
+#define SPLITE_AXIS_ORIENTATION	0x3f
 
 #ifdef __cplusplus
 extern "C"
@@ -507,6 +511,128 @@ extern "C"
     SPATIALITE_DECLARE int insert_epsg_srid (sqlite3 * sqlite, int srid);
 
 /**
+ checks a SRID definition from the "spatial_ref_sys" table
+ determining if it is of the geographic type
+
+ \param sqlite handle to current DB connection
+ \param srid the SRID value uniquely identifying the required EPSG definition 
+ \param geographic on successful completion will contain TRUE or FALSE
+
+ \return 0 on failure, any other value on success
+ */
+    SPATIALITE_DECLARE int srid_is_geographic (sqlite3 * sqlite, int srid,
+					       int *geographic);
+
+/**
+ checks a SRID definition from the "spatial_ref_sys" table
+ determining if it is of the projected type
+
+ \param sqlite handle to current DB connection
+ \param srid the SRID value uniquely identifying the required EPSG definition 
+ \param projected on successful completion will contain TRUE or FALSE
+
+ \return 0 on failure, any other value on success
+ */
+    SPATIALITE_DECLARE int srid_is_projected (sqlite3 * sqlite, int srid,
+					      int *projected);
+
+/**
+ checks a SRID definition from the "spatial_ref_sys" table
+ determining if the axes order is X-Y or Y-X
+
+ \param sqlite handle to current DB connection
+ \param srid the SRID value uniquely identifying the required EPSG definition 
+ \param flipped on successful completion will contain 0 (FALSE) if axes order 
+ is X-Y, any other value (TRUE) if axes order is Y-X.
+
+ \return 0 on failure, any other value on success
+ */
+    SPATIALITE_DECLARE int srid_has_flipped_axes (sqlite3 * sqlite, int srid,
+						  int *flipped);
+
+/**
+ checks a SRID definition from the "spatial_ref_sys" table
+ then returning the corresponding Spheroid name
+ 
+ \param sqlite handle to current DB connection
+ \param srid the SRID value uniquely identifying the required EPSG definition 
+
+ \return the Spheroid name on succes, NULL on failure 
+ 
+ \note you are responsible for freeing the returned name.
+ */
+    SPATIALITE_DECLARE char *srid_get_spheroid (sqlite3 * sqlite, int srid);
+
+/**
+ checks a SRID definition from the "spatial_ref_sys" table
+ then returning the corresponding Prime Meridian name
+ 
+ \param sqlite handle to current DB connection
+ \param srid the SRID value uniquely identifying the required EPSG definition 
+
+ \return the Prime Meridian name on succes, NULL on failure 
+ 
+ \note you are responsible for freeing the returned name.
+ */
+    SPATIALITE_DECLARE char *srid_get_prime_meridian (sqlite3 * sqlite,
+						      int srid);
+
+/**
+ checks a SRID definition from the "spatial_ref_sys" table
+ then returning the corresponding Projection name
+ 
+ \param sqlite handle to current DB connection
+ \param srid the SRID value uniquely identifying the required EPSG definition 
+
+ \return the Projection name on succes, NULL on failure 
+ 
+ \note you are responsible for freeing the returned name.
+ */
+    SPATIALITE_DECLARE char *srid_get_projection (sqlite3 * sqlite, int srid);
+
+/**
+ checks a SRID definition from the "spatial_ref_sys" table
+ then returning the corresponding Datum name
+ 
+ \param sqlite handle to current DB connection
+ \param srid the SRID value uniquely identifying the required EPSG definition 
+
+ \return the Datum name on succes, NULL on failure 
+ 
+ \note you are responsible for freeing the returned name.
+ */
+    SPATIALITE_DECLARE char *srid_get_datum (sqlite3 * sqlite, int srid);
+
+/**
+ checks a SRID definition from the "spatial_ref_sys" table
+ then returning the corresponding Unit name
+ 
+ \param sqlite handle to current DB connection
+ \param srid the SRID value uniquely identifying the required EPSG definition 
+
+ \return the Unit name on succes, NULL on failure 
+ 
+ \note you are responsible for freeing the returned name.
+ */
+    SPATIALITE_DECLARE char *srid_get_unit (sqlite3 * sqlite, int srid);
+
+/**
+ checks a SRID definition from the "spatial_ref_sys" table
+ then returning an Axis definition
+ 
+ \param sqlite handle to current DB connection
+ \param srid the SRID value uniquely identifying the required EPSG definition
+ \param axis should be one of SPLITE_AXIS_1 or SPLITE_AXIS_2
+ \param mode should be one of SPLITE_AXIS_NAME or SPLITE_AXIS_ORIENTATION 
+
+ \return the reqested name on succes, NULL on failure 
+ 
+ \note you are responsible for freeing the returned name.
+ */
+    SPATIALITE_DECLARE char *srid_get_axis (sqlite3 * sqlite, int srid,
+					    char axis, char mode);
+
+/**
  Checks if a column is actually defined into the given table
 
  \param sqlite handle to current DB connection
@@ -599,7 +725,7 @@ extern "C"
  \param removed on successful completion will contain the total
  count of removed duplicate rows
 
- \sa check_duplicated_rows, remove_duplicated_rows
+ \sa check_duplicated_rows, remove_duplicated_rows_ex2
 
  \note when two (or more) duplicated rows exist, only the first occurence
  will be preserved, then deleting any further occurrence.
@@ -609,6 +735,26 @@ extern "C"
 						       int *removed);
 
 /**
+ Remove duplicated rows from a table
+
+ \param sqlite handle to current DB connection
+ \param table name of the table to be cleaned
+ \param removed on successful completion will contain the total
+ count of removed duplicate rows
+ \param transaction boolena; if set to TRUE will internally handle
+ a SQL Transaction
+
+ \sa check_duplicated_rows, remove_duplicated_rows
+
+ \note when two (or more) duplicated rows exist, only the first occurence
+ will be preserved, then deleting any further occurrence.
+ */
+    SPATIALITE_DECLARE void remove_duplicated_rows_ex2 (sqlite3 * sqlite,
+							char *table,
+							int *removed,
+							int transaction);
+
+/**
  Creates a derived table surely containing elementary Geometries
 
  \param sqlite handle to current DB connection
@@ -644,7 +790,7 @@ extern "C"
  \param multiId name of the column identifying origins in the output table
  \param rows on completion will contain the total number of inserted rows
  
- \sa elementary_geometries
+ \sa elementary_geometries_ex2
 
  \note if the input table contains some kind of complex Geometry
  (MULTIPOINT, MULTILINESTRING, MULTIPOLYGON or GEOMETRYCOLLECTION),
@@ -661,6 +807,36 @@ extern "C"
 						      int *rows);
 
 /**
+ Creates a derived table surely containing elementary Geometries
+
+ \param sqlite handle to current DB connection
+ \param inTable name of the input table 
+ \param geometry name of the Geometry column
+ \param outTable name of the output table to be created
+ \param pKey name of the Primary Key column in the output table
+ \param multiId name of the column identifying origins in the output table
+ \param rows on completion will contain the total number of inserted rows
+ \param transaction boolena; if set to TRUE will internally handle
+ a SQL Transaction
+ 
+ \sa elementary_geometries
+
+ \note if the input table contains some kind of complex Geometry
+ (MULTIPOINT, MULTILINESTRING, MULTIPOLYGON or GEOMETRYCOLLECTION),
+ then many rows are inserted into the output table: each single 
+ row will contain the same attributes and an elementaty Geometry.
+ All the rows created by expanding the same input row will expose
+ the same value in the "multiId" column.
+ */
+    SPATIALITE_DECLARE void elementary_geometries_ex2 (sqlite3 * sqlite,
+						       char *inTable,
+						       char *geometry,
+						       char *outTable,
+						       char *pKey,
+						       char *multiId, int *rows,
+						       int transaction);
+
+/**
  Dumps a full geometry-table into an external GeoJSON file
 
  \param sqlite handle to current DB connection
@@ -917,13 +1093,37 @@ extern "C"
 
  \return 0 on failure, any other value on success
 
- \sa gaiaDropTable
+ \sa gaiaDropTableEx2
  */
     SPATIALITE_DECLARE int gaiaDropTableEx (sqlite3 * sqlite,
 					    const char *prefix,
 					    const char *table);
 
 /**
+ Drops a layer-table, removing any related dependency
+
+ \param sqlite handle to current DB connection
+ \param prefix schema prefix identifying the target DB\n
+ "main" always identifies the main DB (primary, not Attached).
+ \param table name of the table to be removed
+ \param transaction boolena; if set to TRUE will internally handle
+ a SQL Transaction
+
+ \note this function will drop a SpatialTable, SpatialView or VirtualShape being
+ properly registered within the Metadata tables.
+ \n an eventual Spatial Index will be dropped as well, and any row referring the
+ selected table will be removed from the Metadata tables.
+
+ \return 0 on failure, any other value on success
+
+ \sa gaiaDropTable
+ */
+    SPATIALITE_DECLARE int gaiaDropTableEx2 (sqlite3 * sqlite,
+					     const char *prefix,
+					     const char *table,
+					     int transaction);
+
+/**
  Checks a Geometry Column for validity
 
  \param sqlite handle to current DB connection
diff --git a/src/headers/spatialite/control_points.h b/src/headers/spatialite/control_points.h
new file mode 100644
index 0000000..0b81b85
--- /dev/null
+++ b/src/headers/spatialite/control_points.h
@@ -0,0 +1,259 @@
+/* 
+ control_points.h -- Gaia implementation of RMSE and TPS Control Points
+  
+ version 4.3, 2015 May 5
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ ------------------------------------------------------------------------------
+ 
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ 
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+ 
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
+
+The Original Code is the SpatiaLite library
+
+The Initial Developer of the Original Code is Alessandro Furieri
+ 
+Portions created by the Initial Developer are Copyright (C) 2008-2013
+the Initial Developer. All Rights Reserved.
+
+Contributor(s):
+
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+
+/**
+ \file control_points.h
+
+ Auxiliary/helper functions
+ */
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+#ifdef DLL_EXPORT
+#define GAIACP_DECLARE __declspec(dllexport)
+#else
+#define GAIACP_DECLARE extern
+#endif
+#endif
+
+#ifndef _GAIACP_H
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+#define _GAIACP_H
+#endif
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/**
+ Typedef for GaiaControPoints object (opaque, hidden)
+
+ \sa GaiaControlPointsPtr
+ */
+    typedef struct opaque_control_points GaiaControlPoints;
+/**
+ Typedef for GaiaControPointsPtr object pointer (opaque, hidden)
+
+ \sa GaiaControlPoints
+ */
+    typedef GaiaControlPoints *GaiaControlPointsPtr;
+
+/**
+ Typedef for GaiaPolynomialCoeffs object (opaque, hidden)
+
+ \sa GaiaPolynomialCoeffsPtr
+ */
+    typedef struct priv_polynomial_coeffs GaiaPolynomialCoeffs;
+/**
+ Typedef for GaiaPolynomialCoeffsPtr object pointer (opaque, hidden)
+
+ \sa GaiaPolynomialCoeffs
+ */
+    typedef GaiaPolynomialCoeffs *GaiaPolynomialCoeffsPtr;
+
+
+/* function prototypes */
+
+/**
+ Creates a Control Points container (opaque object)
+
+ \param allocation_incr how many Control Points should be allocated
+ every time that necessity arises to increment the internal storage
+ \param has3d true if the Control Points are all expected to be 3D
+ \param order polynomial order: 1 or 2 or 3
+ \param tps true if the solution method must be Thin Plate Spline
+
+ \return the handle of the container object, or NULL on failure
+
+ \sa gaiaFreeControlPoints, gaiaAddControlPoint3D, gaiaAddControlPoint2D,
+  gaiaAffineFromControlPoints
+
+ \note you must properly destroy the container object when it 
+ isn't any longer used.
+ */
+    GAIACP_DECLARE GaiaControlPointsPtr gaiaCreateControlPoints (int
+								 allocation_incr,
+								 int has3d,
+								 int order,
+								 int tps);
+
+/**
+ Destroys a Control Points container (opaque object)
+
+ \param cp_handle the handle identifying the container object  
+ (returned by a previous call to gaiaCreateControlPoints).
+
+ \sa gaiaCreateControlPoints
+ */
+    GAIACP_DECLARE void gaiaFreeControlPoints (GaiaControlPointsPtr cp_handle);
+
+/**
+ Add a further Control Point 3D to the container (opaque object)
+
+ \param cp_handle the handle identifying the container object  
+ (returned by a previous call to gaiaCreateControlPoints).
+ \param x0 X coordinate of the first Point.
+ \param y0 Y coordinate of the first Point.
+ \param z0 Z coordinate of the first Point.
+ \param x1 X coordinate of the second Point.
+ \param y1 Y coordinate of the second Point.
+ \param z1 Z coordinate of the second Point.
+ 
+ \return 0 on failure: any other different value on success.
+
+ \sa gaiaCreateControlPoints, gaiaAddControlPoint2D
+ */
+    GAIACP_DECLARE int gaiaAddControlPoint3D (GaiaControlPointsPtr cp_handle,
+					      double x0, double y0, double z0,
+					      double x1, double y1, double z1);
+
+/**
+ Add a further Control Point 2D to the container (opaque object)
+
+ \param cp_handle the handle identifying the container object  
+ (returned by a previous call to gaiaCreateControlPoints).
+ \param x0 X coordinate of the first Point.
+ \param y0 Y coordinate of the first Point.
+ \param x1 X coordinate of the second Point.
+ \param y1 Y coordinate of the second Point.
+ 
+ \return 0 on failure: any other different value on success.
+
+ \sa gaiaCreateControlPoints, gaiaAddControlPoint3D
+ */
+    GAIACP_DECLARE int gaiaAddControlPoint2D (GaiaControlPointsPtr cp_handle,
+					      double x0, double y0, double x1,
+					      double y1);
+
+/**
+ Resolves a Control Point set by computing an Affine Transform Matrix
+
+ \param cp_handle the handle identifying the container object  
+ (returned by a previous call to gaiaCreateControlPoints).
+ \param blob on completion this variable will contain a BLOB-encoded
+  Polynomial coeffs object
+ \param blob_sz on completion this variable will contain the BLOB's size
+  (in bytes)
+
+ \return 0 on failure: any other different value on success.
+
+ \sa gaiaCreateControlPoints, gaiaPolynomialIsValid, gaiaPolynomialAsText,
+  gaiaPolynomialTransformGeometry
+ */
+    GAIACP_DECLARE int gaiaCreatePolynomialCoeffs (GaiaControlPointsPtr
+						   cp_handle,
+						   unsigned char **blob,
+						   int *blob_sz);
+
+/**
+ Testing a BLOB-Polynomial for validity
+ \param blob pointer to a BLOB-encoded Polynomial coeffs object
+ \param blob_sz BLOB's size (in bytes)
+
+ \return TRUE if the BLOB really is of the BLOB-Polynomial type; FALSE if not.
+
+ \sa gaiaCreatePolynomialCoeffs, gaiaPolynomialAsText
+ */
+    GAIACP_DECLARE int gaiaPolynomialIsValid (const unsigned char *blob,
+					      int blob_sz);
+
+/**
+ Printing a textual represention from a BLOB-Matrix
+ \param blob pointer to a BLOB-encoded Polynomial coeffs object
+ \param blob_sz BLOB's size (in bytes)
+
+ \return a text string; NULL on failure.
+
+ \sa gaiaCreateControlPoints, gaiaPolynomialIsValid, 
+ gaiaPolynomialTransformGeometry
+  
+ \note you are responsible to destroy (before or after) any text
+  string returned by this function by calling sqlite3_free().
+ */
+    GAIACP_DECLARE char *gaiaPolynomialAsText (const unsigned char *blob,
+					       int blob_sz);
+
+/**
+ Transforming a Geometry accordingly to an Affine Transform Matrix
+ \param geom the input Geometry
+ \param blob pointer to a BLOB-encoded Polynomial coeffs object 
+ \param blob_sz BLOB's size (in bytes)
+
+ \return 0 pointer to the transformed Geometry or NULL on failure.
+
+ \sa gaiaCreateControlPoints, gaiaPolynomialIsValid, 
+ gaiaPolynomialAsText
+
+ \note you are responsible to destroy (before or after) any Geometry
+  returned by this function.
+ */
+    GAIACP_DECLARE gaiaGeomCollPtr
+	gaiaPolynomialTransformGeometry (gaiaGeomCollPtr geom,
+					 const unsigned char *blob,
+					 int blob_sz);
+
+/**
+ Converts a Polynomial coeffs object into an Affine Transsform Matrix
+
+ \param iblob pointer to a BLOB-encoded Polynomial coeffs object 
+ \param iblob_sz BLOB's size (in bytes)
+ \param oblob on completion this variable will contain a BLOB-encoded
+  Affine Transform Matrix object
+ \param oblob_sz on completion this variable will contain the BLOB's size
+  (in bytes)
+
+ \return 0 on failure: any other different value on success.
+
+ \sa gaiaCreateControlPoints, gaiaPolynomialIsValid, gaiaPolynomialAsText,
+  gaiaPolynomialTransformGeometry, gaiaPolynomialToMatrix
+ */
+    GAIACP_DECLARE int gaiaPolynomialToMatrix (const unsigned char *iblob,
+					       int iblob_sz,
+					       unsigned char **oblob,
+					       int *oblob_sz);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif				/* _GAIACP_H */
diff --git a/src/headers/spatialite/gaiaaux.h b/src/headers/spatialite/gaiaaux.h
index 38d8605..b60d59e 100644
--- a/src/headers/spatialite/gaiaaux.h
+++ b/src/headers/spatialite/gaiaaux.h
@@ -285,7 +285,7 @@ extern "C"
  \param sqlite handle of the current DB connection
  \param sqllog_pk the Primary Key identifying the corresponding Log event.
  \n expected to be exactely the same returned by the most recent call to gaiaInsertIntoSqlLog()
- \param success expected to be TRUE if the SQL statement was succesfully executed.
+ \param success expected to be TRUE if the SQL statement was successfully executed.
  \param errMsg expected to be the error message returned by SQLite on failure, NULL on success.
 
  \sa gaiaInsertIntoSqlLog
@@ -398,6 +398,101 @@ extern "C"
  */
     GAIAAUX_DECLARE char *gaiaConvertToDMS (double longitude, double latitude);
 
+/**
+ Return a percent-encoded URL
+
+ \param url the URL to be percent-encoded
+
+ \return the corresponding percent-encoded URL text string,
+ or NULL on failure
+
+ \sa gaiaDecodeURL
+
+ \note this function will return a dynamically allocated buffer created 
+ by malloc(). 
+ You are required to explicitly free() any string returned by this function.
+ */
+    GAIAAUX_DECLARE char *gaiaEncodeURL (const char *url);
+
+/**
+ Return a clean URL from its percent-encoded representation
+
+ \param encoded the percent-encoded URL to be decoded
+
+ \return the corresponding clean URL text string,
+ or NULL on failure
+
+ \sa gaiaEncodeURL
+
+ \note this function will return a dynamically allocated buffer created 
+ by malloc(). 
+ You are required to explicitly free() any string returned by this function.
+ */
+    GAIAAUX_DECLARE char *gaiaDecodeURL (const char *encoded);
+
+/**
+ Return the DirName component (if any) from a Path
+
+ \param path full or relative pathname
+
+ \return the corresponding DirName text string,
+ or NULL on failure
+
+ \sa gaiaFullFileNameFromPath, gaiaFileNameFromPath, gaiaFileExtFromPath
+
+ \note this function will return a dynamically allocated buffer created 
+ by malloc(). 
+ You are required to explicitly free() any string returned by this function.
+ */
+    GAIAAUX_DECLARE char *gaiaDirNameFromPath (const char *path);
+
+/**
+ Return the FullFileName from a Path
+
+ \param path full or relative pathname
+
+ \return the corresponding FullFileName (including an eventual extension),
+  or NULL on failure
+
+ \sa gaiaDirNameFromPath, gaiaFileNameFromPath, gaiaFileExtFromPath
+
+ \note this function will return a dynamically allocated buffer created 
+ by malloc(). 
+ You are required to explicitly free() any string returned by this function.
+ */
+    GAIAAUX_DECLARE char *gaiaFullFileNameFromPath (const char *path);
+
+/**
+ Return the FileName from a Path
+
+ \param path full or relative pathname
+
+ \return the corresponding FileName (excluding an eventual extension),
+  or NULL on failure
+
+ \sa gaiaDirNameFromPath, gaiaFullFileNameFromPath, gaiaFileExtFromPath
+
+ \note this function will return a dynamically allocated buffer created 
+ by malloc(). 
+ You are required to explicitly free() any string returned by this function.
+ */
+    GAIAAUX_DECLARE char *gaiaFileNameFromPath (const char *path);
+
+/**
+ Return the FileExtension from a Path
+
+ \param path full or relative pathname
+
+ \return the corresponding FileExtension (if any), or NULL on failure
+
+ \sa gaiaDirNameFromPath, gaiaFullFileNameFromPath, gaiaFileNameFromPath
+
+ \note this function will return a dynamically allocated buffer created 
+ by malloc(). 
+ You are required to explicitly free() any string returned by this function.
+ */
+    GAIAAUX_DECLARE char *gaiaFileExtFromPath (const char *path);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/headers/spatialite/gaiamatrix.h b/src/headers/spatialite/gaiamatrix.h
new file mode 100644
index 0000000..b787c9b
--- /dev/null
+++ b/src/headers/spatialite/gaiamatrix.h
@@ -0,0 +1,277 @@
+/* 
+ gaiamatrix.h -- Gaia common utility functions: affine trasform Matrix
+  
+ version 4.3, 2015 April 28
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ ------------------------------------------------------------------------------
+ 
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ 
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+ 
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
+
+The Original Code is the SpatiaLite library
+
+The Initial Developer of the Original Code is Alessandro Furieri
+ 
+Portions created by the Initial Developer are Copyright (C) 2008-2013
+the Initial Developer. All Rights Reserved.
+
+Contributor(s):
+
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+
+/**
+ \file gaiamatrix.h
+
+ Auxiliary/helper functions
+ */
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+#ifdef DLL_EXPORT
+#define GAIAMATRIX_DECLARE __declspec(dllexport)
+#else
+#define GAIAMATRIX_DECLARE extern
+#endif
+#endif
+
+#ifndef _GAIAMATRIX_H
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+#define _GAIAMATRIX_H
+#endif
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/**
+ Typedef for gaiaAffineTransformMatrix object (opaque, hidden)
+
+ \sa gaiaAffineTransformMatrixPtr
+ */
+    typedef struct priv_affine_transform gaiaAffineTransformMatrix;
+/**
+ Typedef for gaiaAffineTransformMatrixPtr object pointer (opaque, hidden)
+
+ \sa gaiaAffineTransformMatrix
+ */
+    typedef gaiaAffineTransformMatrix *gaiaAffineTransformMatrixPtr;
+
+/* function prototypes */
+
+/**
+ Creating a fully initialized BLOB-Matrix
+ \param a XX component of the affine transformation.
+ \param b XY component of the affine transformation.
+ \param c XZ component of the affine transformation.
+ \param d YX component of the affine transformation.
+ \param e YY component of the affine transformation.
+ \param f YZ component of the affine transformation.
+ \param g ZX component of the affine transformation.
+ \param h ZY component of the affine transformation.
+ \param i ZZ component of the affine transformation.
+ \param xoff X translation component of the affine transformation.
+ \param yoff Y translation component of the affine transformation.
+ \param zoff Z translation component of the affine transformation.
+ \param blob on completion this variable will contain a BLOB-encoded
+  affine transform Matrix
+ \param blob_sz on completion this variable will contain the BLOB's size
+  (in bytes)
+
+ \return 0 on failure: any other different value on success.
+
+ \sa gaia_matrix_is_valid, gaia_matrix_as_text, 
+  gaia_matrix_multiply, gaia_matrix_create_multiply, 
+  gaia_matrix_transform_geometry
+
+ \note you are responsible to destroy (before or after) any BLOB
+  returned by this function.
+ */
+    GAIAMATRIX_DECLARE int gaia_matrix_create (double a, double b, double c,
+					       double d, double e, double f,
+					       double g, double h, double i,
+					       double xoff, double yoff,
+					       double zoff,
+					       unsigned char **blob,
+					       int *blob_sz);
+
+/**
+ Creating a BLOB-Matrix by multiplying MatrixA by MatrixB
+ \param iblob1 pointer to a BLOB-encoded Matrix A
+ \param iblob1_sz A BLOB's size (in bytes)
+ \param iblob2 pointer to a BLOB-encoded Matrix A
+ \param iblob2_sz A BLOB's size (in bytes)
+ \param blob on completion this variable will contain a BLOB-encoded
+  affine transform Matrix
+ \param blob_sz on completion this variable will contain the BLOB's size
+  (in bytes)
+
+ \return 0 on failure: any other different value on success.
+
+ \sa gaia_matrix_create, gaia_matrix_is_valid, gaia_matrix_as_text, 
+  gaia_matrix_create_multiply, gaia_matrix_transform_geometry,
+  gaia_matrix_invert
+
+ \note you are responsible to destroy (before or after) any BLOB
+  returned by this function.
+ */
+    GAIAMATRIX_DECLARE int gaia_matrix_multiply (const unsigned char *iblob1,
+						 int iblob1_sz,
+						 const unsigned char *iblob2,
+						 int iblob2_sz,
+						 unsigned char **blob,
+						 int *blob_sz);
+
+/**
+ Creating a BLOB-Matrix by applying a further trasformation to a previous BLOB-Matrix
+ \param iblob pointer to a BLOB-encoded Matrix
+ \param iblob_sz BLOB's size (in bytes)
+ \param a XX component of the affine transformation.
+ \param b XY component of the affine transformation.
+ \param c XZ component of the affine transformation.
+ \param d YX component of the affine transformation.
+ \param e YY component of the affine transformation.
+ \param f YZ component of the affine transformation.
+ \param g ZX component of the affine transformation.
+ \param h ZY component of the affine transformation.
+ \param i ZZ component of the affine transformation.
+ \param xoff X translation component of the affine transformation.
+ \param yoff Y translation component of the affine transformation.
+ \param zoff Z translation component of the affine transformation.
+ \param blob on completion this variable will contain a BLOB-encoded
+  affine transform Matrix
+ \param blob_sz on completion this variable will contain the BLOB's size
+  (in bytes)
+
+ \return 0 on failure: any other different value on success.
+
+ \sa gaia_matrix_create, gaia_matrix_is_valid, gaia_matrix_as_text, 
+  gaia_matrix_multiply, gaia_matrix_transform_geometry
+
+ \note you are responsible to destroy (before or after) any BLOB
+  returned by this function.
+ */
+    GAIAMATRIX_DECLARE int gaia_matrix_create_multiply (const unsigned char
+							*iblob, int iblob_sz,
+							double a, double b,
+							double c, double d,
+							double e, double f,
+							double g, double h,
+							double i, double xoff,
+							double yoff,
+							double zoff,
+							unsigned char **blob,
+							int *blob_sz);
+
+/**
+ Testing a BLOB-Matrix for validity
+ \param blob pointer to a BLOB-encoded Matrix
+ \param blob_sz BLOB's size (in bytes)
+
+ \return TRUE if the BLOB really is of the BLOB-Matrix type; FALSE if not.
+
+ \sa gaia_matrix_create, gaia_matrix_as_text, 
+  gaia_matrix_multiply, gaia_matrix_create_multiply, 
+  gaia_matrix_transform_geometry
+ */
+    GAIAMATRIX_DECLARE int gaia_matrix_is_valid (const unsigned char *blob,
+						 int blob_sz);
+
+/**
+ Printing a textual represention from a BLOB-Matrix
+ \param blob pointer to a BLOB-encoded Matrix
+ \param blob_sz BLOB's size (in bytes)
+
+ \return a text string; NULL on failure.
+
+ \sa gaia_matrix_create, gaia_matrix_is_valid, 
+  gaia_matrix_multiply, gaia_matrix_create_multiply, 
+  gaia_matrix_transform_geometry
+ \note you are responsible to destroy (before or after) any text
+  string returned by this function by calling sqlite3_free().
+ */
+    GAIAMATRIX_DECLARE char *gaia_matrix_as_text (const unsigned char *blob,
+						  int blob_sz);
+
+/**
+ Transforming a Geometry accordingly to an Affine Transform Matrix
+ \param geom the input Geometry
+ \param blob pointer to a BLOB-encoded Matrix 
+ \param blob_sz BLOB's size (in bytes)
+
+ \return pointer to the transformed Geometry or NULL on failure.
+
+ \sa gaia_matrix_create, gaia_matrix_is_valid, gaia_matrix_as_text, 
+  gaia_matrix_multiply, gaia_matrix_create_multiply
+
+ \note you are responsible to destroy (before or after) any Geometry
+  returned by this function.
+ */
+    GAIAMATRIX_DECLARE gaiaGeomCollPtr
+	gaia_matrix_transform_geometry (gaiaGeomCollPtr geom,
+					const unsigned char *blob, int blob_sz);
+
+/**
+ Computing the Determinant from an Affine Transform Matrix
+ \param blob pointer to a BLOB-encoded Matrix 
+ \param blob_sz BLOB's size (in bytes)
+
+ \return the Determinant of the Matix; 0.0 on invalid args.
+
+ \sa gaia_matrix_create, gaia_matrix_is_valid, gaia_matrix_invert
+ \note you are responsible to destroy (before or after) any Geometry
+  returned by this function.
+ */
+    GAIAMATRIX_DECLARE double
+	gaia_matrix_determinant (const unsigned char *blob, int blob_sz);
+
+/**
+ Creating a BLOB-Matrix by applying a further trasformation to a previous BLOB-Matrix
+ \param iblob pointer to a BLOB-encoded Matrix
+ \param iblob_sz BLOB's size (in bytes)
+ \param blob on completion this variable will contain a BLOB-encoded
+  affine transform Matrix (Inverse)
+ \param blob_sz on completion this variable will contain the BLOB's size
+  (in bytes)
+
+ \return 0 on failure: any other different value on success.
+ Note that not all Matrices can be Inverted, only those having
+ a valid Determinant.
+
+ \sa gaia_matrix_create, gaia_matrix_is_valid, gaia_matrix_multiply, 
+ gaia_matrix_determinant
+
+ \note you are responsible to destroy (before or after) any BLOB
+  returned by this function.
+ */
+    GAIAMATRIX_DECLARE int gaia_matrix_invert (const unsigned char
+					       *iblob, int iblob_sz,
+					       unsigned char **blob,
+					       int *blob_sz);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif				/* _GAIAMATRIX_H */
diff --git a/src/headers/spatialite/geopackage.h b/src/headers/spatialite/geopackage.h
index e042fc6..36de8fe 100644
--- a/src/headers/spatialite/geopackage.h
+++ b/src/headers/spatialite/geopackage.h
@@ -45,12 +45,18 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
  GeoPackage: supporting functions and constants
  */
-
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
+#ifdef _WIN32
 #ifdef DLL_EXPORT
 #define GEOPACKAGE_DECLARE __declspec(dllexport)
+#define GEOPACKAGE_PRIVATE
 #else
 #define GEOPACKAGE_DECLARE extern
+#define GEOPACKAGE_PRIVATE
+#endif
+#else
+#define GEOPACKAGE_DECLARE __attribute__ ((visibility("default")))
+#define GEOPACKAGE_PRIVATE __attribute__ ((visibility("hidden")))
 #endif
 #endif
 
@@ -69,62 +75,62 @@ extern "C"
 #include <spatialite/gaiageo.h>
 
 /* Internal geopackage SQL function implementation */
-    GEOPACKAGE_DECLARE void fnct_gpkgCreateBaseTables (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgCreateBaseTables (sqlite3_context *
 						       context, int argc,
 						       sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgCreateTilesTable (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgCreateTilesTable (sqlite3_context *
 						       context, int argc,
 						       sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgCreateTilesZoomLevel (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgCreateTilesZoomLevel (sqlite3_context *
 							   context, int argc,
 							   sqlite3_value **
 							   argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgInsertEpsgSRID (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgInsertEpsgSRID (sqlite3_context *
 						     context, int argc,
 						     sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgAddTileTriggers (sqlite3_context * context,
+    GEOPACKAGE_PRIVATE void fnct_gpkgAddTileTriggers (sqlite3_context * context,
 						      int argc,
 						      sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgGetNormalRow (sqlite3_context * context,
+    GEOPACKAGE_PRIVATE void fnct_gpkgGetNormalRow (sqlite3_context * context,
 						   int argc,
 						   sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgGetNormalZoom (sqlite3_context * context,
+    GEOPACKAGE_PRIVATE void fnct_gpkgGetNormalZoom (sqlite3_context * context,
 						    int argc,
 						    sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgGetImageType (sqlite3_context * context,
+    GEOPACKAGE_PRIVATE void fnct_gpkgGetImageType (sqlite3_context * context,
 						   int argc,
 						   sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgAddGeometryColumn (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgAddGeometryColumn (sqlite3_context *
 							context, int argc,
 							sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgMakePoint (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgMakePoint (sqlite3_context *
 						context, int argc,
 						sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgMakePointWithSRID (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgMakePointWithSRID (sqlite3_context *
 							context, int argc,
 							sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgMakePointZ (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZ (sqlite3_context *
 						 context, int argc,
 						 sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgMakePointZWithSRID (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZWithSRID (sqlite3_context *
 							 context, int argc,
 							 sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgMakePointM (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgMakePointM (sqlite3_context *
 						 context, int argc,
 						 sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgMakePointMWithSRID (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgMakePointMWithSRID (sqlite3_context *
 							 context, int argc,
 							 sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgMakePointZM (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZM (sqlite3_context *
 						  context, int argc,
 						  sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgMakePointZMWithSRID (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZMWithSRID (sqlite3_context *
 							  context, int argc,
 							  sqlite3_value **
 							  argv);
-    GEOPACKAGE_DECLARE void fnct_ToGPB (sqlite3_context * context, int argc,
+    GEOPACKAGE_PRIVATE void fnct_ToGPB (sqlite3_context * context, int argc,
 					sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_GeomFromGPB (sqlite3_context * context,
+    GEOPACKAGE_PRIVATE void fnct_GeomFromGPB (sqlite3_context * context,
 					      int argc, sqlite3_value ** argv);
 
     GEOPACKAGE_DECLARE gaiaGeomCollPtr gaiaFromGeoPackageGeometryBlob (const
@@ -151,24 +157,30 @@ extern "C"
 						   double *max_m);
     GEOPACKAGE_DECLARE char *gaiaGetGeometryTypeFromGPB (const unsigned char
 							 *gpb, int gpb_len);
-    GEOPACKAGE_DECLARE void fnct_IsValidGPB (sqlite3_context * context,
+    GEOPACKAGE_PRIVATE void fnct_IsValidGPB (sqlite3_context * context,
 					     int argc, sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_GPKG_IsAssignable (sqlite3_context * context,
+    GEOPACKAGE_PRIVATE void fnct_GPKG_IsAssignable (sqlite3_context * context,
 						    int argc,
 						    sqlite3_value ** argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgAddGeometryTriggers (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgAddGeometryTriggers (sqlite3_context *
 							  context, int argc,
 							  sqlite3_value **
 							  argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgAddGeometryTriggers (sqlite3_context *
+    GEOPACKAGE_PRIVATE void fnct_gpkgAddGeometryTriggers (sqlite3_context *
 							  context, int argc,
 							  sqlite3_value **
 							  argv);
-    GEOPACKAGE_DECLARE void fnct_gpkgAddSpatialIndex (sqlite3_context * context,
+    GEOPACKAGE_PRIVATE void fnct_gpkgAddSpatialIndex (sqlite3_context * context,
 						      int argc,
 						      sqlite3_value ** argv);
 /* end Sandro Furieri - 2014-05-19 */
 
+/* Sandro Furieri - 2015-06-14 */
+    GEOPACKAGE_DECLARE void
+	gaiaToGPB (gaiaGeomCollPtr geom, unsigned char **result, int *size);
+/* end Sandro Furieri - 2015-06-14 */
+
+
 
 /* Markers for unused arguments / variable */
 #if __GNUC__
diff --git a/src/headers/spatialite/gg_formats.h b/src/headers/spatialite/gg_formats.h
index 1a92c37..431860f 100644
--- a/src/headers/spatialite/gg_formats.h
+++ b/src/headers/spatialite/gg_formats.h
@@ -444,7 +444,8 @@ extern "C"
 
  \return the pointer to the newly created Geometry object: NULL on failure
 
- \sa gaiaFreeGeomColl, gaiaToSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb
+ \sa gaiaFreeGeomColl, gaiaToSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb,
+ gaiaFromSpatiaLiteBlobWkbEx
 
  \note you are responsible to destroy (before or after) any allocated Geometry,
  unless you've passed ownership of the Geometry object to some further object:
@@ -457,6 +458,32 @@ extern "C"
 							       size);
 
 /**
+ Creates a Geometry object from the corresponding BLOB-Geometry 
+
+ \param blob pointer to BLOB-Geometry
+ \param size the BLOB's size
+ \param gpkg_mode is set to TRUE will accept only GPKG Geometry-BLOBs
+ \param gpkg_amphibious is set to TRUE will indifferenctly accept
+  either SpatiaLite Geometry-BLOBs or GPKG Geometry-BLOBs
+
+ \return the pointer to the newly created Geometry object: NULL on failure
+
+ \sa gaiaFreeGeomColl, gaiaToSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb
+
+ \note you are responsible to destroy (before or after) any allocated Geometry,
+ unless you've passed ownership of the Geometry object to some further object:
+ in this case destroying the higher order object will implicitly destroy any 
+ contained child object. 
+ */
+    GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromSpatiaLiteBlobWkbEx (const unsigned
+								 char *blob,
+								 unsigned int
+								 size,
+								 int gpkg_mode,
+								 int
+								 gpkg_amphibious);
+
+/**
  Creates a BLOB-Geometry corresponding to a Geometry object
 
  \param geom pointer to the Geometry object.
@@ -475,6 +502,25 @@ extern "C"
 						  int *size);
 
 /**
+ Creates a BLOB-Geometry corresponding to a Geometry object
+
+ \param geom pointer to the Geometry object.
+ \param result on completion will containt a pointer to BLOB-Geometry:
+ NULL on failure.
+ \param size on completion this variable will contain the BLOB's size (in bytes)
+ \param gpkg_mode is set to TRUE will always return GPKG Geometry-BLOBs
+
+ \sa gaiaFromSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb
+
+ \note the BLOB buffer corresponds to dynamically allocated memory:
+ so you are responsible to free() it [unless SQLite will take care
+ of memory cleanup via buffer binding].
+ */
+    GAIAGEO_DECLARE void gaiaToSpatiaLiteBlobWkbEx (gaiaGeomCollPtr geom,
+						    unsigned char **result,
+						    int *size, int gpkg_mode);
+
+/**
  Creates a Compressed BLOB-Geometry corresponding to a Geometry object
 
  \param geom pointer to the Geometry object.
@@ -750,7 +796,8 @@ extern "C"
  \param out_buf pointer to dynamically growing Text buffer
  \param geom pointer to Geometry object
 
- \sa gaiaParseWkt, gaiaOutWktStrict, gaiaParseEWKT, gaiaToEWKT
+ \sa gaiaParseWkt, gaiaOutWktStrict, gaiaParseEWKT, gaiaToEWKT,
+ gaiaOutWktEx
 
  \note this function will apply 3D WKT encoding as internally intended by
  SpatiaLite: not necessarily intended by other OGC-like implementations.
@@ -760,6 +807,22 @@ extern "C"
 				     gaiaGeomCollPtr geom);
 
 /**
+ Encodes a Geometry object into WKT notation
+
+ \param out_buf pointer to dynamically growing Text buffer
+ \param geom pointer to Geometry object
+ \param precision decimal digits to be used for coordinates
+
+ \sa gaiaParseWkt, gaiaOutWktStrict, gaiaParseEWKT, gaiaToEWKT
+
+ \note this function will apply 3D WKT encoding as internally intended by
+ SpatiaLite: not necessarily intended by other OGC-like implementations.
+ \n Anyway, 2D WKT is surely standard and safely interoperable.
+ */
+    GAIAGEO_DECLARE void gaiaOutWktEx (gaiaOutBufferPtr out_buf,
+				       gaiaGeomCollPtr geom, int precision);
+
+/**
  Encodes a Geometry object into strict 2D WKT notation
 
  \param out_buf pointer to dynamically growing Text buffer
@@ -811,7 +874,7 @@ extern "C"
  \param out_buf pointer to dynamically growing Text buffer
  \param point pointer to Point object
 
- \sa gaiaOutLinestringZ, gaiaOutPolygonZ
+ \sa gaiaOutLinestringZ, gaiaOutPolygonZ, gaiaOutPointZex
  
  \remark mainly intended for internal usage.
  */
@@ -819,12 +882,26 @@ extern "C"
 					gaiaPointPtr point);
 
 /**
+ Encodes a WKT 3D Point [XYZ]
+
+ \param out_buf pointer to dynamically growing Text buffer
+ \param point pointer to Point object
+ \param precision decimal digits to be used for coordinates
+
+ \sa gaiaOutLinestringZ, gaiaOutPolygonZ
+ 
+ \remark mainly intended for internal usage.
+ */
+    GAIAGEO_DECLARE void gaiaOutPointZex (gaiaOutBufferPtr out_buf,
+					  gaiaPointPtr point, int precision);
+
+/**
  Encodes a WKT 3D Linestring [XYZ]
 
  \param out_buf pointer to dynamically growing Text buffer
  \param linestring pointer to Linestring object
 
- \sa gaiaOutPointZ, gaiaOutPolygonZ
+ \sa gaiaOutPointZ, gaiaOutPolygonZ, gaiaOutLinestringZex
  
  \remark mainly intended for internal usage.
  */
@@ -832,17 +909,48 @@ extern "C"
 					     gaiaLinestringPtr linestring);
 
 /**
+ Encodes a WKT 3D Linestring [XYZ]
+
+ \param out_buf pointer to dynamically growing Text buffer
+ \param linestring pointer to Linestring object
+ \param precision decimal digits to be used for coordinates
+
+ \sa gaiaOutPointZ, gaiaOutPolygonZ
+ 
+ \remark mainly intended for internal usage.
+ */
+    GAIAGEO_DECLARE void gaiaOutLinestringZex (gaiaOutBufferPtr out_buf,
+					       gaiaLinestringPtr linestring,
+					       int precision);
+
+/**
  Encodes a WKT 3D Polygon [XYZ]
 
  \param out_buf pointer to dynamically growing Text buffer
  \param polygon pointer to Point object
 
- \sa gaiaOutPointZ, gaiaOutLinestringZ
+ \sa gaiaOutPointZ, gaiaOutLinestringZ, gaiaOutPolygonZex
  
  \remark mainly intended for internal usage.
  */
     GAIAGEO_DECLARE void gaiaOutPolygonZ (gaiaOutBufferPtr out_buf,
 					  gaiaPolygonPtr polygon);
+
+/**
+ Encodes a WKT 3D Polygon [XYZ]
+
+ \param out_buf pointer to dynamically growing Text buffer
+ \param polygon pointer to Point object
+ \param precision decimal digits to be used for coordinates
+
+ \sa gaiaOutPointZ, gaiaOutLinestringZ
+ 
+ \remark mainly intended for internal usage.
+ */
+    GAIAGEO_DECLARE void gaiaOutPolygonZex (gaiaOutBufferPtr out_buf,
+					    gaiaPolygonPtr polygon,
+					    int precision);
+
 /**
  Creates a Geometry object from KML notation
 
diff --git a/src/headers/spatialite/gg_wfs.h b/src/headers/spatialite/gg_wfs.h
index 6945c53..21a91e3 100644
--- a/src/headers/spatialite/gg_wfs.h
+++ b/src/headers/spatialite/gg_wfs.h
@@ -169,7 +169,7 @@ extern "C"
  \return the pointer to the corresponding WFS-Catalog object: NULL on failure
  
  \sa destroy_wfs_catalog, get_wfs_catalog_count, get_wfs_catalog_item, load_from_wfs,
- reset_wfs_http_connection
+ reset_wfs_http_connection, get_wfs_version
  
  \note an eventual error message returned via err_msg requires to be deallocated
  by invoking free().\n
@@ -190,6 +190,18 @@ extern "C"
     SPATIALITE_DECLARE void destroy_wfs_catalog (gaiaWFScatalogPtr handle);
 
 /**
+ Return the WFS-Version string as reported by GetCapabilities
+
+ \param handle the pointer to a valid WFS-Item returned by a previous call
+ to get_wfs_catalog_item().
+
+ \return the WFS Version string: NULL is undefined
+ 
+ \sa create_wfs_catalog
+ */
+    SPATIALITE_DECLARE const char *get_wfs_version (gaiaWFScatalogPtr handle);
+
+/**
  Return the base URL for any WFS-GetFeature call
 
  \param handle the pointer to a valid WFS-Item returned by a previous call
diff --git a/src/headers/spatialite/gg_xml.h b/src/headers/spatialite/gg_xml.h
index 7dd3c46..91943f7 100644
--- a/src/headers/spatialite/gg_xml.h
+++ b/src/headers/spatialite/gg_xml.h
@@ -133,7 +133,7 @@ extern "C"
  \param xml_len lenght of the XML document (in bytes).
  \param compressed if TRUE the returned XmlBLOB will be zip-compressed.
  \param schemaURI if not NULL the XML document will be assumed to be valid
-  only if it succesfully passes a formal Schema valitadion.
+  only if it successfully passes a formal Schema valitadion.
  \param result on completion will containt a pointer to XmlBLOB:
  NULL on failure.
  \param size on completion this variable will contain the XmlBLOB's size (in bytes)
@@ -191,7 +191,7 @@ extern "C"
  means that the whole XML Document will consist of a single line.
  \param result pointer to the memory buffer containing the XML Document
  \param res_size dimension (in bytes) of the XML Document memory buffer
- (both values will be passed back after succesful completion).
+ (both values will be passed back after successful completion).
 
 
  \sa gaiaXmlToBlob, gaiaXmlTextFromBlob
@@ -342,7 +342,7 @@ extern "C"
 						 int *out_size);
 
 /**
- Checks if a valid XmlBLOB buffer has succesfully passed a formal Schema validation or not
+ Checks if a valid XmlBLOB buffer has successfully passed a formal Schema validation or not
 
  \param blob pointer to the XmlBLOB buffer.
  \param size XmlBLOB's size (in bytes).
diff --git a/src/headers/spatialite_private.h b/src/headers/spatialite_private.h
index 4c36340..485bdd1 100644
--- a/src/headers/spatialite_private.h
+++ b/src/headers/spatialite_private.h
@@ -94,7 +94,7 @@ extern "C"
 
     struct vxpath_ns
     {
-/* a Namespace definition */
+	/* a Namespace definition */
 	char *Prefix;
 	char *Href;
 	struct vxpath_ns *Next;
@@ -102,7 +102,7 @@ extern "C"
 
     struct vxpath_namespaces
     {
-/* Namespace container */
+	/* Namespace container */
 	struct vxpath_ns *First;
 	struct vxpath_ns *Last;
     };
@@ -130,6 +130,9 @@ extern "C"
     struct splite_internal_cache
     {
 	unsigned char magic1;
+	int gpkg_mode;
+	int gpkg_amphibious_mode;
+	int decimal_precision;
 	void *GEOS_handle;
 	void *PROJ_handle;
 	void *xmlParsingErrors;
@@ -152,11 +155,55 @@ extern "C"
 	char *ref_sys_name;
 	char *proj4text;
 	char *srs_wkt;
+	int is_geographic;
+	int flipped_axes;
+	char *spheroid;
+	char *prime_meridian;
+	char *datum;
+	char *projection;
+	char *unit;
+	char *axis_1;
+	char *orientation_1;
+	char *axis_2;
+	char *orientation_2;
 	struct epsg_defs *next;
     };
 
-    SPATIALITE_PRIVATE void
-	free_internal_cache (struct splite_internal_cache *cache);
+    struct gaia_control_points
+    {
+	/* a struct to implement ATM_ControlPoints - aggregate function */
+	int count;
+	int allocation_incr;
+	int allocated_items;
+	int has3d;
+	int tps;
+	int order;
+	/* point set A */
+	double *x0;
+	double *y0;
+	double *z0;
+	/* point set B */
+	double *x1;
+	double *y1;
+	double *z1;
+	/* affine transform coefficients */
+	double a;
+	double b;
+	double c;
+	double d;
+	double e;
+	double f;
+	double g;
+	double h;
+	double i;
+	double xoff;
+	double yoff;
+	double zoff;
+	int affine_valid;
+    };
+
+    SPATIALITE_PRIVATE void free_internal_cache (struct splite_internal_cache
+						 *cache);
 
     SPATIALITE_PRIVATE struct epsg_defs *add_epsg_def (int filter_srid,
 						       struct epsg_defs **first,
@@ -167,18 +214,45 @@ extern "C"
 						       const char
 						       *ref_sys_name);
 
-    SPATIALITE_PRIVATE void
-	add_proj4text (struct epsg_defs *p, int count, const char *text);
-
-    SPATIALITE_PRIVATE void
-	add_srs_wkt (struct epsg_defs *p, int count, const char *text);
-
-    SPATIALITE_PRIVATE void
-	initialize_epsg (int filter, struct epsg_defs **first,
-			 struct epsg_defs **last);
+    SPATIALITE_PRIVATE struct epsg_defs *add_epsg_def_ex (int filter_srid,
+							  struct epsg_defs
+							  **first,
+							  struct epsg_defs
+							  **last, int srid,
+							  const char *auth_name,
+							  int auth_srid,
+							  const char
+							  *ref_sys_name,
+							  int is_geographic,
+							  int flipped_axes,
+							  const char *spheroid,
+							  const char
+							  *prime_meridian,
+							  const char *datum,
+							  const char
+							  *projection,
+							  const char *unit,
+							  const char *axis_1,
+							  const char
+							  *orientation_1,
+							  const char *axis_2,
+							  const char
+							  *orientation_2);
+
+    SPATIALITE_PRIVATE void add_proj4text (struct epsg_defs *p, int count,
+					   const char *text);
+
+    SPATIALITE_PRIVATE void add_srs_wkt (struct epsg_defs *p, int count,
+					 const char *text);
+
+    SPATIALITE_PRIVATE void initialize_epsg (int filter,
+					     struct epsg_defs **first,
+					     struct epsg_defs **last);
 
     SPATIALITE_PRIVATE void free_epsg (struct epsg_defs *first);
 
+    SPATIALITE_PRIVATE int exists_spatial_ref_sys (void *handle);
+
     SPATIALITE_PRIVATE int checkSpatialMetaData (const void *sqlite);
 
     SPATIALITE_PRIVATE int delaunay_triangle_check (void *pg);
@@ -225,34 +299,43 @@ extern "C"
 
     SPATIALITE_PRIVATE int check_virts_layer_statistics (void *p_sqlite);
 
-    SPATIALITE_PRIVATE void
-	updateGeometryTriggers (void *p_sqlite, const char *table,
-				const char *column);
+    SPATIALITE_PRIVATE void updateGeometryTriggers (void *p_sqlite,
+						    const char *table,
+						    const char *column);
 
     SPATIALITE_PRIVATE int upgradeGeometryTriggers (void *p_sqlite);
 
-    SPATIALITE_PRIVATE int
-	getRealSQLnames (void *p_sqlite, const char *table, const char *column,
-			 char **real_table, char **real_column);
+    SPATIALITE_PRIVATE int getRealSQLnames (void *p_sqlite, const char *table,
+					    const char *column,
+					    char **real_table,
+					    char **real_column);
 
-    SPATIALITE_PRIVATE void buildSpatialIndex (void *p_sqlite, const unsigned char *table, const char *column);	/* DEPRECATED - always use buildSpatialIndexEx */
+    /* DEPRECATED - always use buildSpatialIndexEx */
+    SPATIALITE_PRIVATE void buildSpatialIndex (void *p_sqlite,
+					       const unsigned char *table,
+					       const char *column);
 
-    SPATIALITE_PRIVATE int
-	buildSpatialIndexEx (void *p_sqlite, const unsigned char *table,
-			     const char *column);
+    SPATIALITE_PRIVATE int buildSpatialIndexEx (void *p_sqlite,
+						const unsigned char *table,
+						const char *column);
 
     SPATIALITE_PRIVATE int validateRowid (void *p_sqlite, const char *table);
 
-    SPATIALITE_PRIVATE int
-	doComputeFieldInfos (void *p_sqlite, const char *table,
-			     const char *column, int stat_type, void *p_lyr);
+    SPATIALITE_PRIVATE int doComputeFieldInfos (void *p_sqlite,
+						const char *table,
+						const char *column,
+						int stat_type, void *p_lyr);
 
-    SPATIALITE_PRIVATE void
-	getProjParams (void *p_sqlite, int srid, char **params);
+    SPATIALITE_PRIVATE void getProjParams (void *p_sqlite, int srid,
+					   char **params);
 
-    SPATIALITE_PRIVATE int
-	getEllipsoidParams (void *p_sqlite, int srid, double *a, double *b,
-			    double *rf);
+    SPATIALITE_PRIVATE void getProjParamsEx (void *p_sqlite, int srid,
+					     char **params,
+					     int gpkg_amphibious_mode);
+
+    SPATIALITE_PRIVATE int getEllipsoidParams (void *p_sqlite, int srid,
+					       double *a, double *b,
+					       double *rf);
 
     SPATIALITE_PRIVATE void addVectorLayer (void *list, const char *layer_type,
 					    const char *table_name,
@@ -287,6 +370,8 @@ extern "C"
 						    double double_max);
 
     SPATIALITE_PRIVATE int createStylingTables (void *p_sqlite, int relaxed);
+    SPATIALITE_PRIVATE int createStylingTables_ex (void *p_sqlite, int relaxed,
+						   int transaction);
 
     SPATIALITE_PRIVATE int register_external_graphic (void *p_sqlite,
 						      const char *xlink_href,
@@ -296,6 +381,24 @@ extern "C"
 						      const char *abstract,
 						      const char *file_name);
 
+    SPATIALITE_PRIVATE int unregister_external_graphic (void *p_sqlite,
+							const char *xlink_href);
+
+    SPATIALITE_PRIVATE int register_vector_style (void *p_sqlite,
+						  const unsigned char *p_blob,
+						  int n_bytes);
+
+    SPATIALITE_PRIVATE int unregister_vector_style (void *p_sqlite,
+						    int style_id,
+						    const char *style_name,
+						    int remove_all);
+
+    SPATIALITE_PRIVATE int reload_vector_style (void *p_sqlite, int style_id,
+						const char *style_name,
+						const unsigned char *p_blob,
+						int n_bytes);
+
+    /* DEPRECATED - always use register_vector_styled_layer_ex */
     SPATIALITE_PRIVATE int register_vector_styled_layer (void *p_sqlite,
 							 const char
 							 *f_table_name,
@@ -305,6 +408,35 @@ extern "C"
 							 const unsigned char
 							 *p_blob, int n_bytes);
 
+    SPATIALITE_PRIVATE int register_vector_styled_layer_ex (void *p_sqlite,
+							    const char
+							    *coverage_name,
+							    int style_id,
+							    const char
+							    *style_name);
+
+    SPATIALITE_PRIVATE int unregister_vector_styled_layer (void *p_sqlite,
+							   const char
+							   *coverage_name,
+							   int style_id,
+							   const char
+							   *style_name);
+
+    SPATIALITE_PRIVATE int register_raster_style (void *p_sqlite,
+						  const unsigned char *p_blob,
+						  int n_bytes);
+
+    SPATIALITE_PRIVATE int unregister_raster_style (void *p_sqlite,
+						    int style_id,
+						    const char *style_name,
+						    int remove_all);
+
+    SPATIALITE_PRIVATE int reload_raster_style (void *p_sqlite, int style_id,
+						const char *style_name,
+						const unsigned char *p_blob,
+						int n_bytes);
+
+    /* DEPRECATED - always use register_raster_styled_layer_ex */
     SPATIALITE_PRIVATE int register_raster_styled_layer (void *p_sqlite,
 							 const char
 							 *coverage_name,
@@ -312,6 +444,49 @@ extern "C"
 							 const unsigned char
 							 *p_blob, int n_bytes);
 
+    SPATIALITE_PRIVATE int register_raster_styled_layer_ex (void *p_sqlite,
+							    const char
+							    *coverage_name,
+							    int style_id,
+							    const char
+							    *style_name);
+
+    SPATIALITE_PRIVATE int unregister_raster_styled_layer (void *p_sqlite,
+							   const char
+							   *coverage_name,
+							   int style_id,
+							   const char
+							   *style_name);
+
+    SPATIALITE_PRIVATE int register_raster_coverage_srid (void *p_sqlite,
+							  const char
+							  *coverage_name,
+							  int srid);
+
+    SPATIALITE_PRIVATE int unregister_raster_coverage_srid (void *p_sqlite,
+							    const char
+							    *coverage_name,
+							    int srid);
+
+    SPATIALITE_PRIVATE int register_raster_coverage_keyword (void *p_sqlite,
+							     const char
+							     *coverage_name,
+							     const char
+							     *keyword);
+
+    SPATIALITE_PRIVATE int unregister_raster_coverage_keyword (void *p_sqlite,
+							       const char
+							       *coverage_name,
+							       const char
+							       *keyword);
+
+    SPATIALITE_PRIVATE int update_raster_coverage_extent (void *p_sqlite,
+							  const void *cache,
+							  const char
+							  *coverage_name,
+							  int transaction);
+
+    /* DEPRECATED - always use register_styled_group_ex */
     SPATIALITE_PRIVATE int register_styled_group (void *p_sqlite,
 						  const char *group_name,
 						  const char *f_table_name,
@@ -319,16 +494,71 @@ extern "C"
 						  const char *coverage_name,
 						  int paint_order);
 
+    SPATIALITE_PRIVATE int register_styled_group_ex (void *p_sqlite,
+						     const char *group_name,
+						     const char
+						     *vector_coverage_name,
+						     const char
+						     *raster_coverage_name);
+
+    SPATIALITE_PRIVATE int set_styled_group_layer_paint_order (void *p_sqlite,
+							       int item_id,
+							       const char
+							       *group_name,
+							       const char
+							       *vector_coverage_name,
+							       const char
+							       *raster_coverage_name,
+							       int paint_order);
+
+    SPATIALITE_PRIVATE int unregister_styled_group (void *p_sqlite,
+						    const char *group_name);
+
+    SPATIALITE_PRIVATE int unregister_styled_group_layer (void *p_sqlite,
+							  int item_id,
+							  const char
+							  *group_name,
+							  const char
+							  *vector_coverage_name,
+							  const char
+							  *raster_coverage_name);
+
     SPATIALITE_PRIVATE int styled_group_set_infos (void *p_sqlite,
 						   const char *group_name,
 						   const char *title,
 						   const char *abstract);
 
+    /* DEPRECATED - always use register_group_style_ex */
     SPATIALITE_PRIVATE int register_group_style (void *p_sqlite,
 						 const char *group_name,
 						 int style_id,
-						 const unsigned char
-						 *p_blob, int n_bytes);
+						 const unsigned char *p_blob,
+						 int n_bytes);
+
+    SPATIALITE_PRIVATE int register_group_style_ex (void *p_sqlite,
+						    const unsigned char *p_blob,
+						    int n_bytes);
+
+    SPATIALITE_PRIVATE int unregister_group_style (void *p_sqlite, int style_id,
+						   const char *style_name,
+						   int remove_all);
+
+    SPATIALITE_PRIVATE int reload_group_style (void *p_sqlite, int style_id,
+					       const char *style_name,
+					       const unsigned char *p_blob,
+					       int n_bytes);
+
+    SPATIALITE_PRIVATE int register_styled_group_style (void *p_sqlite,
+							const char *group_name,
+							int style_id,
+							const char *style_name);
+
+    SPATIALITE_PRIVATE int unregister_styled_group_style (void *p_sqlite,
+							  const char
+							  *group_name,
+							  int style_id,
+							  const char
+							  *style_name);
 
     SPATIALITE_PRIVATE int createIsoMetadataTables (void *p_sqlite,
 						    int relaxed);
@@ -348,6 +578,53 @@ extern "C"
     SPATIALITE_PRIVATE int checkPopulatedCoverage (void *p_sqlite,
 						   const char *coverage_name);
 
+    SPATIALITE_PRIVATE int createVectorCoveragesTable (void *p_sqlite);
+
+    SPATIALITE_PRIVATE int register_vector_coverage (void *p_sqlite,
+						     const char *coverage_name,
+						     const char *f_table_name,
+						     const char
+						     *f_geometry_column,
+						     const char *title,
+						     const char *abstract);
+
+    SPATIALITE_PRIVATE int unregister_vector_coverage (void *p_sqlite,
+						       const char
+						       *coverage_name);
+
+    SPATIALITE_PRIVATE int set_vector_coverage_infos (void *p_sqlite,
+						      const char *coverage_name,
+						      const char *title,
+						      const char *abstract);
+
+    SPATIALITE_PRIVATE int register_vector_coverage_srid (void *p_sqlite,
+							  const char
+							  *coverage_name,
+							  int srid);
+
+    SPATIALITE_PRIVATE int unregister_vector_coverage_srid (void *p_sqlite,
+							    const char
+							    *coverage_name,
+							    int srid);
+
+    SPATIALITE_PRIVATE int register_vector_coverage_keyword (void *p_sqlite,
+							     const char
+							     *coverage_name,
+							     const char
+							     *keyword);
+
+    SPATIALITE_PRIVATE int unregister_vector_coverage_keyword (void *p_sqlite,
+							       const char
+							       *coverage_name,
+							       const char
+							       *keyword);
+
+    SPATIALITE_PRIVATE int update_vector_coverage_extent (void *p_sqlite,
+							  const void *cache,
+							  const char
+							  *coverage_name,
+							  int transaction);
+
     SPATIALITE_PRIVATE const char *splite_lwgeom_version (void);
 
     SPATIALITE_PRIVATE void splite_lwgeom_init (void);
@@ -365,8 +642,8 @@ extern "C"
 							       splite_xmlSchema_cache_item
 							       *p);
 
-    SPATIALITE_PRIVATE void
-	vxpath_free_namespaces (struct vxpath_namespaces *ns_list);
+    SPATIALITE_PRIVATE void vxpath_free_namespaces (struct vxpath_namespaces
+						    *ns_list);
 
     SPATIALITE_PRIVATE struct vxpath_namespaces *vxpath_get_namespaces (void
 									*p_xml_doc);
@@ -411,6 +688,10 @@ extern "C"
 
     SPATIALITE_PRIVATE int gaiaAuxClonerExecute (const void *cloner);
 
+    SPATIALITE_PRIVATE int gaia_matrix_to_arrays (const unsigned char *blob,
+						  int blob_sz, double *E,
+						  double *N, double *Z);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/md5/Makefile.in b/src/md5/Makefile.in
index 5155c36..6062ad1 100644
--- a/src/md5/Makefile.in
+++ b/src/md5/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,8 +90,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/md5
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -89,6 +97,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -168,6 +178,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -324,7 +335,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/md5/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/md5/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -376,14 +386,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -616,6 +626,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/shapefiles/Makefile.in b/src/shapefiles/Makefile.in
index 7e29bb1..c542a5d 100644
--- a/src/shapefiles/Makefile.in
+++ b/src/shapefiles/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/shapefiles
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -168,6 +177,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -323,7 +333,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/shapefiles/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/shapefiles/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -375,14 +384,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -615,6 +624,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/shapefiles/shapefiles.c b/src/shapefiles/shapefiles.c
index 63d3466..f1287e8 100644
--- a/src/shapefiles/shapefiles.c
+++ b/src/shapefiles/shapefiles.c
@@ -1874,10 +1874,10 @@ check_spatial_metadata (const void *handle, const char *db_prefix)
 {
 /* internal utility function:
 /
-/ 0 - if no valid SpatialMetaData where found
-/ 1 - if SpatiaLite-like (legacy) SpatialMetadata where found
-/ 2 - if FDO-OGR-like SpatialMetadata where found
-/ 3 - if SpatiaLite-like (current) SpatialMetadata where found
+/ 0 - if no valid SpatialMetaData were found
+/ 1 - if SpatiaLite-like (legacy) SpatialMetadata were found
+/ 2 - if FDO-OGR-like SpatialMetadata were found
+/ 3 - if SpatiaLite-like (current) SpatialMetadata were found
 /
 */
     sqlite3 *sqlite = (sqlite3 *) handle;
@@ -4421,7 +4421,7 @@ do_delete_duplicates2 (sqlite3 * sqlite, sqlite3_int64 rowid,
 
 static int
 do_delete_duplicates (sqlite3 * sqlite, const char *sql1, const char *sql2,
-		      int *count)
+		      int *count, int transaction)
 {
 /* deleting duplicate rows */
     struct resultset_comparator *rs_obj = NULL;
@@ -4433,14 +4433,18 @@ do_delete_duplicates (sqlite3 * sqlite, const char *sql1, const char *sql2,
 
     *count = 0;
 
-/* the complete operation is handled as an unique SQL Transaction */
-    ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &sql_err);
-    if (ret != SQLITE_OK)
+    if (transaction)
       {
-	  spatialite_e ("BEGIN TRANSACTION error: %s\n", sql_err);
-	  sqlite3_free (sql_err);
-	  return 0;
+	  /* the complete operation is handled as an unique SQL Transaction */
+	  ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &sql_err);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("BEGIN TRANSACTION error: %s\n", sql_err);
+		sqlite3_free (sql_err);
+		return 0;
+	    }
       }
+
 /* preparing the main SELECT statement */
     ret = sqlite3_prepare_v2 (sqlite, sql1, strlen (sql1), &stmt1, NULL);
     if (ret != SQLITE_OK)
@@ -4492,13 +4496,16 @@ do_delete_duplicates (sqlite3 * sqlite, const char *sql1, const char *sql2,
     sqlite3_finalize (stmt2);
     destroy_resultset_comparator (rs_obj);
 
-/* confirm the still pending Transaction */
-    ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &sql_err);
-    if (ret != SQLITE_OK)
+    if (transaction)
       {
-	  spatialite_e ("COMMIT TRANSACTION error: %s\n", sql_err);
-	  sqlite3_free (sql_err);
-	  return 0;
+	  /* confirm the still pending Transaction */
+	  ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &sql_err);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("COMMIT TRANSACTION error: %s\n", sql_err);
+		sqlite3_free (sql_err);
+		return 0;
+	    }
       }
 
     *count = cnt;
@@ -4511,20 +4518,24 @@ do_delete_duplicates (sqlite3 * sqlite, const char *sql1, const char *sql2,
     if (stmt2)
 	sqlite3_finalize (stmt2);
 
-/* performing a ROLLBACK anyway */
-    ret = sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, &sql_err);
-    if (ret != SQLITE_OK)
+    if (transaction)
       {
-	  spatialite_e ("ROLLBACK TRANSACTION error: %s\n", sql_err);
-	  sqlite3_free (sql_err);
-	  return 0;
+	  /* performing a ROLLBACK anyway */
+	  ret = sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, &sql_err);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("ROLLBACK TRANSACTION error: %s\n", sql_err);
+		sqlite3_free (sql_err);
+		return 0;
+	    }
       }
 
     return 0;
 }
 
 SPATIALITE_DECLARE void
-remove_duplicated_rows_ex (sqlite3 * sqlite, char *table, int *removed)
+remove_duplicated_rows_ex2 (sqlite3 * sqlite, char *table, int *removed,
+			    int transaction)
 {
 /* attempting to delete Duplicate rows from a table */
     char *sql;
@@ -4611,7 +4622,7 @@ remove_duplicated_rows_ex (sqlite3 * sqlite, char *table, int *removed)
 	sql = sql_statement.Buffer;
     else
 	sql = "NULL-SELECT";
-    if (do_delete_duplicates (sqlite, sql, sql2, &count))
+    if (do_delete_duplicates (sqlite, sql, sql2, &count, transaction))
       {
 	  if (removed == NULL)
 	    {
@@ -4629,6 +4640,13 @@ remove_duplicated_rows_ex (sqlite3 * sqlite, char *table, int *removed)
 }
 
 SPATIALITE_DECLARE void
+remove_duplicated_rows_ex (sqlite3 * sqlite, char *table, int *removed)
+{
+/* attempting to delete Duplicate rows from a table */
+    remove_duplicated_rows_ex2 (sqlite, table, removed, 1);
+}
+
+SPATIALITE_DECLARE void
 remove_duplicated_rows (sqlite3 * sqlite, char *table)
 {
 /* attempting to delete Duplicate rows from a table */
@@ -5162,6 +5180,17 @@ elementary_geometries_ex (sqlite3 * sqlite,
 			  char *pKey, char *multiId, int *xrows)
 {
 /* attempting to create a derived table surely containing elemetary Geoms */
+    elementary_geometries_ex2 (sqlite, inTable, geometry, outTable, pKey,
+			       multiId, xrows, 1);
+}
+
+SPATIALITE_DECLARE void
+elementary_geometries_ex2 (sqlite3 * sqlite,
+			   char *inTable, char *geometry, char *outTable,
+			   char *pKey, char *multiId, int *xrows,
+			   int transaction)
+{
+/* attempting to create a derived table surely containing elemetary Geoms */
     char type[128];
     int srid;
     char dims[64];
@@ -5197,13 +5226,16 @@ elementary_geometries_ex (sqlite3 * sqlite,
 	  return;
       }
 
-/* starts a transaction */
-    ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &errMsg);
-    if (ret != SQLITE_OK)
+    if (transaction)
       {
-	  spatialite_e ("SQL error: %s\n", errMsg);
-	  sqlite3_free (errMsg);
-	  goto abort;
+	  /* starts a transaction */
+	  ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &errMsg);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("SQL error: %s\n", errMsg);
+		sqlite3_free (errMsg);
+		goto abort;
+	    }
       }
 
     gaiaOutBufferInitialize (&sql_statement);
@@ -5662,13 +5694,16 @@ elementary_geometries_ex (sqlite3 * sqlite,
     sqlite3_finalize (stmt_in);
     sqlite3_finalize (stmt_out);
 
-/* commits the transaction */
-    ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &errMsg);
-    if (ret != SQLITE_OK)
+    if (transaction)
       {
-	  spatialite_e ("SQL error: %s\n", errMsg);
-	  sqlite3_free (errMsg);
-	  goto abort;
+	  /* commits the transaction */
+	  ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &errMsg);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("SQL error: %s\n", errMsg);
+		sqlite3_free (errMsg);
+		goto abort;
+	    }
       }
     *xrows = inserted;
     return;
@@ -5678,6 +5713,17 @@ elementary_geometries_ex (sqlite3 * sqlite,
 	sqlite3_finalize (stmt_in);
     if (stmt_out)
 	sqlite3_finalize (stmt_out);
+
+    if (transaction)
+      {
+	  /* rolling bacj the transaction */
+	  ret = sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, &errMsg);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("SQL error: %s\n", errMsg);
+		sqlite3_free (errMsg);
+	    }
+      }
     *xrows = 0;
 }
 
diff --git a/src/shapefiles/validator.c b/src/shapefiles/validator.c
index 1a6fad1..0990a53 100644
--- a/src/shapefiles/validator.c
+++ b/src/shapefiles/validator.c
@@ -2300,7 +2300,7 @@ sanitize_geometry_column_common (const void *p_cache, sqlite3 * sqlite,
     else if (report->n_repaired > 0)
       {
 	  fprintf (out,
-		   "\t\t\t<tr><td colspan=\"2\" class=\"ok\">This layer has been succesfully repaired and is now completely valid;<br>");
+		   "\t\t\t<tr><td colspan=\"2\" class=\"ok\">This layer has been successfully repaired and is now completely valid;<br>");
 	  fprintf (out,
 		   "doesn't require any further corrective action.</td></tr>\n");
       }
@@ -2632,7 +2632,7 @@ sanitize_all_geometry_columns_common (const void *p_cache, sqlite3 * sqlite,
 		else if (n_discarded == 0 && n_failures == 0)
 		  {
 		      p_msg =
-			  "NONE: this layer has been succesfully sanitized and is now fully valid";
+			  "NONE: this layer has been successfully sanitized and is now fully valid";
 		      cls_msg = "ok";
 		  }
 		else if (n_discarded == 0 && n_failures > 0)
diff --git a/src/spatialite/Makefile.am b/src/spatialite/Makefile.am
index be4acdb..66ad19e 100644
--- a/src/spatialite/Makefile.am
+++ b/src/spatialite/Makefile.am
@@ -10,6 +10,8 @@ SPATIALITE_COMMON_SOURCES = mbrcache.c \
 	metatables.c \
 	statistics.c \
 	extra_tables.c \
+	se_helpers.c \
+	srid_aux.c \
 	table_cloner.c \
 	virtualdbf.c \
 	virtualXL.c \
diff --git a/src/spatialite/Makefile.in b/src/spatialite/Makefile.in
index c10fb3e..259be7b 100644
--- a/src/spatialite/Makefile.in
+++ b/src/spatialite/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/spatialite
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -97,6 +106,7 @@ libsplite_la_LIBADD =
 am__objects_1 = libsplite_la-mbrcache.lo libsplite_la-spatialite.lo \
 	libsplite_la-spatialite_init.lo libsplite_la-metatables.lo \
 	libsplite_la-statistics.lo libsplite_la-extra_tables.lo \
+	libsplite_la-se_helpers.lo libsplite_la-srid_aux.lo \
 	libsplite_la-table_cloner.lo libsplite_la-virtualdbf.lo \
 	libsplite_la-virtualXL.lo libsplite_la-virtualfdo.lo \
 	libsplite_la-virtualgpkg.lo libsplite_la-virtualbbox.lo \
@@ -116,6 +126,7 @@ splite_la_LIBADD =
 am__objects_2 = splite_la-mbrcache.lo splite_la-spatialite.lo \
 	splite_la-spatialite_init.lo splite_la-metatables.lo \
 	splite_la-statistics.lo splite_la-extra_tables.lo \
+	splite_la-se_helpers.lo splite_la-srid_aux.lo \
 	splite_la-table_cloner.lo splite_la-virtualdbf.lo \
 	splite_la-virtualXL.lo splite_la-virtualfdo.lo \
 	splite_la-virtualgpkg.lo splite_la-virtualbbox.lo \
@@ -187,6 +198,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -326,6 +338,8 @@ SPATIALITE_COMMON_SOURCES = mbrcache.c \
 	metatables.c \
 	statistics.c \
 	extra_tables.c \
+	se_helpers.c \
+	srid_aux.c \
 	table_cloner.c \
 	virtualdbf.c \
 	virtualXL.c \
@@ -363,7 +377,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/spatialite/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/spatialite/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -408,8 +421,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsplite_la-extra_tables.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsplite_la-mbrcache.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsplite_la-metatables.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsplite_la-se_helpers.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsplite_la-spatialite.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsplite_la-spatialite_init.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsplite_la-srid_aux.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsplite_la-statistics.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsplite_la-table_cloner.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsplite_la-virtualXL.Plo at am__quote@
@@ -425,8 +440,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/splite_la-extra_tables.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/splite_la-mbrcache.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/splite_la-metatables.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/splite_la-se_helpers.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/splite_la-spatialite.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/splite_la-spatialite_init.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/splite_la-srid_aux.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/splite_la-statistics.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/splite_la-table_cloner.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/splite_la-virtualXL.Plo at am__quote@
@@ -445,14 +462,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -503,6 +520,20 @@ libsplite_la-extra_tables.lo: extra_tables.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -c -o libsplite_la-extra_tables.lo `test -f 'extra_tables.c' || echo '$(srcdir)/'`extra_tables.c
 
+libsplite_la-se_helpers.lo: se_helpers.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -MT libsplite_la-se_helpers.lo -MD -MP -MF $(DEPDIR)/libsplite_la-se_helpers.Tpo -c -o libsplite_la-se_helpers.lo `test -f 'se_helpers.c' || echo '$(srcdir)/'`se_helpers.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsplite_la-se_helpers.Tpo $(DEPDIR)/libsplite_la-se_helpers.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='se_helpers.c' object='libsplite_la-se_helpers.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -c -o libsplite_la-se_helpers.lo `test -f 'se_helpers.c' || echo '$(srcdir)/'`se_helpers.c
+
+libsplite_la-srid_aux.lo: srid_aux.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -MT libsplite_la-srid_aux.lo -MD -MP -MF $(DEPDIR)/libsplite_la-srid_aux.Tpo -c -o libsplite_la-srid_aux.lo `test -f 'srid_aux.c' || echo '$(srcdir)/'`srid_aux.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsplite_la-srid_aux.Tpo $(DEPDIR)/libsplite_la-srid_aux.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='srid_aux.c' object='libsplite_la-srid_aux.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -c -o libsplite_la-srid_aux.lo `test -f 'srid_aux.c' || echo '$(srcdir)/'`srid_aux.c
+
 libsplite_la-table_cloner.lo: table_cloner.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -MT libsplite_la-table_cloner.lo -MD -MP -MF $(DEPDIR)/libsplite_la-table_cloner.Tpo -c -o libsplite_la-table_cloner.lo `test -f 'table_cloner.c' || echo '$(srcdir)/'`table_cloner.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsplite_la-table_cloner.Tpo $(DEPDIR)/libsplite_la-table_cloner.Plo
@@ -622,6 +653,20 @@ splite_la-extra_tables.lo: extra_tables.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o splite_la-extra_tables.lo `test -f 'extra_tables.c' || echo '$(srcdir)/'`extra_tables.c
 
+splite_la-se_helpers.lo: se_helpers.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT splite_la-se_helpers.lo -MD -MP -MF $(DEPDIR)/splite_la-se_helpers.Tpo -c -o splite_la-se_helpers.lo `test -f 'se_helpers.c' || echo '$(srcdir)/'`se_helpers.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/splite_la-se_helpers.Tpo $(DEPDIR)/splite_la-se_helpers.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='se_helpers.c' object='splite_la-se_helpers.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o splite_la-se_helpers.lo `test -f 'se_helpers.c' || echo '$(srcdir)/'`se_helpers.c
+
+splite_la-srid_aux.lo: srid_aux.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT splite_la-srid_aux.lo -MD -MP -MF $(DEPDIR)/splite_la-srid_aux.Tpo -c -o splite_la-srid_aux.lo `test -f 'srid_aux.c' || echo '$(srcdir)/'`srid_aux.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/splite_la-srid_aux.Tpo $(DEPDIR)/splite_la-srid_aux.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='srid_aux.c' object='splite_la-srid_aux.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o splite_la-srid_aux.lo `test -f 'srid_aux.c' || echo '$(srcdir)/'`srid_aux.c
+
 splite_la-table_cloner.lo: table_cloner.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT splite_la-table_cloner.lo -MD -MP -MF $(DEPDIR)/splite_la-table_cloner.Tpo -c -o splite_la-table_cloner.lo `test -f 'table_cloner.c' || echo '$(srcdir)/'`table_cloner.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/splite_la-table_cloner.Tpo $(DEPDIR)/splite_la-table_cloner.Plo
@@ -909,6 +954,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/spatialite/extra_tables.c b/src/spatialite/extra_tables.c
index 23bb562..dbc16e5 100644
--- a/src/spatialite/extra_tables.c
+++ b/src/spatialite/extra_tables.c
@@ -775,6 +775,34 @@ check_raster_coverages (sqlite3 * sqlite)
 }
 
 static int
+check_raster_coverages_srid (sqlite3 * sqlite)
+{
+/* checking if the "raster_coverages_srid" table already exists */
+    int exists = 0;
+    char *sql_statement;
+    char *errMsg = NULL;
+    int ret;
+    char **results;
+    int rows;
+    int columns;
+    int i;
+    sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table' "
+	"AND Upper(name) = Upper('raster_coverages_srid')";
+    ret =
+	sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns,
+			   &errMsg);
+    if (ret != SQLITE_OK)
+      {
+	  sqlite3_free (errMsg);
+	  return 0;
+      }
+    for (i = 1; i <= rows; i++)
+	exists = 1;
+    sqlite3_free_table (results);
+    return exists;
+}
+
+static int
 check_raster_coverages_ref_sys (sqlite3 * sqlite)
 {
 /* checking if the "raster_coverages_ref_sys" view already exists */
@@ -803,6 +831,34 @@ check_raster_coverages_ref_sys (sqlite3 * sqlite)
 }
 
 static int
+check_raster_coverages_keyword (sqlite3 * sqlite)
+{
+/* checking if the "raster_coverages_keyword" table already exists */
+    int exists = 0;
+    char *sql_statement;
+    char *errMsg = NULL;
+    int ret;
+    char **results;
+    int rows;
+    int columns;
+    int i;
+    sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table' "
+	"AND Upper(name) = Upper('raster_coverages_keyword')";
+    ret =
+	sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns,
+			   &errMsg);
+    if (ret != SQLITE_OK)
+      {
+	  sqlite3_free (errMsg);
+	  return 0;
+      }
+    for (i = 1; i <= rows; i++)
+	exists = 1;
+    sqlite3_free_table (results);
+    return exists;
+}
+
+static int
 create_raster_coverages (sqlite3 * sqlite)
 {
 /* creating the "raster_coverages" table */
@@ -826,6 +882,10 @@ create_raster_coverages (sqlite3 * sqlite)
 	"nodata_pixel BLOB NOT NULL,\n"
 	"palette BLOB,\n"
 	"statistics BLOB,\n"
+	"geo_minx DOUBLE,\n"
+	"geo_miny DOUBLE,\n"
+	"geo_maxx DOUBLE,\n"
+	"geo_maxy DOUBLE,\n"
 	"extent_minx DOUBLE,\n"
 	"extent_miny DOUBLE,\n"
 	"extent_maxx DOUBLE,\n"
@@ -835,6 +895,12 @@ create_raster_coverages (sqlite3 * sqlite)
 	"section_paths INTEGER NOT NULL,\n"
 	"section_md5 INTEGER NOT NULL,\n"
 	"section_summary INTEGER NOT NULL,\n"
+	"is_queryable INTEGER,\n"
+	"red_band_index INTEGER,\n"
+	"green_band_index INTEGER,\n"
+	"blue_band_index INTEGER,\n"
+	"nir_band_index INTEGER,\n"
+	"enable_auto_ndvi INTEGER,\n"
 	"CONSTRAINT fk_rc_srs FOREIGN KEY (srid) "
 	"REFERENCES spatial_ref_sys (srid))";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
@@ -1747,6 +1813,66 @@ create_raster_coverages (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
+
+/* creating the raster_coverages_srid table */
+    sql = "CREATE TABLE raster_coverages_srid (\n"
+	"coverage_name TEXT NOT NULL,\n"
+	"srid INTEGER NOT NULL,\n"
+	"extent_minx DOUBLE,\n"
+	"extent_miny DOUBLE,\n"
+	"extent_maxx DOUBLE,\n"
+	"extent_maxy DOUBLE,\n"
+	"CONSTRAINT pk_raster_coverages_srid PRIMARY KEY (coverage_name, srid),\n"
+	"CONSTRAINT fk_raster_coverages_srid FOREIGN KEY (coverage_name) "
+	"REFERENCES raster_coverages (coverage_name) ON DELETE CASCADE,\n"
+	"CONSTRAINT fk_raster_srid FOREIGN KEY (srid) "
+	"REFERENCES spatial_ref_sys (srid))";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("CREATE TABLE 'raster_coverages_srid' error: %s\n",
+			err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+/* creating the raster_coverages_srid triggers */
+    sql = "CREATE TRIGGER raster_coverages_srid_name_insert\n"
+	"BEFORE INSERT ON 'raster_coverages_srid'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on raster_coverages_srid violates constraint: "
+	"coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'insert on raster_coverages_srid violates constraint: "
+	"coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'insert on raster_coverages_srid violates constraint: "
+	"coverage_name value must be lower case')\n"
+	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+    sql = "CREATE TRIGGER raster_coverages_srid_name_update\n"
+	"BEFORE UPDATE OF 'coverage_name' ON 'raster_coverages_srid'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on raster_coverages_srid violates constraint: "
+	"coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'update on raster_coverages_srid violates constraint: "
+	"coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'update on raster_coverages_srid violates constraint: "
+	"coverage_name value must be lower case')\n"
+	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+
 /* creating the raster_coverages_ref_sys view */
     sql = "CREATE VIEW raster_coverages_ref_sys AS\n"
 	"SELECT c.coverage_name AS coverage_name, c.title AS title, "
@@ -1756,17 +1882,44 @@ create_raster_coverages (sqlite3 * sqlite)
 	"c.tile_width AS tile_width, c.tile_height AS tile_height, "
 	"c.horz_resolution AS horz_resolution, c.vert_resolution AS vert_resolution, "
 	"c.nodata_pixel AS nodata_pixel, c.palette AS palette, "
-	"c.statistics AS statistics, c.extent_minx AS extent_minx, "
+	"c.statistics AS statistics, c.geo_minx AS geo_minx, "
+	"c.geo_miny AS geo_miny, c.geo_maxx AS geo_maxx, "
+	"c.geo_maxy AS geo_maxy, c.extent_minx AS extent_minx, "
 	"c.extent_miny AS extent_miny, c.extent_maxx AS extent_maxx, "
-	"c.extent_maxy AS extent_maxy, c.srid AS srid, "
+	"c.extent_maxy AS extent_maxy, c.srid AS srid, 1 AS native_srid, "
+	"s.auth_name AS auth_name, s.auth_srid AS auth_srid, "
+	"s.ref_sys_name AS ref_sys_name, s.proj4text AS proj4text, "
+	"c.strict_resolution AS strict_resolution, "
+	"c.mixed_resolutions AS mixed_resolutions, "
+	"c.section_paths AS section_paths, c.section_md5 AS section_md5, "
+	"c.section_summary AS section_summary, c.is_queryable AS is_queryable, "
+	"c.red_band_index, c.green_band_index, c.blue_band_index, "
+	"c.nir_band_index, c.enable_auto_ndvi\n"
+	"FROM raster_coverages AS c\n"
+	"LEFT JOIN spatial_ref_sys AS s ON (c.srid = s.srid)\n"
+	"UNION\nSELECT c.coverage_name AS coverage_name, c.title AS title, "
+	"c.abstract AS abstract,  c.sample_type AS sample_type, "
+	"c.pixel_type AS pixel_type, c.num_bands AS num_bands, "
+	"c.compression AS compression, c.quality AS quality, "
+	"c.tile_width AS tile_width, c.tile_height AS tile_height, "
+	"c.horz_resolution AS horz_resolution, c.vert_resolution AS vert_resolution, "
+	"c.nodata_pixel AS nodata_pixel, c.palette AS palette, "
+	"c.statistics AS statistics, c.geo_minx AS geo_minx, "
+	"c.geo_miny AS geo_miny, c.geo_maxx AS geo_maxx, "
+	"c.geo_maxy AS geo_maxy, x.extent_minx AS extent_minx, "
+	"x.extent_miny AS extent_miny, x.extent_maxx AS extent_maxx, "
+	"x.extent_maxy AS extent_maxy, s.srid AS srid, 0 AS native_srid, "
 	"s.auth_name AS auth_name, s.auth_srid AS auth_srid, "
 	"s.ref_sys_name AS ref_sys_name, s.proj4text AS proj4text, "
 	"c.strict_resolution AS strict_resolution, "
 	"c.mixed_resolutions AS mixed_resolutions, "
 	"c.section_paths AS section_paths, c.section_md5 AS section_md5, "
-	"c.section_summary AS section_summary\n"
+	"c.section_summary AS section_summary, c.is_queryable AS is_queryable, "
+	"c.red_band_index, c.green_band_index, c.blue_band_index, "
+	"c.nir_band_index, c.enable_auto_ndvi\n"
 	"FROM raster_coverages AS c\n"
-	"LEFT JOIN spatial_ref_sys AS s ON (c.srid = s.srid)";
+	"JOIN raster_coverages_srid AS x ON (c.coverage_name = x.coverage_name)\n"
+	"LEFT JOIN spatial_ref_sys AS s ON (x.srid = s.srid)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -1775,6 +1928,59 @@ create_raster_coverages (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
+
+/* creating the raster_coverages_keyword table */
+    sql = "CREATE TABLE raster_coverages_keyword (\n"
+	"coverage_name TEXT NOT NULL,\n"
+	"keyword TEXT NOT NULL,\n"
+	"CONSTRAINT pk_raster_coverages_keyword PRIMARY KEY (coverage_name, keyword),\n"
+	"CONSTRAINT fk_raster_coverages_keyword FOREIGN KEY (coverage_name) "
+	"REFERENCES raster_coverages (coverage_name) ON DELETE CASCADE)";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("CREATE TABLE 'raster_coverages_keyword' error: %s\n",
+			err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+/* creating the raster_coverages_keyword triggers */
+    sql = "CREATE TRIGGER raster_coverages_keyword_name_insert\n"
+	"BEFORE INSERT ON 'raster_coverages_keyword'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on raster_coverages_keyword violates constraint: "
+	"coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'insert on raster_coverages_keyword violates constraint: "
+	"coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'insert on raster_coverages_keyword violates constraint: "
+	"coverage_name value must be lower case')\n"
+	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+    sql = "CREATE TRIGGER raster_coverages_keyword_name_update\n"
+	"BEFORE UPDATE OF 'coverage_name' ON 'raster_coverages_keyword'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on raster_coverages_keyword violates constraint: "
+	"coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'update on raster_coverages_keyword violates constraint: "
+	"coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'update on raster_coverages_keyword violates constraint: "
+	"coverage_name value must be lower case')\n"
+	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
     return 1;
 }
 
@@ -1793,6 +1999,13 @@ createRasterCoveragesTable (void *p_sqlite)
 	      ("CreateRasterCoveragesTable() error: table 'raster_coverages' already exists\n");
 	  goto error;
       }
+    ok_table = check_raster_coverages_srid (sqlite);
+    if (ok_table)
+      {
+	  spatialite_e
+	      ("CreateRasterCoveragesTable() error: table 'raster_coverages_srid' already exists\n");
+	  goto error;
+      }
     ok_table = check_raster_coverages_ref_sys (sqlite);
     if (ok_table)
       {
@@ -1800,6 +2013,13 @@ createRasterCoveragesTable (void *p_sqlite)
 	      ("CreateRasterCoveragesTable() error: view 'raster_coverages_ref_sys' already exists\n");
 	  goto error;
       }
+    ok_table = check_raster_coverages_keyword (sqlite);
+    if (ok_table)
+      {
+	  spatialite_e
+	      ("CreateRasterCoveragesTable() error: table 'raster_coverages_keyword' already exists\n");
+	  goto error;
+      }
 
 /* creating the main RasterCoverages table */
     if (!create_raster_coverages (sqlite))
@@ -1881,12 +2101,10 @@ checkPopulatedCoverage (void *p_sqlite, const char *coverage_name)
     return is_populated;
 }
 
-#ifdef ENABLE_LIBXML2		/* including LIBXML2 */
-
 static int
-check_styling_table (sqlite3 * sqlite, const char *table, int is_view)
+check_vector_coverages (sqlite3 * sqlite)
 {
-/* checking if some SLD/SE Styling-related table/view already exists */
+/* checking if the "vector_coverages" table already exists */
     int exists = 0;
     char *sql_statement;
     char *errMsg = NULL;
@@ -1895,14 +2113,11 @@ check_styling_table (sqlite3 * sqlite, const char *table, int is_view)
     int rows;
     int columns;
     int i;
-    sql_statement =
-	sqlite3_mprintf ("SELECT name FROM sqlite_master WHERE type = '%s'"
-			 "AND Upper(name) = Upper(%Q)",
-			 (!is_view) ? "table" : "view", table);
+    sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table' "
+	"AND Upper(name) = Upper('vector_coverages')";
     ret =
 	sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns,
 			   &errMsg);
-    sqlite3_free (sql_statement);
     if (ret != SQLITE_OK)
       {
 	  sqlite3_free (errMsg);
@@ -1915,143 +2130,144 @@ check_styling_table (sqlite3 * sqlite, const char *table, int is_view)
 }
 
 static int
-create_external_graphics (sqlite3 * sqlite)
+check_vector_coverages_srid (sqlite3 * sqlite)
 {
-/* creating the SE_external_graphics table */
-    char *sql;
+/* checking if the "vector_coverages_srid" table already exists */
+    int exists = 0;
+    char *sql_statement;
+    char *errMsg = NULL;
     int ret;
-    char *err_msg = NULL;
-    sql = "CREATE TABLE SE_external_graphics (\n"
-	"xlink_href TEXT NOT NULL PRIMARY KEY,\n"
-	"title TEXT NOT NULL DEFAULT '*** undefined ***',\n"
-	"abstract TEXT NOT NULL DEFAULT '*** undefined ***',\n"
-	"resource BLOB NOT NULL,\n"
-	"file_name TEXT NOT NULL DEFAULT '*** undefined ***')";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    char **results;
+    int rows;
+    int columns;
+    int i;
+    sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table' "
+	"AND Upper(name) = Upper('vector_coverages_srid')";
+    ret =
+	sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns,
+			   &errMsg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("CREATE TABLE 'SE_external_graphics' error: %s\n",
-			err_msg);
-	  sqlite3_free (err_msg);
+	  sqlite3_free (errMsg);
 	  return 0;
       }
-/* creating the SE_external_graphics triggers */
-    sql = "CREATE TRIGGER sextgr_mime_type_insert\n"
-	"BEFORE INSERT ON 'SE_external_graphics'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_external_graphics violates constraint: "
-	"GetMimeType(resource) must be one of ''image/gif'' | ''image/png'' | "
-	"''image/jpeg'' | ''image/svg+xml''')\n"
-	"WHERE GetMimeType(NEW.resource) NOT IN ('image/gif', 'image/png', "
-	"'image/jpeg', 'image/svg+xml');\nEND";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    for (i = 1; i <= rows; i++)
+	exists = 1;
+    sqlite3_free_table (results);
+    return exists;
+}
+
+static int
+check_vector_coverages_ref_sys (sqlite3 * sqlite)
+{
+/* checking if the "vector_coverages_ref_sys" view already exists */
+    int exists = 0;
+    char *sql_statement;
+    char *errMsg = NULL;
+    int ret;
+    char **results;
+    int rows;
+    int columns;
+    int i;
+    sql_statement = "SELECT name FROM sqlite_master WHERE type = 'view' "
+	"AND Upper(name) = Upper('vector_coverages_ref_sys')";
+    ret =
+	sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns,
+			   &errMsg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
-	  sqlite3_free (err_msg);
+	  sqlite3_free (errMsg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER sextgr_mime_type_update\n"
-	"BEFORE UPDATE OF 'mime_type' ON 'SE_external_graphics'"
-	"\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT, 'update on SE_external_graphics violates constraint: "
-	"GetMimeType(resource) must be one of ''image/gif'' | ''image/png'' | "
-	"''image/jpeg'' | ''image/svg+xml''')\n"
-	"WHERE GetMimeType(NEW.resource) NOT IN ('image/gif', 'image/png', "
-	"'image/jpeg', 'image/svg+xml');\nEND";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    for (i = 1; i <= rows; i++)
+	exists = 1;
+    sqlite3_free_table (results);
+    return exists;
+}
+
+static int
+check_vector_coverages_keyword (sqlite3 * sqlite)
+{
+/* checking if the "vector_coverages_keyword" table already exists */
+    int exists = 0;
+    char *sql_statement;
+    char *errMsg = NULL;
+    int ret;
+    char **results;
+    int rows;
+    int columns;
+    int i;
+    sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table' "
+	"AND Upper(name) = Upper('vector_coverages_keyword')";
+    ret =
+	sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns,
+			   &errMsg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
-	  sqlite3_free (err_msg);
+	  sqlite3_free (errMsg);
 	  return 0;
       }
-    return 1;
+    for (i = 1; i <= rows; i++)
+	exists = 1;
+    sqlite3_free_table (results);
+    return exists;
 }
 
 static int
-create_vector_styled_layers (sqlite3 * sqlite, int relaxed)
+create_vector_coverages (sqlite3 * sqlite)
 {
-/* creating the SE_vector_styled_layers table */
+/* creating the "vector_coverages" table */
     char *sql;
     int ret;
     char *err_msg = NULL;
-    sql = "CREATE TABLE SE_vector_styled_layers (\n"
+    sql = "CREATE TABLE vector_coverages (\n"
+	"coverage_name TEXT NOT NULL PRIMARY KEY,\n"
 	"f_table_name TEXT NOT NULL,\n"
 	"f_geometry_column TEXT NOT NULL,\n"
-	"style_id INTEGER NOT NULL,\n"
-	"style_name TEXT NOT NULL DEFAULT 'missing_name',\n"
-	"style BLOB NOT NULL,\n"
-	"CONSTRAINT pk_sevstl PRIMARY KEY "
-	"(f_table_name, f_geometry_column, style_id),\n"
-	"CONSTRAINT fk_sevstl FOREIGN KEY (f_table_name, f_geometry_column) "
+	"geo_minx DOUBLE,\n"
+	"geo_miny DOUBLE,\n"
+	"geo_maxx DOUBLE,\n"
+	"geo_maxy DOUBLE,\n"
+	"extent_minx DOUBLE,\n"
+	"extent_miny DOUBLE,\n"
+	"extent_maxx DOUBLE,\n"
+	"extent_maxy DOUBLE,\n"
+	"title TEXT NOT NULL DEFAULT '*** missing Title ***',\n"
+	"abstract TEXT NOT NULL DEFAULT '*** missing Abstract ***',\n"
+	"is_queryable INTEGER,\n"
+	"CONSTRAINT fk_vector_coverages FOREIGN KEY (f_table_name, f_geometry_column) "
 	"REFERENCES geometry_columns (f_table_name, f_geometry_column) "
 	"ON DELETE CASCADE)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("CREATE TABLE 'SE_vector_styled_layers' error: %s\n",
-			err_msg);
-	  sqlite3_free (err_msg);
-	  return 0;
-      }
-/* creating the layer-style UNIQUE index */
-    sql = "CREATE UNIQUE INDEX idx_vector_style ON SE_vector_styled_layers "
-	"(f_table_name, f_geometry_column, style_name)";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
-    if (ret != SQLITE_OK)
-      {
-	  spatialite_e ("CREATE INDEX 'idx_vector_style' error: %s\n", err_msg);
+	  spatialite_e ("CREATE TABLE 'vector_coverages' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating the SE_vector_styled_layers triggers */
-    sql = "CREATE TRIGGER sevstl_f_table_name_insert\n"
-	"BEFORE INSERT ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
-	"f_table_name value must not contain a single quote')\n"
-	"WHERE NEW.f_table_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
-	"f_table_name value must not contain a double quote')\n"
-	"WHERE NEW.f_table_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
-	"f_table_name value must be lower case')\n"
-	"WHERE NEW.f_table_name <> lower(NEW.f_table_name);\nEND";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
-    if (ret != SQLITE_OK)
-      {
-	  spatialite_e ("SQL error: %s\n", err_msg);
-	  sqlite3_free (err_msg);
-	  return 0;
-      }
-    sql = "CREATE TRIGGER sevstl_f_table_name_update\n"
-	"BEFORE UPDATE OF 'f_table_name' ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
-	"f_table_name value must not contain a single quote')\n"
-	"WHERE NEW.f_table_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
-	"f_table_name value must not contain a double quote')\n"
-	"WHERE NEW.f_table_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
-	"f_table_name value must be lower case')\n"
-	"WHERE NEW.f_table_name <> lower(NEW.f_table_name);\nEND";
+/* creating the VectorLayers index */
+    sql = "CREATE UNIQUE INDEX idx_vector_coverages ON vector_coverages "
+	"(f_table_name, f_geometry_column)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e ("CREATE INDEX 'idx_vector_coverages' error: %s\n",
+			err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER sevstl_f_geometry_column_insert\n"
-	"BEFORE INSERT ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
-	"f_geometry_column value must not contain a single quote')\n"
-	"WHERE NEW.f_geometry_column LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
-	"f_geometry_column value must not contain a double quote')\n"
-	"WHERE NEW.f_geometry_column LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
-	"f_geometry_column value must be lower case')\n"
-	"WHERE NEW.f_geometry_column <> lower(NEW.f_geometry_column);\nEND";
+/* creating the vector_coverages triggers */
+    sql = "CREATE TRIGGER vector_coverages_name_insert\n"
+	"BEFORE INSERT ON 'vector_coverages'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on vector_coverages violates constraint: "
+	"coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'insert on vector_coverages violates constraint: "
+	"coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'insert on layer_vectors violates constraint: "
+	"coverage_name value must be lower case')\n"
+	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2059,17 +2275,17 @@ create_vector_styled_layers (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER sevstl_f_geometry_column_update\n"
-	"BEFORE UPDATE OF 'f_geometry_column' ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
-	"f_geometry_column value must not contain a single quote')\n"
-	"WHERE NEW.f_geometry_column LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
-	"f_geometry_column value must not contain a double quote')\n"
-	"WHERE NEW.f_geometry_column LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
-	"f_geometry_column value must be lower case')\n"
-	"WHERE NEW.f_geometry_column <> lower(NEW.f_geometry_column);\nEND";
+    sql = "CREATE TRIGGER vector_coverages_name_update\n"
+	"BEFORE UPDATE OF 'coverage_name' ON 'vector_coverages'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on vector_coverages violates constraint: "
+	"coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'update on vector_coverages violates constraint: "
+	"coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'update on vector_coverages violates constraint: "
+	"coverage_name value must be lower case')\n"
+	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2077,55 +2293,40 @@ create_vector_styled_layers (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    if (relaxed == 0)
-      {
-	  /* strong trigger - imposing XML schema validation */
-	  sql = "CREATE TRIGGER sevstl_style_insert\n"
-	      "BEFORE INSERT ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
-	      "not a valid SLD/SE Vector Style')\n"
-	      "WHERE XB_IsSldSeVectorStyle(NEW.style) <> 1;\n"
-	      "SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
-	      "not an XML Schema Validated SLD/SE Vector Style')\n"
-	      "WHERE XB_IsSchemaValidated(NEW.style) <> 1;\nEND";
-      }
-    else
-      {
-	  /* relaxed trigger - not imposing XML schema validation */
-	  sql = "CREATE TRIGGER sevstl_style_insert\n"
-	      "BEFORE INSERT ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
-	      "not a valid SLD/SE Vector Style')\n"
-	      "WHERE XB_IsSldSeVectorStyle(NEW.style) <> 1;\nEND";
-      }
+
+/* creating the vector_coverages_srid table */
+    sql = "CREATE TABLE vector_coverages_srid (\n"
+	"coverage_name TEXT NOT NULL,\n"
+	"srid INTEGER NOT NULL,\n"
+	"extent_minx DOUBLE,\n"
+	"extent_miny DOUBLE,\n"
+	"extent_maxx DOUBLE,\n"
+	"extent_maxy DOUBLE,\n"
+	"CONSTRAINT pk_vector_coverages_srid PRIMARY KEY (coverage_name, srid),\n"
+	"CONSTRAINT fk_vector_coverages_srid FOREIGN KEY (coverage_name) "
+	"REFERENCES vector_coverages (coverage_name) ON DELETE CASCADE,\n"
+	"CONSTRAINT fk_vector_srid FOREIGN KEY (srid) "
+	"REFERENCES spatial_ref_sys (srid))";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e ("CREATE TABLE 'vector_coverages_srid' error: %s\n",
+			err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    if (relaxed == 0)
-      {
-	  /* strong trigger - imposing XML schema validation */
-	  sql = "CREATE TRIGGER sevstl_style_update\n"
-	      "BEFORE UPDATE ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
-	      "not a valid SLD/SE Vector Style')\n"
-	      "WHERE XB_IsSldSeVectorStyle(NEW.style) <> 1;\n"
-	      "SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
-	      "not an XML Schema Validated SLD/SE Vector Style')\n"
-	      "WHERE XB_IsSchemaValidated(NEW.style) <> 1;\nEND";
-      }
-    else
-      {
-	  /* relaxed trigger - not imposing XML schema validation */
-	  sql = "CREATE TRIGGER sevstl_style_update\n"
-	      "BEFORE UPDATE ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
-	      "not a valid SLD/SE Vector Style')\n"
-	      "WHERE XB_IsSldSeVectorStyle(NEW.style) <> 1;\nEND";
-      }
+/* creating the vector_coverages_srid triggers */
+    sql = "CREATE TRIGGER vector_coverages_srid_name_insert\n"
+	"BEFORE INSERT ON 'vector_coverages_srid'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on vector_coverages_srid violates constraint: "
+	"coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'insert on vector_coverages_srid violates constraint: "
+	"coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'insert on vector_coverages_srid violates constraint: "
+	"coverage_name value must be lower case')\n"
+	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2133,14 +2334,17 @@ create_vector_styled_layers (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* automatically setting the style_name after inserting */
-    sql = "CREATE TRIGGER sevstl_style_name_ins\n"
-	"AFTER INSERT ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
-	"UPDATE SE_vector_styled_layers "
-	"SET style_name = XB_GetName(NEW.style) "
-	"WHERE f_table_name = NEW.f_table_name "
-	"AND f_geometry_column = NEW.f_geometry_column "
-	"AND style_id = NEW.style_id;\nEND";
+    sql = "CREATE TRIGGER vector_coverages_srid_name_update\n"
+	"BEFORE UPDATE OF 'coverage_name' ON 'vector_coverages_srid'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on vector_coverages_srid violates constraint: "
+	"coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'update on vector_coverages_srid violates constraint: "
+	"coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'update on vector_coverages_srid violates constraint: "
+	"coverage_name value must be lower case')\n"
+	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2148,68 +2352,68 @@ create_vector_styled_layers (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* automatically setting the style_name after updating */
-    sql = "CREATE TRIGGER sevstl_style_name_upd\n"
-	"AFTER UPDATE OF style ON "
-	"'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
-	"UPDATE SE_vector_styled_layers "
-	"SET style_name = XB_GetName(NEW.style) "
-	"WHERE f_table_name = NEW.f_table_name "
-	"AND f_geometry_column = NEW.f_geometry_column "
-	"AND style_id = NEW.style_id;\nEND";
+
+/* creating the vector_coverages_ref_sys view */
+    sql = "CREATE VIEW vector_coverages_ref_sys AS\n"
+	"SELECT v.coverage_name AS coverage_name, v.title AS title, "
+	"v.abstract AS abstract, v.is_queryable AS is_queryable, "
+	"v.geo_minx AS geo_minx, "
+	"v.geo_miny AS geo_miny, v.geo_maxx AS geo_maxx, "
+	"v.geo_maxy AS geo_may, v.extent_minx AS extent_minx, "
+	"v.extent_miny AS extent_miny, v.extent_maxx AS extent_maxx, "
+	"v.extent_maxy AS extent_maxy, s.srid AS srid, 1 AS native_srid, "
+	"s.auth_name AS auth_name, s.auth_srid AS auth_srid, "
+	"s.ref_sys_name AS ref_sys_name, s.proj4text AS proj4text\n"
+	"FROM vector_coverages AS v\n"
+	"JOIN geometry_columns AS x ON (v.f_table_name = x.f_table_name "
+	"AND v.f_geometry_column = x.f_geometry_column)\n"
+	"LEFT JOIN spatial_ref_sys AS s ON (x.srid = s.srid)\n"
+	"UNION\nSELECT v.coverage_name AS coverage_name, v.title AS title, "
+	"v.abstract AS abstract, v.is_queryable AS is_queryable, "
+	"v.geo_minx AS geo_minx, "
+	"v.geo_miny AS geo_miny, v.geo_maxx AS geo_maxx, "
+	"v.geo_maxy AS geo_may, x.extent_minx AS extent_minx, "
+	"x.extent_miny AS extent_miny, x.extent_maxx AS extent_maxx, "
+	"x.extent_maxy AS extent_maxy, s.srid AS srid, 0 AS native_srid, "
+	"s.auth_name AS auth_name, s.auth_srid AS auth_srid, "
+	"s.ref_sys_name AS ref_sys_name, s.proj4text AS proj4text\n"
+	"FROM vector_coverages AS v\n"
+	"JOIN vector_coverages_srid AS x ON (v.coverage_name = x.coverage_name)\n"
+	"LEFT JOIN spatial_ref_sys AS s ON (x.srid = s.srid)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e ("CREATE VIEW 'vector_coverages_ref_sys' error: %s\n",
+			err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    return 1;
-}
 
-static int
-create_raster_styled_layers (sqlite3 * sqlite, int relaxed)
-{
-/* creating the SE_raster_styled_layers table */
-    char *sql;
-    int ret;
-    char *err_msg = NULL;
-    sql = "CREATE TABLE SE_raster_styled_layers (\n"
+/* creating the vector_coverages_keyword table */
+    sql = "CREATE TABLE vector_coverages_keyword (\n"
 	"coverage_name TEXT NOT NULL,\n"
-	"style_id INTEGER NOT NULL,\n"
-	"style_name TEXT NOT NULL DEFAULT 'missing_name',\n"
-	"style BLOB NOT NULL,\n"
-	"CONSTRAINT pk_serstl PRIMARY KEY " "(coverage_name, style_id),\n"
-	"CONSTRAINT fk_serstl FOREIGN KEY (coverage_name) "
-	"REFERENCES raster_coverages (coverage_name) " "ON DELETE CASCADE)";
+	"keyword TEXT NOT NULL,\n"
+	"CONSTRAINT pk_vector_coverages_keyword PRIMARY KEY (coverage_name, keyword),\n"
+	"CONSTRAINT fk_vector_coverages_keyword FOREIGN KEY (coverage_name) "
+	"REFERENCES vector_coverages (coverage_name) ON DELETE CASCADE)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("CREATE TABLE 'SE_raster_styled_layers' error: %s\n",
+	  spatialite_e ("CREATE TABLE 'vector_coverages_keyword' error: %s\n",
 			err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating the layer-style UNIQUE index */
-    sql = "CREATE UNIQUE INDEX idx_raster_style ON SE_raster_styled_layers "
-	"(coverage_name, style_name)";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
-    if (ret != SQLITE_OK)
-      {
-	  spatialite_e ("CREATE INDEX 'idx_raster_style' error: %s\n", err_msg);
-	  sqlite3_free (err_msg);
-	  return 0;
-      }
-/* creating the SE_raster_styled_layers triggers */
-    sql = "CREATE TRIGGER serstl_coverage_name_insert\n"
-	"BEFORE INSERT ON 'SE_raster_styled_layers'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_raster_styled_layers violates constraint: "
+/* creating the vector_coverages_keyword triggers */
+    sql = "CREATE TRIGGER vector_coverages_keyword_name_insert\n"
+	"BEFORE INSERT ON 'vector_coverages_keyword'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on vector_coverages_keyword violates constraint: "
 	"coverage_name value must not contain a single quote')\n"
 	"WHERE NEW.coverage_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_raster_styled_layers violates constraint: "
+	"SELECT RAISE(ABORT,'insert on vector_coverages_keyword violates constraint: "
 	"coverage_name value must not contain a double quote')\n"
 	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_raster_styled_layers violates constraint: "
+	"SELECT RAISE(ABORT,'insert on vector_coverages_keyword violates constraint: "
 	"coverage_name value must be lower case')\n"
 	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
@@ -2219,15 +2423,15 @@ create_raster_styled_layers (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER serstl_coverage_name_update\n"
-	"BEFORE UPDATE OF 'coverage_name' ON 'SE_raster_styled_layers'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'update on SE_raster_styled_layers violates constraint: "
+    sql = "CREATE TRIGGER vector_coverages_keyword_name_update\n"
+	"BEFORE UPDATE OF 'coverage_name' ON 'vector_coverages_keyword'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on vector_coverages_keyword violates constraint: "
 	"coverage_name value must not contain a single quote')\n"
 	"WHERE NEW.coverage_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'update on SE_raster_styled_layers violates constraint: "
+	"SELECT RAISE(ABORT,'update on vector_coverages_keyword violates constraint: "
 	"coverage_name value must not contain a double quote')\n"
 	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'update on SE_raster_styled_layers violates constraint: "
+	"SELECT RAISE(ABORT,'update on vector_coverages_keyword violates constraint: "
 	"coverage_name value must be lower case')\n"
 	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
@@ -2237,69 +2441,117 @@ create_raster_styled_layers (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    if (relaxed == 0)
+    return 1;
+}
+
+SPATIALITE_PRIVATE int
+createVectorCoveragesTable (void *p_sqlite)
+{
+/* Creating the main VectorCoverages table */
+    int ok_table;
+    sqlite3 *sqlite = p_sqlite;
+
+/* checking if already defined */
+    ok_table = check_vector_coverages (sqlite);
+    if (ok_table)
       {
-	  /* strong trigger - imposing XML schema validation */
-	  sql = "CREATE TRIGGER serstl_style_insert\n"
-	      "BEFORE INSERT ON 'SE_raster_styled_layers'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'insert on SE_raster_styled_layers violates constraint: "
-	      "not a valid SLD/SE Raster Style')\n"
-	      "WHERE XB_IsSldSeRasterStyle(NEW.style) <> 1;\n"
-	      "SELECT RAISE(ABORT,'insert on SE_raster_styled_layers violates constraint: "
-	      "not an XML Schema Validated SLD/SE Raster Style')\n"
-	      "WHERE XB_IsSchemaValidated(NEW.style) <> 1;\nEND";
+	  spatialite_e
+	      ("CreateVectorCoveragesTable() error: table 'vector_coverages' already exists\n");
+	  goto error;
       }
-    else
+    ok_table = check_vector_coverages_srid (sqlite);
+    if (ok_table)
       {
-	  /* relaxed trigger - not imposing XML schema validation */
-	  sql = "CREATE TRIGGER serstl_style_insert\n"
-	      "BEFORE INSERT ON 'SE_raster_styled_layers'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'insert on SE_raster_styled_layers violates constraint: "
-	      "not a valid SLD/SE Raster Style')\n"
-	      "WHERE XB_IsSldSeRasterStyle(NEW.style) <> 1;\nEND";
+	  spatialite_e
+	      ("CreateVectorCoveragesTable() error: table 'vector_coverages_srid' already exists\n");
+	  goto error;
       }
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
-    if (ret != SQLITE_OK)
+    ok_table = check_vector_coverages_ref_sys (sqlite);
+    if (ok_table)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
-	  sqlite3_free (err_msg);
-	  return 0;
+	  spatialite_e
+	      ("CreateVectorCoveragesTable() error: view 'vector_coverages_ref_sys' already exists\n");
+	  goto error;
       }
-    if (relaxed == 0)
+    ok_table = check_vector_coverages_keyword (sqlite);
+    if (ok_table)
       {
-	  /* strong trigger - imposing XML schema validation */
-	  sql = "CREATE TRIGGER serstl_style_update\n"
-	      "BEFORE UPDATE ON 'SE_raster_styled_layers'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'update on SE_raster_styled_layers violates constraint: "
-	      "not a valid SLD/SE Raster Style')\n"
-	      "WHERE XB_IsSldSeRasterStyle(NEW.style) <> 1;\n"
-	      "SELECT RAISE(ABORT,'update on SE_raster_styled_layers violates constraint: "
-	      "not an XML Schema Validated SLD/SE Raster Style')\n"
-	      "WHERE XB_IsSchemaValidated(NEW.style) <> 1;\nEND";
+	  spatialite_e
+	      ("CreateVectorCoveragesTable() error: table 'vector_coverages_keyword' already exists\n");
+	  goto error;
       }
-    else
+
+/* creating the main VectorCoverages table */
+    if (!create_vector_coverages (sqlite))
+	goto error;
+    return 1;
+
+  error:
+    return 0;
+}
+
+#ifdef ENABLE_LIBXML2		/* including LIBXML2 */
+
+static int
+check_styling_table (sqlite3 * sqlite, const char *table, int is_view)
+{
+/* checking if some SLD/SE Styling-related table/view already exists */
+    int exists = 0;
+    char *sql_statement;
+    char *errMsg = NULL;
+    int ret;
+    char **results;
+    int rows;
+    int columns;
+    int i;
+    sql_statement =
+	sqlite3_mprintf ("SELECT name FROM sqlite_master WHERE type = '%s'"
+			 "AND Upper(name) = Upper(%Q)",
+			 (!is_view) ? "table" : "view", table);
+    ret =
+	sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns,
+			   &errMsg);
+    sqlite3_free (sql_statement);
+    if (ret != SQLITE_OK)
       {
-	  /* relaxed trigger - not imposing XML schema validation */
-	  sql = "CREATE TRIGGER serstl_style_update\n"
-	      "BEFORE UPDATE ON 'SE_raster_styled_layers'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'update on SE_raster_styled_layers violates constraint: "
-	      "not a valid SLD/SE Raster Style')\n"
-	      "WHERE XB_IsSldSeRasterStyle(NEW.style) <> 1;\nEND";
+	  sqlite3_free (errMsg);
+	  return 0;
       }
+    for (i = 1; i <= rows; i++)
+	exists = 1;
+    sqlite3_free_table (results);
+    return exists;
+}
+
+static int
+create_external_graphics (sqlite3 * sqlite)
+{
+/* creating the SE_external_graphics table */
+    char *sql;
+    int ret;
+    char *err_msg = NULL;
+    sql = "CREATE TABLE SE_external_graphics (\n"
+	"xlink_href TEXT NOT NULL PRIMARY KEY,\n"
+	"title TEXT NOT NULL DEFAULT '*** undefined ***',\n"
+	"abstract TEXT NOT NULL DEFAULT '*** undefined ***',\n"
+	"resource BLOB NOT NULL,\n"
+	"file_name TEXT NOT NULL DEFAULT '*** undefined ***')";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e ("CREATE TABLE 'SE_external_graphics' error: %s\n",
+			err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* automatically setting the style_name after inserting */
-    sql = "CREATE TRIGGER serstl_style_name_ins\n"
-	"AFTER INSERT ON 'SE_raster_styled_layers'\nFOR EACH ROW BEGIN\n"
-	"UPDATE SE_raster_styled_layers "
-	"SET style_name = XB_GetName(NEW.style) "
-	"WHERE coverage_name = NEW.coverage_name "
-	"AND style_id = NEW.style_id;\nEND";
+/* creating the SE_external_graphics triggers */
+    sql = "CREATE TRIGGER sextgr_mime_type_insert\n"
+	"BEFORE INSERT ON 'SE_external_graphics'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_external_graphics violates constraint: "
+	"GetMimeType(resource) must be one of ''image/gif'' | ''image/png'' | "
+	"''image/jpeg'' | ''image/svg+xml''')\n"
+	"WHERE GetMimeType(NEW.resource) NOT IN ('image/gif', 'image/png', "
+	"'image/jpeg', 'image/svg+xml');\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2307,16 +2559,16 @@ create_raster_styled_layers (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* automatically setting the style_name after updating */
-    sql = "CREATE TRIGGER serstl_style_name_upd\n"
-	"AFTER UPDATE OF style ON "
-	"'SE_raster_styled_layers'\nFOR EACH ROW BEGIN\n"
-	"UPDATE SE_raster_styled_layers "
-	"SET style_name = XB_GetName(NEW.style) "
-	"WHERE coverage_name = NEW.coverage_name "
-	"AND style_id = NEW.style_id;\nEND";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
-    if (ret != SQLITE_OK)
+    sql = "CREATE TRIGGER sextgr_mime_type_update\n"
+	"BEFORE UPDATE OF 'mime_type' ON 'SE_external_graphics'"
+	"\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT, 'update on SE_external_graphics violates constraint: "
+	"GetMimeType(resource) must be one of ''image/gif'' | ''image/png'' | "
+	"''image/jpeg'' | ''image/svg+xml''')\n"
+	"WHERE GetMimeType(NEW.resource) NOT IN ('image/gif', 'image/png', "
+	"'image/jpeg', 'image/svg+xml');\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
 	  spatialite_e ("SQL error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
@@ -2326,35 +2578,26 @@ create_raster_styled_layers (sqlite3 * sqlite, int relaxed)
 }
 
 static int
-create_styled_groups (sqlite3 * sqlite)
+create_fonts (sqlite3 * sqlite)
 {
-/* creating the SE_styled_groups table */
+/* creating the SE_fonts table */
     char *sql;
     int ret;
     char *err_msg = NULL;
-    sql = "CREATE TABLE SE_styled_groups (\n"
-	"group_name TEXT NOT NULL PRIMARY KEY,\n"
-	"title TEXT NOT NULL DEFAULT '*** undefined ***',\n"
-	"abstract TEXT NOT NULL DEFAULT '*** undefined ***')";
+    sql = "CREATE TABLE SE_fonts (\n"
+	"font_facename TEXT NOT NULL PRIMARY KEY,\n" "font BLOB NOT NULL)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("CREATE TABLE 'SE_styled_groups' error: %s\n", err_msg);
+	  spatialite_e ("CREATE TABLE 'SE_fonts' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating the SE_styled_groups triggers */
-    sql = "CREATE TRIGGER segrp_group_name_insert\n"
-	"BEFORE INSERT ON 'SE_styled_groups'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_groups violates constraint: "
-	"group_name value must not contain a single quote')\n"
-	"WHERE NEW.group_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_groups violates constraint: "
-	"group_name value must not contain a double quote')\n"
-	"WHERE NEW.group_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_groups violates constraint: "
-	"group_name value must be lower case')\n"
-	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
+/* creating the SE_fonts triggers */
+    sql = "CREATE TRIGGER se_font_insert1\n"
+	"BEFORE INSERT ON 'SE_fonts'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_Fonts violates constraint: "
+	"invalid Font')\nWHERE IsValidFont(NEW.font) <> 1;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2362,17 +2605,22 @@ create_styled_groups (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrp_group_name_update\n"
-	"BEFORE UPDATE OF 'group_name' ON 'SE_styled_groups'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_groups violates constraint: "
-	"group_name value must not contain a single quote')\n"
-	"WHERE NEW.group_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_groups violates constraint: "
-	"group_name value must not contain a double quote')\n"
-	"WHERE NEW.group_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_groups violates constraint: "
-	"group_name value must be lower case')\n"
-	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
+    sql = "CREATE TRIGGER se_font_insert2\n"
+	"BEFORE INSERT ON 'SE_fonts'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_Fonts violates constraint: "
+	"mismatching FontFacename')\nWHERE "
+	"CheckFontFacename(NEW.font_facename, NEW.font) <> 1;\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+/* rejecting any possible UPDATE */
+    sql = "CREATE TRIGGER se_font_update\n"
+	"BEFORE UPDATE ON 'SE_fonts'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'UPDATE on SE_Fonts is always forbidden')\n;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2384,68 +2632,55 @@ create_styled_groups (sqlite3 * sqlite)
 }
 
 static int
-create_styled_group_refs (sqlite3 * sqlite)
+create_vector_styles (sqlite3 * sqlite, int relaxed)
 {
-/* creating the SE_styled_group_refs table */
+/* creating the SE_vector_styles table */
     char *sql;
     int ret;
     char *err_msg = NULL;
-    sql = "CREATE TABLE SE_styled_group_refs (\n"
-	"id INTEGER PRIMARY KEY AUTOINCREMENT,\n"
-	"group_name TEXT NOT NULL,\n"
-	"paint_order INTEGER NOT NULL,\n"
-	"f_table_name TEXT,\n"
-	"f_geometry_column TEXT,\n"
-	"coverage_name TEXT,\n"
-	"CONSTRAINT fk_se_refs FOREIGN KEY (group_name) "
-	"REFERENCES SE_styled_groups (group_name) "
-	"ON DELETE CASCADE,\n"
-	"CONSTRAINT fk_se_group_vector FOREIGN KEY "
-	"(f_table_name, f_geometry_column) "
-	"REFERENCES geometry_columns "
-	"(f_table_name, f_geometry_column) "
-	"ON DELETE CASCADE,\n"
-	"CONSTRAINT fk_se_group_raster "
-	"FOREIGN KEY (coverage_name) "
-	"REFERENCES raster_coverages (coverage_name) " "ON DELETE CASCADE)";
+    sql = "CREATE TABLE SE_vector_styles (\n"
+	"style_id INTEGER PRIMARY KEY AUTOINCREMENT,\n"
+	"style_name TEXT NOT NULL DEFAULT 'missing_name' UNIQUE,\n"
+	"style BLOB NOT NULL)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e
-	      ("CREATE TABLE 'SE_styled_group_refs' error: %s\n", err_msg);
+	  spatialite_e ("CREATE TABLE 'SE_vector_styles' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating the SE_styled_group_refs triggers */
-    sql = "CREATE TRIGGER segrrefs_group_name_insert\n"
-	"BEFORE INSERT ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
-	"group_name value must not contain a single quote')\n"
-	"WHERE NEW.group_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
-	"group_name value must not contain a double quote')\n"
-	"WHERE NEW.group_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
-	"group_name value must be lower case')\n"
-	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
+/* creating the style Name index */
+    sql = "CREATE INDEX idx_vector_styles ON SE_vector_styles (style_name)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e ("CREATE INDEX 'idx_vector_styles' error: %s\n",
+			err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrrefs_group_name_update\n"
-	"BEFORE UPDATE OF 'group_name' ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
-	"group_name value must not contain a single quote')\n"
-	"WHERE NEW.group_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
-	"group_name value must not contain a double quote')\n"
-	"WHERE NEW.group_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
-	"group_name value must be lower case')\n"
-	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
+/* creating the SE_vector_styles triggers */
+    if (relaxed == 0)
+      {
+	  /* strong trigger - imposing XML schema validation */
+	  sql = "CREATE TRIGGER sevector_style_insert\n"
+	      "BEFORE INSERT ON 'SE_vector_styles'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'insert on SE_vector_styles violates constraint: "
+	      "not a valid SLD/SE Vector Style')\n"
+	      "WHERE XB_IsSldSeVectorStyle(NEW.style) <> 1;\n"
+	      "SELECT RAISE(ABORT,'insert on SE_vector_styles violates constraint: "
+	      "not an XML Schema Validated SLD/SE Vector Style')\n"
+	      "WHERE XB_IsSchemaValidated(NEW.style) <> 1;\nEND";
+      }
+    else
+      {
+	  /* relaxed trigger - not imposing XML schema validation */
+	  sql = "CREATE TRIGGER sevector_style_insert\n"
+	      "BEFORE INSERT ON 'SE_vector_styles'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'insert on SE_vector_styles violates constraint: "
+	      "not a valid SLD/SE Vector Style')\n"
+	      "WHERE XB_IsSldSeVectorStyle(NEW.style) <> 1;\nEND";
+      }
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2453,17 +2688,27 @@ create_styled_group_refs (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrrefs_f_table_name_insert\n"
-	"BEFORE INSERT ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
-	"f_table_name value must not contain a single quote')\n"
-	"WHERE NEW.f_table_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
-	"f_table_name value must not contain a double quote')\n"
-	"WHERE NEW.f_table_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
-	"f_table_name value must be lower case')\n"
-	"WHERE NEW.f_table_name <> lower(NEW.f_table_name);\nEND";
+    if (relaxed == 0)
+      {
+	  /* strong trigger - imposing XML schema validation */
+	  sql = "CREATE TRIGGER sevector_style_update\n"
+	      "BEFORE UPDATE ON 'SE_vector_styles'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'update on SE_vector_styles violates constraint: "
+	      "not a valid SLD/SE Vector Style')\n"
+	      "WHERE XB_IsSldSeVectorStyle(NEW.style) <> 1;\n"
+	      "SELECT RAISE(ABORT,'update on SE_vector_styles violates constraint: "
+	      "not an XML Schema Validated SLD/SE Vector Style')\n"
+	      "WHERE XB_IsSchemaValidated(NEW.style) <> 1;\nEND";
+      }
+    else
+      {
+	  /* relaxed trigger - not imposing XML schema validation */
+	  sql = "CREATE TRIGGER sevector_style_update\n"
+	      "BEFORE UPDATE ON 'SE_vector_styles'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'update on SE_vector_styles violates constraint: "
+	      "not a valid SLD/SE Vector Style')\n"
+	      "WHERE XB_IsSldSeVectorStyle(NEW.style) <> 1;\nEND";
+      }
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2471,17 +2716,12 @@ create_styled_group_refs (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrrefs_f_table_name_update\n"
-	"BEFORE UPDATE OF 'f_table_name' ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
-	"f_table_name value must not contain a single quote')\n"
-	"WHERE NEW.f_table_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
-	"f_table_name value must not contain a double quote')\n"
-	"WHERE NEW.f_table_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
-	"f_table_name value must be lower case')\n"
-	"WHERE NEW.f_table_name <> lower(NEW.f_table_name);\nEND";
+/* automatically setting the style_name after inserting */
+    sql = "CREATE TRIGGER sevector_style_name_ins\n"
+	"AFTER INSERT ON 'SE_vector_styles'\nFOR EACH ROW BEGIN\n"
+	"UPDATE SE_vector_styles "
+	"SET style_name = XB_GetName(NEW.style) "
+	"WHERE style_id = NEW.style_id;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2489,17 +2729,13 @@ create_styled_group_refs (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrrefs_f_geometry_column_insert\n"
-	"BEFORE INSERT ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
-	"f_geometry_column value must not contain a single quote')\n"
-	"WHERE NEW.f_geometry_column LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
-	"f_geometry_column value must not contain a double quote')\n"
-	"WHERE NEW.f_geometry_column LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
-	"f_geometry_column value must be lower case')\n"
-	"WHERE NEW.f_geometry_column <> lower(NEW.f_geometry_column);\nEND";
+/* automatically setting the style_name after updating */
+    sql = "CREATE TRIGGER sevector_style_name_upd\n"
+	"AFTER UPDATE OF style ON "
+	"'SE_vector_styles'\nFOR EACH ROW BEGIN\n"
+	"UPDATE SE_vector_styles "
+	"SET style_name = XB_GetName(NEW.style) "
+	"WHERE style_id = NEW.style_id;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2507,33 +2743,52 @@ create_styled_group_refs (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrrefs_f_geometry_column_update\n"
-	"BEFORE UPDATE OF 'f_geometry_column' ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
-	"f_geometry_column value must not contain a single quote')\n"
-	"WHERE NEW.f_geometry_column LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
-	"f_geometry_column value must not contain a double quote')\n"
-	"WHERE NEW.f_geometry_column LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
-	"f_geometry_column value must be lower case')\n"
-	"WHERE NEW.f_geometry_column <> lower(NEW.f_geometry_column);\nEND";
+    return 1;
+}
+
+static int
+create_vector_styled_layers (sqlite3 * sqlite)
+{
+/* creating the SE_vector_styled_layers table */
+    char *sql;
+    int ret;
+    char *err_msg = NULL;
+    sql = "CREATE TABLE SE_vector_styled_layers (\n"
+	"coverage_name TEXT NOT NULL,\n"
+	"style_id INTEGER NOT NULL,\n"
+	"CONSTRAINT pk_sevstl PRIMARY KEY "
+	"(coverage_name, style_id),\n"
+	"CONSTRAINT fk_sevstl_cvg FOREIGN KEY (coverage_name) "
+	"REFERENCES vector_coverages (coverage_name) ON DELETE CASCADE,\n"
+	"CONSTRAINT fk_sevstl_stl FOREIGN KEY (style_id) "
+	"REFERENCES SE_vector_styles (style_id) ON DELETE CASCADE)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e ("CREATE TABLE 'SE_vector_styled_layers' error: %s\n",
+			err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrrefs_coverage_name_insert\n"
-	"BEFORE INSERT ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+/* creating the style_id index */
+    sql = "CREATE INDEX idx_sevstl_style ON SE_vector_styled_layers (style_id)";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("CREATE INDEX 'idx_svstl_style' error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+/* creating the SE_vector_styled_layers triggers */
+    sql = "CREATE TRIGGER sevstl_coverage_name_insert\n"
+	"BEFORE INSERT ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
 	"coverage_name value must not contain a single quote')\n"
 	"WHERE NEW.coverage_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
 	"coverage_name value must not contain a double quote')\n"
 	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"SELECT RAISE(ABORT,'insert on SE_vector_styled_layers violates constraint: "
 	"coverage_name value must be lower case')\n"
 	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
@@ -2543,15 +2798,15 @@ create_styled_group_refs (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrrefs_coverage_name_update\n"
-	"BEFORE UPDATE OF 'coverage_name' ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+    sql = "CREATE TRIGGER sevstl_coverage_name_update\n"
+	"BEFORE UPDATE OF 'coverage_name' ON 'SE_vector_styled_layers'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
 	"coverage_name value must not contain a single quote')\n"
 	"WHERE NEW.coverage_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
 	"coverage_name value must not contain a double quote')\n"
 	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"SELECT RAISE(ABORT,'update on SE_vector_styled_layers violates constraint: "
 	"coverage_name value must be lower case')\n"
 	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
@@ -2561,25 +2816,59 @@ create_styled_group_refs (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrrefs_insert\n"
-	"BEFORE INSERT ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
-	"cannot reference both Vector and Raster at the same time')\n"
-	"WHERE (NEW.f_table_name IS NOT NULL OR NEW.f_geometry_column IS NOT NULL) "
-	"AND NEW.coverage_name IS NOT NULL;\nEND";
+    return 1;
+}
+
+static int
+create_raster_styles (sqlite3 * sqlite, int relaxed)
+{
+/* creating the SE_raster_styles table */
+    char *sql;
+    int ret;
+    char *err_msg = NULL;
+    sql = "CREATE TABLE SE_raster_styles (\n"
+	"style_id INTEGER PRIMARY KEY AUTOINCREMENT,\n"
+	"style_name TEXT NOT NULL DEFAULT 'missing_name' UNIQUE,\n"
+	"style BLOB NOT NULL)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e ("CREATE TABLE 'SE_raster_styles' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrrefs_update\n"
-	"BEFORE UPDATE ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
-	"cannot reference both Vector and Raster at the same time')\n"
-	"WHERE (NEW.f_table_name IS NOT NULL OR NEW.f_geometry_column IS NOT NULL) "
-	"AND NEW.coverage_name IS NOT NULL;\nEND";
+/* creating the style Name index */
+    sql = "CREATE INDEX idx_raster_styles ON SE_raster_styles (style_name)";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("CREATE INDEX 'idx_raster_styles' error: %s\n",
+			err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+/* creating the SE_raster_styles triggers */
+    if (relaxed == 0)
+      {
+	  /* strong trigger - imposing XML schema validation */
+	  sql = "CREATE TRIGGER seraster_style_insert\n"
+	      "BEFORE INSERT ON 'SE_raster_styles'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'insert on SE_raster_styles violates constraint: "
+	      "not a valid SLD/SE Raster Style')\n"
+	      "WHERE XB_IsSldSeRasterStyle(NEW.style) <> 1;\n"
+	      "SELECT RAISE(ABORT,'insert on SE_raster_styles violates constraint: "
+	      "not an XML Schema Validated SLD/SE Raster Style')\n"
+	      "WHERE XB_IsSchemaValidated(NEW.style) <> 1;\nEND";
+      }
+    else
+      {
+	  /* relaxed trigger - not imposing XML schema validation */
+	  sql = "CREATE TRIGGER seraster_style_insert\n"
+	      "BEFORE INSERT ON 'SE_raster_styles'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'insert on SE_raster_styles violates constraint: "
+	      "not a valid SLD/SE Raster Style')\n"
+	      "WHERE XB_IsSldSeRasterStyle(NEW.style) <> 1;\nEND";
+      }
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2587,35 +2876,58 @@ create_styled_group_refs (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating any Index on SE_styled_group_refs */
-    sql = "CREATE INDEX idx_SE_styled_vgroups ON "
-	"SE_styled_group_refs " "(f_table_name, f_geometry_column)";
+    if (relaxed == 0)
+      {
+	  /* strong trigger - imposing XML schema validation */
+	  sql = "CREATE TRIGGER seraster_style_update\n"
+	      "BEFORE UPDATE ON 'SE_raster_styles'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'update on SE_raster_styles violates constraint: "
+	      "not a valid SLD/SE Raster Style')\n"
+	      "WHERE XB_IsSldSeRasterStyle(NEW.style) <> 1;\n"
+	      "SELECT RAISE(ABORT,'update on SE_raster_styles violates constraint: "
+	      "not an XML Schema Validated SLD/SE Raster Style')\n"
+	      "WHERE XB_IsSchemaValidated(NEW.style) <> 1;\nEND";
+      }
+    else
+      {
+	  /* relaxed trigger - not imposing XML schema validation */
+	  sql = "CREATE TRIGGER seraster_style_update\n"
+	      "BEFORE UPDATE ON 'SE_raster_styles'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'update on SE_raster_styles violates constraint: "
+	      "not a valid SLD/SE Raster Style')\n"
+	      "WHERE XB_IsSldSeRasterStyle(NEW.style) <> 1;\nEND";
+      }
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("Create Index 'idx_SE_styled_vgroups' error: %s\n",
-			err_msg);
+	  spatialite_e ("SQL error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE INDEX idx_SE_styled_rgroups ON "
-	"SE_styled_group_refs " "(coverage_name)";
+/* automatically setting the style_name after inserting */
+    sql = "CREATE TRIGGER seraster_style_name_ins\n"
+	"AFTER INSERT ON 'SE_raster_styles'\nFOR EACH ROW BEGIN\n"
+	"UPDATE SE_raster_styles "
+	"SET style_name = XB_GetName(NEW.style) "
+	"WHERE style_id = NEW.style_id;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("Create Index 'idx_SE_styled_rgroups' error: %s\n",
-			err_msg);
+	  spatialite_e ("SQL error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE INDEX idx_SE_styled_groups_paint ON "
-	"SE_styled_group_refs " "(group_name, paint_order)";
+/* automatically setting the style_name after updating */
+    sql = "CREATE TRIGGER seraster_style_name_upd\n"
+	"AFTER UPDATE OF style ON "
+	"'SE_raster_styles'\nFOR EACH ROW BEGIN\n"
+	"UPDATE SE_raster_styles "
+	"SET style_name = XB_GetName(NEW.style) "
+	"WHERE style_id = NEW.style_id;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e
-	      ("Create Index 'idx_SE_styled_groups_paint' error: %s\n",
-	       err_msg);
+	  spatialite_e ("SQL error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
@@ -2623,49 +2935,49 @@ create_styled_group_refs (sqlite3 * sqlite)
 }
 
 static int
-create_group_styles (sqlite3 * sqlite, int relaxed)
+create_raster_styled_layers (sqlite3 * sqlite)
 {
-/* creating the SE_group_styles table */
+/* creating the SE_raster_styled_layers table */
     char *sql;
     int ret;
     char *err_msg = NULL;
-    sql = "CREATE TABLE SE_group_styles (\n"
-	"group_name TEXT NOT NULL,\n"
+    sql = "CREATE TABLE SE_raster_styled_layers (\n"
+	"coverage_name TEXT NOT NULL,\n"
 	"style_id INTEGER NOT NULL,\n"
-	"style_name TEXT NOT NULL DEFAULT 'missing_name',\n"
-	"style BLOB NOT NULL,\n"
-	"CONSTRAINT pk_segrpstl PRIMARY KEY " "(group_name, style_id),\n"
-	"CONSTRAINT fk_segrpstl FOREIGN KEY (group_name) "
-	"REFERENCES SE_styled_groups (group_name) " "ON DELETE CASCADE)";
+	"CONSTRAINT pk_serstl PRIMARY KEY (coverage_name, style_id),\n"
+	"CONSTRAINT fk_serstl_cov FOREIGN KEY (coverage_name) "
+	"REFERENCES raster_coverages (coverage_name) ON DELETE CASCADE,\n"
+	"CONSTRAINT fk_serstl_stl FOREIGN KEY (style_id) "
+	"REFERENCES SE_raster_styles (style_id) ON DELETE CASCADE)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("CREATE TABLE 'SE_group_styles' error: %s\n", err_msg);
+	  spatialite_e ("CREATE TABLE 'SE_raster_styled_layers' error: %s\n",
+			err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating the layer-style UNIQUE index */
-    sql = "CREATE UNIQUE INDEX idx_group_style ON SE_group_styles "
-	"(group_name, style_name)";
+/* creating the style_id index */
+    sql = "CREATE INDEX idx_serstl_style ON SE_raster_styled_layers (style_id)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("CREATE INDEX 'idx_group_style' error: %s\n", err_msg);
+	  spatialite_e ("CREATE INDEX 'idx_serstl_style' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating the SE_group_styles triggers */
-    sql = "CREATE TRIGGER segrpstl_group_name_insert\n"
-	"BEFORE INSERT ON 'SE_group_styles'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'insert on SE_group_styles violates constraint: "
-	"group_name value must not contain a single quote')\n"
-	"WHERE NEW.group_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_group_styles violates constraint: "
-	"group_name value must not contain a double quote')\n"
-	"WHERE NEW.group_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'insert on SE_group_styles violates constraint: "
-	"group_name value must be lower case')\n"
-	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
+/* creating the SE_raster_styled_layers triggers */
+    sql = "CREATE TRIGGER serstl_coverage_name_insert\n"
+	"BEFORE INSERT ON 'SE_raster_styled_layers'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_raster_styled_layers violates constraint: "
+	"coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_raster_styled_layers violates constraint: "
+	"coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_raster_styled_layers violates constraint: "
+	"coverage_name value must be lower case')\n"
+	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2673,17 +2985,17 @@ create_group_styles (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER segrpstl_group_name_update\n"
-	"BEFORE UPDATE OF 'group_name' ON 'SE_group_styles'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ABORT,'update on SE_group_styles violates constraint: "
-	"group_name value must not contain a single quote')\n"
-	"WHERE NEW.group_name LIKE ('%''%');\n"
-	"SELECT RAISE(ABORT,'update on SE_group_styles violates constraint: "
-	"group_name value must not contain a double quote')\n"
-	"WHERE NEW.group_name LIKE ('%\"%');\n"
-	"SELECT RAISE(ABORT,'update on SE_group_styles violates constraint: "
-	"group_name value must be lower case')\n"
-	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
+    sql = "CREATE TRIGGER serstl_coverage_name_update\n"
+	"BEFORE UPDATE OF 'coverage_name' ON 'SE_raster_styled_layers'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on SE_raster_styled_layers violates constraint: "
+	"coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'update on SE_raster_styled_layers violates constraint: "
+	"coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'update on SE_raster_styled_layers violates constraint: "
+	"coverage_name value must be lower case')\n"
+	"WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2691,10 +3003,32 @@ create_group_styles (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
+    return 1;
+}
+
+static int
+create_group_styles (sqlite3 * sqlite, int relaxed)
+{
+/* creating the SE_group_styles table */
+    char *sql;
+    int ret;
+    char *err_msg = NULL;
+    sql = "CREATE TABLE SE_group_styles (\n"
+	"style_id INTEGER PRIMARY KEY AUTOINCREMENT,\n"
+	"style_name TEXT NOT NULL DEFAULT 'missing_name' UNIQUE,\n"
+	"style BLOB NOT NULL)";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("CREATE TABLE 'SE_group_styles' error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+/* creating the SE_group_styles triggers */
     if (relaxed == 0)
       {
 	  /* strong trigger - imposing XML schema validation */
-	  sql = "CREATE TRIGGER segrpstl_style_insert\n"
+	  sql = "CREATE TRIGGER segroup_style_insert\n"
 	      "BEFORE INSERT ON 'SE_group_styles'\nFOR EACH ROW BEGIN\n"
 	      "SELECT RAISE(ABORT,'insert on SE_group_styles violates constraint: "
 	      "not a valid SLD Style')\n"
@@ -2706,7 +3040,7 @@ create_group_styles (sqlite3 * sqlite, int relaxed)
     else
       {
 	  /* relaxed trigger - not imposing XML schema validation */
-	  sql = "CREATE TRIGGER segrpstl_style_insert\n"
+	  sql = "CREATE TRIGGER segroup_style_insert\n"
 	      "BEFORE INSERT ON 'SE_group_styles'\nFOR EACH ROW BEGIN\n"
 	      "SELECT RAISE(ABORT,'insert on SE_group_styles violates constraint: "
 	      "not a valid SLD Style')\n"
@@ -2722,7 +3056,7 @@ create_group_styles (sqlite3 * sqlite, int relaxed)
     if (relaxed == 0)
       {
 	  /* strong trigger - imposing XML schema validation */
-	  sql = "CREATE TRIGGER segrpstl_style_update\n"
+	  sql = "CREATE TRIGGER segroup_style_update\n"
 	      "BEFORE UPDATE ON 'SE_group_styles'\nFOR EACH ROW BEGIN\n"
 	      "SELECT RAISE(ABORT,'update on SE_group_styles violates constraint: "
 	      "not a valid SLD Style')\n"
@@ -2734,7 +3068,7 @@ create_group_styles (sqlite3 * sqlite, int relaxed)
     else
       {
 	  /* relaxed trigger - not imposing XML schema validation */
-	  sql = "CREATE TRIGGER segrpstl_style_update\n"
+	  sql = "CREATE TRIGGER segroup_style_update\n"
 	      "BEFORE UPDATE ON 'SE_group_styles'\nFOR EACH ROW BEGIN\n"
 	      "SELECT RAISE(ABORT,'update on SE_group_styles violates constraint: "
 	      "not a valid SLD Raster Style')\n"
@@ -2748,12 +3082,11 @@ create_group_styles (sqlite3 * sqlite, int relaxed)
 	  return 0;
       }
 /* automatically setting the style_name after inserting */
-    sql = "CREATE TRIGGER segrpstl_style_name_ins\n"
+    sql = "CREATE TRIGGER segroup_style_name_ins\n"
 	"AFTER INSERT ON 'SE_group_styles'\nFOR EACH ROW BEGIN\n"
 	"UPDATE SE_group_styles "
 	"SET style_name = XB_GetName(NEW.style) "
-	"WHERE group_name = NEW.group_name "
-	"AND style_id = NEW.style_id;\nEND";
+	"WHERE style_id = NEW.style_id;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2762,13 +3095,12 @@ create_group_styles (sqlite3 * sqlite, int relaxed)
 	  return 0;
       }
 /* automatically setting the style_name after updating */
-    sql = "CREATE TRIGGER segrpstl_style_name_upd\n"
+    sql = "CREATE TRIGGER segroup_style_name_upd\n"
 	"AFTER UPDATE OF style ON "
 	"'SE_group_styles'\nFOR EACH ROW BEGIN\n"
 	"UPDATE SE_group_styles "
 	"SET style_name = XB_GetName(NEW.style) "
-	"WHERE group_name = NEW.group_name "
-	"AND style_id = NEW.style_id;\nEND";
+	"WHERE style_id = NEW.style_id;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -2780,81 +3112,57 @@ create_group_styles (sqlite3 * sqlite, int relaxed)
 }
 
 static int
-create_external_graphics_view (sqlite3 * sqlite)
+create_styled_groups (sqlite3 * sqlite)
 {
-/* creating the SE_external_graphics_view view */
-    char *sql_statement;
+/* creating the SE_styled_groups table */
+    char *sql;
     int ret;
     char *err_msg = NULL;
-    sql_statement =
-	sqlite3_mprintf
-	("CREATE VIEW SE_external_graphics_view AS\n"
-	 "SELECT xlink_href AS xlink_href, title AS title, "
-	 "abstract AS abstract, resource AS resource, "
-	 "file_name AS file_name, GetMimeType(resource) AS mime_type\n"
-	 "FROM SE_external_graphics");
-    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
-    sqlite3_free (sql_statement);
+    sql = "CREATE TABLE SE_styled_groups (\n"
+	"group_name TEXT NOT NULL PRIMARY KEY,\n"
+	"title TEXT NOT NULL DEFAULT '*** undefined ***',\n"
+	"abstract TEXT NOT NULL DEFAULT '*** undefined ***')";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e
-	      ("CREATE VIEW 'SE_external_graphics_view' error: %s\n", err_msg);
+	  spatialite_e ("CREATE TABLE 'SE_styled_groups' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    return 1;
-}
-
-static int
-create_vector_styled_layers_view (sqlite3 * sqlite)
-{
-/* creating the SE_vector_styled_layers_view view */
-    char *sql_statement;
-    int ret;
-    char *err_msg = NULL;
-    sql_statement =
-	sqlite3_mprintf ("CREATE VIEW SE_vector_styled_layers_view AS \n"
-			 "SELECT f_table_name AS f_table_name, f_geometry_column AS f_geometry_column, "
-			 "style_id AS style_id, style_name AS name, XB_GetTitle(style) AS title, "
-			 "XB_GetAbstract(style) AS abstract, style AS style, "
-			 "XB_IsSchemaValidated(style) AS schema_validated, "
-			 "XB_GetSchemaURI(style) AS schema_uri\n"
-			 "FROM SE_vector_styled_layers");
-    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
-    sqlite3_free (sql_statement);
+/* creating the SE_styled_groups triggers */
+    sql = "CREATE TRIGGER segrp_group_name_insert\n"
+	"BEFORE INSERT ON 'SE_styled_groups'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_groups violates constraint: "
+	"group_name value must not contain a single quote')\n"
+	"WHERE NEW.group_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_groups violates constraint: "
+	"group_name value must not contain a double quote')\n"
+	"WHERE NEW.group_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_groups violates constraint: "
+	"group_name value must be lower case')\n"
+	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e
-	      ("CREATE VIEW 'SE_vector_styled_layers_view' error: %s\n",
-	       err_msg);
+	  spatialite_e ("SQL error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    return 1;
-}
-
-static int
-create_raster_styled_layers_view (sqlite3 * sqlite)
-{
-/* creating the SE_raster_styled_layers_view view */
-    char *sql_statement;
-    int ret;
-    char *err_msg = NULL;
-    sql_statement =
-	sqlite3_mprintf ("CREATE VIEW SE_raster_styled_layers_view AS \n"
-			 "SELECT coverage_name AS coverage_name, style_id AS style_id, "
-			 "style_name AS name, XB_GetTitle(style) AS title, "
-			 "XB_GetAbstract(style) AS abstract, style AS style, "
-			 "XB_IsSchemaValidated(style) AS schema_validated, "
-			 "XB_GetSchemaURI(style) AS schema_uri\n"
-			 "FROM SE_raster_styled_layers");
-    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
-    sqlite3_free (sql_statement);
+    sql = "CREATE TRIGGER segrp_group_name_update\n"
+	"BEFORE UPDATE OF 'group_name' ON 'SE_styled_groups'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_groups violates constraint: "
+	"group_name value must not contain a single quote')\n"
+	"WHERE NEW.group_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_groups violates constraint: "
+	"group_name value must not contain a double quote')\n"
+	"WHERE NEW.group_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_groups violates constraint: "
+	"group_name value must be lower case')\n"
+	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e
-	      ("CREATE VIEW 'SE_raster_styled_layers_view' error: %s\n",
-	       err_msg);
+	  spatialite_e ("SQL error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
@@ -2862,239 +3170,138 @@ create_raster_styled_layers_view (sqlite3 * sqlite)
 }
 
 static int
-create_styled_groups_view (sqlite3 * sqlite)
+create_styled_group_refs (sqlite3 * sqlite)
 {
-/* creating the SE_styled_groups_view view */
+/* creating the SE_styled_group_refs table */
     char *sql;
     int ret;
     char *err_msg = NULL;
-    sql = "CREATE VIEW SE_styled_groups_view AS "
-	"SELECT g.group_name AS group_name, g.title AS group_title, "
-	"g.abstract AS group_abstract, gr.paint_order AS paint_order, "
-	"'vector' AS type, v.f_table_name AS layer_name, "
-	"v.f_geometry_column AS geometry_column, "
-	"v.geometry_type AS geometry_type, v.coord_dimension AS coord_dimension, "
-	"v.srid AS srid FROM SE_styled_groups AS g "
-	"JOIN SE_styled_group_refs AS gr ON (g.group_name = gr.group_name) "
-	"JOIN geometry_columns AS v ON (gr.f_table_name = v.f_table_name "
-	"AND gr.f_geometry_column = v.f_geometry_column) UNION "
-	"SELECT g.group_name AS group_name, g.title AS group_title, "
-	"g.abstract AS group_abstract, gr.paint_order AS paint_order, "
-	"'raster' AS type, r.coverage_name AS layer_name, NULL AS geometry_column, "
-	"NULL AS geometry_type, NULL AS coord_dimension, r.srid AS srid "
-	"FROM SE_styled_groups AS g "
-	"JOIN SE_styled_group_refs AS gr ON (g.group_name = gr.group_name) "
-	"JOIN raster_coverages AS r ON (gr.coverage_name = r.coverage_name)";
+    sql = "CREATE TABLE SE_styled_group_refs (\n"
+	"id INTEGER PRIMARY KEY AUTOINCREMENT,\n"
+	"group_name TEXT NOT NULL,\n"
+	"paint_order INTEGER NOT NULL,\n"
+	"vector_coverage_name TEXT,\n"
+	"raster_coverage_name TEXT,\n"
+	"CONSTRAINT fk_se_refs FOREIGN KEY (group_name) "
+	"REFERENCES SE_styled_groups (group_name) "
+	"ON DELETE CASCADE,\n"
+	"CONSTRAINT fk_se_group_vector "
+	"FOREIGN KEY (vector_coverage_name) "
+	"REFERENCES vector_coverages (coverage_name) ON DELETE CASCADE,\n"
+	"CONSTRAINT fk_se_group_raster "
+	"FOREIGN KEY (raster_coverage_name) "
+	"REFERENCES raster_coverages (coverage_name) ON DELETE CASCADE)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
 	  spatialite_e
-	      ("CREATE VIEW 'SE_styled_groups_view' error: %s\n", err_msg);
+	      ("CREATE TABLE 'SE_styled_group_refs' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    return 1;
-}
-
-static int
-create_group_styles_view (sqlite3 * sqlite)
-{
-/* creating the SE_group_styles_view view */
-    char *sql_statement;
-    int ret;
-    char *err_msg = NULL;
-    sql_statement =
-	sqlite3_mprintf ("CREATE VIEW SE_group_styles_view AS \n"
-			 "SELECT group_name AS group_name, style_id AS style_id, "
-			 "style_name AS name, XB_GetTitle(style) AS title, "
-			 "XB_GetAbstract(style) AS abstract, style AS style, "
-			 "XB_IsSchemaValidated(style) AS schema_validated, "
-			 "XB_GetSchemaURI(style) AS schema_uri\n"
-			 "FROM SE_group_styles");
-    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
-    sqlite3_free (sql_statement);
+/* creating the SE_styled_group_refs triggers */
+    sql = "CREATE TRIGGER segrrefs_group_name_insert\n"
+	"BEFORE INSERT ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"group_name value must not contain a single quote')\n"
+	"WHERE NEW.group_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"group_name value must not contain a double quote')\n"
+	"WHERE NEW.group_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"group_name value must be lower case')\n"
+	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e
-	      ("CREATE VIEW 'SE_group_styles_view' error: %s\n", err_msg);
+	  spatialite_e ("SQL error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    return 1;
-}
-
-SPATIALITE_PRIVATE int
-createStylingTables (void *p_sqlite, int relaxed)
-{
-/* Creating the SE Styling tables */
-    const char *tables[12];
-    int views[11];
-    const char **p_tbl;
-    int *p_view;
-    int ok_table;
-    sqlite3 *sqlite = p_sqlite;
-
-/* checking SLD/SE Styling tables */
-    tables[0] = "SE_external_graphics";
-    tables[1] = "SE_vector_styled_layers";
-    tables[2] = "SE_raster_styled_layers";
-    tables[3] = "SE_styled_groups";
-    tables[4] = "SE_styled_group_refs";
-    tables[5] = "SE_group_styles";
-    tables[6] = "SE_external_graphics_view";
-    tables[7] = "SE_vector_styled_layers_view";
-    tables[8] = "SE_raster_styled_layers_view";
-    tables[9] = "SE_styled_groups_view";
-    tables[10] = "SE_group_styles_view";
-    tables[11] = NULL;
-    views[0] = 0;
-    views[1] = 0;
-    views[2] = 0;
-    views[3] = 0;
-    views[4] = 0;
-    views[5] = 0;
-    views[6] = 1;
-    views[7] = 1;
-    views[8] = 1;
-    views[9] = 1;
-    views[10] = 1;
-    p_tbl = tables;
-    p_view = views;
-    while (*p_tbl != NULL)
+    sql = "CREATE TRIGGER segrrefs_group_name_update\n"
+	"BEFORE UPDATE OF 'group_name' ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"group_name value must not contain a single quote')\n"
+	"WHERE NEW.group_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"group_name value must not contain a double quote')\n"
+	"WHERE NEW.group_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"group_name value must be lower case')\n"
+	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  ok_table = check_styling_table (sqlite, *p_tbl, *p_view);
-	  if (ok_table)
-	    {
-		spatialite_e
-		    ("CreateStylingTables() error: table '%s' already exists\n",
-		     *p_tbl);
-		goto error;
-	    }
-	  p_tbl++;
-	  p_view++;
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-
-/* creating the SLD/SE Styling tables */
-    if (!check_raster_coverages (sqlite))
+    sql = "CREATE TRIGGER segrrefs_vector_coverage_name_insert\n"
+	"BEFORE INSERT ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"vector_coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.vector_coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"vector_coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.vector_coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"vector_coverage_name value must be lower case')\n"
+	"WHERE NEW.vector_coverage_name <> lower(NEW.vector_coverage_name);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* creating the main RasterCoverages table as well */
-	  if (!create_raster_coverages (sqlite))
-	      goto error;
-      }
-    if (!create_external_graphics (sqlite))
-	goto error;
-    if (!create_vector_styled_layers (sqlite, relaxed))
-	goto error;
-    if (!create_raster_styled_layers (sqlite, relaxed))
-	goto error;
-    if (!create_styled_groups (sqlite))
-	goto error;
-    if (!create_styled_group_refs (sqlite))
-	goto error;
-    if (!create_group_styles (sqlite, relaxed))
-	goto error;
-    if (!create_external_graphics_view (sqlite))
-	goto error;
-    if (!create_vector_styled_layers_view (sqlite))
-	goto error;
-    if (!create_raster_styled_layers_view (sqlite))
-	goto error;
-    if (!create_styled_groups_view (sqlite))
-	goto error;
-    if (!create_group_styles_view (sqlite))
-	goto error;
-    return 1;
-
-  error:
-    return 0;
-}
-
-static int
-check_iso_metadata_table (sqlite3 * sqlite, const char *table, int is_view)
-{
-/* checking if some ISO Metadata-related table/view already exists */
-    int exists = 0;
-    char *sql_statement;
-    char *errMsg = NULL;
-    int ret;
-    char **results;
-    int rows;
-    int columns;
-    int i;
-    sql_statement =
-	sqlite3_mprintf ("SELECT name FROM sqlite_master WHERE type = '%s'"
-			 "AND Upper(name) = Upper(%Q)",
-			 (!is_view) ? "table" : "view", table);
-    ret =
-	sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns,
-			   &errMsg);
-    sqlite3_free (sql_statement);
-    if (ret != SQLITE_OK)
-      {
-	  sqlite3_free (errMsg);
-	  return 0;
-      }
-    for (i = 1; i <= rows; i++)
-	exists = 1;
-    sqlite3_free_table (results);
-    return exists;
-}
-
-static int
-create_iso_metadata (sqlite3 * sqlite, int relaxed)
-{
-/* creating the ISO_metadata table */
-    char *sql;
-    int ret;
-    char *err_msg = NULL;
-    sql = "CREATE TABLE ISO_metadata (\n"
-	"id INTEGER PRIMARY KEY AUTOINCREMENT,\n"
-	"md_scope TEXT NOT NULL DEFAULT 'dataset',\n"
-	"metadata BLOB NOT NULL DEFAULT (zeroblob(4)),\n"
-	"fileId TEXT,\nparentId TEXT)";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
-    if (ret != SQLITE_OK)
-      {
-	  spatialite_e ("CREATE TABLE 'ISO_metadata' error: %s\n", err_msg);
+	  spatialite_e ("SQL error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* adding the Geometry column */
-    sql =
-	"SELECT AddGeometryColumn('ISO_metadata', 'geometry', 4326, 'MULTIPOLYGON', 'XY')";
+    sql = "CREATE TRIGGER segrrefs_vector_coverage_name_update\n"
+	"BEFORE UPDATE OF 'vector_coverage_name' ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"rastrer_coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.vector_coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"vector_coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.vector_coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"vector_coverage_name value must be lower case')\n"
+	"WHERE NEW.vector_coverage_name <> lower(NEW.vector_coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e
-	      (" AddGeometryColumn 'ISO_metadata'.'geometry' error:%s\n",
-	       err_msg);
+	  spatialite_e ("SQL error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* adding a Spatial Index */
-    sql = "SELECT CreateSpatialIndex ('ISO_metadata', 'geometry')";
+
+    sql = "CREATE TRIGGER segrrefs_raster_coverage_name_insert\n"
+	"BEFORE INSERT ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"raster_coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.raster_coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"raster_coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.raster_coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"raster_coverage_name value must be lower case')\n"
+	"WHERE NEW.raster_coverage_name <> lower(NEW.raster_coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e
-	      ("CreateSpatialIndex 'ISO_metadata'.'geometry' error: %s\n",
-	       err_msg);
+	  spatialite_e ("SQL error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating the ISO_metadata triggers */
-    sql = "CREATE TRIGGER 'ISO_metadata_md_scope_insert'\n"
-	"BEFORE INSERT ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ROLLBACK, 'insert on table ISO_metadata violates constraint: "
-	"md_scope must be one of ''undefined'' | ''fieldSession'' | ''collectionSession'' "
-	"| ''series'' | ''dataset'' | ''featureType'' | ''feature'' | ''attributeType'' "
-	"| ''attribute'' | ''tile'' | ''model'' | ''catalogue'' | ''schema'' "
-	"| ''taxonomy'' | ''software'' | ''service'' | ''collectionHardware'' "
-	"| ''nonGeographicDataset'' | ''dimensionGroup''')\n"
-	"WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession',"
-	"'series','dataset','featureType','feature','attributeType','attribute',"
-	"'tile','model','catalogue','schema','taxonomy','software','service',"
-	"'collectionHardware','nonGeographicDataset','dimensionGroup'));\nEND";
+    sql = "CREATE TRIGGER segrrefs_raster_coverage_name_update\n"
+	"BEFORE UPDATE OF 'raster_coverage_name' ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"rastrer_coverage_name value must not contain a single quote')\n"
+	"WHERE NEW.raster_coverage_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"raster_coverage_name value must not contain a double quote')\n"
+	"WHERE NEW.raster_coverage_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"raster_coverage_name value must be lower case')\n"
+	"WHERE NEW.raster_coverage_name <> lower(NEW.raster_coverage_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -3102,18 +3309,12 @@ create_iso_metadata (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER 'ISO_metadata_md_scope_update'\n"
-	"BEFORE UPDATE OF 'md_scope' ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ROLLBACK, 'update on table ISO_metadata violates constraint: "
-	"md_scope must be one of ''undefined'' | ''fieldSession'' | ''collectionSession'' "
-	"| ''series'' | ''dataset'' | ''featureType'' | ''feature'' | ''attributeType'' |"
-	" ''attribute'' | ''tile'' | ''model'' | ''catalogue'' | ''schema'' "
-	"| ''taxonomy'' | ''software'' | ''service'' | ''collectionHardware'' "
-	"| ''nonGeographicDataset'' | ''dimensionGroup''')\n"
-	"WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession',"
-	"'series','dataset','featureType','feature','attributeType','attribute',"
-	"'tile','model','catalogue','schema','taxonomy','software','service',"
-	"'collectionHardware','nonGeographicDataset','dimensionGroup'));\nEND";
+    sql = "CREATE TRIGGER segrrefs_insert_1\n"
+	"BEFORE INSERT ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"cannot reference both Vector and Raster at the same time')\n"
+	"WHERE NEW.vector_coverage_name IS NOT NULL "
+	"AND NEW.raster_coverage_name IS NOT NULL;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -3121,14 +3322,12 @@ create_iso_metadata (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER 'ISO_metadata_fileIdentifier_insert'\n"
-	"AFTER INSERT ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
-	"UPDATE ISO_metadata SET fileId = XB_GetFileId(NEW.metadata), "
-	"parentId = XB_GetParentId(NEW.metadata), "
-	"geometry = XB_GetGeometry(NEW.metadata) WHERE id = NEW.id;\n"
-	"UPDATE ISO_metadata_reference "
-	"SET md_parent_id = GetIsoMetadataId(NEW.parentId) "
-	"WHERE md_file_id = NEW.id;\nEND";
+    sql = "CREATE TRIGGER segrrefs_update_1\n"
+	"BEFORE UPDATE ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"cannot reference both Vector and Raster at the same time')\n"
+	"WHERE NEW.vector_coverage_name IS NOT NULL "
+	"AND NEW.raster_coverage_name IS NOT NULL;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -3136,14 +3335,12 @@ create_iso_metadata (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER 'ISO_metadata_fileIdentifier_update'\n"
-	"AFTER UPDATE ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
-	"UPDATE ISO_metadata SET fileId = XB_GetFileId(NEW.metadata), "
-	"parentId = XB_GetParentId(NEW.metadata), "
-	"geometry = XB_GetGeometry(NEW.metadata) WHERE id = NEW.id;\n"
-	"UPDATE ISO_metadata_reference "
-	"SET md_parent_id = GetIsoMetadataId(NEW.parentId) "
-	"WHERE md_file_id = NEW.id;\nEND";
+    sql = "CREATE TRIGGER segrrefs_insert_2\n"
+	"BEFORE INSERT ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_refs violates constraint: "
+	"either Vector or Raster must be referenced')\n"
+	"WHERE NEW.vector_coverage_name IS NULL "
+	"AND NEW.raster_coverage_name IS NULL;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -3151,27 +3348,12 @@ create_iso_metadata (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    if (relaxed == 0)
-      {
-	  /* strong trigger - imposing XML schema validation */
-	  sql = "CREATE TRIGGER ISO_metadata_insert\n"
-	      "BEFORE INSERT ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'insert on ISO_metadata violates constraint: "
-	      "not a valid ISO Metadata XML')\n"
-	      "WHERE XB_IsIsoMetadata(NEW.metadata) <> 1 AND NEW.id <> 0;\n"
-	      "SELECT RAISE(ABORT,'insert on ISO_metadata violates constraint: "
-	      "not an XML Schema Validated ISO Metadata')\n"
-	      "WHERE XB_IsSchemaValidated(NEW.metadata) <> 1 AND NEW.id <> 0;\nEND";
-      }
-    else
-      {
-	  /* relaxed trigger - not imposing XML schema validation */
-	  sql = "CREATE TRIGGER ISO_metadata_insert\n"
-	      "BEFORE INSERT ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'insert on ISO_metadata violates constraint: "
-	      "not a valid ISO Metadata XML')\n"
-	      "WHERE XB_IsIsoMetadata(NEW.metadata) <> 1 AND NEW.id <> 0;\nEND";
-      }
+    sql = "CREATE TRIGGER segrrefs_update_2\n"
+	"BEFORE UPDATE ON 'SE_styled_group_refs'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_refs violates constraint: "
+	"either Vector or Raster must be referenced')\n"
+	"WHERE NEW.vector_coverage_name IS NULL "
+	"AND NEW.raster_coverage_name IS NULL;\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -3179,51 +3361,35 @@ create_iso_metadata (sqlite3 * sqlite, int relaxed)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    if (relaxed == 0)
-      {
-	  /* strong trigger - imposing XML schema validation */
-	  sql = "CREATE TRIGGER ISO_metadata_update\n"
-	      "BEFORE UPDATE ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'update on ISO_metadata violates constraint: "
-	      "not a valid ISO Metadata XML')\n"
-	      "WHERE XB_IsIsoMetadata(NEW.metadata) <> 1 AND NEW.id <> 0;\n"
-	      "SELECT RAISE(ABORT,'update on ISO_metadata violates constraint: "
-	      "not an XML Schema Validated ISO Metadata')\n"
-	      "WHERE XB_IsSchemaValidated(NEW.metadata) <> 1 AND NEW.id <> 0;\nEND";
-      }
-    else
-      {
-	  /* relaxed trigger - not imposing XML schema validation */
-	  sql = "CREATE TRIGGER ISO_metadata_update\n"
-	      "BEFORE UPDATE ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
-	      "SELECT RAISE(ABORT,'update on ISO_metadata violates constraint: "
-	      "not a valid ISO Metadata XML')\n"
-	      "WHERE XB_IsIsoMetadata(NEW.metadata) <> 1 AND NEW.id <> 0;\nEND";
-      }
+/* creating any Index on SE_styled_group_refs */
+    sql = "CREATE INDEX idx_SE_styled_vgroups ON "
+	"SE_styled_group_refs " "(vector_coverage_name)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e ("Create Index 'idx_SE_styled_vgroups' error: %s\n",
+			err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating any Index on ISO_metadata */
-    sql = "CREATE UNIQUE INDEX idx_ISO_metadata_ids ON "
-	"ISO_metadata (fileId)";
+    sql = "CREATE INDEX idx_SE_styled_rgroups ON "
+	"SE_styled_group_refs " "(raster_coverage_name)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("Create Index 'idx_ISO_metadata_ids' error: %s\n",
+	  spatialite_e ("Create Index 'idx_SE_styled_rgroups' error: %s\n",
 			err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE INDEX idx_ISO_metadata_parents ON " "ISO_metadata (parentId)";
+    sql = "CREATE INDEX idx_SE_styled_groups_paint ON "
+	"SE_styled_group_refs " "(group_name, paint_order)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("Create Index 'idx_ISO_metadata_parents' error: %s\n",
-			err_msg);
+	  spatialite_e
+	      ("Create Index 'idx_SE_styled_groups_paint' error: %s\n",
+	       err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
@@ -3231,39 +3397,41 @@ create_iso_metadata (sqlite3 * sqlite, int relaxed)
 }
 
 static int
-create_iso_metadata_reference (sqlite3 * sqlite)
+create_styled_group_styles (sqlite3 * sqlite)
 {
-/* creating the ISO_metadata_reference table */
+/* creating the SE_styled_group_styles table */
     char *sql;
     int ret;
     char *err_msg = NULL;
-    sql = "CREATE TABLE ISO_metadata_reference (\n"
-	"reference_scope TEXT NOT NULL DEFAULT 'table',\n"
-	"table_name TEXT NOT NULL DEFAULT 'undefined',\n"
-	"column_name TEXT NOT NULL DEFAULT 'undefined',\n"
-	"row_id_value INTEGER NOT NULL DEFAULT 0,\n"
-	"timestamp TEXT NOT NULL DEFAULT ("
-	"strftime('%Y-%m-%dT%H:%M:%fZ',CURRENT_TIMESTAMP)),\n"
-	"md_file_id INTEGER NOT NULL DEFAULT 0,\n"
-	"md_parent_id INTEGER NOT NULL DEFAULT 0,\n"
-	"CONSTRAINT fk_isometa_mfi FOREIGN KEY (md_file_id) "
-	"REFERENCES ISO_metadata(id),\n"
-	"CONSTRAINT fk_isometa_mpi FOREIGN KEY (md_parent_id) "
-	"REFERENCES ISO_metadata(id))";
+    sql = "CREATE TABLE SE_styled_group_styles (\n"
+	"id INTEGER PRIMARY KEY AUTOINCREMENT,\n"
+	"group_name TEXT NOT NULL,\n"
+	"style_id INTEGER NOT NULL,\n"
+	"CONSTRAINT fk_se_grpstl FOREIGN KEY (group_name) "
+	"REFERENCES SE_styled_groups (group_name) "
+	"ON DELETE CASCADE,\n"
+	"CONSTRAINT fk_se_group_style FOREIGN KEY (style_id) "
+	"REFERENCES group_styles (style_id) ON DELETE CASCADE)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("CREATE TABLE 'ISO_metadata_reference' error: %s\n",
-			err_msg);
+	  spatialite_e
+	      ("CREATE TABLE 'SE_styled_group_styles' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating the ISO_metadata_reference triggers */
-    sql = "CREATE TRIGGER 'ISO_metadata_reference_scope_insert'\n"
-	"BEFORE INSERT ON 'ISO_metadata_reference'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ROLLBACK, 'insert on table ISO_metadata_reference violates constraint: "
-	"reference_scope must be one of ''table'' | ''column'' | ''row'' | ''row/col''')\n"
-	"WHERE NOT NEW.reference_scope IN ('table','column','row','row/col');\nEND";
+/* creating the SE_styled_group_styles triggers */
+    sql = "CREATE TRIGGER segrpstl_group_name_insert\n"
+	"BEFORE INSERT ON 'SE_styled_group_styles'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_styles violates constraint: "
+	"group_name value must not contain a single quote')\n"
+	"WHERE NEW.group_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_styles violates constraint: "
+	"group_name value must not contain a double quote')\n"
+	"WHERE NEW.group_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'insert on SE_styled_group_styles violates constraint: "
+	"group_name value must be lower case')\n"
+	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -3271,25 +3439,17 @@ create_iso_metadata_reference (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER 'ISO_metadata_reference_scope_update'\n"
-	"BEFORE UPDATE OF 'reference_scope' ON 'ISO_metadata_reference'\n"
-	"FOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ROLLBACK, 'update on table ISO_metadata_reference violates constraint: "
-	"referrence_scope must be one of ''table'' | ''column'' | ''row'' | ''row/col''')\n"
-	"WHERE NOT NEW.reference_scope IN ('table','column','row','row/col');\nEND";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
-    if (ret != SQLITE_OK)
-      {
-	  spatialite_e ("SQL error: %s\n", err_msg);
-	  sqlite3_free (err_msg);
-	  return 0;
-      }
-    sql = "CREATE TRIGGER 'ISO_metadata_reference_table_name_insert'\n"
-	"BEFORE INSERT ON 'ISO_metadata_reference'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ROLLBACK, 'insert on table ISO_metadata_reference violates constraint: "
-	"table_name must be the name of a table in geometry_columns')\n"
-	"WHERE NOT NEW.table_name IN (\n"
-	"SELECT f_table_name AS table_name FROM geometry_columns);\nEND";
+    sql = "CREATE TRIGGER segrpstl_group_name_update\n"
+	"BEFORE UPDATE OF 'group_name' ON 'SE_styled_group_styles'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_styles violates constraint: "
+	"group_name value must not contain a single quote')\n"
+	"WHERE NEW.group_name LIKE ('%''%');\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_styles violates constraint: "
+	"group_name value must not contain a double quote')\n"
+	"WHERE NEW.group_name LIKE ('%\"%');\n"
+	"SELECT RAISE(ABORT,'update on SE_styled_group_styles violates constraint: "
+	"group_name value must be lower case')\n"
+	"WHERE NEW.group_name <> lower(NEW.group_name);\nEND";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
@@ -3297,104 +3457,203 @@ create_iso_metadata_reference (sqlite3 * sqlite)
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER 'ISO_metadata_reference_table_name_update'\n"
-	"BEFORE UPDATE OF 'table_name' ON 'ISO_metadata_reference'\n"
-	"FOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ROLLBACK, 'update on table ISO_metadata_reference violates constraint: "
-	"table_name must be the name of a table in geometry_columns')\n"
-	"WHERE NOT NEW.table_name IN (\n"
-	"SELECT f_table_name AS table_name FROM geometry_columns);\nEND";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    return 1;
+}
+
+static int
+create_external_graphics_view (sqlite3 * sqlite)
+{
+/* creating the SE_external_graphics_view view */
+    char *sql_statement;
+    int ret;
+    char *err_msg = NULL;
+    sql_statement =
+	sqlite3_mprintf
+	("CREATE VIEW SE_external_graphics_view AS\n"
+	 "SELECT xlink_href AS xlink_href, title AS title, "
+	 "abstract AS abstract, resource AS resource, "
+	 "file_name AS file_name, GetMimeType(resource) AS mime_type\n"
+	 "FROM SE_external_graphics");
+    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
+    sqlite3_free (sql_statement);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e
+	      ("CREATE VIEW 'SE_external_graphics_view' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER 'ISO_metadata_reference_row_id_value_insert'\n"
-	"BEFORE INSERT ON 'ISO_metadata_reference'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ROLLBACK, 'insert on ISO_table ISO_metadata_reference violates constraint: "
-	"row_id_value must be 0 when reference_scope is ''table'' or ''column''')\n"
-	"WHERE NEW.reference_scope IN ('table','column') AND NEW.row_id_value <> 0;\n"
-	"SELECT RAISE(ROLLBACK, 'insert on table ISO_metadata_reference violates constraint: "
-	"row_id_value must exist in specified table when reference_scope is ''row'' or ''row/col''')\n"
-	"WHERE NEW.reference_scope IN ('row','row/col') AND NOT EXISTS\n"
-	"(SELECT rowid FROM (SELECT NEW.table_name AS table_name) "
-	"WHERE rowid = NEW.row_id_value);\nEND";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    return 1;
+}
+
+static int
+create_fonts_view (sqlite3 * sqlite)
+{
+/* creating the SE_fonts_view view */
+    char *sql_statement;
+    int ret;
+    char *err_msg = NULL;
+    sql_statement =
+	sqlite3_mprintf
+	("CREATE VIEW SE_fonts_view AS\n"
+	 "SELECT font_facename AS font_facename, "
+	 "GetFontFamily(font) AS family_name, "
+	 "IsFontBold(font) AS bold, IsFontItalic(font) AS italic, "
+	 "font AS font\nFROM SE_fonts");
+    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
+    sqlite3_free (sql_statement);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e ("CREATE VIEW 'SE_fonts_view' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER 'ISO_metadata_reference_row_id_value_update'\n"
-	"BEFORE UPDATE OF 'row_id_value' ON 'ISO_metadata_reference'\n"
-	"FOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ROLLBACK, 'update on table ISO_metadata_reference violates constraint: "
-	"row_id_value must be 0 when reference_scope is ''table'' or ''column''')\n"
-	"WHERE NEW.reference_scope IN ('table','column') AND NEW.row_id_value <> 0;\n"
-	"SELECT RAISE(ROLLBACK, 'update on ISO_table metadata_reference violates constraint: "
-	"row_id_value must exist in specified table when reference_scope is ''row'' or ''row/col''')\n"
-	"WHERE NEW.reference_scope IN ('row','row/col') AND NOT EXISTS\n"
-	"(SELECT rowid FROM (SELECT NEW.table_name AS table_name) "
-	"WHERE rowid = NEW.row_id_value);\nEND";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    return 1;
+}
+
+static int
+create_vector_styles_view (sqlite3 * sqlite)
+{
+/* creating the SE_vector_styles_view view */
+    char *sql_statement;
+    int ret;
+    char *err_msg = NULL;
+    sql_statement =
+	sqlite3_mprintf ("CREATE VIEW SE_vector_styles_view AS \n"
+			 "SELECT style_name AS name, XB_GetTitle(style) AS title, "
+			 "XB_GetAbstract(style) AS abstract, style AS style, "
+			 "XB_IsSchemaValidated(style) AS schema_validated, "
+			 "XB_GetSchemaURI(style) AS schema_uri\n"
+			 "FROM SE_vector_styles");
+    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
+    sqlite3_free (sql_statement);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e
+	      ("CREATE VIEW 'SE_vector_styled_layers_view' error: %s\n",
+	       err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER 'ISO_metadata_reference_timestamp_insert'\n"
-	"BEFORE INSERT ON 'ISO_metadata_reference'\nFOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ROLLBACK, 'insert on table ISO_metadata_reference violates constraint: "
-	"timestamp must be a valid time in ISO 8601 ''yyyy-mm-ddThh:mm:ss.cccZ'' form')\n"
-	"WHERE NOT (NEW.timestamp GLOB'[1-2][0-9][0-9][0-9]-[0-1][0-9]-[1-3][0-9]T"
-	"[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',"
-	"NEW.timestamp) NOT NULL);\nEND";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    return 1;
+}
+
+static int
+create_raster_styles_view (sqlite3 * sqlite)
+{
+/* creating the SE_raster_styles_view view */
+    char *sql_statement;
+    int ret;
+    char *err_msg = NULL;
+    sql_statement =
+	sqlite3_mprintf ("CREATE VIEW SE_raster_styles_view AS \n"
+			 "SELECT style_name AS name, XB_GetTitle(style) AS title, "
+			 "XB_GetAbstract(style) AS abstract, style AS style, "
+			 "XB_IsSchemaValidated(style) AS schema_validated, "
+			 "XB_GetSchemaURI(style) AS schema_uri\n"
+			 "FROM SE_raster_styles");
+    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
+    sqlite3_free (sql_statement);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e
+	      ("CREATE VIEW 'SE_raster_styled_layers_view' error: %s\n",
+	       err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE TRIGGER 'ISO_metadata_reference_timestamp_update'\n"
-	"BEFORE UPDATE OF 'timestamp' ON 'ISO_metadata_reference'\n"
-	"FOR EACH ROW BEGIN\n"
-	"SELECT RAISE(ROLLBACK, 'update on table ISO_metadata_reference violates constraint: "
-	"timestamp must be a valid time in ISO 8601 ''yyyy-mm-ddThh:mm:ss.cccZ'' form')\n"
-	"WHERE NOT (NEW.timestamp GLOB'[1-2][0-9][0-9][0-9]-[0-1][0-9]-[1-3][0-9]T"
-	"[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',"
-	"NEW.timestamp) NOT NULL);\nEND";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    return 1;
+}
+
+static int
+create_vector_styled_layers_view (sqlite3 * sqlite)
+{
+/* creating the SE_vector_styled_layers_view view */
+    char *sql_statement;
+    int ret;
+    char *err_msg = NULL;
+    sql_statement =
+	sqlite3_mprintf ("CREATE VIEW SE_vector_styled_layers_view AS \n"
+			 "SELECT l.coverage_name AS coverage_name, v.f_table_name AS f_table_name, "
+			 "v.f_geometry_column AS f_geometry_column, l.style_id AS style_id, "
+			 "s.style_name AS name, XB_GetTitle(s.style) AS title, "
+			 "XB_GetAbstract(s.style) AS abstract, s.style AS style, "
+			 "XB_IsSchemaValidated(s.style) AS schema_validated, "
+			 "XB_GetSchemaURI(s.style) AS schema_uri\n"
+			 "FROM SE_vector_styled_layers AS l\n"
+			 "JOIN vector_coverages AS v ON (l.coverage_name = v.coverage_name) "
+			 "JOIN SE_vector_styles AS s ON (l.style_id = s.style_id)");
+    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
+    sqlite3_free (sql_statement);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("SQL error: %s\n", err_msg);
+	  spatialite_e
+	      ("CREATE VIEW 'SE_vector_styled_layers_view' error: %s\n",
+	       err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-/* creating any Index on ISO_metadata_reference */
-    sql = "CREATE INDEX idx_ISO_metadata_reference_ids ON "
-	"ISO_metadata_reference (md_file_id)";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    return 1;
+}
+
+static int
+create_raster_styled_layers_view (sqlite3 * sqlite)
+{
+/* creating the SE_raster_styled_layers_view view */
+    char *sql_statement;
+    int ret;
+    char *err_msg = NULL;
+    sql_statement =
+	sqlite3_mprintf ("CREATE VIEW SE_raster_styled_layers_view AS \n"
+			 "SELECT l.coverage_name AS coverage_name, l.style_id AS style_id, "
+			 "s.style_name AS name, XB_GetTitle(s.style) AS title, "
+			 "XB_GetAbstract(s.style) AS abstract, s.style AS style, "
+			 "XB_IsSchemaValidated(s.style) AS schema_validated, "
+			 "XB_GetSchemaURI(s.style) AS schema_uri\n"
+			 "FROM SE_raster_styled_layers AS l\n"
+			 "JOIN SE_raster_styles AS s ON (l.style_id = s.style_id)");
+    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
+    sqlite3_free (sql_statement);
     if (ret != SQLITE_OK)
       {
 	  spatialite_e
-	      ("Create Index 'idx_ISO_metadata_reference_ids' error: %s\n",
+	      ("CREATE VIEW 'SE_raster_styled_layers_view' error: %s\n",
 	       err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
-    sql = "CREATE INDEX idx_ISO_metadata_reference_parents ON "
-	"ISO_metadata_reference (md_parent_id)";
+    return 1;
+}
+
+static int
+create_styled_groups_view (sqlite3 * sqlite)
+{
+/* creating the SE_styled_groups_view view */
+    char *sql;
+    int ret;
+    char *err_msg = NULL;
+    sql = "CREATE VIEW SE_styled_groups_view AS "
+	"SELECT g.group_name AS group_name, g.title AS group_title, "
+	"g.abstract AS group_abstract, gr.paint_order AS paint_order, "
+	"'vector' AS type, gr.vector_coverage_name AS coverage_name, "
+	"c.f_table_name AS f_table_name, c.f_geometry_column AS f_geometry_column, "
+	"c.srid AS srid FROM SE_styled_groups AS g "
+	"JOIN SE_styled_group_refs AS gr ON (g.group_name = gr.group_name) "
+	"JOIN vector_coverages AS v ON (gr.vector_coverage_name = v.coverage_name) "
+	"JOIN geometry_columns AS c ON (v.f_table_name = c.f_table_name "
+	"AND v.f_geometry_column = c.f_geometry_column) "
+	"UNION SELECT g.group_name AS group_name, g.title AS group_title, "
+	"g.abstract AS group_abstract, gr.paint_order AS paint_order, "
+	"'raster' AS type, gr.raster_coverage_name AS coverage_name, "
+	"NULL AS f_table_name, NULL AS f_geometry_column, "
+	"r.srid AS srid FROM SE_styled_groups AS g "
+	"JOIN SE_styled_group_refs AS gr ON (g.group_name = gr.group_name) "
+	"JOIN raster_coverages AS r ON (gr.raster_coverage_name = r.coverage_name)";
     ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
 	  spatialite_e
-	      ("Create Index 'idx_ISO_metadata_reference_parents' error: %s\n",
-	       err_msg);
+	      ("CREATE VIEW 'SE_styled_groups_view' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
@@ -3402,23 +3661,29 @@ create_iso_metadata_reference (sqlite3 * sqlite)
 }
 
 static int
-create_iso_metadata_view (sqlite3 * sqlite)
+create_group_styles_view (sqlite3 * sqlite)
 {
-/* creating the ISO_metadata_view view */
-    char *sql;
+/* creating the SE_group_styles_view view */
+    char *sql_statement;
     int ret;
     char *err_msg = NULL;
-    sql = "CREATE VIEW ISO_metadata_view AS\n"
-	"SELECT id AS id, md_scope AS md_scope, XB_GetTitle(metadata) AS title, "
-	"XB_GetAbstract(metadata) AS abstract, geometry AS geometry, "
-	"fileId AS fileIdentifier, parentId AS parentIdentifier, metadata AS metadata, "
-	"XB_IsSchemaValidated(metadata) AS schema_validated, "
-	"XB_GetSchemaURI(metadata) AS metadata_schema_URI\n"
-	"FROM ISO_metadata";
-    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    sql_statement =
+	sqlite3_mprintf ("CREATE VIEW SE_group_styles_view AS \n"
+			 "SELECT g.group_name AS group_name, b.title AS group_title, "
+			 "b.abstract AS group_abstract, s.style_id AS style_id, "
+			 "s.style_name AS name, XB_GetTitle(s.style) AS title, "
+			 "XB_GetAbstract(s.style) AS abstract, s.style AS style, "
+			 "XB_IsSchemaValidated(s.style) AS schema_validated, "
+			 "XB_GetSchemaURI(s.style) AS schema_uri\n"
+			 "FROM SE_styled_group_styles AS g\n"
+			 "JOIN SE_styled_groups AS b ON (g.group_name = b.group_name)\n"
+			 "JOIN SE_group_styles AS s ON (g.style_id = s.style_id)");
+    ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg);
+    sqlite3_free (sql_statement);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("CREATE VIEW 'ISO_metadata_view' error: %s\n", err_msg);
+	  spatialite_e
+	      ("CREATE VIEW 'SE_group_styles_view' error: %s\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return 0;
       }
@@ -3426,35 +3691,72 @@ create_iso_metadata_view (sqlite3 * sqlite)
 }
 
 SPATIALITE_PRIVATE int
-createIsoMetadataTables (void *p_sqlite, int relaxed)
+createStylingTables_ex (void *p_sqlite, int relaxed, int transaction)
 {
-/* Creating the ISO Metadata tables */
-    const char *tables[4];
-    int views[3];
+/* Creating the SE Styling tables */
+    const char *tables[19];
+    int views[18];
     const char **p_tbl;
     int *p_view;
     int ok_table;
-    int ret;
-    char *err_msg = NULL;
     sqlite3 *sqlite = p_sqlite;
+    int ret;
 
-/* checking ISO Metadata tables */
-    tables[0] = "ISO_metadata";
-    tables[1] = "ISO_metadata_reference";
-    tables[2] = "ISO_metadata_view";
-    tables[3] = NULL;
+    if (transaction)
+      {
+	  /* starting a Transaction */
+	  ret = sqlite3_exec (p_sqlite, "BEGIN", NULL, NULL, NULL);
+	  if (ret != SQLITE_OK)
+	      goto error;
+      }
+
+/* checking SLD/SE Styling tables */
+    tables[0] = "SE_external_graphics";
+    tables[1] = "SE_fonts";
+    tables[2] = "SE_vector_styles";
+    tables[3] = "SE_raster_styles";
+    tables[4] = "SE_group_styles";
+    tables[5] = "SE_vector_styled_layers";
+    tables[6] = "SE_raster_styled_layers";
+    tables[7] = "SE_styled_groups";
+    tables[8] = "SE_styled_group_refs";
+    tables[9] = "SE_styled_group_styles";
+    tables[10] = "SE_external_graphics_view";
+    tables[11] = "SE_fonts_view";
+    tables[12] = "SE_vector_styles_view";
+    tables[13] = "SE_raster_styles_view";
+    tables[14] = "SE_vector_styled_layers_view";
+    tables[15] = "SE_raster_styled_layers_view";
+    tables[16] = "SE_styled_groups_view";
+    tables[17] = "SE_group_styles_view";
+    tables[18] = NULL;
     views[0] = 0;
     views[1] = 0;
-    views[2] = 1;
+    views[2] = 0;
+    views[3] = 0;
+    views[4] = 0;
+    views[5] = 0;
+    views[6] = 0;
+    views[7] = 0;
+    views[8] = 0;
+    views[9] = 0;
+    views[10] = 1;
+    views[11] = 1;
+    views[12] = 1;
+    views[13] = 1;
+    views[14] = 1;
+    views[15] = 1;
+    views[16] = 1;
+    views[17] = 1;
     p_tbl = tables;
     p_view = views;
     while (*p_tbl != NULL)
       {
-	  ok_table = check_iso_metadata_table (sqlite, *p_tbl, *p_view);
+	  ok_table = check_styling_table (sqlite, *p_tbl, *p_view);
 	  if (ok_table)
 	    {
 		spatialite_e
-		    ("CreateIsoMetadataTables() error: table '%s' already exists\n",
+		    ("CreateStylingTables() error: table '%s' already exists\n",
 		     *p_tbl);
 		goto error;
 	    }
@@ -3462,25 +3764,62 @@ createIsoMetadataTables (void *p_sqlite, int relaxed)
 	  p_view++;
       }
 
-/* creating the ISO Metadata tables */
-    if (!create_iso_metadata (sqlite, relaxed))
-	goto error;
-    if (!create_iso_metadata_reference (sqlite))
-	goto error;
-    if (!create_iso_metadata_view (sqlite))
-	goto error;
-/* inserting the default "undef" row into ISO_metadata */
-    ret =
-	sqlite3_exec (sqlite,
-		      "INSERT INTO ISO_metadata (id, md_scope) VALUES (0, 'undefined')",
-		      NULL, NULL, &err_msg);
-    if (ret != SQLITE_OK)
+/* creating the SLD/SE Styling tables */
+    if (!check_raster_coverages (sqlite))
       {
-	  spatialite_e
-	      ("Insert default 'undefined' ISO_metadata row - error: %s\n",
-	       err_msg);
-	  sqlite3_free (err_msg);
-	  return 0;
+	  /* creating the main RasterCoverages table as well */
+	  if (!create_raster_coverages (sqlite))
+	      goto error;
+      }
+    if (!check_vector_coverages (sqlite))
+      {
+	  /* creating the main VectorCoverages table as well */
+	  if (!create_vector_coverages (sqlite))
+	      goto error;
+      }
+    if (!create_external_graphics (sqlite))
+	goto error;
+    if (!create_fonts (sqlite))
+	goto error;
+    if (!create_vector_styles (sqlite, relaxed))
+	goto error;
+    if (!create_raster_styles (sqlite, relaxed))
+	goto error;
+    if (!create_group_styles (sqlite, relaxed))
+	goto error;
+    if (!create_vector_styled_layers (sqlite))
+	goto error;
+    if (!create_raster_styled_layers (sqlite))
+	goto error;
+    if (!create_styled_groups (sqlite))
+	goto error;
+    if (!create_styled_group_refs (sqlite))
+	goto error;
+    if (!create_styled_group_styles (sqlite))
+	goto error;
+    if (!create_external_graphics_view (sqlite))
+	goto error;
+    if (!create_fonts_view (sqlite))
+	goto error;
+    if (!create_vector_styles_view (sqlite))
+	goto error;
+    if (!create_raster_styles_view (sqlite))
+	goto error;
+    if (!create_vector_styled_layers_view (sqlite))
+	goto error;
+    if (!create_raster_styled_layers_view (sqlite))
+	goto error;
+    if (!create_styled_groups_view (sqlite))
+	goto error;
+    if (!create_group_styles_view (sqlite))
+	goto error;
+
+    if (transaction)
+      {
+	  /* confirming the still pending Transaction */
+	  ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL);
+	  if (ret != SQLITE_OK)
+	      goto error;
       }
     return 1;
 
@@ -3489,988 +3828,488 @@ createIsoMetadataTables (void *p_sqlite, int relaxed)
 }
 
 SPATIALITE_PRIVATE int
-register_external_graphic (void *p_sqlite, const char *xlink_href,
-			   const unsigned char *p_blob, int n_bytes,
-			   const char *title, const char *abstract,
-			   const char *file_name)
+createStylingTables (void *p_sqlite, int relaxed)
 {
-/* auxiliary function: inserts or updates an ExternalGraphic Resource */
-    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
-    int ret;
-    const char *sql;
-    sqlite3_stmt *stmt;
-    int exists = 0;
-    int extras = 0;
-    int retval = 0;
-
-/* checking if already exists */
-    sql = "SELECT xlink_href FROM SE_external_graphics WHERE xlink_href = ?";
-    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-    if (ret != SQLITE_OK)
-      {
-	  spatialite_e ("registerExternalGraphic: \"%s\"\n",
-			sqlite3_errmsg (sqlite));
-	  goto stop;
-      }
-    sqlite3_reset (stmt);
-    sqlite3_clear_bindings (stmt);
-    sqlite3_bind_text (stmt, 1, xlink_href, strlen (xlink_href), SQLITE_STATIC);
-    while (1)
-      {
-	  /* scrolling the result set rows */
-	  ret = sqlite3_step (stmt);
-	  if (ret == SQLITE_DONE)
-	      break;		/* end of result set */
-	  if (ret == SQLITE_ROW)
-	      exists = 1;
-      }
-    sqlite3_finalize (stmt);
-
-    if (title != NULL && abstract != NULL && file_name != NULL)
-	extras = 1;
-    if (exists)
-      {
-	  /* update */
-	  if (extras)
-	    {
-		/* full infos */
-		sql = "UPDATE SE_external_graphics "
-		    "SET resource = ?, title = ?, abstract = ?, file_name = ? "
-		    "WHERE xlink_href = ?";
-	    }
-	  else
-	    {
-		/* limited basic infos */
-		sql = "UPDATE SE_external_graphics "
-		    "SET resource = ? WHERE xlink_href = ?";
-	    }
-      }
-    else
-      {
-	  /* insert */
-	  if (extras)
-	    {
-		/* full infos */
-		sql = "INSERT INTO SE_external_graphics "
-		    "(xlink_href, resource, title, abstract, file_name) "
-		    "VALUES (?, ?, ?, ?, ?)";
-	    }
-	  else
-	    {
-		/* limited basic infos */
-		sql = "INSERT INTO SE_external_graphics "
-		    "(xlink_href, resource) VALUES (?, ?)";
-	    }
-      }
-    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-    if (ret != SQLITE_OK)
-      {
-	  spatialite_e ("registerExternalGraphic: \"%s\"\n",
-			sqlite3_errmsg (sqlite));
-	  goto stop;
-      }
-    sqlite3_reset (stmt);
-    sqlite3_clear_bindings (stmt);
-    if (exists)
-      {
-	  /* update */
-	  if (extras)
-	    {
-		/* full infos */
-		sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
-		sqlite3_bind_text (stmt, 2, title, strlen (title),
-				   SQLITE_STATIC);
-		sqlite3_bind_text (stmt, 3, abstract, strlen (abstract),
-				   SQLITE_STATIC);
-		sqlite3_bind_text (stmt, 4, file_name, strlen (file_name),
-				   SQLITE_STATIC);
-		sqlite3_bind_text (stmt, 5, xlink_href, strlen (xlink_href),
-				   SQLITE_STATIC);
-	    }
-	  else
-	    {
-		/* limited basic infos */
-		sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
-		sqlite3_bind_text (stmt, 2, xlink_href, strlen (xlink_href),
-				   SQLITE_STATIC);
-	    }
-      }
-    else
-      {
-	  /* insert */
-	  if (extras)
-	    {
-		/* full infos */
-		sqlite3_bind_text (stmt, 1, xlink_href, strlen (xlink_href),
-				   SQLITE_STATIC);
-		sqlite3_bind_blob (stmt, 2, p_blob, n_bytes, SQLITE_STATIC);
-		sqlite3_bind_text (stmt, 3, title, strlen (title),
-				   SQLITE_STATIC);
-		sqlite3_bind_text (stmt, 4, abstract, strlen (abstract),
-				   SQLITE_STATIC);
-		sqlite3_bind_text (stmt, 5, file_name, strlen (file_name),
-				   SQLITE_STATIC);
-	    }
-	  else
-	    {
-		/* limited basic infos */
-		sqlite3_bind_text (stmt, 1, xlink_href, strlen (xlink_href),
-				   SQLITE_STATIC);
-		sqlite3_bind_blob (stmt, 2, p_blob, n_bytes, SQLITE_STATIC);
-	    }
-      }
-    ret = sqlite3_step (stmt);
-    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
-	retval = 1;
-    else
-	spatialite_e ("registerExternalGraphic() error: \"%s\"\n",
-		      sqlite3_errmsg (sqlite));
-    sqlite3_finalize (stmt);
-    return retval;
-  stop:
-    return 0;
+/* Creating the SE Styling tables */
+    return createStylingTables_ex (p_sqlite, relaxed, 0);
 }
 
-SPATIALITE_PRIVATE int
-register_vector_styled_layer (void *p_sqlite, const char *f_table_name,
-			      const char *f_geometry_column, int style_id,
-			      const unsigned char *p_blob, int n_bytes)
+static int
+check_iso_metadata_table (sqlite3 * sqlite, const char *table, int is_view)
 {
-/* auxiliary function: inserts or updates a Vector Styled Layer */
-    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
-    int ret;
-    const char *sql;
-    sqlite3_stmt *stmt;
+/* checking if some ISO Metadata-related table/view already exists */
     int exists = 0;
-    int retval = 0;
-
-    if (style_id >= 0)
-      {
-	  /* checking if already exists */
-	  sql = "SELECT style_id FROM SE_vector_styled_layers "
-	      "WHERE f_table_name = Lower(?) AND f_geometry_column = Lower(?) "
-	      "AND style_id = ?";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerVectorStyledLayer: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, f_table_name, strlen (f_table_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 2, f_geometry_column,
-			     strlen (f_geometry_column), SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 3, style_id);
-	  while (1)
-	    {
-		/* scrolling the result set rows */
-		ret = sqlite3_step (stmt);
-		if (ret == SQLITE_DONE)
-		    break;	/* end of result set */
-		if (ret == SQLITE_ROW)
-		    exists = 1;
-	    }
-	  sqlite3_finalize (stmt);
-      }
-    else
-      {
-	  /* assigning the next style_id value */
-	  style_id = 0;
-	  sql = "SELECT Max(style_id) FROM SE_vector_styled_layers "
-	      "WHERE f_table_name = Lower(?) AND f_geometry_column = Lower(?) ";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerVectorStyledLayer: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, f_table_name, strlen (f_table_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 2, f_geometry_column,
-			     strlen (f_geometry_column), SQLITE_STATIC);
-	  while (1)
-	    {
-		/* scrolling the result set rows */
-		ret = sqlite3_step (stmt);
-		if (ret == SQLITE_DONE)
-		    break;	/* end of result set */
-		if (ret == SQLITE_ROW)
-		  {
-		      if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER)
-			  style_id = sqlite3_column_int (stmt, 0) + 1;
-		  }
-	    }
-	  sqlite3_finalize (stmt);
-      }
-
-    if (exists)
-      {
-	  /* update */
-	  sql = "UPDATE SE_vector_styled_layers SET style = ? "
-	      "WHERE f_table_name = Lower(?) AND f_geometry_column = Lower(?) "
-	      "AND style_id = ?";
-      }
-    else
-      {
-	  /* insert */
-	  sql = "INSERT INTO SE_vector_styled_layers "
-	      "(f_table_name, f_geometry_column, style_id, style) VALUES "
-	      "(?, ?, ?, ?)";
-      }
-    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    char *sql_statement;
+    char *errMsg = NULL;
+    int ret;
+    char **results;
+    int rows;
+    int columns;
+    int i;
+    sql_statement =
+	sqlite3_mprintf ("SELECT name FROM sqlite_master WHERE type = '%s'"
+			 "AND Upper(name) = Upper(%Q)",
+			 (!is_view) ? "table" : "view", table);
+    ret =
+	sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns,
+			   &errMsg);
+    sqlite3_free (sql_statement);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("registerVectorStyledLayer: \"%s\"\n",
-			sqlite3_errmsg (sqlite));
-	  goto stop;
-      }
-    sqlite3_reset (stmt);
-    sqlite3_clear_bindings (stmt);
-    if (exists)
-      {
-	  /* update */
-	  sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 2, f_table_name, strlen (f_table_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 3, f_geometry_column,
-			     strlen (f_geometry_column), SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 4, style_id);
-      }
-    else
-      {
-	  /* insert */
-	  sqlite3_bind_text (stmt, 1, f_table_name, strlen (f_table_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 2, f_geometry_column,
-			     strlen (f_geometry_column), SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 3, style_id);
-	  sqlite3_bind_blob (stmt, 4, p_blob, n_bytes, SQLITE_STATIC);
+	  sqlite3_free (errMsg);
+	  return 0;
       }
-    ret = sqlite3_step (stmt);
-    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
-	retval = 1;
-    else
-	spatialite_e ("registerVectorStyledLayer() error: \"%s\"\n",
-		      sqlite3_errmsg (sqlite));
-    sqlite3_finalize (stmt);
-    return retval;
-  stop:
-    return 0;
+    for (i = 1; i <= rows; i++)
+	exists = 1;
+    sqlite3_free_table (results);
+    return exists;
 }
 
-SPATIALITE_PRIVATE int
-register_raster_styled_layer (void *p_sqlite, const char *coverage_name,
-			      int style_id, const unsigned char *p_blob,
-			      int n_bytes)
+static int
+create_iso_metadata (sqlite3 * sqlite, int relaxed)
 {
-/* auxiliary function: inserts or updates a Raster Styled Layer */
-    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+/* creating the ISO_metadata table */
+    char *sql;
     int ret;
-    const char *sql;
-    sqlite3_stmt *stmt;
-    int exists = 0;
-    int retval = 0;
-
-    if (style_id >= 0)
-      {
-	  /* checking if already exists */
-	  sql = "SELECT style_id FROM SE_raster_styled_layers "
-	      "WHERE coverage_name = Lower(?) AND style_id = ?";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerRasterStyledLayer: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 2, style_id);
-	  while (1)
-	    {
-		/* scrolling the result set rows */
-		ret = sqlite3_step (stmt);
-		if (ret == SQLITE_DONE)
-		    break;	/* end of result set */
-		if (ret == SQLITE_ROW)
-		    exists = 1;
-	    }
-	  sqlite3_finalize (stmt);
-      }
-    else
-      {
-	  /* assigning the next style_id value */
-	  style_id = 0;
-	  sql = "SELECT Max(style_id) FROM SE_raster_styled_layers "
-	      "WHERE coverage_name = Lower(?) ";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerVectorStyledLayer: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
-			     SQLITE_STATIC);
-	  while (1)
-	    {
-		/* scrolling the result set rows */
-		ret = sqlite3_step (stmt);
-		if (ret == SQLITE_DONE)
-		    break;	/* end of result set */
-		if (ret == SQLITE_ROW)
-		  {
-		      if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER)
-			  style_id = sqlite3_column_int (stmt, 0) + 1;
-		  }
-	    }
-	  sqlite3_finalize (stmt);
-      }
-
-    if (exists)
+    char *err_msg = NULL;
+    sql = "CREATE TABLE ISO_metadata (\n"
+	"id INTEGER PRIMARY KEY AUTOINCREMENT,\n"
+	"md_scope TEXT NOT NULL DEFAULT 'dataset',\n"
+	"metadata BLOB NOT NULL DEFAULT (zeroblob(4)),\n"
+	"fileId TEXT,\nparentId TEXT)";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* update */
-	  sql = "UPDATE SE_raster_styled_layers SET style = ? "
-	      "WHERE coverage_name = Lower(?) AND style_id = ?";
+	  spatialite_e ("CREATE TABLE 'ISO_metadata' error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    else
+/* adding the Geometry column */
+    sql =
+	"SELECT AddGeometryColumn('ISO_metadata', 'geometry', 4326, 'MULTIPOLYGON', 'XY')";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* insert */
-	  sql = "INSERT INTO SE_raster_styled_layers "
-	      "(coverage_name, style_id, style) VALUES (?, ?, ?)";
+	  spatialite_e
+	      (" AddGeometryColumn 'ISO_metadata'.'geometry' error:%s\n",
+	       err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+/* adding a Spatial Index */
+    sql = "SELECT CreateSpatialIndex ('ISO_metadata', 'geometry')";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("registerRasterStyledLayer: \"%s\"\n",
-			sqlite3_errmsg (sqlite));
-	  goto stop;
+	  spatialite_e
+	      ("CreateSpatialIndex 'ISO_metadata'.'geometry' error: %s\n",
+	       err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    sqlite3_reset (stmt);
-    sqlite3_clear_bindings (stmt);
-    if (exists)
+/* creating the ISO_metadata triggers */
+    sql = "CREATE TRIGGER 'ISO_metadata_md_scope_insert'\n"
+	"BEFORE INSERT ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ROLLBACK, 'insert on table ISO_metadata violates constraint: "
+	"md_scope must be one of ''undefined'' | ''fieldSession'' | ''collectionSession'' "
+	"| ''series'' | ''dataset'' | ''featureType'' | ''feature'' | ''attributeType'' "
+	"| ''attribute'' | ''tile'' | ''model'' | ''catalogue'' | ''schema'' "
+	"| ''taxonomy'' | ''software'' | ''service'' | ''collectionHardware'' "
+	"| ''nonGeographicDataset'' | ''dimensionGroup''')\n"
+	"WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession',"
+	"'series','dataset','featureType','feature','attributeType','attribute',"
+	"'tile','model','catalogue','schema','taxonomy','software','service',"
+	"'collectionHardware','nonGeographicDataset','dimensionGroup'));\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* update */
-	  sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 2, coverage_name, strlen (coverage_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 3, style_id);
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    else
+    sql = "CREATE TRIGGER 'ISO_metadata_md_scope_update'\n"
+	"BEFORE UPDATE OF 'md_scope' ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ROLLBACK, 'update on table ISO_metadata violates constraint: "
+	"md_scope must be one of ''undefined'' | ''fieldSession'' | ''collectionSession'' "
+	"| ''series'' | ''dataset'' | ''featureType'' | ''feature'' | ''attributeType'' |"
+	" ''attribute'' | ''tile'' | ''model'' | ''catalogue'' | ''schema'' "
+	"| ''taxonomy'' | ''software'' | ''service'' | ''collectionHardware'' "
+	"| ''nonGeographicDataset'' | ''dimensionGroup''')\n"
+	"WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession',"
+	"'series','dataset','featureType','feature','attributeType','attribute',"
+	"'tile','model','catalogue','schema','taxonomy','software','service',"
+	"'collectionHardware','nonGeographicDataset','dimensionGroup'));\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* insert */
-	  sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 2, style_id);
-	  sqlite3_bind_blob (stmt, 3, p_blob, n_bytes, SQLITE_STATIC);
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    ret = sqlite3_step (stmt);
-    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
-	retval = 1;
-    else
-	spatialite_e ("registerRasterStyledLayer() error: \"%s\"\n",
-		      sqlite3_errmsg (sqlite));
-    sqlite3_finalize (stmt);
-    return retval;
-  stop:
-    return 0;
-}
-
-SPATIALITE_PRIVATE int
-register_styled_group (void *p_sqlite, const char *group_name,
-		       const char *f_table_name,
-		       const char *f_geometry_column,
-		       const char *coverage_name, int paint_order)
-{
-/* auxiliary function: inserts or updates a Styled Group Item */
-    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
-    int ret;
-    const char *sql;
-    sqlite3_stmt *stmt;
-    int exists_group = 0;
-    int exists = 0;
-    int retval = 0;
-    sqlite3_int64 id;
-
-    /* checking if the Group already exists */
-    sql = "SELECT group_name FROM SE_styled_groups "
-	"WHERE group_name = Lower(?)";
-    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    sql = "CREATE TRIGGER 'ISO_metadata_fileIdentifier_insert'\n"
+	"AFTER INSERT ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
+	"UPDATE ISO_metadata SET fileId = XB_GetFileId(NEW.metadata), "
+	"parentId = XB_GetParentId(NEW.metadata), "
+	"geometry = XB_GetGeometry(NEW.metadata) WHERE id = NEW.id;\n"
+	"UPDATE ISO_metadata_reference "
+	"SET md_parent_id = GetIsoMetadataId(NEW.parentId) "
+	"WHERE md_file_id = NEW.id;\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("registerStyledGroupsRefs: \"%s\"\n",
-			sqlite3_errmsg (sqlite));
-	  goto stop;
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    sqlite3_reset (stmt);
-    sqlite3_clear_bindings (stmt);
-    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
-    while (1)
+    sql = "CREATE TRIGGER 'ISO_metadata_fileIdentifier_update'\n"
+	"AFTER UPDATE ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
+	"UPDATE ISO_metadata SET fileId = XB_GetFileId(NEW.metadata), "
+	"parentId = XB_GetParentId(NEW.metadata), "
+	"geometry = XB_GetGeometry(NEW.metadata) WHERE id = NEW.id;\n"
+	"UPDATE ISO_metadata_reference "
+	"SET md_parent_id = GetIsoMetadataId(NEW.parentId) "
+	"WHERE md_file_id = NEW.id;\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* scrolling the result set rows */
-	  ret = sqlite3_step (stmt);
-	  if (ret == SQLITE_DONE)
-	      break;		/* end of result set */
-	  if (ret == SQLITE_ROW)
-	      exists_group = 1;
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    sqlite3_finalize (stmt);
-
-    if (!exists_group)
+    if (relaxed == 0)
       {
-	  /* insert group */
-	  sql = "INSERT INTO SE_styled_groups (group_name) VALUES (?)";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerStyledGroupsRefs: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, group_name, strlen (group_name),
-			     SQLITE_STATIC);
-	  ret = sqlite3_step (stmt);
-	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
-	      retval = 1;
-	  else
-	      spatialite_e ("registerStyledGroupsRefs() error: \"%s\"\n",
-			    sqlite3_errmsg (sqlite));
-	  sqlite3_finalize (stmt);
-	  if (retval == 0)
-	      goto stop;
-	  retval = 0;
+	  /* strong trigger - imposing XML schema validation */
+	  sql = "CREATE TRIGGER ISO_metadata_insert\n"
+	      "BEFORE INSERT ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'insert on ISO_metadata violates constraint: "
+	      "not a valid ISO Metadata XML')\n"
+	      "WHERE XB_IsIsoMetadata(NEW.metadata) <> 1 AND NEW.id <> 0;\n"
+	      "SELECT RAISE(ABORT,'insert on ISO_metadata violates constraint: "
+	      "not an XML Schema Validated ISO Metadata')\n"
+	      "WHERE XB_IsSchemaValidated(NEW.metadata) <> 1 AND NEW.id <> 0;\nEND";
       }
-
-    if (paint_order >= 0)
+    else
       {
-	  /* checking if the group-item already exists */
-	  sql = "SELECT id FROM SE_styled_group_refs "
-	      "WHERE group_name = Lower(?) AND paint_order = ?";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerStyledGroupsRefs: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, group_name, strlen (group_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 2, paint_order);
-	  while (1)
-	    {
-		/* scrolling the result set rows */
-		ret = sqlite3_step (stmt);
-		if (ret == SQLITE_DONE)
-		    break;	/* end of result set */
-		if (ret == SQLITE_ROW)
-		  {
-		      id = sqlite3_column_int64 (stmt, 0);
-		      exists++;
-		  }
-	    }
-	  sqlite3_finalize (stmt);
-	  if (exists != 1)
-	      goto stop;
+	  /* relaxed trigger - not imposing XML schema validation */
+	  sql = "CREATE TRIGGER ISO_metadata_insert\n"
+	      "BEFORE INSERT ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'insert on ISO_metadata violates constraint: "
+	      "not a valid ISO Metadata XML')\n"
+	      "WHERE XB_IsIsoMetadata(NEW.metadata) <> 1 AND NEW.id <> 0;\nEND";
       }
-
-    if (paint_order < 0)
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* assigning the next paint_order value */
-	  paint_order = 0;
-	  sql = "SELECT Max(paint_order) FROM SE_styled_group_refs "
-	      "WHERE group_name = Lower(?) ";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerStyledGroupsRefs: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, group_name, strlen (group_name),
-			     SQLITE_STATIC);
-	  while (1)
-	    {
-		/* scrolling the result set rows */
-		ret = sqlite3_step (stmt);
-		if (ret == SQLITE_DONE)
-		    break;	/* end of result set */
-		if (ret == SQLITE_ROW)
-		  {
-		      if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER)
-			  paint_order = sqlite3_column_int (stmt, 0) + 1;
-		  }
-	    }
-	  sqlite3_finalize (stmt);
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-
-    if (exists)
+    if (relaxed == 0)
       {
-	  /* update */
-	  sql = "UPDATE SE_styled_group_refs SET paint_order = ? "
-	      "WHERE id = ?";
+	  /* strong trigger - imposing XML schema validation */
+	  sql = "CREATE TRIGGER ISO_metadata_update\n"
+	      "BEFORE UPDATE ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'update on ISO_metadata violates constraint: "
+	      "not a valid ISO Metadata XML')\n"
+	      "WHERE XB_IsIsoMetadata(NEW.metadata) <> 1 AND NEW.id <> 0;\n"
+	      "SELECT RAISE(ABORT,'update on ISO_metadata violates constraint: "
+	      "not an XML Schema Validated ISO Metadata')\n"
+	      "WHERE XB_IsSchemaValidated(NEW.metadata) <> 1 AND NEW.id <> 0;\nEND";
       }
     else
       {
-	  /* insert */
-	  if (coverage_name == NULL)
-	    {
-		/* vector styled layer */
-		sql = "INSERT INTO SE_styled_group_refs "
-		    "(id, group_name, f_table_name, f_geometry_column, paint_order) "
-		    "VALUES (NULL, ?, ?, ?, ?)";
-	    }
-	  else
-	    {
-		/* raster styled layer */
-		sql = "INSERT INTO SE_styled_group_refs "
-		    "(id, group_name, coverage_name, paint_order) "
-		    "VALUES (NULL, ?, ?, ?)";
-	    }
+	  /* relaxed trigger - not imposing XML schema validation */
+	  sql = "CREATE TRIGGER ISO_metadata_update\n"
+	      "BEFORE UPDATE ON 'ISO_metadata'\nFOR EACH ROW BEGIN\n"
+	      "SELECT RAISE(ABORT,'update on ISO_metadata violates constraint: "
+	      "not a valid ISO Metadata XML')\n"
+	      "WHERE XB_IsIsoMetadata(NEW.metadata) <> 1 AND NEW.id <> 0;\nEND";
       }
-    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("registerStyledGroupsRefs: \"%s\"\n",
-			sqlite3_errmsg (sqlite));
-	  goto stop;
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    sqlite3_reset (stmt);
-    sqlite3_clear_bindings (stmt);
-    if (exists)
+/* creating any Index on ISO_metadata */
+    sql = "CREATE UNIQUE INDEX idx_ISO_metadata_ids ON "
+	"ISO_metadata (fileId)";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* update */
-	  sqlite3_bind_int (stmt, 1, paint_order);
-	  sqlite3_bind_int64 (stmt, 2, id);
+	  spatialite_e ("Create Index 'idx_ISO_metadata_ids' error: %s\n",
+			err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    else
+    sql = "CREATE INDEX idx_ISO_metadata_parents ON " "ISO_metadata (parentId)";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* insert */
-	  sqlite3_bind_text (stmt, 1, group_name, strlen (group_name),
-			     SQLITE_STATIC);
-	  if (coverage_name == NULL)
-	    {
-		/* vector styled layer */
-		sqlite3_bind_text (stmt, 2, f_table_name,
-				   strlen (f_table_name), SQLITE_STATIC);
-		sqlite3_bind_text (stmt, 3, f_geometry_column,
-				   strlen (f_geometry_column), SQLITE_STATIC);
-		sqlite3_bind_int (stmt, 4, paint_order);
-	    }
-	  else
-	    {
-		/* raster styled layer */
-		sqlite3_bind_text (stmt, 2, coverage_name,
-				   strlen (coverage_name), SQLITE_STATIC);
-		sqlite3_bind_int (stmt, 3, paint_order);
-	    }
+	  spatialite_e ("Create Index 'idx_ISO_metadata_parents' error: %s\n",
+			err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    ret = sqlite3_step (stmt);
-    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
-	retval = 1;
-    else
-	spatialite_e ("registerStyledGroupsRefs() error: \"%s\"\n",
-		      sqlite3_errmsg (sqlite));
-    sqlite3_finalize (stmt);
-    return retval;
-  stop:
-    return 0;
+    return 1;
 }
 
-SPATIALITE_PRIVATE int
-styled_group_set_infos (void *p_sqlite, const char *group_name,
-			const char *title, const char *abstract)
+static int
+create_iso_metadata_reference (sqlite3 * sqlite)
 {
-/* auxiliary function: inserts or updates the Styled Group descriptive infos */
-    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+/* creating the ISO_metadata_reference table */
+    char *sql;
     int ret;
-    const char *sql;
-    sqlite3_stmt *stmt;
-    int exists = 0;
-    int retval = 0;
-
-    /* checking if the Group already exists */
-    sql = "SELECT group_name FROM SE_styled_groups "
-	"WHERE group_name = Lower(?)";
-    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    char *err_msg = NULL;
+    sql = "CREATE TABLE ISO_metadata_reference (\n"
+	"reference_scope TEXT NOT NULL DEFAULT 'table',\n"
+	"table_name TEXT NOT NULL DEFAULT 'undefined',\n"
+	"column_name TEXT NOT NULL DEFAULT 'undefined',\n"
+	"row_id_value INTEGER NOT NULL DEFAULT 0,\n"
+	"timestamp TEXT NOT NULL DEFAULT ("
+	"strftime('%Y-%m-%dT%H:%M:%fZ',CURRENT_TIMESTAMP)),\n"
+	"md_file_id INTEGER NOT NULL DEFAULT 0,\n"
+	"md_parent_id INTEGER NOT NULL DEFAULT 0,\n"
+	"CONSTRAINT fk_isometa_mfi FOREIGN KEY (md_file_id) "
+	"REFERENCES ISO_metadata(id),\n"
+	"CONSTRAINT fk_isometa_mpi FOREIGN KEY (md_parent_id) "
+	"REFERENCES ISO_metadata(id))";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("styledGroupSetInfos: \"%s\"\n",
-			sqlite3_errmsg (sqlite));
-	  goto stop;
+	  spatialite_e ("CREATE TABLE 'ISO_metadata_reference' error: %s\n",
+			err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    sqlite3_reset (stmt);
-    sqlite3_clear_bindings (stmt);
-    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
-    while (1)
+/* creating the ISO_metadata_reference triggers */
+    sql = "CREATE TRIGGER 'ISO_metadata_reference_scope_insert'\n"
+	"BEFORE INSERT ON 'ISO_metadata_reference'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ROLLBACK, 'insert on table ISO_metadata_reference violates constraint: "
+	"reference_scope must be one of ''table'' | ''column'' | ''row'' | ''row/col''')\n"
+	"WHERE NOT NEW.reference_scope IN ('table','column','row','row/col');\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* scrolling the result set rows */
-	  ret = sqlite3_step (stmt);
-	  if (ret == SQLITE_DONE)
-	      break;		/* end of result set */
-	  if (ret == SQLITE_ROW)
-	      exists = 1;
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    sqlite3_finalize (stmt);
-
-    if (!exists)
+    sql = "CREATE TRIGGER 'ISO_metadata_reference_scope_update'\n"
+	"BEFORE UPDATE OF 'reference_scope' ON 'ISO_metadata_reference'\n"
+	"FOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ROLLBACK, 'update on table ISO_metadata_reference violates constraint: "
+	"referrence_scope must be one of ''table'' | ''column'' | ''row'' | ''row/col''')\n"
+	"WHERE NOT NEW.reference_scope IN ('table','column','row','row/col');\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* insert group */
-	  sql =
-	      "INSERT INTO SE_styled_groups (group_name, title, abstract) VALUES (?, ?, ?)";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("styledGroupSetInfos: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, group_name, strlen (group_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 2, title, strlen (title), SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 3, abstract, strlen (abstract),
-			     SQLITE_STATIC);
-	  ret = sqlite3_step (stmt);
-	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
-	      retval = 1;
-	  else
-	      spatialite_e ("styledGroupSetInfos() error: \"%s\"\n",
-			    sqlite3_errmsg (sqlite));
-	  sqlite3_finalize (stmt);
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    else
+    sql = "CREATE TRIGGER 'ISO_metadata_reference_table_name_insert'\n"
+	"BEFORE INSERT ON 'ISO_metadata_reference'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ROLLBACK, 'insert on table ISO_metadata_reference violates constraint: "
+	"table_name must be the name of a table in geometry_columns')\n"
+	"WHERE NOT NEW.table_name IN (\n"
+	"SELECT f_table_name AS table_name FROM geometry_columns);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* update group */
-	  sql =
-	      "UPDATE SE_styled_groups SET title = ?, abstract = ? WHERE group_name = ?";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("styledGroupSetInfos: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, title, strlen (title), SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 2, abstract, strlen (abstract),
-			     SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 3, group_name, strlen (group_name),
-			     SQLITE_STATIC);
-	  ret = sqlite3_step (stmt);
-	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
-	      retval = 1;
-	  else
-	      spatialite_e ("styledGroupSetInfos() error: \"%s\"\n",
-			    sqlite3_errmsg (sqlite));
-	  sqlite3_finalize (stmt);
-      }
-    return retval;
-  stop:
-    return 0;
-}
-
-SPATIALITE_PRIVATE int
-register_group_style (void *p_sqlite, const char *group_name, int style_id,
-		      const unsigned char *p_blob, int n_bytes)
-{
-/* auxiliary function: inserts or updates a Group Style */
-    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
-    int ret;
-    const char *sql;
-    sqlite3_stmt *stmt;
-    int exists = 0;
-    int retval = 0;
-
-    if (style_id >= 0)
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+    sql = "CREATE TRIGGER 'ISO_metadata_reference_table_name_update'\n"
+	"BEFORE UPDATE OF 'table_name' ON 'ISO_metadata_reference'\n"
+	"FOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ROLLBACK, 'update on table ISO_metadata_reference violates constraint: "
+	"table_name must be the name of a table in geometry_columns')\n"
+	"WHERE NOT NEW.table_name IN (\n"
+	"SELECT f_table_name AS table_name FROM geometry_columns);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* checking if already exists */
-	  sql = "SELECT style_id FROM SE_group_styles "
-	      "WHERE group_name = Lower(?) AND style_id = ?";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerGroupStyle: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, group_name, strlen (group_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 2, style_id);
-	  while (1)
-	    {
-		/* scrolling the result set rows */
-		ret = sqlite3_step (stmt);
-		if (ret == SQLITE_DONE)
-		    break;	/* end of result set */
-		if (ret == SQLITE_ROW)
-		    exists = 1;
-	    }
-	  sqlite3_finalize (stmt);
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    else
+    sql = "CREATE TRIGGER 'ISO_metadata_reference_row_id_value_insert'\n"
+	"BEFORE INSERT ON 'ISO_metadata_reference'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ROLLBACK, 'insert on ISO_table ISO_metadata_reference violates constraint: "
+	"row_id_value must be 0 when reference_scope is ''table'' or ''column''')\n"
+	"WHERE NEW.reference_scope IN ('table','column') AND NEW.row_id_value <> 0;\n"
+	"SELECT RAISE(ROLLBACK, 'insert on table ISO_metadata_reference violates constraint: "
+	"row_id_value must exist in specified table when reference_scope is ''row'' or ''row/col''')\n"
+	"WHERE NEW.reference_scope IN ('row','row/col') AND NOT EXISTS\n"
+	"(SELECT rowid FROM (SELECT NEW.table_name AS table_name) "
+	"WHERE rowid = NEW.row_id_value);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* assigning the next style_id value */
-	  style_id = 0;
-	  sql = "SELECT Max(style_id) FROM SE_group_styles "
-	      "WHERE group_name = Lower(?) ";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerGroupStyle: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, group_name, strlen (group_name),
-			     SQLITE_STATIC);
-	  while (1)
-	    {
-		/* scrolling the result set rows */
-		ret = sqlite3_step (stmt);
-		if (ret == SQLITE_DONE)
-		    break;	/* end of result set */
-		if (ret == SQLITE_ROW)
-		  {
-		      if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER)
-			  style_id = sqlite3_column_int (stmt, 0) + 1;
-		  }
-	    }
-	  sqlite3_finalize (stmt);
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-
-    if (exists)
+    sql = "CREATE TRIGGER 'ISO_metadata_reference_row_id_value_update'\n"
+	"BEFORE UPDATE OF 'row_id_value' ON 'ISO_metadata_reference'\n"
+	"FOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ROLLBACK, 'update on table ISO_metadata_reference violates constraint: "
+	"row_id_value must be 0 when reference_scope is ''table'' or ''column''')\n"
+	"WHERE NEW.reference_scope IN ('table','column') AND NEW.row_id_value <> 0;\n"
+	"SELECT RAISE(ROLLBACK, 'update on ISO_table metadata_reference violates constraint: "
+	"row_id_value must exist in specified table when reference_scope is ''row'' or ''row/col''')\n"
+	"WHERE NEW.reference_scope IN ('row','row/col') AND NOT EXISTS\n"
+	"(SELECT rowid FROM (SELECT NEW.table_name AS table_name) "
+	"WHERE rowid = NEW.row_id_value);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* update */
-	  sql = "UPDATE SE_group_styles SET style = ? "
-	      "WHERE group_name = Lower(?) AND style_id = ?";
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    else
+    sql = "CREATE TRIGGER 'ISO_metadata_reference_timestamp_insert'\n"
+	"BEFORE INSERT ON 'ISO_metadata_reference'\nFOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ROLLBACK, 'insert on table ISO_metadata_reference violates constraint: "
+	"timestamp must be a valid time in ISO 8601 ''yyyy-mm-ddThh:mm:ss.cccZ'' form')\n"
+	"WHERE NOT (NEW.timestamp GLOB'[1-2][0-9][0-9][0-9]-[0-1][0-9]-[1-3][0-9]T"
+	"[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',"
+	"NEW.timestamp) NOT NULL);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* insert */
-	  sql = "INSERT INTO SE_group_styles "
-	      "(group_name, style_id, style) VALUES (?, ?, ?)";
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    sql = "CREATE TRIGGER 'ISO_metadata_reference_timestamp_update'\n"
+	"BEFORE UPDATE OF 'timestamp' ON 'ISO_metadata_reference'\n"
+	"FOR EACH ROW BEGIN\n"
+	"SELECT RAISE(ROLLBACK, 'update on table ISO_metadata_reference violates constraint: "
+	"timestamp must be a valid time in ISO 8601 ''yyyy-mm-ddThh:mm:ss.cccZ'' form')\n"
+	"WHERE NOT (NEW.timestamp GLOB'[1-2][0-9][0-9][0-9]-[0-1][0-9]-[1-3][0-9]T"
+	"[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',"
+	"NEW.timestamp) NOT NULL);\nEND";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("registerGroupStyle: \"%s\"\n",
-			sqlite3_errmsg (sqlite));
-	  goto stop;
+	  spatialite_e ("SQL error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    sqlite3_reset (stmt);
-    sqlite3_clear_bindings (stmt);
-    if (exists)
+/* creating any Index on ISO_metadata_reference */
+    sql = "CREATE INDEX idx_ISO_metadata_reference_ids ON "
+	"ISO_metadata_reference (md_file_id)";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* update */
-	  sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
-	  sqlite3_bind_text (stmt, 2, group_name, strlen (group_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 3, style_id);
+	  spatialite_e
+	      ("Create Index 'idx_ISO_metadata_reference_ids' error: %s\n",
+	       err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    else
+    sql = "CREATE INDEX idx_ISO_metadata_reference_parents ON "
+	"ISO_metadata_reference (md_parent_id)";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  /* insert */
-	  sqlite3_bind_text (stmt, 1, group_name, strlen (group_name),
-			     SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 2, style_id);
-	  sqlite3_bind_blob (stmt, 3, p_blob, n_bytes, SQLITE_STATIC);
+	  spatialite_e
+	      ("Create Index 'idx_ISO_metadata_reference_parents' error: %s\n",
+	       err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    ret = sqlite3_step (stmt);
-    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
-	retval = 1;
-    else
-	spatialite_e ("registerGroupStyled() error: \"%s\"\n",
-		      sqlite3_errmsg (sqlite));
-    sqlite3_finalize (stmt);
-    return retval;
-  stop:
-    return 0;
+    return 1;
 }
 
-SPATIALITE_PRIVATE int
-get_iso_metadata_id (void *p_sqlite, const char *fileIdentifier, void *p_id)
+static int
+create_iso_metadata_view (sqlite3 * sqlite)
 {
-/* auxiliary function: return the ID of the row corresponding to "fileIdentifier" */
-    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
-    sqlite3_int64 *p64 = (sqlite3_int64 *) p_id;
-    sqlite3_int64 id;
+/* creating the ISO_metadata_view view */
+    char *sql;
     int ret;
-    const char *sql;
-    sqlite3_stmt *stmt;
-    int ok = 0;
-
-    sql = "SELECT id FROM ISO_metadata WHERE fileId = ?";
-    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    char *err_msg = NULL;
+    sql = "CREATE VIEW ISO_metadata_view AS\n"
+	"SELECT id AS id, md_scope AS md_scope, XB_GetTitle(metadata) AS title, "
+	"XB_GetAbstract(metadata) AS abstract, geometry AS geometry, "
+	"fileId AS fileIdentifier, parentId AS parentIdentifier, metadata AS metadata, "
+	"XB_IsSchemaValidated(metadata) AS schema_validated, "
+	"XB_GetSchemaURI(metadata) AS metadata_schema_URI\n"
+	"FROM ISO_metadata";
+    ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("getIsoMetadataId: \"%s\"\n", sqlite3_errmsg (sqlite));
-	  goto stop;
-      }
-    sqlite3_reset (stmt);
-    sqlite3_clear_bindings (stmt);
-    sqlite3_bind_text (stmt, 1, fileIdentifier, strlen (fileIdentifier),
-		       SQLITE_STATIC);
-    while (1)
-      {
-	  /* scrolling the result set rows */
-	  ret = sqlite3_step (stmt);
-	  if (ret == SQLITE_DONE)
-	      break;		/* end of result set */
-	  if (ret == SQLITE_ROW)
-	    {
-		ok++;
-		id = sqlite3_column_int64 (stmt, 0);
-	    }
-      }
-    sqlite3_finalize (stmt);
-
-    if (ok == 1)
-      {
-	  *p64 = id;
-	  return 1;
+	  spatialite_e ("CREATE VIEW 'ISO_metadata_view' error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-  stop:
-    return 0;
+    return 1;
 }
 
 SPATIALITE_PRIVATE int
-register_iso_metadata (void *p_sqlite, const char *scope,
-		       const unsigned char *p_blob, int n_bytes, void *p_id,
-		       const char *fileIdentifier)
+createIsoMetadataTables (void *p_sqlite, int relaxed)
 {
-/* auxiliary function: inserts or updates an ISO Metadata */
-    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
-    sqlite3_int64 *p64 = (sqlite3_int64 *) p_id;
-    sqlite3_int64 id = *p64;
+/* Creating the ISO Metadata tables */
+    const char *tables[4];
+    int views[3];
+    const char **p_tbl;
+    int *p_view;
+    int ok_table;
     int ret;
-    const char *sql;
-    sqlite3_stmt *stmt;
-    int exists = 0;
-    int retval = 0;
+    char *err_msg = NULL;
+    sqlite3 *sqlite = p_sqlite;
 
-    if (id >= 0)
-      {
-	  /* checking if already exists - by ID */
-	  sql = "SELECT id FROM ISO_metadata WHERE id = ?";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerIsoMetadata: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_int64 (stmt, 1, id);
-	  while (1)
-	    {
-		/* scrolling the result set rows */
-		ret = sqlite3_step (stmt);
-		if (ret == SQLITE_DONE)
-		    break;	/* end of result set */
-		if (ret == SQLITE_ROW)
-		    exists = 1;
-	    }
-	  sqlite3_finalize (stmt);
-      }
-    if (fileIdentifier != NULL)
+/* checking ISO Metadata tables */
+    tables[0] = "ISO_metadata";
+    tables[1] = "ISO_metadata_reference";
+    tables[2] = "ISO_metadata_view";
+    tables[3] = NULL;
+    views[0] = 0;
+    views[1] = 0;
+    views[2] = 1;
+    p_tbl = tables;
+    p_view = views;
+    while (*p_tbl != NULL)
       {
-	  /* checking if already exists - by fileIdentifier */
-	  sql = "SELECT id FROM ISO_metadata WHERE fileId = ?";
-	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
-	  if (ret != SQLITE_OK)
-	    {
-		spatialite_e ("registerIsoMetadata: \"%s\"\n",
-			      sqlite3_errmsg (sqlite));
-		goto stop;
-	    }
-	  sqlite3_reset (stmt);
-	  sqlite3_clear_bindings (stmt);
-	  sqlite3_bind_text (stmt, 1, fileIdentifier, strlen (fileIdentifier),
-			     SQLITE_STATIC);
-	  while (1)
+	  ok_table = check_iso_metadata_table (sqlite, *p_tbl, *p_view);
+	  if (ok_table)
 	    {
-		/* scrolling the result set rows */
-		ret = sqlite3_step (stmt);
-		if (ret == SQLITE_DONE)
-		    break;	/* end of result set */
-		if (ret == SQLITE_ROW)
-		  {
-		      exists = 1;
-		      id = sqlite3_column_int64 (stmt, 0);
-		  }
+		spatialite_e
+		    ("CreateIsoMetadataTables() error: table '%s' already exists\n",
+		     *p_tbl);
+		goto error;
 	    }
-	  sqlite3_finalize (stmt);
+	  p_tbl++;
+	  p_view++;
       }
 
-    if (exists)
-      {
-	  /* update */
-	  sql = "UPDATE ISO_metadata SET md_scope = ?, metadata = ? "
-	      "WHERE id = ?";
-      }
-    else
-      {
-	  /* insert */
-	  sql = "INSERT INTO ISO_metadata "
-	      "(id, md_scope, metadata) VALUES (?, ?, ?)";
-      }
-    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+/* creating the ISO Metadata tables */
+    if (!create_iso_metadata (sqlite, relaxed))
+	goto error;
+    if (!create_iso_metadata_reference (sqlite))
+	goto error;
+    if (!create_iso_metadata_view (sqlite))
+	goto error;
+/* inserting the default "undef" row into ISO_metadata */
+    ret =
+	sqlite3_exec (sqlite,
+		      "INSERT INTO ISO_metadata (id, md_scope) VALUES (0, 'undefined')",
+		      NULL, NULL, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  spatialite_e ("registerIsoMetadata: \"%s\"\n",
-			sqlite3_errmsg (sqlite));
-	  goto stop;
-      }
-    sqlite3_reset (stmt);
-    sqlite3_clear_bindings (stmt);
-    if (exists)
-      {
-	  /* update */
-	  sqlite3_bind_text (stmt, 1, scope, strlen (scope), SQLITE_STATIC);
-	  sqlite3_bind_blob (stmt, 2, p_blob, n_bytes, SQLITE_STATIC);
-	  sqlite3_bind_int (stmt, 3, id);
-      }
-    else
-      {
-	  /* insert */
-	  if (id < 0)
-	      sqlite3_bind_null (stmt, 1);
-	  else
-	      sqlite3_bind_int64 (stmt, 1, id);
-	  sqlite3_bind_text (stmt, 2, scope, strlen (scope), SQLITE_STATIC);
-	  sqlite3_bind_blob (stmt, 3, p_blob, n_bytes, SQLITE_STATIC);
+	  spatialite_e
+	      ("Insert default 'undefined' ISO_metadata row - error: %s\n",
+	       err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
       }
-    ret = sqlite3_step (stmt);
-    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
-	retval = 1;
-    else
-	spatialite_e ("registerIsoMetadata() error: \"%s\"\n",
-		      sqlite3_errmsg (sqlite));
-    sqlite3_finalize (stmt);
-    return retval;
-  stop:
+    return 1;
+
+  error:
     return 0;
 }
 
diff --git a/src/spatialite/metatables.c b/src/spatialite/metatables.c
index 2ac2aaf..0462cc0 100644
--- a/src/spatialite/metatables.c
+++ b/src/spatialite/metatables.c
@@ -2789,11 +2789,11 @@ upgradeGeometryTriggers (void *p_sqlite)
     int retcode;
     int metadata_version = checkSpatialMetaData (sqlite);
     if (metadata_version < 3)
-    return 0;
+	return 0;
 
-	  sql_statement =
-	      sqlite3_mprintf ("SELECT f_table_name, f_geometry_column "
-			       "FROM geometry_columns");
+    sql_statement =
+	sqlite3_mprintf ("SELECT f_table_name, f_geometry_column "
+			 "FROM geometry_columns");
 /* compiling SQL prepared statement */
     ret =
 	sqlite3_prepare_v2 (sqlite, sql_statement, strlen (sql_statement),
@@ -2813,8 +2813,10 @@ upgradeGeometryTriggers (void *p_sqlite)
 	      break;		/* end of result set */
 	  if (ret == SQLITE_ROW)
 	    {
-		const char *table = (const char *)sqlite3_column_text (stmt, 0);
-		const char *column = (const char *)sqlite3_column_text (stmt, 1);
+		const char *table =
+		    (const char *) sqlite3_column_text (stmt, 0);
+		const char *column =
+		    (const char *) sqlite3_column_text (stmt, 1);
 		updateGeometryTriggers (sqlite, table, column);
 		retcode = 1;
 	    }
@@ -2941,7 +2943,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -2952,7 +2954,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -2963,7 +2965,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -2974,7 +2976,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -2988,7 +2990,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -3046,7 +3048,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -3122,7 +3124,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -3137,7 +3139,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		      quoted_trigger = gaiaDoubleQuotedSql (raw);
 		      sqlite3_free (raw);
 		      sql_statement =
-			  sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+			  sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 					   quoted_trigger);
 		      free (quoted_trigger);
 		      ret =
@@ -3151,7 +3153,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		      quoted_trigger = gaiaDoubleQuotedSql (raw);
 		      sqlite3_free (raw);
 		      sql_statement =
-			  sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+			  sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 					   quoted_trigger);
 		      free (quoted_trigger);
 		      ret =
@@ -3165,7 +3167,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		      quoted_trigger = gaiaDoubleQuotedSql (raw);
 		      sqlite3_free (raw);
 		      sql_statement =
-			  sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+			  sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 					   quoted_trigger);
 		      free (quoted_trigger);
 		      ret =
@@ -3252,7 +3254,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -3265,7 +3267,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -3278,7 +3280,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -3291,7 +3293,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -3304,7 +3306,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
@@ -3317,7 +3319,7 @@ updateGeometryTriggers (void *p_sqlite, const char *table, const char *column)
 		quoted_trigger = gaiaDoubleQuotedSql (raw);
 		sqlite3_free (raw);
 		sql_statement =
-		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"",
+		    sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"",
 				     quoted_trigger);
 		free (quoted_trigger);
 		ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
diff --git a/src/spatialite/se_helpers.c b/src/spatialite/se_helpers.c
new file mode 100644
index 0000000..a9da5dd
--- /dev/null
+++ b/src/spatialite/se_helpers.c
@@ -0,0 +1,5429 @@
+/*
+
+ se_helpers.c -- SLD/SE helper functions 
+
+ version 4.2.1, 2014 December 9
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ ------------------------------------------------------------------------------
+ 
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ 
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+ 
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
+
+The Original Code is the SpatiaLite library
+
+The Initial Developer of the Original Code is Alessandro Furieri
+ 
+Portions created by the Initial Developer are Copyright (C) 2008-2013
+the Initial Developer. All Rights Reserved.
+
+Contributor(s):
+
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+
+/*
+ 
+CREDITS:
+
+this module has been partly funded by:
+Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale
+(implementing XML support - ISO Metadata and SLD/SE Styles) 
+
+*/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#if defined(_WIN32) && !defined(__MINGW32__)
+#include "config-msvc.h"
+#else
+#include "config.h"
+#endif
+
+#include <spatialite/sqlite.h>
+#include <spatialite/debug.h>
+#include <spatialite/gaiaaux.h>
+
+#include <spatialite.h>
+#include <spatialite_private.h>
+
+#ifdef _WIN32
+#define strcasecmp	_stricmp
+#endif /* not WIN32 */
+
+
+#ifdef ENABLE_LIBXML2		/* including LIBXML2 */
+
+static int
+check_external_graphic (sqlite3 * sqlite, const char *xlink_href)
+{
+/* checks if an ExternalGraphic Resource already exists */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int exists = 0;
+    sql = "SELECT xlink_href FROM SE_external_graphics WHERE xlink_href = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("checkExternalGraphic: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, xlink_href, strlen (xlink_href), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      exists = 1;
+      }
+    sqlite3_finalize (stmt);
+    return exists;
+}
+
+SPATIALITE_PRIVATE int
+register_external_graphic (void *p_sqlite, const char *xlink_href,
+			   const unsigned char *p_blob, int n_bytes,
+			   const char *title, const char *abstract,
+			   const char *file_name)
+{
+/* auxiliary function: inserts or updates an ExternalGraphic Resource */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int exists = 0;
+    int extras = 0;
+    int retval = 0;
+
+/* checking if already exists */
+    if (xlink_href == NULL)
+	return 0;
+    exists = check_external_graphic (sqlite, xlink_href);
+
+    if (title != NULL && abstract != NULL && file_name != NULL)
+	extras = 1;
+    if (exists)
+      {
+	  /* update */
+	  if (extras)
+	    {
+		/* full infos */
+		sql = "UPDATE SE_external_graphics "
+		    "SET resource = ?, title = ?, abstract = ?, file_name = ? "
+		    "WHERE xlink_href = ?";
+	    }
+	  else
+	    {
+		/* limited basic infos */
+		sql = "UPDATE SE_external_graphics "
+		    "SET resource = ? WHERE xlink_href = ?";
+	    }
+      }
+    else
+      {
+	  /* insert */
+	  if (extras)
+	    {
+		/* full infos */
+		sql = "INSERT INTO SE_external_graphics "
+		    "(xlink_href, resource, title, abstract, file_name) "
+		    "VALUES (?, ?, ?, ?, ?)";
+	    }
+	  else
+	    {
+		/* limited basic infos */
+		sql = "INSERT INTO SE_external_graphics "
+		    "(xlink_href, resource) VALUES (?, ?)";
+	    }
+      }
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("registerExternalGraphic: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    if (exists)
+      {
+	  /* update */
+	  if (extras)
+	    {
+		/* full infos */
+		sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+		sqlite3_bind_text (stmt, 2, title, strlen (title),
+				   SQLITE_STATIC);
+		sqlite3_bind_text (stmt, 3, abstract, strlen (abstract),
+				   SQLITE_STATIC);
+		sqlite3_bind_text (stmt, 4, file_name, strlen (file_name),
+				   SQLITE_STATIC);
+		sqlite3_bind_text (stmt, 5, xlink_href, strlen (xlink_href),
+				   SQLITE_STATIC);
+	    }
+	  else
+	    {
+		/* limited basic infos */
+		sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+		sqlite3_bind_text (stmt, 2, xlink_href, strlen (xlink_href),
+				   SQLITE_STATIC);
+	    }
+      }
+    else
+      {
+	  /* insert */
+	  if (extras)
+	    {
+		/* full infos */
+		sqlite3_bind_text (stmt, 1, xlink_href, strlen (xlink_href),
+				   SQLITE_STATIC);
+		sqlite3_bind_blob (stmt, 2, p_blob, n_bytes, SQLITE_STATIC);
+		sqlite3_bind_text (stmt, 3, title, strlen (title),
+				   SQLITE_STATIC);
+		sqlite3_bind_text (stmt, 4, abstract, strlen (abstract),
+				   SQLITE_STATIC);
+		sqlite3_bind_text (stmt, 5, file_name, strlen (file_name),
+				   SQLITE_STATIC);
+	    }
+	  else
+	    {
+		/* limited basic infos */
+		sqlite3_bind_text (stmt, 1, xlink_href, strlen (xlink_href),
+				   SQLITE_STATIC);
+		sqlite3_bind_blob (stmt, 2, p_blob, n_bytes, SQLITE_STATIC);
+	    }
+      }
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("registerExternalGraphic() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+unregister_external_graphic (void *p_sqlite, const char *xlink_href)
+{
+/* auxiliary function: deletes an ExternalGraphic Resource */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int exists = 0;
+    int retval = 0;
+
+/* checking if already exists */
+    if (xlink_href == NULL)
+	return 0;
+    exists = check_external_graphic (sqlite, xlink_href);
+    if (!exists)
+	return 0;
+
+    sql = "DELETE FROM SE_external_graphics WHERE xlink_href = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterExternalGraphic: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, xlink_href, strlen (xlink_href), SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterExternalGraphic() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+static int
+vector_style_causes_duplicate_name (sqlite3 * sqlite, sqlite3_int64 id,
+				    const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: checks for an eventual duplicate name */
+    int count = 0;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    sql = "SELECT Count(*) FROM SE_vector_styles "
+	"WHERE Lower(style_name) = Lower(XB_GetName(?)) AND style_id <> ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("VectorStyle duplicate Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count = sqlite3_column_int (stmt, 0);
+      }
+    sqlite3_finalize (stmt);
+    if (count != 0)
+	return 1;
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_vector_style (void *p_sqlite, const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: inserts a Vector Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (p_blob != NULL && n_bytes > 0)
+      {
+	  /* attempting to insert the Vector Style */
+	  if (vector_style_causes_duplicate_name (sqlite, -1, p_blob, n_bytes))
+	      return 0;
+	  sql = "INSERT INTO SE_vector_styles "
+	      "(style_id, style) VALUES (NULL, ?)";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("registerVectorStyle: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		return 0;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      ;
+	  else
+	    {
+		spatialite_e ("registerVectorStyle() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		sqlite3_finalize (stmt);
+		return 0;
+	    }
+	  sqlite3_finalize (stmt);
+	  return 1;
+      }
+    else
+	return 0;
+}
+
+static int
+check_vector_style_by_id (sqlite3 * sqlite, int style_id)
+{
+/* checks if a Vector Style do actually exists - by ID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT style_id FROM SE_vector_styles " "WHERE style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Style by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, style_id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+	return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_vector_style_by_name (sqlite3 * sqlite, const char *style_name,
+			    sqlite3_int64 * id)
+{
+/* checks if a Vector Style do actually exists - by name */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT style_id FROM SE_vector_styles "
+	"WHERE Lower(style_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Style by Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, style_name, strlen (style_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+      {
+	  *id = xid;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_vector_style_refs_by_id (sqlite3 * sqlite, int style_id, int *has_refs)
+{
+/* checks if a Vector Style do actually exists - by ID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    int ref_count = 0;
+
+    sql = "SELECT s.style_id, l.style_id FROM SE_vector_styles AS s "
+	"LEFT JOIN SE_vector_styled_layers AS l ON (l.style_id = s.style_id) "
+	"WHERE s.style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Style Refs by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, style_id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		count++;
+		if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER)
+		    ref_count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count >= 1)
+      {
+	  if (ref_count > 0)
+	      *has_refs = 1;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_vector_style_refs_by_name (sqlite3 * sqlite, const char *style_name,
+				 sqlite3_int64 * id, int *has_refs)
+{
+/* checks if a Vector Style do actually exists - by name */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    int ref_count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT style_id FROM SE_vector_styles "
+	"WHERE Lower(style_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Style Refs by Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, style_name, strlen (style_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count != 1)
+	return 0;
+    *id = xid;
+    sql = "SELECT s.style_id, l.style_id FROM SE_vector_styles AS s "
+	"LEFT JOIN SE_vector_styled_layers AS l ON (l.style_id = s.style_id) "
+	"WHERE s.style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Style Refs by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, *id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER)
+		    ref_count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (ref_count > 0)
+	*has_refs = 1;
+    return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+do_insert_vector_style_layer (sqlite3 * sqlite, const char *coverage_name,
+			      sqlite3_int64 id)
+{
+/* auxiliary function: really inserting a Vector Styled Layer */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "INSERT INTO SE_vector_styled_layers "
+	"(coverage_name, style_id) VALUES (?, ?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("registerVectorStyledLayer: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("registerVectorStyledLayer() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+static int
+do_delete_vector_style_refs (sqlite3 * sqlite, sqlite3_int64 id)
+{
+/* auxiliary function: deleting all Vector Style references */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "DELETE FROM SE_vector_styled_layers WHERE style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterVectorStyle: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int64 (stmt, 1, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterVectorStyle() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+static int
+do_delete_vector_style (sqlite3 * sqlite, sqlite3_int64 id)
+{
+/* auxiliary function: really deleting a Vector Style */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "DELETE FROM SE_vector_styles WHERE style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterVectorStyle: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int64 (stmt, 1, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterVectorStyle() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+unregister_vector_style (void *p_sqlite, int style_id,
+			 const char *style_name, int remove_all)
+{
+/* auxiliary function: deletes a Vector Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+    int has_refs = 0;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Vector Style do actually exists */
+	  if (check_vector_style_refs_by_id (sqlite, style_id, &has_refs))
+	      id = style_id;
+	  else
+	      return 0;
+	  if (has_refs)
+	    {
+		if (!remove_all)
+		    return 0;
+		/* deleting all references */
+		if (!do_delete_vector_style_refs (sqlite, id))
+		    return 0;
+	    }
+	  /* deleting the Vector Style */
+	  return do_delete_vector_style (sqlite, id);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Vector Style do actually exists */
+	  if (!check_vector_style_refs_by_name
+	      (sqlite, style_name, &id, &has_refs))
+	      return 0;
+	  if (has_refs)
+	    {
+		if (!remove_all)
+		    return 0;
+		/* deleting all references */
+		if (!do_delete_vector_style_refs (sqlite, id))
+		    return 0;
+	    }
+	  /* deleting the Vector Style */
+	  return do_delete_vector_style (sqlite, id);
+      }
+    else
+	return 0;
+}
+
+static int
+do_reload_vector_style (sqlite3 * sqlite, sqlite3_int64 id,
+			const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: reloads a Vector Style definition */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (p_blob != NULL && n_bytes > 0)
+      {
+	  /* attempting to update the Vector Style */
+	  sql = "UPDATE SE_vector_styles SET style = ? " "WHERE style_id = ?";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("reloadVectorStyle: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		return 0;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+	  sqlite3_bind_int64 (stmt, 2, id);
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      ;
+	  else
+	    {
+		spatialite_e ("reloadVectorStyle() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		sqlite3_finalize (stmt);
+		return 0;
+	    }
+	  sqlite3_finalize (stmt);
+	  return 1;
+      }
+    else
+	return 0;
+}
+
+SPATIALITE_PRIVATE int
+reload_vector_style (void *p_sqlite, int style_id,
+		     const char *style_name,
+		     const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: reloads a Vector Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Vector Style do actually exists */
+	  if (check_vector_style_by_id (sqlite, style_id))
+	      id = style_id;
+	  else
+	      return 0;
+	  /* reloading the Vector Style */
+	  if (vector_style_causes_duplicate_name (sqlite, id, p_blob, n_bytes))
+	      return 0;
+	  return do_reload_vector_style (sqlite, id, p_blob, n_bytes);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Vector Style do actually exists */
+	  if (!check_vector_style_by_name (sqlite, style_name, &id))
+	      return 0;
+	  /* reloading the Vector Style */
+	  if (vector_style_causes_duplicate_name (sqlite, id, p_blob, n_bytes))
+	      return 0;
+	  return do_reload_vector_style (sqlite, id, p_blob, n_bytes);
+      }
+    else
+	return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_vector_styled_layer_ex (void *p_sqlite, const char *coverage_name,
+				 int style_id, const char *style_name)
+{
+/* auxiliary function: inserts a Vector Styled Layer definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+
+    if (coverage_name == NULL)
+	return 0;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Vector Style do actually exists */
+	  if (check_vector_style_by_id (sqlite, style_id))
+	      id = style_id;
+	  else
+	      return 0;
+	  /* inserting the Vector Styled Layer */
+	  return do_insert_vector_style_layer (sqlite, coverage_name, id);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Vector Style do actually exists */
+	  if (!check_vector_style_by_name (sqlite, style_name, &id))
+	      return 0;
+	  /* inserting the Vector Styled Layer */
+	  return do_insert_vector_style_layer (sqlite, coverage_name, id);
+      }
+    else
+	return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_vector_styled_layer (void *p_sqlite, const char *f_table_name,
+			      const char *f_geometry_column, int style_id,
+			      const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: inserts a Vector Styled Layer definition - DEPRECATED */
+    if (p_blob != NULL && n_bytes <= 0 && f_geometry_column != NULL)
+      {
+	  /* silencing compiler complaints */
+	  p_blob = NULL;
+	  n_bytes = 0;
+	  f_geometry_column = NULL;
+      }
+    return register_vector_styled_layer_ex (p_sqlite, f_table_name, style_id,
+					    NULL);
+}
+
+static int
+check_vector_styled_layer_by_id (sqlite3 * sqlite, const char *coverage_name,
+				 int style_id)
+{
+/* checks if a Vector Styled Layer do actually exists - by ID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT style_id FROM SE_vector_styled_layers "
+	"WHERE Lower(coverage_name) = Lower(?) AND style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Styled Layer by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, style_id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+	return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_vector_styled_layer_by_name (sqlite3 * sqlite, const char *coverage_name,
+				   const char *style_name, sqlite3_int64 * id)
+{
+/* checks if a Vector Styled Layer do actually exists - by name */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT l.style_id FROM SE_vector_styled_layers AS l "
+	"JOIN SE_vector_styles AS s ON (l.style_id = s.style_id) "
+	"WHERE Lower(l.coverage_name) = Lower(?) "
+	"AND Lower(s.style_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Styled Layer by Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_text (stmt, 2, style_name, strlen (style_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+      {
+	  *id = xid;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+do_delete_vector_style_layer (sqlite3 * sqlite, const char *coverage_name,
+			      sqlite3_int64 id)
+{
+/* auxiliary function: really deleting a Vector Styled Layer */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "DELETE FROM SE_vector_styled_layers "
+	"WHERE Lower(coverage_name) = Lower(?) AND style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterVectorStyledLayer: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterVectorStyledLayer() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+unregister_vector_styled_layer (void *p_sqlite, const char *coverage_name,
+				int style_id, const char *style_name)
+{
+/* auxiliary function: removes a Vector Styled Layer definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+
+    if (coverage_name == NULL)
+	return 0;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Vector Styled Layer do actually exists */
+	  if (check_vector_styled_layer_by_id (sqlite, coverage_name, style_id))
+	      id = style_id;
+	  else
+	      return 0;
+	  /* removing the Vector Styled Layer */
+	  return do_delete_vector_style_layer (sqlite, coverage_name, id);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Vector Styled Layer do actually exists */
+	  if (!check_vector_styled_layer_by_name
+	      (sqlite, coverage_name, style_name, &id))
+	      return 0;
+	  /* removing the Vector Styled Layer */
+	  return do_delete_vector_style_layer (sqlite, coverage_name, id);
+      }
+    else
+	return 0;
+}
+
+static int
+raster_style_causes_duplicate_name (sqlite3 * sqlite, sqlite3_int64 id,
+				    const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: checks for an eventual duplicate name */
+    int count = 0;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    sql = "SELECT Count(*) FROM SE_raster_styles "
+	"WHERE Lower(style_name) = Lower(XB_GetName(?)) AND style_id <> ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("RasterStyle duplicate Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count = sqlite3_column_int (stmt, 0);
+      }
+    sqlite3_finalize (stmt);
+    if (count != 0)
+	return 1;
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_raster_style (void *p_sqlite, const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: inserts a Raster Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (p_blob != NULL && n_bytes > 0)
+      {
+	  /* attempting to insert the Raster Style */
+	  if (raster_style_causes_duplicate_name (sqlite, -1, p_blob, n_bytes))
+	      return 0;
+	  sql = "INSERT INTO SE_raster_styles "
+	      "(style_id, style) VALUES (NULL, ?)";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("registerRasterStyle: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		return 0;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      ;
+	  else
+	    {
+		spatialite_e ("registerRasterStyle() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		sqlite3_finalize (stmt);
+		return 0;
+	    }
+	  sqlite3_finalize (stmt);
+	  return 1;
+      }
+    else
+	return 0;
+}
+
+static int
+do_delete_raster_style_refs (sqlite3 * sqlite, sqlite3_int64 id)
+{
+/* auxiliary function: deleting all Raster Style references */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "DELETE FROM SE_raster_styled_layers WHERE style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterRasterStyle: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int64 (stmt, 1, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterRasterStyle() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+static int
+check_raster_style_refs_by_id (sqlite3 * sqlite, int style_id, int *has_refs)
+{
+/* checks if a Raster Style do actually exists - by ID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    int ref_count = 0;
+
+    sql = "SELECT s.style_id, l.style_id FROM SE_raster_styles AS s "
+	"LEFT JOIN SE_raster_styled_layers AS l ON (l.style_id = s.style_id) "
+	"WHERE s.style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Style Refs by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, style_id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		count++;
+		if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER)
+		    ref_count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count >= 1)
+      {
+	  if (ref_count > 0)
+	      *has_refs = 1;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_raster_style_refs_by_name (sqlite3 * sqlite, const char *style_name,
+				 sqlite3_int64 * id, int *has_refs)
+{
+/* checks if a Raster Style do actually exists - by name */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    int ref_count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT style_id FROM SE_raster_styles "
+	"WHERE Lower(style_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Style Refs by Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, style_name, strlen (style_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count != 1)
+	return 0;
+    *id = xid;
+    sql = "SELECT s.style_id, l.style_id FROM SE_raster_styles AS s "
+	"LEFT JOIN SE_raster_styled_layers AS l ON (l.style_id = s.style_id) "
+	"WHERE s.style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Style Refs by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, *id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER)
+		    ref_count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (ref_count > 0)
+	*has_refs = 1;
+    return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+do_delete_raster_style (sqlite3 * sqlite, sqlite3_int64 id)
+{
+/* auxiliary function: really deleting a Raster Style */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "DELETE FROM SE_raster_styles WHERE style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterRasterStyle: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int64 (stmt, 1, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterRasterStyle() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+unregister_raster_style (void *p_sqlite, int style_id,
+			 const char *style_name, int remove_all)
+{
+/* auxiliary function: deletes a Raster Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+    int has_refs = 0;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Raster Style do actually exists */
+	  if (check_raster_style_refs_by_id (sqlite, style_id, &has_refs))
+	      id = style_id;
+	  else
+	      return 0;
+	  if (has_refs)
+	    {
+		if (!remove_all)
+		    return 0;
+		/* deleting all references */
+		if (!do_delete_raster_style_refs (sqlite, id))
+		    return 0;
+	    }
+	  /* deleting the Raster Style */
+	  return do_delete_raster_style (sqlite, id);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Raster Style do actually exists */
+	  if (!check_raster_style_refs_by_name
+	      (sqlite, style_name, &id, &has_refs))
+	      return 0;
+	  if (has_refs)
+	    {
+		if (!remove_all)
+		    return 0;
+		/* deleting all references */
+		if (!do_delete_raster_style_refs (sqlite, id))
+		    return 0;
+	    }
+	  /* deleting the Raster Style */
+	  return do_delete_raster_style (sqlite, id);
+      }
+    else
+	return 0;
+}
+
+static int
+check_raster_style_by_id (sqlite3 * sqlite, int style_id)
+{
+/* checks if a Raster Style do actually exists - by ID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT style_id FROM SE_raster_styles " "WHERE style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Style by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, style_id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+	return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_raster_style_by_name (sqlite3 * sqlite, const char *style_name,
+			    sqlite3_int64 * id)
+{
+/* checks if a Raster Style do actually exists - by name */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT style_id FROM SE_raster_styles "
+	"WHERE Lower(style_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Style by Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, style_name, strlen (style_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+      {
+	  *id = xid;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+do_reload_raster_style (sqlite3 * sqlite, sqlite3_int64 id,
+			const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: reloads a Raster Style definition */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (p_blob != NULL && n_bytes > 0)
+      {
+	  /* attempting to update the Raster Style */
+	  sql = "UPDATE SE_raster_styles SET style = ? " "WHERE style_id = ?";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("reloadRasterStyle: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		return 0;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+	  sqlite3_bind_int64 (stmt, 2, id);
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      ;
+	  else
+	    {
+		spatialite_e ("reloadRasterStyle() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		sqlite3_finalize (stmt);
+		return 0;
+	    }
+	  sqlite3_finalize (stmt);
+	  return 1;
+      }
+    else
+	return 0;
+}
+
+SPATIALITE_PRIVATE int
+reload_raster_style (void *p_sqlite, int style_id,
+		     const char *style_name,
+		     const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: reloads a Raster Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Raster Style do actually exists */
+	  if (check_raster_style_by_id (sqlite, style_id))
+	      id = style_id;
+	  else
+	      return 0;
+	  /* reloading the Raster Style */
+	  if (raster_style_causes_duplicate_name (sqlite, id, p_blob, n_bytes))
+	      return 0;
+	  return do_reload_raster_style (sqlite, id, p_blob, n_bytes);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Raster Style do actually exists */
+	  if (!check_raster_style_by_name (sqlite, style_name, &id))
+	      return 0;
+	  /* reloading the Raster Style */
+	  if (raster_style_causes_duplicate_name (sqlite, id, p_blob, n_bytes))
+	      return 0;
+	  return do_reload_raster_style (sqlite, id, p_blob, n_bytes);
+      }
+    else
+	return 0;
+}
+
+static int
+do_insert_raster_style_layer (sqlite3 * sqlite, const char *coverage_name,
+			      sqlite3_int64 id)
+{
+/* auxiliary function: really inserting a Raster Styled Layer */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "INSERT INTO SE_raster_styled_layers "
+	"(coverage_name, style_id) VALUES (?, ?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("registerRasterStyledLayer: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("registerRasterStyledLayer() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_raster_styled_layer_ex (void *p_sqlite, const char *coverage_name,
+				 int style_id, const char *style_name)
+{
+/* auxiliary function: inserts a Raster Styled Layer definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+
+    if (coverage_name == NULL)
+	return 0;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Raster Style do actually exists */
+	  if (check_raster_style_by_id (sqlite, style_id))
+	      id = style_id;
+	  else
+	      return 0;
+	  /* inserting the Raster Styled Layer */
+	  return do_insert_raster_style_layer (sqlite, coverage_name, id);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Raster Style do actually exists */
+	  if (!check_raster_style_by_name (sqlite, style_name, &id))
+	      return 0;
+	  /* inserting the Raster Styled Layer */
+	  return do_insert_raster_style_layer (sqlite, coverage_name, id);
+      }
+    else
+	return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_raster_styled_layer (void *p_sqlite, const char *coverage_name,
+			      int style_id, const unsigned char *p_blob,
+			      int n_bytes)
+{
+/* auxiliary function: inserts a Raster Styled Layer definition - DEPRECATED */
+    if (p_blob != NULL && n_bytes <= 0)
+      {
+	  /* silencing compiler complaints */
+	  p_blob = NULL;
+	  n_bytes = 0;
+      }
+    return register_raster_styled_layer_ex (p_sqlite, coverage_name, style_id,
+					    NULL);
+}
+
+static int
+check_raster_styled_layer_by_id (sqlite3 * sqlite, const char *coverage_name,
+				 int style_id)
+{
+/* checks if a Raster Styled Layer do actually exists - by ID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT style_id FROM SE_raster_styled_layers "
+	"WHERE Lower(coverage_name) = Lower(?) AND style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Styled Layer by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, style_id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+	return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_raster_styled_layer_by_name (sqlite3 * sqlite, const char *coverage_name,
+				   const char *style_name, sqlite3_int64 * id)
+{
+/* checks if a Raster Styled Layer do actually exists - by name */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT l.style_id FROM SE_raster_styled_layers AS l "
+	"JOIN SE_raster_styles AS s ON (l.style_id = s.style_id) "
+	"WHERE Lower(l.coverage_name) = Lower(?) AND "
+	"Lower(s.style_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Styled Layer by Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_text (stmt, 2, style_name, strlen (style_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+      {
+	  *id = xid;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+do_delete_raster_style_layer (sqlite3 * sqlite, const char *coverage_name,
+			      sqlite3_int64 id)
+{
+/* auxiliary function: really deleting a Raster Styled Layer */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "DELETE FROM SE_raster_styled_layers "
+	"WHERE Lower(coverage_name) = Lower(?) AND " "style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterRasterStyledLayer: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterRasterStyledLayer() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+unregister_raster_styled_layer (void *p_sqlite, const char *coverage_name,
+				int style_id, const char *style_name)
+{
+/* auxiliary function: removes a Raster Styled Layer definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+
+    if (coverage_name == NULL)
+	return 0;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Raster Styled Layer do actually exists */
+	  if (check_raster_styled_layer_by_id (sqlite, coverage_name, style_id))
+	      id = style_id;
+	  else
+	      return 0;
+	  /* removing the Raster Styled Layer */
+	  return do_delete_raster_style_layer (sqlite, coverage_name, id);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Raster Styled Layer do actually exists */
+	  if (!check_raster_styled_layer_by_name
+	      (sqlite, coverage_name, style_name, &id))
+	      return 0;
+	  /* removing the Raster Styled Layer */
+	  return do_delete_raster_style_layer (sqlite, coverage_name, id);
+      }
+    else
+	return 0;
+}
+
+static int
+check_styled_group (sqlite3 * sqlite, const char *group_name)
+{
+/* checking if the Group already exists */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int exists = 0;
+
+    sql = "SELECT group_name FROM SE_styled_groups "
+	"WHERE group_name = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("checkStyledGroup: \"%s\"\n", sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      exists = 1;
+      }
+    sqlite3_finalize (stmt);
+    return exists;
+}
+
+static int
+do_insert_styled_group (sqlite3 * sqlite, const char *group_name,
+			const char *title, const char *abstract)
+{
+/* inserting a Styled Group */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+
+    if (title != NULL && abstract != NULL)
+	sql =
+	    "INSERT INTO SE_styled_groups (group_name, title, abstract) VALUES (?, ?, ?)";
+    else
+	sql = "INSERT INTO SE_styled_groups (group_name) VALUES (?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("insertStyledGroup: \"%s\"\n", sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    if (title != NULL && abstract != NULL)
+      {
+	  sqlite3_bind_text (stmt, 2, title, strlen (title), SQLITE_STATIC);
+	  sqlite3_bind_text (stmt, 3, abstract, strlen (abstract),
+			     SQLITE_STATIC);
+      }
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("insertStyledGroup() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+}
+
+static int
+get_next_paint_order (sqlite3 * sqlite, const char *group_name)
+{
+/* retrieving the next available Paint Order for a Styled Group */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int paint_order = 0;
+
+    sql = "SELECT Max(paint_order) FROM SE_styled_group_refs "
+	"WHERE group_name = Lower(?) ";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("nextPaintOrder: \"%s\"\n", sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER)
+		    paint_order = sqlite3_column_int (stmt, 0) + 1;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    return paint_order;
+}
+
+static int
+get_next_paint_order_by_item (sqlite3 * sqlite, int item_id)
+{
+/* retrieving the next available Paint Order for a Styled Group - BY ITEM ID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int paint_order = 0;
+
+    sql = "SELECT Max(r.paint_order) FROM SE_styled_group_refs AS x "
+	"JOIN SE_styled_groups AS g ON (x.group_name = g.group_name) "
+	"JOIN SE_styled_group_refs AS r ON (r.group_name = g.group_name) "
+	"WHERE x.id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("nextPaintOrderByItem: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, item_id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER)
+		    paint_order = sqlite3_column_int (stmt, 0) + 1;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    return paint_order;
+}
+
+SPATIALITE_PRIVATE int
+register_styled_group_ex (void *p_sqlite, const char *group_name,
+			  const char *vector_coverage_name,
+			  const char *raster_coverage_name)
+{
+/* auxiliary function: inserts a Styled Group Item */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int exists_group = 0;
+    int retval = 0;
+    int paint_order;
+
+    if (vector_coverage_name == NULL && raster_coverage_name == NULL)
+	return 0;
+    if (vector_coverage_name != NULL && raster_coverage_name != NULL)
+	return 0;
+
+    /* checking if the Raster Styled Layer do actually exists */
+    exists_group = check_styled_group (sqlite, group_name);
+
+    if (!exists_group)
+      {
+	  /* insert group */
+	  retval = do_insert_styled_group (sqlite, group_name, NULL, NULL);
+	  if (retval == 0)
+	      goto stop;
+	  retval = 0;
+      }
+
+    /* assigning the next paint_order value */
+    paint_order = get_next_paint_order (sqlite, group_name);
+
+    /* insert */
+    if (vector_coverage_name != NULL)
+      {
+	  /* vector styled layer */
+	  sql = "INSERT INTO SE_styled_group_refs "
+	      "(id, group_name, vector_coverage_name, paint_order) "
+	      "VALUES (NULL, ?, ?, ?)";
+      }
+    else
+      {
+	  /* raster styled layer */
+	  sql = "INSERT INTO SE_styled_group_refs "
+	      "(id, group_name, raster_coverage_name, paint_order) "
+	      "VALUES (NULL, ?, ?, ?)";
+      }
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("registerStyledGroupsRefs: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    /* insert */
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    if (vector_coverage_name != NULL)
+      {
+	  /* vector styled layer */
+	  sqlite3_bind_text (stmt, 2, vector_coverage_name,
+			     strlen (vector_coverage_name), SQLITE_STATIC);
+	  sqlite3_bind_int (stmt, 3, paint_order);
+      }
+    else
+      {
+	  /* raster styled layer */
+	  sqlite3_bind_text (stmt, 2, raster_coverage_name,
+			     strlen (raster_coverage_name), SQLITE_STATIC);
+	  sqlite3_bind_int (stmt, 3, paint_order);
+      }
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("registerStyledGroupsRefs() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_styled_group (void *p_sqlite, const char *group_name,
+		       const char *f_table_name,
+		       const char *f_geometry_column,
+		       const char *coverage_name, int paint_order)
+{
+/* auxiliary function: inserts a Styled Group Item - DEPRECATED */
+    if (paint_order < 0 || f_geometry_column != NULL)
+      {
+	  f_geometry_column = NULL;
+	  paint_order = -1;	/* silencing compiler complaints */
+      }
+    return register_styled_group_ex (p_sqlite, group_name, f_table_name,
+				     coverage_name);
+}
+
+SPATIALITE_PRIVATE int
+styled_group_set_infos (void *p_sqlite, const char *group_name,
+			const char *title, const char *abstract)
+{
+/* auxiliary function: inserts or updates the Styled Group descriptive infos */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int exists = 0;
+    int retval = 0;
+
+    if (group_name == NULL)
+	return 0;
+
+    /* checking if the Raster Styled Layer do actually exists */
+    exists = check_styled_group (sqlite, group_name);
+
+    if (!exists)
+      {
+	  /* insert group */
+	  retval = do_insert_styled_group (sqlite, group_name, title, abstract);
+      }
+    else
+      {
+	  /* update group */
+	  sql =
+	      "UPDATE SE_styled_groups SET title = ?, abstract = ? WHERE group_name = ?";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("styledGroupSetInfos: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		goto stop;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  if (title == NULL)
+	      sqlite3_bind_null (stmt, 1);
+	  else
+	      sqlite3_bind_text (stmt, 1, title, strlen (title), SQLITE_STATIC);
+	  if (abstract == NULL)
+	      sqlite3_bind_null (stmt, 2);
+	  else
+	      sqlite3_bind_text (stmt, 2, abstract, strlen (abstract),
+				 SQLITE_STATIC);
+	  sqlite3_bind_text (stmt, 3, group_name, strlen (group_name),
+			     SQLITE_STATIC);
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      retval = 1;
+	  else
+	      spatialite_e ("styledGroupSetInfos() error: \"%s\"\n",
+			    sqlite3_errmsg (sqlite));
+	  sqlite3_finalize (stmt);
+      }
+    return retval;
+  stop:
+    return 0;
+}
+
+static int
+do_delete_styled_group (sqlite3 * sqlite, const char *group_name)
+{
+/* completely removing a Styled Group */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+
+/* deleting Group Styles */
+    sql =
+	"DELETE FROM SE_styled_group_styles WHERE Lower(group_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("deleteStyledGroup: \"%s\"\n", sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("deleteStyledGroup() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    if (!retval)
+	return 0;
+
+/* deleting Group Items */
+    retval = 0;
+    sql = "DELETE FROM SE_styled_group_refs WHERE Lower(group_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("deleteStyledGroup: \"%s\"\n", sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("deleteStyledGroup() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    if (!retval)
+	return 0;
+
+/* deleting the Styled Group itself */
+    retval = 0;
+    sql = "DELETE FROM SE_styled_groups WHERE Lower(group_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("deleteStyledGroup: \"%s\"\n", sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("deleteStyledGroup() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+}
+
+SPATIALITE_PRIVATE int
+unregister_styled_group (void *p_sqlite, const char *group_name)
+{
+/* auxiliary function: completely removes a Styled Group definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+
+    if (group_name == NULL)
+	return 0;
+
+    /* checking if the Raster Styled Layer do actually exists */
+    if (!check_styled_group (sqlite, group_name))
+	return 0;
+    /* removing the Styled Group */
+    return do_delete_styled_group (sqlite, group_name);
+}
+
+static int
+check_styled_group_layer_by_id (sqlite3 * sqlite, int id)
+{
+/* checks if a Group Layer Item exists */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int exists = 0;
+
+    sql = "SELECT id FROM SE_styled_group_refs " "WHERE id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("checkStyledGroupItem: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      exists = 1;
+      }
+    sqlite3_finalize (stmt);
+    return exists;
+}
+
+static int
+check_styled_group_raster (sqlite3 * sqlite, const char *group_name,
+			   const char *coverage_name, sqlite3_int64 * id)
+{
+/* checks if a Styled Group Layer (Raster) do actually exists */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT id FROM SE_styled_group_refs WHERE "
+	"Lower(group_name) = Lower(?) AND Lower(raster_coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("checkStyledGroupRasterItem: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    sqlite3_bind_text (stmt, 2, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+      {
+	  *id = xid;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_styled_group_vector (sqlite3 * sqlite, const char *group_name,
+			   const char *coverage_name, sqlite3_int64 * id)
+{
+/* checks if a Styled Group Layer (Vector) do actually exists */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT id FROM SE_styled_group_refs WHERE "
+	"Lower(group_name) = Lower(?) AND Lower(vector_coverage_name) = Lower(?) ";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("checkStyledGroupVectorItem: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    sqlite3_bind_text (stmt, 2, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+      {
+	  *id = xid;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+do_update_styled_group_layer_paint_order (sqlite3 * sqlite, sqlite3_int64 id,
+					  int paint_order)
+{
+/* auxiliary function: really updating a Group Styled Layer Paint Order */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "UPDATE SE_styled_group_refs SET paint_order = ? " "WHERE id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updatePaintOrder: \"%s\"\n", sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, paint_order);
+    sqlite3_bind_int64 (stmt, 2, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("updatePaintOrder error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+set_styled_group_layer_paint_order (void *p_sqlite, int item_id,
+				    const char *group_name,
+				    const char *vector_coverage_name,
+				    const char *raster_coverage_name,
+				    int paint_order)
+{
+/* auxiliary function: set the Paint Order for a Layer within a Styled Group */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+    int pos = paint_order;
+
+    if (vector_coverage_name != NULL && raster_coverage_name != NULL)
+	return 0;
+
+    if (item_id >= 0)
+      {
+	  /* checking if the Layer Item do actually exists */
+	  if (check_styled_group_layer_by_id (sqlite, item_id))
+	      id = item_id;
+	  else
+	      return 0;
+	  if (pos < 0)
+	      pos = get_next_paint_order_by_item (sqlite, item_id);
+	  /* updating the Styled Group Layer Paint Order */
+	  return do_update_styled_group_layer_paint_order (sqlite, id, pos);
+      }
+    else if (group_name != NULL && raster_coverage_name != NULL)
+      {
+	  /* checking if a Raster Layer Item do actually exists */
+	  if (!check_styled_group_raster
+	      (sqlite, group_name, raster_coverage_name, &id))
+	      return 0;
+	  if (pos < 0)
+	      pos = get_next_paint_order (sqlite, group_name);
+	  /* updating the Styled Group Layer Paint Order */
+	  return do_update_styled_group_layer_paint_order (sqlite, id, pos);
+      }
+    else if (group_name != NULL && vector_coverage_name != NULL)
+      {
+	  /* checking if a Vector Layer Item do actually exists */
+	  if (!check_styled_group_vector
+	      (sqlite, group_name, vector_coverage_name, &id))
+	      return 0;
+	  if (pos < 0)
+	      pos = get_next_paint_order (sqlite, group_name);
+	  /* updating the Styled Group Layer Paint Order */
+	  return do_update_styled_group_layer_paint_order (sqlite, id, pos);
+      }
+    else
+	return 0;
+}
+
+static int
+do_delete_styled_group_layer (sqlite3 * sqlite, sqlite3_int64 id)
+{
+/* completely removing a Styled Group */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+
+    sql = "DELETE FROM SE_styled_group_refs WHERE id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("deleteStyledGroupLayer: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int64 (stmt, 1, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("deleteStyledGroupLayer() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+}
+
+SPATIALITE_PRIVATE int
+unregister_styled_group_layer (void *p_sqlite, int item_id,
+			       const char *group_name,
+			       const char *vector_coverage_name,
+			       const char *raster_coverage_name)
+{
+/* auxiliary function: removing a Layer form within a Styled Group */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+
+    if (item_id >= 0)
+      {
+	  /* checking if the Layer Item do actually exists */
+	  if (check_styled_group_layer_by_id (sqlite, item_id))
+	      id = item_id;
+	  else
+	      return 0;
+	  /* removing the Styled Group Layer */
+	  return do_delete_styled_group_layer (sqlite, id);
+      }
+    else if (group_name != NULL && raster_coverage_name != NULL)
+      {
+	  /* checking if a Raster Layer Item do actually exists */
+	  if (!check_styled_group_raster
+	      (sqlite, group_name, raster_coverage_name, &id))
+	      return 0;
+	  /* removing the Styled Group Layer */
+	  return do_delete_styled_group_layer (sqlite, id);
+      }
+    else if (group_name != NULL && vector_coverage_name != NULL)
+      {
+	  /* checking if a Vector Layer Item do actually exists */
+	  if (!check_styled_group_vector
+	      (sqlite, group_name, vector_coverage_name, &id))
+	      return 0;
+	  /* removing the Styled Group Layer */
+	  return do_delete_styled_group_layer (sqlite, id);
+      }
+    else
+	return 0;
+}
+
+static int
+group_style_causes_duplicate_name (sqlite3 * sqlite, sqlite3_int64 id,
+				   const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: checks for an eventual duplicate name */
+    int count = 0;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    sql = "SELECT Count(*) FROM SE_group_styles "
+	"WHERE Lower(style_name) = Lower(XB_GetName(?)) AND style_id <> ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("GroupStyle duplicate Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count = sqlite3_column_int (stmt, 0);
+      }
+    sqlite3_finalize (stmt);
+    if (count != 0)
+	return 1;
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_group_style_ex (void *p_sqlite, const unsigned char *p_blob,
+			 int n_bytes)
+{
+/* auxiliary function: inserts a Group Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (p_blob != NULL && n_bytes > 0)
+      {
+	  /* attempting to insert the Group Style */
+	  if (group_style_causes_duplicate_name (sqlite, -1, p_blob, n_bytes))
+	      return 0;
+	  sql = "INSERT INTO SE_group_styles "
+	      "(style_id, style) VALUES (NULL, ?)";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("registerGroupStyle: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		return 0;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      ;
+	  else
+	    {
+		spatialite_e ("registerGroupStyle() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		sqlite3_finalize (stmt);
+		return 0;
+	    }
+	  sqlite3_finalize (stmt);
+	  return 1;
+      }
+    else
+	return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_group_style (void *p_sqlite, const char *group_name, int style_id,
+		      const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: inserts a Group Style - DEPRECATED */
+    if (group_name == NULL || style_id < 0)
+      {
+	  /* silencing compiler complaints */
+	  group_name = NULL;
+	  style_id = -1;
+      }
+    return register_group_style_ex (p_sqlite, p_blob, n_bytes);
+}
+
+static int
+do_delete_group_style_refs (sqlite3 * sqlite, sqlite3_int64 id)
+{
+/* auxiliary function: deleting all Group Style references */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "DELETE FROM SE_styled_group_styles WHERE style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterGroupStyle: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int64 (stmt, 1, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterGroupStyle() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+static int
+check_group_style_refs_by_id (sqlite3 * sqlite, int style_id, int *has_refs)
+{
+/* checks if a Group Style do actually exists - by ID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    int ref_count = 0;
+
+    sql = "SELECT s.style_id, l.style_id FROM SE_group_styles AS s "
+	"LEFT JOIN SE_styled_group_styles AS l ON (l.style_id = s.style_id) "
+	"WHERE s.style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Group Style Refs by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, style_id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		count++;
+		if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER)
+		    ref_count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+      {
+	  if (ref_count > 0)
+	      *has_refs = 1;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_group_style_refs_by_name (sqlite3 * sqlite, const char *style_name,
+				sqlite3_int64 * id, int *has_refs)
+{
+/* checks if a Group Style do actually exists - by name */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    int ref_count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT style_id FROM SE_group_styles "
+	"WHERE Lower(style_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Group Style Refs by Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, style_name, strlen (style_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count != 1)
+	return 0;
+    *id = xid;
+    sql = "SELECT s.style_id, l.style_id FROM SE_group_styles AS s "
+	"LEFT JOIN SE_styled_group_styles AS l ON (l.style_id = s.style_id) "
+	"WHERE s.style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Group Style Refs by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, *id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER)
+		    ref_count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (ref_count > 0)
+	*has_refs = 1;
+    return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+do_delete_group_style (sqlite3 * sqlite, sqlite3_int64 id)
+{
+/* auxiliary function: really deleting a Group Style */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "DELETE FROM SE_group_styles WHERE style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterGroupStyle: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int64 (stmt, 1, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterGroupStyle() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+unregister_group_style (void *p_sqlite, int style_id,
+			const char *style_name, int remove_all)
+{
+/* auxiliary function: deletes a Group Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+    int has_refs = 0;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Group Style do actually exists */
+	  if (check_group_style_refs_by_id (sqlite, style_id, &has_refs))
+	      id = style_id;
+	  else
+	      return 0;
+	  if (has_refs)
+	    {
+		if (!remove_all)
+		    return 0;
+		/* deleting all references */
+		if (!do_delete_group_style_refs (sqlite, id))
+		    return 0;
+	    }
+	  /* deleting the Group Style */
+	  return do_delete_group_style (sqlite, id);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Group Style do actually exists */
+	  if (!check_group_style_refs_by_name
+	      (sqlite, style_name, &id, &has_refs))
+	      return 0;
+	  if (has_refs)
+	    {
+		if (!remove_all)
+		    return 0;
+		/* deleting all references */
+		if (!do_delete_group_style_refs (sqlite, id))
+		    return 0;
+	    }
+	  /* deleting the Group Style */
+	  return do_delete_group_style (sqlite, id);
+      }
+    else
+	return 0;
+}
+
+static int
+check_group_style_by_id (sqlite3 * sqlite, int style_id)
+{
+/* checks if a Group Style do actually exists - by ID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT style_id FROM SE_group_styles " "WHERE style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Group Style by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_int (stmt, 1, style_id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+	return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_group_style_by_name (sqlite3 * sqlite, const char *style_name,
+			   sqlite3_int64 * id)
+{
+/* checks if a Group Style do actually exists - by name */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT style_id FROM SE_group_styles "
+	"WHERE Lower(style_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Group Style by Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, style_name, strlen (style_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+      {
+	  *id = xid;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+do_reload_group_style (sqlite3 * sqlite, sqlite3_int64 id,
+		       const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: reloads a Group Style definition */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (p_blob != NULL && n_bytes > 0)
+      {
+	  /* attempting to update the Group Style */
+	  sql = "UPDATE SE_group_styles SET style = ? " "WHERE style_id = ?";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("reloadGroupStyle: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		return 0;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_blob (stmt, 1, p_blob, n_bytes, SQLITE_STATIC);
+	  sqlite3_bind_int64 (stmt, 2, id);
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      ;
+	  else
+	    {
+		spatialite_e ("reloadGroupStyle() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		sqlite3_finalize (stmt);
+		return 0;
+	    }
+	  sqlite3_finalize (stmt);
+	  return 1;
+      }
+    else
+	return 0;
+}
+
+SPATIALITE_PRIVATE int
+reload_group_style (void *p_sqlite, int style_id,
+		    const char *style_name,
+		    const unsigned char *p_blob, int n_bytes)
+{
+/* auxiliary function: reloads a Group Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Group Style do actually exists */
+	  if (check_group_style_by_id (sqlite, style_id))
+	      id = style_id;
+	  else
+	      return 0;
+	  /* reloading the Group Style */
+	  if (group_style_causes_duplicate_name (sqlite, id, p_blob, n_bytes))
+	      return 0;
+	  return do_reload_group_style (sqlite, id, p_blob, n_bytes);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Group Style do actually exists */
+	  if (!check_group_style_by_name (sqlite, style_name, &id))
+	      return 0;
+	  /* reloading the Group Style */
+	  if (group_style_causes_duplicate_name (sqlite, id, p_blob, n_bytes))
+	      return 0;
+	  return do_reload_group_style (sqlite, id, p_blob, n_bytes);
+      }
+    else
+	return 0;
+}
+
+static int
+do_insert_styled_group_style (sqlite3 * sqlite, const char *group_name,
+			      sqlite3_int64 id)
+{
+/* auxiliary function: really inserting a Styled Group Style */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "INSERT INTO SE_styled_group_styles "
+	"(group_name, style_id) VALUES (?, ?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("registerStyledGroupStyle: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("registerGroupStyledLayer() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_styled_group_style (void *p_sqlite, const char *group_name,
+			     int style_id, const char *style_name)
+{
+/* auxiliary function: inserts a Styled Group Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+
+    if (group_name == NULL)
+	return 0;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Group Style do actually exists */
+	  if (check_group_style_by_id (sqlite, style_id))
+	      id = style_id;
+	  else
+	      return 0;
+	  /* inserting the Styled Group Style */
+	  return do_insert_styled_group_style (sqlite, group_name, id);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Group Style do actually exists */
+	  if (!check_group_style_by_name (sqlite, style_name, &id))
+	      return 0;
+	  /* inserting the Styled Group Style */
+	  return do_insert_styled_group_style (sqlite, group_name, id);
+      }
+    else
+	return 0;
+}
+
+static int
+check_styled_group_style_by_id (sqlite3 * sqlite, const char *group_name,
+				int style_id)
+{
+/* checks if a Styled Group Style do actually exists - by ID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT style_id FROM SE_styled_group_styles "
+	"WHERE Lower(group_name) = Lower(?) AND style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Styled Group Style by ID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, style_id);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+	return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_styled_group_style_by_name (sqlite3 * sqlite, const char *group_name,
+				  const char *style_name, sqlite3_int64 * id)
+{
+/* checks if a Styled Group Style do actually exists - by name */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    sqlite3_int64 xid;
+
+    sql = "SELECT l.style_id FROM SE_styled_group_styles AS l "
+	"JOIN SE_group_styles AS s ON (l.style_id = s.style_id) "
+	"WHERE Lower(l.group_name) = Lower(?) AND "
+	"Lower(s.style_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Styled Group Style by Name: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    sqlite3_bind_text (stmt, 2, style_name, strlen (style_name), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		xid = sqlite3_column_int64 (stmt, 0);
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+      {
+	  *id = xid;
+	  return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+do_delete_styled_group_style (sqlite3 * sqlite, const char *group_name,
+			      sqlite3_int64 id)
+{
+/* auxiliary function: really deleting a Styled Group Style */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "DELETE FROM SE_styled_group_styles "
+	"WHERE Lower(group_name) = Lower(?) AND " "style_id = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterStyledGroupStyle: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, group_name, strlen (group_name), SQLITE_STATIC);
+    sqlite3_bind_int64 (stmt, 2, id);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterStyledGroupStyle() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+unregister_styled_group_style (void *p_sqlite, const char *group_name,
+			       int style_id, const char *style_name)
+{
+/* auxiliary function: removes a Styled Group Style definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 id;
+
+    if (group_name == NULL)
+	return 0;
+
+    if (style_id >= 0)
+      {
+	  /* checking if the Styled Group Style do actually exists */
+	  if (check_styled_group_style_by_id (sqlite, group_name, style_id))
+	      id = style_id;
+	  else
+	      return 0;
+	  /* removing the Styled Group Style */
+	  return do_delete_styled_group_style (sqlite, group_name, id);
+      }
+    else if (style_name != NULL)
+      {
+	  /* checking if the Styled Group Style do actually exists */
+	  if (!check_styled_group_style_by_name
+	      (sqlite, group_name, style_name, &id))
+	      return 0;
+	  /* removing the Styled Group Style */
+	  return do_delete_styled_group_style (sqlite, group_name, id);
+      }
+    else
+	return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_vector_coverage (void *p_sqlite, const char *coverage_name,
+			  const char *f_table_name,
+			  const char *f_geometry_column, const char *title,
+			  const char *abstract)
+{
+/* auxiliary function: inserts a Vector Coverage definition */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (coverage_name != NULL && f_table_name != NULL
+	&& f_geometry_column != NULL && title != NULL && abstract != NULL)
+      {
+	  /* attempting to insert the Vector Coverage */
+	  sql = "INSERT INTO vector_coverages "
+	      "(coverage_name, f_table_name, f_geometry_column, title, abstract) "
+	      "VALUES (Lower(?), Lower(?), Lower(?), ?, ?)";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("registerVectorCoverage: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		return 0;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+			     SQLITE_STATIC);
+	  sqlite3_bind_text (stmt, 2, f_table_name, strlen (f_table_name),
+			     SQLITE_STATIC);
+	  sqlite3_bind_text (stmt, 3, f_geometry_column,
+			     strlen (f_geometry_column), SQLITE_STATIC);
+	  sqlite3_bind_text (stmt, 4, title, strlen (title), SQLITE_STATIC);
+	  sqlite3_bind_text (stmt, 5, abstract, strlen (abstract),
+			     SQLITE_STATIC);
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      ;
+	  else
+	    {
+		spatialite_e ("registerVectorCoverage() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		sqlite3_finalize (stmt);
+		return 0;
+	    }
+	  sqlite3_finalize (stmt);
+	  return 1;
+      }
+    else if (coverage_name != NULL && f_table_name != NULL
+	     && f_geometry_column != NULL)
+      {
+	  /* attempting to insert the Vector Coverage */
+	  sql = "INSERT INTO vector_coverages "
+	      "(coverage_name, f_table_name, f_geometry_column) "
+	      "VALUES (Lower(?), Lower(?), Lower(?))";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("registerVectorCoverage: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		return 0;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+			     SQLITE_STATIC);
+	  sqlite3_bind_text (stmt, 2, f_table_name, strlen (f_table_name),
+			     SQLITE_STATIC);
+	  sqlite3_bind_text (stmt, 3, f_geometry_column,
+			     strlen (f_geometry_column), SQLITE_STATIC);
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      ;
+	  else
+	    {
+		spatialite_e ("registerVectorCoverage() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		sqlite3_finalize (stmt);
+		return 0;
+	    }
+	  sqlite3_finalize (stmt);
+	  return 1;
+      }
+    else
+	return 0;
+}
+
+static int
+check_vector_coverage (sqlite3 * sqlite, const char *coverage_name)
+{
+/* checks if a Vector Coverage do actually exists */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT coverage_name FROM vector_coverages "
+	"WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Coverage: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+	return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static void
+do_delete_vector_coverage_srid (sqlite3 * sqlite, const char *coverage_name,
+				int srid)
+{
+/* auxiliary function: deleting a Vector Coverage alternative SRID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (srid < 0)
+	sql = "DELETE FROM vector_coverages_srid "
+	    "WHERE Lower(coverage_name) = Lower(?)";
+    else
+	sql = "DELETE FROM vector_coverages_srid "
+	    "WHERE Lower(coverage_name) = Lower(?) AND srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterVectorCoverageSrid: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    if (srid >= 0)
+	sqlite3_bind_int (stmt, 2, srid);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+	spatialite_e ("unregisterVectorCoverageSrid() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+}
+
+static void
+do_delete_vector_coverage_keyword (sqlite3 * sqlite, const char *coverage_name,
+				   const char *keyword)
+{
+/* auxiliary function: deleting an Vector Coverage Keyword */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (keyword == NULL)
+	sql = "DELETE FROM vector_coverages_keyword "
+	    "WHERE Lower(coverage_name) = Lower(?)";
+    else
+	sql = "DELETE FROM vector_coverages_keyword "
+	    "WHERE Lower(coverage_name) = Lower(?) AND Lower(keyword) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterVectorCoverageKeyword: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    if (keyword != NULL)
+	sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+	spatialite_e ("unregisterVectorCoverageKeyword() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+}
+
+static void
+do_delete_vector_coverage_styled_layers (sqlite3 * sqlite,
+					 const char *coverage_name)
+{
+/* auxiliary function: deleting all Vector Coverage Styled references */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    sql = "DELETE FROM SE_vector_styled_layers WHERE coverage_name = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterVectorCoverageStyles: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+	spatialite_e ("unregisterVectorCoverageStyles() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+}
+
+static void
+do_delete_vector_coverage_styled_groups (sqlite3 * sqlite,
+					 const char *coverage_name)
+{
+/* auxiliary function: deleting all Vector Coverage Styled Group references */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    sql = "DELETE FROM SE_styled_group_refs WHERE vector_coverage_name = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterVectorCoverageGroups: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+	spatialite_e ("unregisterVectorCoverageGroups() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+}
+
+static int
+do_delete_vector_coverage (sqlite3 * sqlite, const char *coverage_name)
+{
+/* auxiliary function: deleting a Vector Coverage */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int retval = 0;
+    sql = "DELETE FROM vector_coverages "
+	"WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterVectorCoverage: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("unregisterVectorCoverage() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+unregister_vector_coverage (void *p_sqlite, const char *coverage_name)
+{
+/* auxiliary function: deletes a Vector Coverage definition (and any related) */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+
+    if (coverage_name == NULL)
+	return 0;
+
+    /* checking if the Vector Coverage do actually exists */
+    if (!check_vector_coverage (sqlite, coverage_name))
+	return 0;
+    /* deleting all alternative SRIDs */
+    do_delete_vector_coverage_srid (sqlite, coverage_name, -1);
+    /* deleting all Keywords */
+    do_delete_vector_coverage_keyword (sqlite, coverage_name, NULL);
+    /* deleting all Styled Layers */
+    do_delete_vector_coverage_styled_layers (sqlite, coverage_name);
+    /* deleting all Styled Group references */
+    do_delete_vector_coverage_styled_groups (sqlite, coverage_name);
+    /* deleting the Vector Coverage itself */
+    return do_delete_vector_coverage (sqlite, coverage_name);
+}
+
+SPATIALITE_PRIVATE int
+set_vector_coverage_infos (void *p_sqlite, const char *coverage_name,
+			   const char *title, const char *abstract)
+{
+/* auxiliary function: updates the descriptive infos supporting a Vector Coverage */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (coverage_name != NULL && title != NULL && abstract != NULL)
+      {
+	  /* attempting to update the Vector Coverage */
+	  sql = "UPDATE vector_coverages SET title = ?, abstract = ? "
+	      "WHERE Lower(coverage_name) = Lower(?)";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("registerVectorCoverage: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		return 0;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_text (stmt, 1, title, strlen (title), SQLITE_STATIC);
+	  sqlite3_bind_text (stmt, 2, abstract, strlen (abstract),
+			     SQLITE_STATIC);
+	  sqlite3_bind_text (stmt, 3, coverage_name, strlen (coverage_name),
+			     SQLITE_STATIC);
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      ;
+	  else
+	    {
+		spatialite_e ("setVectorCoverageInfos() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		sqlite3_finalize (stmt);
+		return 0;
+	    }
+	  sqlite3_finalize (stmt);
+	  return 1;
+      }
+    else
+	return 0;
+}
+
+static int
+check_vector_coverage_srid2 (sqlite3 * sqlite, const char *coverage_name,
+			     int srid)
+{
+/* checks if a Vector Coverage SRID do actually exists */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT srid FROM vector_coverages_srid "
+	"WHERE Lower(coverage_name) = Lower(?) AND srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Coverage SRID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int (stmt, 2, srid);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+	return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_vector_coverage_srid1 (sqlite3 * sqlite, const char *coverage_name,
+			     int srid)
+{
+/* checks if a Vector Coverage do actually exists and check its SRID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    int same_srid = 0;
+
+    sql = "SELECT c.srid FROM vector_coverages AS v "
+	"JOIN geometry_columns AS c ON (Lower(v.f_table_name) = Lower(c.f_table_name) "
+	"AND Lower(v.f_geometry_column) = Lower(c.f_geometry_column)) "
+	"WHERE Lower(v.coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Coverage SRID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		int natural_srid = sqlite3_column_int (stmt, 0);
+		if (srid == natural_srid)
+		    same_srid++;
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1 && same_srid == 0)
+      {
+	  if (check_vector_coverage_srid2 (sqlite, coverage_name, srid))
+	      return 0;
+	  else
+	      return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_vector_coverage_srid (void *p_sqlite, const char *coverage_name,
+			       int srid)
+{
+/* auxiliary function: inserting a Vector Coverage alternative SRID */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (coverage_name == NULL)
+	return 0;
+    if (srid <= 0)
+	return 0;
+
+    /* checking if the Vector Coverage do actually exists */
+    if (!check_vector_coverage_srid1 (sqlite, coverage_name, srid))
+	return 0;
+
+    /* attempting to insert the Vector Coverage alternative SRID */
+    sql = "INSERT INTO vector_coverages_srid "
+	"(coverage_name, srid) VALUES (Lower(?), ?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("registerVectorCoverageSrid: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int (stmt, 2, srid);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+      {
+	  spatialite_e ("registerVectorCoverageSrid() error: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  sqlite3_finalize (stmt);
+	  return 0;
+      }
+    sqlite3_finalize (stmt);
+    return 1;
+}
+
+SPATIALITE_PRIVATE int
+unregister_vector_coverage_srid (void *p_sqlite, const char *coverage_name,
+				 int srid)
+{
+/* auxiliary function: deletes a Vector Coverage alternative SRID */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+
+    if (coverage_name == NULL)
+	return 0;
+
+    /* checking if the Vector Coverage SRID do actually exists */
+    if (!check_vector_coverage_srid2 (sqlite, coverage_name, srid))
+	return 0;
+    /* deleting the alternative SRID */
+    do_delete_vector_coverage_srid (sqlite, coverage_name, srid);
+    return 1;
+}
+
+static int
+check_vector_coverage_keyword0 (sqlite3 * sqlite, const char *coverage_name)
+{
+/* checks if a Vector Coverage do actually exists */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql =
+	"SELECT coverage_name FROM vector_coverages WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Coverage Keyword: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 0)
+	return 0;
+    return 1;
+  stop:
+    return 0;
+}
+
+static int
+check_vector_coverage_keyword1 (sqlite3 * sqlite, const char *coverage_name,
+				const char *keyword)
+{
+/* checks if a Vector Coverage do actually exists and check the Keyword */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int same_kw = 0;
+
+    sql =
+	"SELECT keyword FROM vector_coverages_keyword WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Coverage Keyword: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		const char *kw = (const char *) sqlite3_column_text (stmt, 0);
+		if (strcasecmp (kw, keyword) == 0)
+		    same_kw++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (same_kw == 0)
+      {
+	  if (!check_vector_coverage_keyword0 (sqlite, coverage_name))
+	      return 0;
+	  else
+	      return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_vector_coverage_keyword2 (sqlite3 * sqlite, const char *coverage_name,
+				const char *keyword)
+{
+/* checks if a Vector Coverage do actually exists and check the Keyword */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT keyword FROM vector_coverages_keyword "
+	"WHERE Lower(coverage_name) = Lower(?) AND Lower(keyword) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Vector Coverage Keyword: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 0)
+	return 0;
+    return 1;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_vector_coverage_keyword (void *p_sqlite, const char *coverage_name,
+				  const char *keyword)
+{
+/* auxiliary function: inserting a Vector Coverage Keyword */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (coverage_name == NULL)
+	return 0;
+    if (keyword == NULL)
+	return 0;
+
+    /* checking if the Vector Coverage do actually exists */
+    if (!check_vector_coverage_keyword1 (sqlite, coverage_name, keyword))
+	return 0;
+
+    /* attempting to insert the Vector Coverage Keyword */
+    sql = "INSERT INTO vector_coverages_keyword "
+	"(coverage_name, keyword) VALUES (Lower(?), ?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("registerVectorCoverageKeyword: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+      {
+	  spatialite_e ("registerVectorCoverageKeyword() error: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  sqlite3_finalize (stmt);
+	  return 0;
+      }
+    sqlite3_finalize (stmt);
+    return 1;
+}
+
+SPATIALITE_PRIVATE int
+unregister_vector_coverage_keyword (void *p_sqlite, const char *coverage_name,
+				    const char *keyword)
+{
+/* auxiliary function: deletes a Vector Coverage Keyword */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+
+    if (coverage_name == NULL)
+	return 0;
+    if (keyword == NULL)
+	return 0;
+
+    /* checking if the Vector Coverage Keyword do actually exists */
+    if (!check_vector_coverage_keyword2 (sqlite, coverage_name, keyword))
+	return 0;
+    /* deleting the Keyword */
+    do_delete_vector_coverage_keyword (sqlite, coverage_name, keyword);
+    return 1;
+}
+
+static int
+do_null_vector_coverage_extents (sqlite3 * sqlite, sqlite3_stmt * stmt_upd_cvg,
+				 sqlite3_stmt * stmt_null_srid,
+				 const char *coverage_name)
+{
+/* setting the main Coverage Extent to NULL */
+    int ret;
+    sqlite3_reset (stmt_upd_cvg);
+    sqlite3_clear_bindings (stmt_upd_cvg);
+    sqlite3_bind_null (stmt_upd_cvg, 1);
+    sqlite3_bind_null (stmt_upd_cvg, 2);
+    sqlite3_bind_null (stmt_upd_cvg, 3);
+    sqlite3_bind_null (stmt_upd_cvg, 4);
+    sqlite3_bind_null (stmt_upd_cvg, 5);
+    sqlite3_bind_null (stmt_upd_cvg, 6);
+    sqlite3_bind_null (stmt_upd_cvg, 7);
+    sqlite3_bind_null (stmt_upd_cvg, 8);
+    sqlite3_bind_text (stmt_upd_cvg, 9, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    ret = sqlite3_step (stmt_upd_cvg);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+      {
+	  spatialite_e ("updateVectorCoverageExtent error: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+/* setting all alternativ Coverage Extent to NULL */
+    sqlite3_reset (stmt_null_srid);
+    sqlite3_clear_bindings (stmt_null_srid);
+    sqlite3_bind_text (stmt_null_srid, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    ret = sqlite3_step (stmt_null_srid);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+      {
+	  spatialite_e ("updateVectorCoverageExtent error: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    return 1;
+}
+
+static int
+do_update_vector_coverage_extents (sqlite3 * sqlite, const void *cache,
+				   sqlite3_stmt * stmt_upd_cvg,
+				   sqlite3_stmt * stmt_srid,
+				   sqlite3_stmt * stmt_upd_srid,
+				   const char *coverage_name, int natural_srid,
+				   double minx, double miny, double maxx,
+				   double maxy)
+{
+/* updating the Coverage Extents */
+    int ret;
+    int geographic = 0;
+    double geo_minx = minx;
+    double geo_miny = miny;
+    double geo_maxx = maxx;
+    double geo_maxy = maxy;
+    char *proj_from = NULL;
+    char *proj_to = NULL;
+    gaiaGeomCollPtr in;
+    gaiaGeomCollPtr out;
+    gaiaPointPtr pt;
+
+    getProjParams (sqlite, natural_srid, &proj_from);
+    if (proj_from == NULL)
+	goto error;
+
+    ret = srid_is_geographic (sqlite, natural_srid, &geographic);
+    if (!ret)
+	return 0;
+    if (!geographic)
+      {
+	  /* computing the geographic extent */
+	  getProjParams (sqlite, 4326, &proj_to);
+	  if (proj_to == NULL)
+	      goto error;
+	  in = gaiaAllocGeomColl ();
+	  in->Srid = natural_srid;
+	  gaiaAddPointToGeomColl (in, minx, miny);
+	  if (cache != NULL)
+	      out = gaiaTransform_r (cache, in, proj_from, proj_to);
+	  else
+	      out = gaiaTransform (in, proj_from, proj_to);
+	  if (out == NULL)
+	    {
+		gaiaFreeGeomColl (in);
+		goto error;
+	    }
+	  pt = out->FirstPoint;
+	  if (pt == NULL)
+	    {
+		gaiaFreeGeomColl (in);
+		gaiaFreeGeomColl (out);
+		goto error;
+	    }
+	  geo_minx = pt->X;
+	  geo_miny = pt->Y;
+	  gaiaFreeGeomColl (in);
+	  gaiaFreeGeomColl (out);
+	  in = gaiaAllocGeomColl ();
+	  in->Srid = natural_srid;
+	  gaiaAddPointToGeomColl (in, maxx, maxy);
+	  if (cache != NULL)
+	      out = gaiaTransform_r (cache, in, proj_from, proj_to);
+	  else
+	      out = gaiaTransform (in, proj_from, proj_to);
+	  if (out == NULL)
+	    {
+		gaiaFreeGeomColl (in);
+		goto error;
+	    }
+	  pt = out->FirstPoint;
+	  if (pt == NULL)
+	    {
+		gaiaFreeGeomColl (in);
+		gaiaFreeGeomColl (out);
+		goto error;
+	    }
+	  geo_maxx = pt->X;
+	  geo_maxy = pt->Y;
+	  gaiaFreeGeomColl (in);
+	  gaiaFreeGeomColl (out);
+	  free (proj_to);
+	  proj_to = NULL;
+      }
+
+/* setting the main Coverage Extent */
+    sqlite3_reset (stmt_upd_cvg);
+    sqlite3_clear_bindings (stmt_upd_cvg);
+    sqlite3_bind_double (stmt_upd_cvg, 1, geo_minx);
+    sqlite3_bind_double (stmt_upd_cvg, 2, geo_miny);
+    sqlite3_bind_double (stmt_upd_cvg, 3, geo_maxx);
+    sqlite3_bind_double (stmt_upd_cvg, 4, geo_maxy);
+    sqlite3_bind_double (stmt_upd_cvg, 5, minx);
+    sqlite3_bind_double (stmt_upd_cvg, 6, miny);
+    sqlite3_bind_double (stmt_upd_cvg, 7, maxx);
+    sqlite3_bind_double (stmt_upd_cvg, 8, maxy);
+    sqlite3_bind_text (stmt_upd_cvg, 9, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    ret = sqlite3_step (stmt_upd_cvg);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+      {
+	  spatialite_e ("updateVectorCoverageExtent error: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+/* updating any alternative SRID supporting this Vector Coverage */
+    sqlite3_reset (stmt_srid);
+    sqlite3_clear_bindings (stmt_srid);
+    sqlite3_bind_text (stmt_srid, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt_srid);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		/* processing a single alternative SRID Extent */
+		double alt_minx;
+		double alt_miny;
+		double alt_maxx;
+		double alt_maxy;
+		int srid = sqlite3_column_int (stmt_srid, 0);
+		getProjParams (sqlite, srid, &proj_to);
+		if (proj_to == NULL)
+		    goto error;
+		in = gaiaAllocGeomColl ();
+		in->Srid = natural_srid;
+		gaiaAddPointToGeomColl (in, minx, miny);
+		if (cache != NULL)
+		    out = gaiaTransform_r (cache, in, proj_from, proj_to);
+		else
+		    out = gaiaTransform (in, proj_from, proj_to);
+		if (out == NULL)
+		  {
+		      gaiaFreeGeomColl (in);
+		      goto error;
+		  }
+		pt = out->FirstPoint;
+		if (pt == NULL)
+		  {
+		      gaiaFreeGeomColl (in);
+		      gaiaFreeGeomColl (out);
+		      goto error;
+		  }
+		alt_minx = pt->X;
+		alt_miny = pt->Y;
+		gaiaFreeGeomColl (in);
+		gaiaFreeGeomColl (out);
+		in = gaiaAllocGeomColl ();
+		in->Srid = natural_srid;
+		gaiaAddPointToGeomColl (in, maxx, maxy);
+		if (cache != NULL)
+		    out = gaiaTransform_r (cache, in, proj_from, proj_to);
+		else
+		    out = gaiaTransform (in, proj_from, proj_to);
+		if (out == NULL)
+		  {
+		      gaiaFreeGeomColl (in);
+		      goto error;
+		  }
+		pt = out->FirstPoint;
+		if (pt == NULL)
+		  {
+		      gaiaFreeGeomColl (in);
+		      gaiaFreeGeomColl (out);
+		      goto error;
+		  }
+		alt_maxx = pt->X;
+		alt_maxy = pt->Y;
+		gaiaFreeGeomColl (in);
+		gaiaFreeGeomColl (out);
+		free (proj_to);
+		proj_to = NULL;
+
+/* setting the alternative Srid Extent */
+		sqlite3_reset (stmt_upd_srid);
+		sqlite3_clear_bindings (stmt_upd_srid);
+		sqlite3_bind_double (stmt_upd_srid, 1, alt_minx);
+		sqlite3_bind_double (stmt_upd_srid, 2, alt_miny);
+		sqlite3_bind_double (stmt_upd_srid, 3, alt_maxx);
+		sqlite3_bind_double (stmt_upd_srid, 4, alt_maxy);
+		sqlite3_bind_text (stmt_upd_srid, 5, coverage_name,
+				   strlen (coverage_name), SQLITE_STATIC);
+		sqlite3_bind_int (stmt_upd_srid, 6, srid);
+		ret = sqlite3_step (stmt_upd_srid);
+		if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+		    ;
+		else
+		  {
+		      spatialite_e
+			  ("updateVectorCoverageExtent error: \"%s\"\n",
+			   sqlite3_errmsg (sqlite));
+		      goto error;
+		  }
+	    }
+	  else
+	    {
+		spatialite_e ("updateVectorCoverageExtent() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		goto error;
+	    }
+      }
+
+    free (proj_from);
+    return 1;
+
+  error:
+    if (proj_from)
+	free (proj_from);
+    if (proj_to)
+	free (proj_to);
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+update_vector_coverage_extent (void *p_sqlite, const void *cache,
+			       const char *coverage_name, int transaction)
+{
+/* updates one (or all) Vector Coverage Extents */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    char *sql;
+    sqlite3_stmt *stmt = NULL;
+    sqlite3_stmt *stmt_ext = NULL;
+    sqlite3_stmt *stmt_upd_cvg = NULL;
+    sqlite3_stmt *stmt_upd_srid = NULL;
+    sqlite3_stmt *stmt_null_srid = NULL;
+    sqlite3_stmt *stmt_srid = NULL;
+
+/* preparing the ancillary SQL statements */
+    sql = "SELECT srid FROM vector_coverages_srid "
+	"WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt_srid, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updateVectorCoverageExtent: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+    sql = "UPDATE vector_coverages SET geo_minx = ?, geo_miny = ?, "
+	"geo_maxx = ?, geo_maxy = ?, extent_minx = ?, extent_miny = ?, "
+	"extent_maxx = ?, extent_maxy = ? "
+	"WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt_upd_cvg, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updateVectorCoverageExtent: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+    sql = "UPDATE vector_coverages_srid SET extent_minx = NULL, "
+	"extent_miny = NULL, extent_maxx = NULL, extent_maxy = NULL "
+	"WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt_null_srid, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updateVectorCoverageExtent: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+    sql = "UPDATE vector_coverages_srid SET extent_minx = ?, "
+	"extent_miny = ?, extent_maxx = ?, extent_maxy = ? "
+	"WHERE Lower(coverage_name) = Lower(?) AND srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt_upd_srid, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updateVectorCoverageExtent: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+/* preparing the main SQL statement */
+    if (coverage_name == NULL)
+      {
+	  sql = "SELECT v.coverage_name, v.f_table_name, v.f_geometry_column, "
+	      "c.srid FROM vector_coverages AS v "
+	      "JOIN geometry_columns AS c ON (Lower(v.f_table_name) = "
+	      "Lower(c.f_table_name) AND Lower(v.f_geometry_column) = "
+	      "Lower(c.f_geometry_column))";
+      }
+    else
+      {
+
+	  sql = "SELECT v.coverage_name, v.f_table_name, v.f_geometry_column, "
+	      "c.srid FROM vector_coverages AS v "
+	      "JOIN geometry_columns AS c ON (Lower(v.f_table_name) = "
+	      "Lower(c.f_table_name) AND Lower(v.f_geometry_column) = "
+	      "Lower(c.f_geometry_column)) "
+	      "WHERE Lower(v.coverage_name) = Lower(?)";
+      }
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updateVectorCoverageExtent: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+    if (transaction)
+      {
+	  /* starting a Transaction */
+	  ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, NULL);
+	  if (ret != SQLITE_OK)
+	      goto error;
+      }
+
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    if (coverage_name != NULL)
+	sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+			   SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		/* processing a single Vector Coverage */
+		char *table;
+		char *geom;
+		const char *cvg = (const char *) sqlite3_column_text (stmt, 0);
+		const char *xtable =
+		    (const char *) sqlite3_column_text (stmt, 1);
+		const char *xgeom =
+		    (const char *) sqlite3_column_text (stmt, 2);
+		int natural_srid = sqlite3_column_int (stmt, 3);
+		table = gaiaDoubleQuotedSql (xtable);
+		geom = gaiaDoubleQuotedSql (xgeom);
+		sql =
+		    sqlite3_mprintf
+		    ("SELECT Min(MbrMinX(\"%s\")), Min(MbrMinY(\"%s\")), "
+		     "Max(MbrMaxX(\"%s\")), Max(MbrMaxY(\"%s\")) "
+		     "FROM \"%s\"", geom, geom, geom, geom, table);
+		free (table);
+		free (geom);
+		ret =
+		    sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt_ext,
+					NULL);
+		sqlite3_free (sql);
+		if (ret != SQLITE_OK)
+		  {
+		      spatialite_e ("updateVectorCoverageExtent: \"%s\"\n",
+				    sqlite3_errmsg (sqlite));
+		      goto error;
+		  }
+		while (1)
+		  {
+		      /* scrolling the result set rows */
+		      ret = sqlite3_step (stmt_ext);
+		      if (ret == SQLITE_DONE)
+			  break;	/* end of result set */
+		      if (ret == SQLITE_ROW)
+			{
+			    int null_minx = 1;
+			    int null_miny = 1;
+			    int null_maxx = 1;
+			    int null_maxy = 1;
+			    double minx;
+			    double miny;
+			    double maxx;
+			    double maxy;
+			    if (sqlite3_column_type (stmt_ext, 0) ==
+				SQLITE_FLOAT)
+			      {
+				  minx = sqlite3_column_double (stmt_ext, 0);
+				  null_minx = 0;
+			      }
+			    if (sqlite3_column_type (stmt_ext, 1) ==
+				SQLITE_FLOAT)
+			      {
+				  miny = sqlite3_column_double (stmt_ext, 1);
+				  null_miny = 0;
+			      }
+			    if (sqlite3_column_type (stmt_ext, 2) ==
+				SQLITE_FLOAT)
+			      {
+				  maxx = sqlite3_column_double (stmt_ext, 2);
+				  null_maxx = 0;
+			      }
+			    if (sqlite3_column_type (stmt_ext, 3) ==
+				SQLITE_FLOAT)
+			      {
+				  maxy = sqlite3_column_double (stmt_ext, 3);
+				  null_maxy = 0;
+			      }
+			    if (null_minx || null_miny || null_maxx
+				|| null_maxy)
+				ret =
+				    do_null_vector_coverage_extents (sqlite,
+								     stmt_upd_cvg,
+								     stmt_null_srid,
+								     cvg);
+			    else
+				ret =
+				    do_update_vector_coverage_extents (sqlite,
+								       cache,
+								       stmt_upd_cvg,
+								       stmt_srid,
+								       stmt_upd_srid,
+								       cvg,
+								       natural_srid,
+								       minx,
+								       miny,
+								       maxx,
+								       maxy);
+			    if (!ret)
+				goto error;
+			}
+		      else
+			{
+			    spatialite_e
+				("updateVectorCoverageExtent() error: \"%s\"\n",
+				 sqlite3_errmsg (sqlite));
+			    goto error;
+			}
+		  }
+		sqlite3_finalize (stmt_ext);
+		stmt_ext = NULL;
+	    }
+	  else
+	    {
+		spatialite_e ("updateVectorCoverageExtent() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		goto error;
+	    }
+      }
+
+    if (transaction)
+      {
+	  /* committing the still pending Transaction */
+	  ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL);
+	  if (ret != SQLITE_OK)
+	      goto error;
+      }
+
+    sqlite3_finalize (stmt);
+    sqlite3_finalize (stmt_upd_cvg);
+    sqlite3_finalize (stmt_upd_srid);
+    sqlite3_finalize (stmt_null_srid);
+    sqlite3_finalize (stmt_srid);
+    return 1;
+
+  error:
+    if (stmt != NULL)
+	sqlite3_finalize (stmt);
+    if (stmt_ext != NULL)
+	sqlite3_finalize (stmt_ext);
+    if (stmt_upd_cvg != NULL)
+	sqlite3_finalize (stmt_upd_cvg);
+    if (stmt_upd_srid != NULL)
+	sqlite3_finalize (stmt_upd_srid);
+    if (stmt_null_srid != NULL)
+	sqlite3_finalize (stmt_null_srid);
+    if (stmt_srid != NULL)
+	sqlite3_finalize (stmt_srid);
+    return 0;
+}
+
+static int
+check_raster_coverage_srid2 (sqlite3 * sqlite, const char *coverage_name,
+			     int srid)
+{
+/* checks if a Raster Coverage SRID do actually exists */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT srid FROM raster_coverages_srid "
+	"WHERE Lower(coverage_name) = Lower(?) AND srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Coverage SRID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int (stmt, 2, srid);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1)
+	return 1;
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_raster_coverage_srid1 (sqlite3 * sqlite, const char *coverage_name,
+			     int srid)
+{
+/* checks if a Raster Coverage do actually exists and check its SRID */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+    int same_srid = 0;
+
+    sql = "SELECT srid FROM raster_coverages "
+	"WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Coverage SRID: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		int natural_srid = sqlite3_column_int (stmt, 0);
+		if (srid == natural_srid)
+		    same_srid++;
+		count++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (count == 1 && same_srid == 0)
+      {
+	  if (check_raster_coverage_srid2 (sqlite, coverage_name, srid))
+	      return 0;
+	  else
+	      return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_raster_coverage_srid (void *p_sqlite, const char *coverage_name,
+			       int srid)
+{
+/* auxiliary function: inserting a Raster Coverage alternative SRID */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (coverage_name == NULL)
+	return 0;
+    if (srid <= 0)
+	return 0;
+
+    /* checking if the Raster Coverage do actually exists */
+    if (!check_raster_coverage_srid1 (sqlite, coverage_name, srid))
+	return 0;
+
+    /* attempting to insert the Raster Coverage alternative SRID */
+    sql = "INSERT INTO raster_coverages_srid "
+	"(coverage_name, srid) VALUES (Lower(?), ?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("registerRasterCoverageSrid: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int (stmt, 2, srid);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+      {
+	  spatialite_e ("registerRasterCoverageSrid() error: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  sqlite3_finalize (stmt);
+	  return 0;
+      }
+    sqlite3_finalize (stmt);
+    return 1;
+}
+
+static void
+do_delete_raster_coverage_srid (sqlite3 * sqlite, const char *coverage_name,
+				int srid)
+{
+/* auxiliary function: deleting all Raster Coverage alternative SRIDs */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    sql = "DELETE FROM raster_coverages_srid "
+	"WHERE Lower(coverage_name) = Lower(?) AND srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterRasterCoverageSrid: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_int (stmt, 2, srid);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+	spatialite_e ("unregisterRasterCoverageSrid() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+}
+
+SPATIALITE_PRIVATE int
+unregister_raster_coverage_srid (void *p_sqlite, const char *coverage_name,
+				 int srid)
+{
+/* auxiliary function: deletes a Raster Coverage alternative SRID */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+
+    if (coverage_name == NULL)
+	return 0;
+
+    /* checking if the Raster Coverage SRID do actually exists */
+    if (!check_raster_coverage_srid2 (sqlite, coverage_name, srid))
+	return 0;
+    /* deleting the alternative SRID */
+    do_delete_raster_coverage_srid (sqlite, coverage_name, srid);
+    return 1;
+}
+
+static int
+check_raster_coverage_keyword0 (sqlite3 * sqlite, const char *coverage_name)
+{
+/* checks if a Raster Coverage do actually exists */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql =
+	"SELECT coverage_name FROM raster_coverages WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Coverage Keyword: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 0)
+	return 0;
+    return 1;
+  stop:
+    return 0;
+}
+
+static int
+check_raster_coverage_keyword1 (sqlite3 * sqlite, const char *coverage_name,
+				const char *keyword)
+{
+/* checks if a Raster Coverage do actually exists and check the Keyword */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int same_kw = 0;
+
+    sql =
+	"SELECT keyword FROM raster_coverages_keyword WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Coverage Keyword: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		const char *kw = (const char *) sqlite3_column_text (stmt, 0);
+		if (strcasecmp (kw, keyword) == 0)
+		    same_kw++;
+	    }
+      }
+    sqlite3_finalize (stmt);
+    if (same_kw == 0)
+      {
+	  if (!check_raster_coverage_keyword0 (sqlite, coverage_name))
+	      return 0;
+	  else
+	      return 1;
+      }
+    return 0;
+  stop:
+    return 0;
+}
+
+static int
+check_raster_coverage_keyword2 (sqlite3 * sqlite, const char *coverage_name,
+				const char *keyword)
+{
+/* checks if a Raster Coverage do actually exists and check the Keyword */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int count = 0;
+
+    sql = "SELECT keyword FROM raster_coverages_keyword "
+	"WHERE Lower(coverage_name) = Lower(?) AND Lower(keyword) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("check Raster Coverage Keyword: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	      count++;
+      }
+    sqlite3_finalize (stmt);
+    if (count == 0)
+	return 0;
+    return 1;
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_raster_coverage_keyword (void *p_sqlite, const char *coverage_name,
+				  const char *keyword)
+{
+/* auxiliary function: inserting a Raster Coverage Keyword */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    if (coverage_name == NULL)
+	return 0;
+    if (keyword == NULL)
+	return 0;
+
+    /* checking if the Raster Coverage do actually exists */
+    if (!check_raster_coverage_keyword1 (sqlite, coverage_name, keyword))
+	return 0;
+
+    /* attempting to insert the Raster Coverage Keyword */
+    sql = "INSERT INTO raster_coverages_keyword "
+	"(coverage_name, keyword) VALUES (Lower(?), ?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("registerRasterCoverageKeyword: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+      {
+	  spatialite_e ("registerRasterCoverageKeyword() error: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  sqlite3_finalize (stmt);
+	  return 0;
+      }
+    sqlite3_finalize (stmt);
+    return 1;
+}
+
+static void
+do_delete_raster_coverage_keyword (sqlite3 * sqlite, const char *coverage_name,
+				   const char *keyword)
+{
+/* auxiliary function: deleting all Raster Coverage Keyword */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+
+    sql = "DELETE FROM raster_coverages_keyword "
+	"WHERE Lower(coverage_name) = Lower(?) AND Lower(keyword) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unregisterRasterCoverageKeyword: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC);
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+	spatialite_e ("unregisterRasterCoverageKeyword() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+}
+
+SPATIALITE_PRIVATE int
+unregister_raster_coverage_keyword (void *p_sqlite, const char *coverage_name,
+				    const char *keyword)
+{
+/* auxiliary function: deletes a Raster Coverage Keyword */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+
+    if (coverage_name == NULL)
+	return 0;
+    if (keyword == NULL)
+	return 0;
+
+    /* checking if the Raster Coverage Keyword do actually exists */
+    if (!check_raster_coverage_keyword2 (sqlite, coverage_name, keyword))
+	return 0;
+    /* deleting the Keyword */
+    do_delete_raster_coverage_keyword (sqlite, coverage_name, keyword);
+    return 1;
+}
+
+static int
+do_null_raster_coverage_extents (sqlite3 * sqlite, sqlite3_stmt * stmt_upd_cvg,
+				 sqlite3_stmt * stmt_null_srid,
+				 const char *coverage_name)
+{
+/* setting the main Coverage Extent to NULL */
+    int ret;
+    sqlite3_reset (stmt_upd_cvg);
+    sqlite3_clear_bindings (stmt_upd_cvg);
+    sqlite3_bind_null (stmt_upd_cvg, 1);
+    sqlite3_bind_null (stmt_upd_cvg, 2);
+    sqlite3_bind_null (stmt_upd_cvg, 3);
+    sqlite3_bind_null (stmt_upd_cvg, 4);
+    sqlite3_bind_null (stmt_upd_cvg, 5);
+    sqlite3_bind_null (stmt_upd_cvg, 6);
+    sqlite3_bind_null (stmt_upd_cvg, 7);
+    sqlite3_bind_null (stmt_upd_cvg, 8);
+    sqlite3_bind_text (stmt_upd_cvg, 9, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    ret = sqlite3_step (stmt_upd_cvg);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+      {
+	  spatialite_e ("updateRasterCoverageExtent error: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+/* setting all alternativ Coverage Extent to NULL */
+    sqlite3_reset (stmt_null_srid);
+    sqlite3_clear_bindings (stmt_null_srid);
+    sqlite3_bind_text (stmt_null_srid, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    ret = sqlite3_step (stmt_null_srid);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+      {
+	  spatialite_e ("updateRasterCoverageExtent error: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    return 1;
+}
+
+static int
+do_update_raster_coverage_extents (sqlite3 * sqlite, const void *cache,
+				   sqlite3_stmt * stmt_upd_cvg,
+				   sqlite3_stmt * stmt_srid,
+				   sqlite3_stmt * stmt_upd_srid,
+				   const char *coverage_name, int natural_srid,
+				   double minx, double miny, double maxx,
+				   double maxy)
+{
+/* updating the Coverage Extents */
+    int ret;
+    int geographic = 0;
+    double geo_minx = minx;
+    double geo_miny = miny;
+    double geo_maxx = maxx;
+    double geo_maxy = maxy;
+    char *proj_from = NULL;
+    char *proj_to = NULL;
+    gaiaGeomCollPtr in;
+    gaiaGeomCollPtr out;
+    gaiaPointPtr pt;
+
+    getProjParams (sqlite, natural_srid, &proj_from);
+    if (proj_from == NULL)
+	goto error;
+
+    ret = srid_is_geographic (sqlite, natural_srid, &geographic);
+    if (!ret)
+	return 0;
+    if (!geographic)
+      {
+	  /* computing the geographic extent */
+	  getProjParams (sqlite, 4326, &proj_to);
+	  if (proj_to == NULL)
+	      goto error;
+	  in = gaiaAllocGeomColl ();
+	  in->Srid = natural_srid;
+	  gaiaAddPointToGeomColl (in, minx, miny);
+	  if (cache != NULL)
+	      out = gaiaTransform_r (cache, in, proj_from, proj_to);
+	  else
+	      out = gaiaTransform (in, proj_from, proj_to);
+	  if (out == NULL)
+	    {
+		gaiaFreeGeomColl (in);
+		goto error;
+	    }
+	  pt = out->FirstPoint;
+	  if (pt == NULL)
+	    {
+		gaiaFreeGeomColl (in);
+		gaiaFreeGeomColl (out);
+		goto error;
+	    }
+	  geo_minx = pt->X;
+	  geo_miny = pt->Y;
+	  gaiaFreeGeomColl (in);
+	  gaiaFreeGeomColl (out);
+	  in = gaiaAllocGeomColl ();
+	  in->Srid = natural_srid;
+	  gaiaAddPointToGeomColl (in, maxx, maxy);
+	  if (cache != NULL)
+	      out = gaiaTransform_r (cache, in, proj_from, proj_to);
+	  else
+	      out = gaiaTransform (in, proj_from, proj_to);
+	  if (out == NULL)
+	    {
+		gaiaFreeGeomColl (in);
+		goto error;
+	    }
+	  pt = out->FirstPoint;
+	  if (pt == NULL)
+	    {
+		gaiaFreeGeomColl (in);
+		gaiaFreeGeomColl (out);
+		goto error;
+	    }
+	  geo_maxx = pt->X;
+	  geo_maxy = pt->Y;
+	  gaiaFreeGeomColl (in);
+	  gaiaFreeGeomColl (out);
+	  free (proj_to);
+	  proj_to = NULL;
+      }
+
+/* setting the main Coverage Extent */
+    sqlite3_reset (stmt_upd_cvg);
+    sqlite3_clear_bindings (stmt_upd_cvg);
+    sqlite3_bind_double (stmt_upd_cvg, 1, geo_minx);
+    sqlite3_bind_double (stmt_upd_cvg, 2, geo_miny);
+    sqlite3_bind_double (stmt_upd_cvg, 3, geo_maxx);
+    sqlite3_bind_double (stmt_upd_cvg, 4, geo_maxy);
+    sqlite3_bind_double (stmt_upd_cvg, 5, minx);
+    sqlite3_bind_double (stmt_upd_cvg, 6, miny);
+    sqlite3_bind_double (stmt_upd_cvg, 7, maxx);
+    sqlite3_bind_double (stmt_upd_cvg, 8, maxy);
+    sqlite3_bind_text (stmt_upd_cvg, 9, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    ret = sqlite3_step (stmt_upd_cvg);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	;
+    else
+      {
+	  spatialite_e ("updateRasterCoverageExtent error: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+/* updating any alternative SRID supporting this Raster Coverage */
+    sqlite3_reset (stmt_srid);
+    sqlite3_clear_bindings (stmt_srid);
+    sqlite3_bind_text (stmt_srid, 1, coverage_name, strlen (coverage_name),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt_srid);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		/* processing a single alternative SRID Extent */
+		double alt_minx;
+		double alt_miny;
+		double alt_maxx;
+		double alt_maxy;
+		int srid = sqlite3_column_int (stmt_srid, 0);
+		getProjParams (sqlite, srid, &proj_to);
+		if (proj_to == NULL)
+		    goto error;
+		in = gaiaAllocGeomColl ();
+		in->Srid = natural_srid;
+		gaiaAddPointToGeomColl (in, minx, miny);
+		if (cache != NULL)
+		    out = gaiaTransform_r (cache, in, proj_from, proj_to);
+		else
+		    out = gaiaTransform (in, proj_from, proj_to);
+		if (out == NULL)
+		  {
+		      gaiaFreeGeomColl (in);
+		      goto error;
+		  }
+		pt = out->FirstPoint;
+		if (pt == NULL)
+		  {
+		      gaiaFreeGeomColl (in);
+		      gaiaFreeGeomColl (out);
+		      goto error;
+		  }
+		alt_minx = pt->X;
+		alt_miny = pt->Y;
+		gaiaFreeGeomColl (in);
+		gaiaFreeGeomColl (out);
+		in = gaiaAllocGeomColl ();
+		in->Srid = natural_srid;
+		gaiaAddPointToGeomColl (in, maxx, maxy);
+		if (cache != NULL)
+		    out = gaiaTransform_r (cache, in, proj_from, proj_to);
+		else
+		    out = gaiaTransform (in, proj_from, proj_to);
+		if (out == NULL)
+		  {
+		      gaiaFreeGeomColl (in);
+		      goto error;
+		  }
+		pt = out->FirstPoint;
+		if (pt == NULL)
+		  {
+		      gaiaFreeGeomColl (in);
+		      gaiaFreeGeomColl (out);
+		      goto error;
+		  }
+		alt_maxx = pt->X;
+		alt_maxy = pt->Y;
+		gaiaFreeGeomColl (in);
+		gaiaFreeGeomColl (out);
+		free (proj_to);
+		proj_to = NULL;
+
+/* setting the alternative Srid Extent */
+		sqlite3_reset (stmt_upd_srid);
+		sqlite3_clear_bindings (stmt_upd_srid);
+		sqlite3_bind_double (stmt_upd_srid, 1, alt_minx);
+		sqlite3_bind_double (stmt_upd_srid, 2, alt_miny);
+		sqlite3_bind_double (stmt_upd_srid, 3, alt_maxx);
+		sqlite3_bind_double (stmt_upd_srid, 4, alt_maxy);
+		sqlite3_bind_text (stmt_upd_srid, 5, coverage_name,
+				   strlen (coverage_name), SQLITE_STATIC);
+		sqlite3_bind_int (stmt_upd_srid, 6, srid);
+		ret = sqlite3_step (stmt_upd_srid);
+		if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+		    ;
+		else
+		  {
+		      spatialite_e
+			  ("updateRasterCoverageExtent error: \"%s\"\n",
+			   sqlite3_errmsg (sqlite));
+		      goto error;
+		  }
+	    }
+	  else
+	    {
+		spatialite_e ("updateRasterCoverageExtent() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		goto error;
+	    }
+      }
+
+    free (proj_from);
+    return 1;
+
+  error:
+    if (proj_from)
+	free (proj_from);
+    if (proj_to)
+	free (proj_to);
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+update_raster_coverage_extent (void *p_sqlite, const void *cache,
+			       const char *coverage_name, int transaction)
+{
+/* updates one (or all) Raster Coverage Extents */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    int ret;
+    char *sql;
+    sqlite3_stmt *stmt = NULL;
+    sqlite3_stmt *stmt_ext = NULL;
+    sqlite3_stmt *stmt_upd_cvg = NULL;
+    sqlite3_stmt *stmt_upd_srid = NULL;
+    sqlite3_stmt *stmt_null_srid = NULL;
+    sqlite3_stmt *stmt_srid = NULL;
+
+/* preparing the ancillary SQL statements */
+    sql = "SELECT srid FROM raster_coverages_srid "
+	"WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt_srid, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updateRasterCoverageExtent: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+    sql = "UPDATE raster_coverages SET geo_minx = ?, geo_miny = ?, "
+	"geo_maxx = ?, geo_maxy = ?, extent_minx = ?, extent_miny = ?, "
+	"extent_maxx = ?, extent_maxy = ? "
+	"WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt_upd_cvg, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updateRasterCoverageExtent: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+    sql = "UPDATE raster_coverages_srid SET extent_minx = NULL, "
+	"extent_miny = NULL, extent_maxx = NULL, extent_maxy = NULL "
+	"WHERE Lower(coverage_name) = Lower(?)";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt_null_srid, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updateRasterCoverageExtent: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+    sql = "UPDATE raster_coverages_srid SET extent_minx = ?, "
+	"extent_miny = ?, extent_maxx = ?, extent_maxy = ? "
+	"WHERE Lower(coverage_name) = Lower(?) AND srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt_upd_srid, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updateRasterCoverageExtent: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+/* preparing the main SQL statement */
+    if (coverage_name == NULL)
+      {
+	  sql = "SELECT coverage_name, srid FROM raster_coverages";
+      }
+    else
+      {
+
+	  sql = "SELECT coverage_name, srid FROM raster_coverages "
+	      "WHERE Lower(coverage_name) = Lower(?)";
+      }
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("updateRasterCoverageExtent: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto error;
+      }
+
+    if (transaction)
+      {
+	  /* starting a Transaction */
+	  ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, NULL);
+	  if (ret != SQLITE_OK)
+	      goto error;
+      }
+
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    if (coverage_name != NULL)
+	sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name),
+			   SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		/* processing a single Raster Coverage */
+		char *xtile_table;
+		char *tile_table;
+		const char *cvg = (const char *) sqlite3_column_text (stmt, 0);
+		int natural_srid = sqlite3_column_int (stmt, 1);
+		xtile_table = sqlite3_mprintf ("%s_tiles", cvg);
+		tile_table = gaiaDoubleQuotedSql (xtile_table);
+		sqlite3_free (xtile_table);
+		sql =
+		    sqlite3_mprintf
+		    ("SELECT Min(MbrMinX(geometry)), Min(MbrMinY(geometry)), "
+		     "Max(MbrMaxX(geometry)), Max(MbrMaxY(geometry)) FROM \"%s\"",
+		     tile_table);
+		free (tile_table);
+		ret =
+		    sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt_ext,
+					NULL);
+		sqlite3_free (sql);
+		if (ret != SQLITE_OK)
+		  {
+		      spatialite_e ("updateRasterCoverageExtent: \"%s\"\n",
+				    sqlite3_errmsg (sqlite));
+		      goto error;
+		  }
+		while (1)
+		  {
+		      /* scrolling the result set rows */
+		      ret = sqlite3_step (stmt_ext);
+		      if (ret == SQLITE_DONE)
+			  break;	/* end of result set */
+		      if (ret == SQLITE_ROW)
+			{
+			    int null_minx = 1;
+			    int null_miny = 1;
+			    int null_maxx = 1;
+			    int null_maxy = 1;
+			    double minx;
+			    double miny;
+			    double maxx;
+			    double maxy;
+			    if (sqlite3_column_type (stmt_ext, 0) ==
+				SQLITE_FLOAT)
+			      {
+				  minx = sqlite3_column_double (stmt_ext, 0);
+				  null_minx = 0;
+			      }
+			    if (sqlite3_column_type (stmt_ext, 1) ==
+				SQLITE_FLOAT)
+			      {
+				  miny = sqlite3_column_double (stmt_ext, 1);
+				  null_miny = 0;
+			      }
+			    if (sqlite3_column_type (stmt_ext, 2) ==
+				SQLITE_FLOAT)
+			      {
+				  maxx = sqlite3_column_double (stmt_ext, 2);
+				  null_maxx = 0;
+			      }
+			    if (sqlite3_column_type (stmt_ext, 3) ==
+				SQLITE_FLOAT)
+			      {
+				  maxy = sqlite3_column_double (stmt_ext, 3);
+				  null_maxy = 0;
+			      }
+			    if (null_minx || null_miny || null_maxx
+				|| null_maxy)
+				ret =
+				    do_null_raster_coverage_extents (sqlite,
+								     stmt_upd_cvg,
+								     stmt_null_srid,
+								     cvg);
+			    else
+				ret =
+				    do_update_raster_coverage_extents (sqlite,
+								       cache,
+								       stmt_upd_cvg,
+								       stmt_srid,
+								       stmt_upd_srid,
+								       cvg,
+								       natural_srid,
+								       minx,
+								       miny,
+								       maxx,
+								       maxy);
+			    if (!ret)
+				goto error;
+			}
+		      else
+			{
+			    spatialite_e
+				("updateRasterCoverageExtent() error: \"%s\"\n",
+				 sqlite3_errmsg (sqlite));
+			    goto error;
+			}
+		  }
+		sqlite3_finalize (stmt_ext);
+		stmt_ext = NULL;
+	    }
+	  else
+	    {
+		spatialite_e ("updateRasterCoverageExtent() error: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		goto error;
+	    }
+      }
+
+    if (transaction)
+      {
+	  /* committing the still pending Transaction */
+	  ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL);
+	  if (ret != SQLITE_OK)
+	      goto error;
+      }
+
+    sqlite3_finalize (stmt);
+    sqlite3_finalize (stmt_upd_cvg);
+    sqlite3_finalize (stmt_upd_srid);
+    sqlite3_finalize (stmt_null_srid);
+    sqlite3_finalize (stmt_srid);
+    return 1;
+
+  error:
+    if (stmt != NULL)
+	sqlite3_finalize (stmt);
+    if (stmt_ext != NULL)
+	sqlite3_finalize (stmt_ext);
+    if (stmt_upd_cvg != NULL)
+	sqlite3_finalize (stmt_upd_cvg);
+    if (stmt_upd_srid != NULL)
+	sqlite3_finalize (stmt_upd_srid);
+    if (stmt_null_srid != NULL)
+	sqlite3_finalize (stmt_null_srid);
+    if (stmt_srid != NULL)
+	sqlite3_finalize (stmt_srid);
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+get_iso_metadata_id (void *p_sqlite, const char *fileIdentifier, void *p_id)
+{
+/* auxiliary function: return the ID of the row corresponding to "fileIdentifier" */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 *p64 = (sqlite3_int64 *) p_id;
+    sqlite3_int64 id;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int ok = 0;
+
+    sql = "SELECT id FROM ISO_metadata WHERE fileId = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("getIsoMetadataId: \"%s\"\n", sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    sqlite3_bind_text (stmt, 1, fileIdentifier, strlen (fileIdentifier),
+		       SQLITE_STATIC);
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		ok++;
+		id = sqlite3_column_int64 (stmt, 0);
+	    }
+      }
+    sqlite3_finalize (stmt);
+
+    if (ok == 1)
+      {
+	  *p64 = id;
+	  return 1;
+      }
+  stop:
+    return 0;
+}
+
+SPATIALITE_PRIVATE int
+register_iso_metadata (void *p_sqlite, const char *scope,
+		       const unsigned char *p_blob, int n_bytes, void *p_id,
+		       const char *fileIdentifier)
+{
+/* auxiliary function: inserts or updates an ISO Metadata */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    sqlite3_int64 *p64 = (sqlite3_int64 *) p_id;
+    sqlite3_int64 id = *p64;
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt;
+    int exists = 0;
+    int retval = 0;
+
+    if (id >= 0)
+      {
+	  /* checking if already exists - by ID */
+	  sql = "SELECT id FROM ISO_metadata WHERE id = ?";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("registerIsoMetadata: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		goto stop;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int64 (stmt, 1, id);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		    exists = 1;
+	    }
+	  sqlite3_finalize (stmt);
+      }
+    if (fileIdentifier != NULL)
+      {
+	  /* checking if already exists - by fileIdentifier */
+	  sql = "SELECT id FROM ISO_metadata WHERE fileId = ?";
+	  ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+	  if (ret != SQLITE_OK)
+	    {
+		spatialite_e ("registerIsoMetadata: \"%s\"\n",
+			      sqlite3_errmsg (sqlite));
+		goto stop;
+	    }
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_text (stmt, 1, fileIdentifier, strlen (fileIdentifier),
+			     SQLITE_STATIC);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      exists = 1;
+		      id = sqlite3_column_int64 (stmt, 0);
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+      }
+
+    if (exists)
+      {
+	  /* update */
+	  sql = "UPDATE ISO_metadata SET md_scope = ?, metadata = ? "
+	      "WHERE id = ?";
+      }
+    else
+      {
+	  /* insert */
+	  sql = "INSERT INTO ISO_metadata "
+	      "(id, md_scope, metadata) VALUES (?, ?, ?)";
+      }
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("registerIsoMetadata: \"%s\"\n",
+			sqlite3_errmsg (sqlite));
+	  goto stop;
+      }
+    sqlite3_reset (stmt);
+    sqlite3_clear_bindings (stmt);
+    if (exists)
+      {
+	  /* update */
+	  sqlite3_bind_text (stmt, 1, scope, strlen (scope), SQLITE_STATIC);
+	  sqlite3_bind_blob (stmt, 2, p_blob, n_bytes, SQLITE_STATIC);
+	  sqlite3_bind_int (stmt, 3, id);
+      }
+    else
+      {
+	  /* insert */
+	  if (id < 0)
+	      sqlite3_bind_null (stmt, 1);
+	  else
+	      sqlite3_bind_int64 (stmt, 1, id);
+	  sqlite3_bind_text (stmt, 2, scope, strlen (scope), SQLITE_STATIC);
+	  sqlite3_bind_blob (stmt, 3, p_blob, n_bytes, SQLITE_STATIC);
+      }
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	retval = 1;
+    else
+	spatialite_e ("registerIsoMetadata() error: \"%s\"\n",
+		      sqlite3_errmsg (sqlite));
+    sqlite3_finalize (stmt);
+    return retval;
+  stop:
+    return 0;
+}
+
+#endif /* end including LIBXML2 */
diff --git a/src/spatialite/spatialite.c b/src/spatialite/spatialite.c
index 2b4c6ed..b45fdb7 100644
--- a/src/spatialite/spatialite.c
+++ b/src/spatialite/spatialite.c
@@ -94,6 +94,9 @@ Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale
 #include <spatialite/spatialite.h>
 #include <spatialite/gg_advanced.h>
 #include <spatialite/gg_dxf.h>
+#include <spatialite/gaiamatrix.h>
+#include <spatialite/geopackage.h>
+#include <spatialite/control_points.h>
 #include <spatialite.h>
 #include <spatialite_private.h>
 
@@ -101,6 +104,10 @@ Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale
 #include <spatialite/gg_wfs.h>
 #endif
 
+#ifndef OMIT_FREEXL		/* including FreeXL */
+#include <freexl.h>
+#endif
+
 #ifndef OMIT_GEOS		/* including GEOS */
 #include <geos_c.h>
 #endif
@@ -294,10 +301,6 @@ fnct_EvalFunc (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
 }
 
-/* 
-******** end -/ext/misc/eval.c *****
-*/
-
 static void
 fnct_spatialite_version (sqlite3_context * context, int argc,
 			 sqlite3_value ** argv)
@@ -331,6 +334,27 @@ fnct_spatialite_target_cpu (sqlite3_context * context, int argc,
 }
 
 static void
+fnct_freexl_version (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ freexl_version()
+/
+/ return a text string representing the current FreeXL version
+/ or NULL if FreeXL is currently unsupported
+*/
+
+#ifndef OMIT_FREEXL		/* FreeXL version */
+    int len;
+    const char *p_result = freexl_version ();
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    len = strlen (p_result);
+    sqlite3_result_text (context, p_result, len, SQLITE_TRANSIENT);
+#else
+    sqlite3_result_null (context);
+#endif
+}
+
+static void
 fnct_geos_version (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
@@ -1029,7 +1053,7 @@ fnct_RTreeAlign (sqlite3_context * context, int argc, sqlite3_value ** argv)
 / attempts to update the associated R*Tree, returning:
 /
 / -1 - if some invalid arg was passed
-/ 1 - succesfull update
+/ 1 - successful update
 / 0 - update failure
 /
 */
@@ -1120,11 +1144,97 @@ fnct_RTreeAlign (sqlite3_context * context, int argc, sqlite3_value ** argv)
 }
 
 static void
-fnct_IsValidNoDataPixel (sqlite3_context * context, int argc,
-			 sqlite3_value ** argv)
+fnct_IsValidFont (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ IsValidFont(BLOBencoded font)
+/
+/ basic version intended to be overloaded by RasterLite-2
+/ always return 0 (FALSE)
+/ or -1 (INVALID ARGS)
+/
+*/
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    sqlite3_result_int (context, 0);
+}
+
+static void
+fnct_CheckFontFacename (sqlite3_context * context, int argc,
+			sqlite3_value ** argv)
+{
+/* SQL function:
+/ CheckFontfaceName(TEXT facename, BLOBencoded font)
+/
+/ basic version intended to be overloaded by RasterLite-2
+/ always return NULL
+/
+*/
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    sqlite3_result_int (context, 0);
+}
+
+static void
+fnct_GetFontFamily (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ GetFontFamily(BLOBencoded font)
+/
+/ basic version intended to be overloaded by RasterLite-2
+/ always return NULL
+/
+*/
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    sqlite3_result_null (context);
+}
+
+static void
+fnct_IsFontBold (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
-/ IsValidNoDataPixel(BLOBencoded pixel, text sample_type, int num_bands)
+/ IsFontBold(BLOBencoded font)
+/
+/ basic version intended to be overloaded by RasterLite-2
+/ always return -1
+/
+*/
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    sqlite3_result_int (context, -1);
+}
+
+static void
+fnct_IsFontItalic (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ IsFontItalic(BLOBencoded font)
+/
+/ basic version intended to be overloaded by RasterLite-2
+/ always return -1
+/
+*/
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    sqlite3_result_int (context, -1);
+}
+
+static void
+fnct_IsValidPixel (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ IsValidPixel(BLOBencoded pixel, text sample_type, int num_bands)
 /
 / basic version intended to be overloaded by RasterLite-2
 / always return 0 (FALSE)
@@ -1343,6 +1453,85 @@ is_without_rowid_table (sqlite3 * sqlite, const char *table)
     return without_rowid;
 }
 
+static int
+checkGeoPackage (sqlite3 * handle)
+{
+/* testing for GeoPackage meta-tables */
+    sqlite3 *sqlite = (sqlite3 *) handle;
+    char sql[1024];
+    int ret;
+    const char *name;
+    int table_name = 0;
+    int column_name = 0;
+    int geometry_type_name = 0;
+    int srs_id_gc = 0;
+    int has_z = 0;
+    int has_m = 0;
+    int gpkg_gc = 0;
+    int srs_id_srs = 0;
+    int srs_name = 0;
+    int gpkg_srs = 0;
+    int i;
+    char **results;
+    int rows;
+    int columns;
+/* checking the GPKG_GEOMETRY_COLUMNS table */
+    strcpy (sql, "PRAGMA table_info(gpkg_geometry_columns)");
+    ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL);
+    if (ret != SQLITE_OK)
+	goto unknown;
+    if (rows < 1)
+	;
+    else
+      {
+	  for (i = 1; i <= rows; i++)
+	    {
+		name = results[(i * columns) + 1];
+		if (strcasecmp (name, "table_name") == 0)
+		    table_name = 1;
+		if (strcasecmp (name, "column_name") == 0)
+		    column_name = 1;
+		if (strcasecmp (name, "geometry_type_name") == 0)
+		    geometry_type_name = 1;
+		if (strcasecmp (name, "srs_id") == 0)
+		    srs_id_gc = 1;
+		if (strcasecmp (name, "z") == 0)
+		    has_z = 1;
+		if (strcasecmp (name, "m") == 0)
+		    has_m = 1;
+	    }
+      }
+    sqlite3_free_table (results);
+    if (table_name && column_name && geometry_type_name && srs_id_gc && has_z
+	&& has_m)
+	gpkg_gc = 1;
+/* checking the GPKG_SPATIAL_REF_SYS table */
+    strcpy (sql, "PRAGMA table_info(gpkg_spatial_ref_sys)");
+    ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL);
+    if (ret != SQLITE_OK)
+	goto unknown;
+    if (rows < 1)
+	;
+    else
+      {
+	  for (i = 1; i <= rows; i++)
+	    {
+		name = results[(i * columns) + 1];
+		if (strcasecmp (name, "srs_id") == 0)
+		    srs_id_srs = 1;
+		if (strcasecmp (name, "srs_name") == 0)
+		    srs_name = 1;
+	    }
+      }
+    sqlite3_free_table (results);
+    if (srs_id_srs && srs_name)
+	gpkg_srs = 1;
+    if (gpkg_gc && gpkg_srs)
+	return 1;
+  unknown:
+    return 0;
+}
+
 SPATIALITE_PRIVATE int
 checkSpatialMetaData (const void *handle)
 {
@@ -1351,10 +1540,11 @@ checkSpatialMetaData (const void *handle)
 / for FDO-OGR interoperability and cross-version seamless compatibility:
 / tests the SpatialMetadata type, returning:
 /
-/ 0 - if no valid SpatialMetaData where found
-/ 1 - if SpatiaLite-like (legacy) SpatialMetadata where found
-/ 2 - if FDO-OGR-like SpatialMetadata where found
-/ 3 - if SpatiaLite-like (current) SpatialMetadata where found
+/ 0 - if no valid SpatialMetaData were found
+/ 1 - if SpatiaLite-like (legacy) SpatialMetadata were found
+/ 2 - if FDO-OGR-like SpatialMetadata were found
+/ 3 - if SpatiaLite-like (current) SpatialMetadata were 
+/ 4 - if GeoPackage SpatialMetadata were found
 /
 */
     sqlite3 *sqlite = (sqlite3 *) handle;
@@ -1469,6 +1659,8 @@ checkSpatialMetaData (const void *handle)
     if (spatialite_gc && spatialite_rs)
 	return 3;
   unknown:
+    if (checkGeoPackage (sqlite))
+	return 4;
     return 0;
 }
 
@@ -1684,10 +1876,11 @@ fnct_CheckSpatialMetaData (sqlite3_context * context, int argc,
 / for FDO-OGR interoperability:
 / tests the SpatialMetadata type, returning:
 /
-/ 0 - if no valid SpatialMetaData where found
-/ 1 - if SpatiaLite-legacy SpatialMetadata where found
-/ 2- if FDO-OGR-like SpatialMetadata where found
-/ 3 - if SpatiaLite-current SpatialMetadata where found
+/ 0 - if no valid SpatialMetaData were found
+/ 1 - if SpatiaLite-legacy SpatialMetadata were found
+/ 2 - if FDO-OGR-like SpatialMetadata were found
+/ 3 - if SpatiaLite-current SpatialMetadata were found
+/ 4 - if GeoPackage SpatialMetadata were found
 /
 */
     sqlite3 *sqlite;
@@ -2089,85 +2282,6 @@ fnct_CloneTable (sqlite3_context * context, int argc, sqlite3_value ** argv)
     return;
 }
 
-static int
-checkGeoPackage (sqlite3 * handle)
-{
-/* testing for GeoPackage meta-tables */
-    sqlite3 *sqlite = (sqlite3 *) handle;
-    char sql[1024];
-    int ret;
-    const char *name;
-    int table_name = 0;
-    int column_name = 0;
-    int geometry_type_name = 0;
-    int srs_id_gc = 0;
-    int has_z = 0;
-    int has_m = 0;
-    int gpkg_gc = 0;
-    int srs_id_srs = 0;
-    int srs_name = 0;
-    int gpkg_srs = 0;
-    int i;
-    char **results;
-    int rows;
-    int columns;
-/* checking the GPKG_GEOMETRY_COLUMNS table */
-    strcpy (sql, "PRAGMA table_info(gpkg_geometry_columns)");
-    ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL);
-    if (ret != SQLITE_OK)
-	goto unknown;
-    if (rows < 1)
-	;
-    else
-      {
-	  for (i = 1; i <= rows; i++)
-	    {
-		name = results[(i * columns) + 1];
-		if (strcasecmp (name, "table_name") == 0)
-		    table_name = 1;
-		if (strcasecmp (name, "column_name") == 0)
-		    column_name = 1;
-		if (strcasecmp (name, "geometry_type_name") == 0)
-		    geometry_type_name = 1;
-		if (strcasecmp (name, "srs_id") == 0)
-		    srs_id_gc = 1;
-		if (strcasecmp (name, "z") == 0)
-		    has_z = 1;
-		if (strcasecmp (name, "m") == 0)
-		    has_m = 1;
-	    }
-      }
-    sqlite3_free_table (results);
-    if (table_name && column_name && geometry_type_name && srs_id_gc && has_z
-	&& has_m)
-	gpkg_gc = 1;
-/* checking the GPKG_SPATIAL_REF_SYS table */
-    strcpy (sql, "PRAGMA table_info(gpkg_spatial_ref_sys)");
-    ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL);
-    if (ret != SQLITE_OK)
-	goto unknown;
-    if (rows < 1)
-	;
-    else
-      {
-	  for (i = 1; i <= rows; i++)
-	    {
-		name = results[(i * columns) + 1];
-		if (strcasecmp (name, "srs_id") == 0)
-		    srs_id_srs = 1;
-		if (strcasecmp (name, "srs_name") == 0)
-		    srs_name = 1;
-	    }
-      }
-    sqlite3_free_table (results);
-    if (srs_id_srs && srs_name)
-	gpkg_srs = 1;
-    if (gpkg_gc && gpkg_srs)
-	return 1;
-  unknown:
-    return 0;
-}
-
 static void
 fnct_CheckGeoPackageMetaData (sqlite3_context * context, int argc,
 			      sqlite3_value ** argv)
@@ -2423,6 +2537,326 @@ fnct_InsertEpsgSrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	sqlite3_result_int (context, 1);
 }
 
+static void
+fnct_SridIsGeographic (sqlite3_context * context, int argc,
+		       sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridIsGeographic(int srid)
+/
+/ returns 1 on success: 0 on failure
+/ NULL on invalid argument
+*/
+    int srid;
+    int ret;
+    int geographic;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	srid = sqlite3_value_int (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    ret = srid_is_geographic (sqlite, srid, &geographic);
+    if (!ret)
+	sqlite3_result_null (context);
+    else
+      {
+	  if (geographic)
+	      sqlite3_result_int (context, 1);
+	  else
+	      sqlite3_result_int (context, 0);
+      }
+}
+
+static void
+fnct_SridIsProjected (sqlite3_context * context, int argc,
+		      sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridIsProjected(int srid)
+/
+/ returns 1 on success: 0 on failure
+/ NULL on invalid argument
+*/
+    int srid;
+    int ret;
+    int projected;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	srid = sqlite3_value_int (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    ret = srid_is_projected (sqlite, srid, &projected);
+    if (!ret)
+	sqlite3_result_null (context);
+    else
+      {
+	  if (projected)
+	      sqlite3_result_int (context, 1);
+	  else
+	      sqlite3_result_int (context, 0);
+      }
+}
+
+static void
+fnct_SridHasFlippedAxes (sqlite3_context * context, int argc,
+			 sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridHasFlippedAxes(int srid)
+/
+/ returns 1 on success: 0 on failure
+/ NULL on invalid argument
+*/
+    int srid;
+    int ret;
+    int flipped;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	srid = sqlite3_value_int (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    ret = srid_has_flipped_axes (sqlite, srid, &flipped);
+    if (!ret)
+	sqlite3_result_null (context);
+    else
+      {
+	  if (flipped)
+	      sqlite3_result_int (context, 1);
+	  else
+	      sqlite3_result_int (context, 0);
+      }
+}
+
+static void
+fnct_SridGetSpheroid (sqlite3_context * context, int argc,
+		      sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridGetSpheroid(int srid)
+/ or
+/ SridGetEllipsoid(int srid)
+/
+/ returns the name of the Spheroid on success
+/ NULL on failure or on invalid argument
+*/
+    int srid;
+    char *spheroid = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	srid = sqlite3_value_int (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    spheroid = srid_get_spheroid (sqlite, srid);
+    if (spheroid == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, spheroid, strlen (spheroid), free);
+}
+
+static void
+fnct_SridGetPrimeMeridian (sqlite3_context * context, int argc,
+			   sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridGetPrimeMeridian(int srid)
+/
+/ returns the name of the Prime Meridian on success
+/ NULL on failure or on invalid argument
+*/
+    int srid;
+    char *prime_meridian = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	srid = sqlite3_value_int (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    prime_meridian = srid_get_prime_meridian (sqlite, srid);
+    if (prime_meridian == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, prime_meridian, strlen (prime_meridian),
+			     free);
+}
+
+static void
+fnct_SridGetProjection (sqlite3_context * context, int argc,
+			sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridGetProjection(int srid)
+/
+/ returns the name of the Projection on success
+/ NULL on failure or on invalid argument
+*/
+    int srid;
+    char *projection = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	srid = sqlite3_value_int (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    projection = srid_get_projection (sqlite, srid);
+    if (projection == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, projection, strlen (projection), free);
+}
+
+static void
+fnct_SridGetDatum (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridGetDatum(int srid)
+/
+/ returns the name of the Datum on success
+/ NULL on failure or on invalid argument
+*/
+    int srid;
+    char *datum = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	srid = sqlite3_value_int (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    datum = srid_get_datum (sqlite, srid);
+    if (datum == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, datum, strlen (datum), free);
+}
+
+static void
+fnct_SridGetUnit (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridGetUnit(int srid)
+/
+/ returns the name of the Spheroid on success
+/ NULL on failure or on invalid argument
+*/
+    int srid;
+    char *unit = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	srid = sqlite3_value_int (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    unit = srid_get_unit (sqlite, srid);
+    if (unit == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, unit, strlen (unit), free);
+}
+
+static void
+common_srid_axis (sqlite3_context * context, int argc,
+		  sqlite3_value ** argv, char axis, char mode)
+{
+/* commonn implentation - SRID Get Axis */
+    int srid;
+    char *result = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	srid = sqlite3_value_int (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    result = srid_get_axis (sqlite, srid, axis, mode);
+    if (result == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, result, strlen (result), free);
+}
+
+static void
+fnct_SridGetAxis1Name (sqlite3_context * context, int argc,
+		       sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridGetAxis_1_Name(int srid)
+/
+/ returns the name of the first Axis on success
+/ NULL on failure or on invalid argument
+*/
+    common_srid_axis (context, argc, argv, SPLITE_AXIS_1, SPLITE_AXIS_NAME);
+}
+
+static void
+fnct_SridGetAxis1Orientation (sqlite3_context * context, int argc,
+			      sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridGetAxis_1_Orientation(int srid)
+/
+/ returns the orientation of the first Axis on success
+/ NULL on failure or on invalid argument
+*/
+    common_srid_axis (context, argc, argv, SPLITE_AXIS_1,
+		      SPLITE_AXIS_ORIENTATION);
+}
+
+static void
+fnct_SridGetAxis2Name (sqlite3_context * context, int argc,
+		       sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridGetAxis_2_Name(int srid)
+/
+/ returns the name of the second Axis on success
+/ NULL on failure or on invalid argument
+*/
+    common_srid_axis (context, argc, argv, SPLITE_AXIS_2, SPLITE_AXIS_NAME);
+}
+
+static void
+fnct_SridGetAxis2Orientation (sqlite3_context * context, int argc,
+			      sqlite3_value ** argv)
+{
+/* SQL function:
+/ SridGetAxis_2_Orientation(int srid)
+/
+/ returns the orientation of the second Axis on success
+/ NULL on failure or on invalid argument
+*/
+    common_srid_axis (context, argc, argv, SPLITE_AXIS_2,
+		      SPLITE_AXIS_ORIENTATION);
+}
+
 static int
 recoverGeomColumn (sqlite3 * sqlite, const char *table,
 		   const char *column, int xtype, int dims, int srid)
@@ -4290,7 +4724,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("ggi_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4299,7 +4734,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("ggu_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4308,7 +4744,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("gii_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4317,7 +4754,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("giu_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4326,7 +4764,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("gid_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4335,7 +4774,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("gci_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4344,7 +4784,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("gcu_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4353,7 +4794,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("gcd_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4362,7 +4804,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("tmi_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4371,7 +4814,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("tmu_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4380,7 +4824,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("tmd_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4391,7 +4836,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("gti_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4400,7 +4846,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("gtu_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4409,7 +4856,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("gsi_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -4418,7 +4866,8 @@ fnct_DiscardGeometryColumn (sqlite3_context * context, int argc,
     raw = sqlite3_mprintf ("gsu_%s_%s", p_table, p_column);
     quoted = gaiaDoubleQuotedSql (raw);
     sqlite3_free (raw);
-    sql_statement = sqlite3_mprintf ("DROP TRIGGER IF EXISTS \"%s\"", quoted);
+    sql_statement =
+	sqlite3_mprintf ("DROP TRIGGER IF EXISTS main.\"%s\"", quoted);
     free (quoted);
     ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &errMsg);
     sqlite3_free (sql_statement);
@@ -6634,7 +7083,11 @@ fnct_GetLayerExtent (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geom;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (argc >= 1)
       {
 	  if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
@@ -6672,7 +7125,7 @@ fnct_GetLayerExtent (sqlite3_context * context, int argc, sqlite3_value ** argv)
     if (!geom)
 	goto error;
 /* builds the BLOB geometry to be returned */
-    gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode);
     sqlite3_result_blob (context, p_result, len, free);
     gaiaFreeGeomColl (geom);
     return;
@@ -6764,6 +7217,32 @@ fnct_CreateRasterCoveragesTable (sqlite3_context * context, int argc,
 }
 
 static void
+fnct_CreateVectorCoveragesTables (sqlite3_context * context, int argc,
+				  sqlite3_value ** argv)
+{
+/* SQL function:
+/ CreateVectorCoveragesTables()
+/
+/ creates the main VectorCoverages table 
+/ returns 1 on success
+/ 0 on failure
+*/
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+    if (!createVectorCoveragesTable (sqlite))
+	goto error;
+    updateSpatiaLiteHistory (sqlite, "*** Vector Coverages ***", NULL,
+			     "Main table successfully created");
+    sqlite3_result_int (context, 1);
+    return;
+
+  error:
+    sqlite3_result_int (context, 0);
+    return;
+}
+
+static void
 fnct_CreateMetaCatalogTables (sqlite3_context * context, int argc,
 			      sqlite3_value ** argv)
 {
@@ -7044,7 +7523,17 @@ fnct_AsText (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int len;
     gaiaOutBuffer out_buf;
     gaiaGeomCollPtr geo = NULL;
+    int decimal_precision = -1;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  decimal_precision = cache->decimal_precision;
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -7053,12 +7542,17 @@ fnct_AsText (sqlite3_context * context, int argc, sqlite3_value ** argv)
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
     gaiaOutBufferInitialize (&out_buf);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
-	  gaiaOutWkt (&out_buf, geo);
+	  if (decimal_precision >= 0)
+	      gaiaOutWktEx (&out_buf, geo, decimal_precision);
+	  else
+	      gaiaOutWkt (&out_buf, geo);
 	  if (out_buf.Error || out_buf.Buffer == NULL)
 	      sqlite3_result_null (context);
 	  else
@@ -7087,7 +7581,15 @@ fnct_AsWkt (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int precision = 15;
     gaiaOutBuffer out_buf;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -7105,7 +7607,9 @@ fnct_AsWkt (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     gaiaOutBufferInitialize (&out_buf);
     if (!geo)
 	sqlite3_result_null (context);
@@ -7149,7 +7653,15 @@ fnct_AsSvg (sqlite3_context * context, int argc, sqlite3_value ** argv,
     int len;
     gaiaOutBuffer out_buf;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -7157,7 +7669,9 @@ fnct_AsSvg (sqlite3_context * context, int argc, sqlite3_value ** argv,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
       {
 	  sqlite3_result_null (context);
@@ -7224,45 +7738,6 @@ fnct_AsSvg3 (sqlite3_context * context, int argc, sqlite3_value ** argv)
 
 /* END of Klaus Foerster AsSvg() implementation */
 
-SPATIALITE_PRIVATE void
-getProjParams (void *p_sqlite, int srid, char **proj_params)
-{
-/* retrives the PROJ params from SPATIAL_SYS_REF table, if possible */
-    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
-    char *sql;
-    char **results;
-    int rows;
-    int columns;
-    int i;
-    int ret;
-    int len;
-    const char *proj4text;
-    char *errMsg = NULL;
-    *proj_params = NULL;
-    sql = sqlite3_mprintf
-	("SELECT proj4text FROM spatial_ref_sys WHERE srid = %d", srid);
-    ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg);
-    sqlite3_free (sql);
-    if (ret != SQLITE_OK)
-      {
-	  spatialite_e ("unknown SRID: %d\t<%s>\n", srid, errMsg);
-	  sqlite3_free (errMsg);
-	  return;
-      }
-    for (i = 1; i <= rows; i++)
-      {
-	  proj4text = results[(i * columns)];
-	  if (proj4text != NULL)
-	    {
-		len = strlen (proj4text);
-		*proj_params = malloc (len + 1);
-		strcpy (*proj_params, proj4text);
-	    }
-      }
-    if (*proj_params == NULL)
-	spatialite_e ("unknown SRID: %d\n", srid);
-    sqlite3_free_table (results);
-}
 
 #ifndef OMIT_PROJ		/* PROJ.4 is strictly required to support KML */
 static void
@@ -7285,7 +7760,15 @@ fnct_AsKml1 (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int precision = 15;
     void *data = sqlite3_user_data (context);
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -7304,7 +7787,9 @@ fnct_AsKml1 (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	    }
       }
     gaiaOutBufferInitialize (&out_buf);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -7390,7 +7875,15 @@ fnct_AsKml3 (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int precision = 15;
     void *data = sqlite3_user_data (context);
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     switch (sqlite3_value_type (argv[0]))
       {
       case SQLITE_TEXT:
@@ -7475,7 +7968,9 @@ fnct_AsKml3 (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		goto stop;
 	    }
       }
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -7581,7 +8076,15 @@ fnct_AsGml (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int precision = 15;
     gaiaOutBuffer out_buf;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (argc == 3)
       {
 	  if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
@@ -7639,7 +8142,9 @@ fnct_AsGml (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  n_bytes = sqlite3_value_bytes (argv[0]);
       }
     gaiaOutBufferInitialize (&out_buf);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -7690,7 +8195,12 @@ fnct_AsGeoJSON (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int options = 0;
     gaiaOutBuffer out_buf;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_amphibious = cache->gpkg_mode = cache->gpkg_mode;;
     if (argc == 3)
       {
 	  if (sqlite3_value_type (argv[0]) == SQLITE_BLOB
@@ -7738,7 +8248,9 @@ fnct_AsGeoJSON (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  n_bytes = sqlite3_value_bytes (argv[0]);
       }
     gaiaOutBufferInitialize (&out_buf);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -7772,7 +8284,15 @@ fnct_AsBinary (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int len;
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -7780,7 +8300,9 @@ fnct_AsBinary (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -7809,7 +8331,15 @@ fnct_AsFGF (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     int coord_dims;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -7835,7 +8365,9 @@ fnct_AsFGF (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  sqlite3_result_null (context);
 	  return;
       }
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -8451,7 +8983,15 @@ fnct_MakeLine_step (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geom;
     gaiaDynamicLinePtr *p;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -8459,7 +8999,9 @@ fnct_MakeLine_step (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geom)
 	return;
     p = sqlite3_aggregate_context (context, sizeof (gaiaDynamicLinePtr));
@@ -8587,6 +9129,10 @@ fnct_MakeLine_final (sqlite3_context * context)
 */
     gaiaGeomCollPtr result;
     gaiaDynamicLinePtr *p = sqlite3_aggregate_context (context, 0);
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (!p)
       {
 	  sqlite3_result_null (context);
@@ -8601,7 +9147,7 @@ fnct_MakeLine_final (sqlite3_context * context)
 	  /* builds the BLOB geometry to be returned */
 	  int len;
 	  unsigned char *p_result = NULL;
-	  gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
 	  gaiaFreeGeomColl (result);
       }
@@ -8620,6 +9166,10 @@ buildLineFromMultiPoint (sqlite3_context * context, gaiaGeomCollPtr geom,
     gaiaPointPtr pt;
     gaiaLinestringPtr ln;
     gaiaPolygonPtr pg;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (geom)
       {
 	  pt = geom->FirstPoint;
@@ -8706,7 +9256,7 @@ buildLineFromMultiPoint (sqlite3_context * context, gaiaGeomCollPtr geom,
 	  /* builds the BLOB geometry to be returned */
 	  int len;
 	  unsigned char *p_result = NULL;
-	  gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
 	  gaiaFreeGeomColl (result);
       }
@@ -8734,7 +9284,15 @@ fnct_MakeLine (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -8742,7 +9300,9 @@ fnct_MakeLine (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1)
       {
 	  sqlite3_result_null (context);
@@ -8762,7 +9322,9 @@ fnct_MakeLine (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo2)
       {
 	  sqlite3_result_null (context);
@@ -8804,7 +9366,11 @@ fnct_MakeCircle (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double r;
     int srid = 0;
     double step = 10.0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
       {
 	  ival = sqlite3_value_int (argv[0]);
@@ -8874,7 +9440,7 @@ fnct_MakeCircle (sqlite3_context * context, int argc, sqlite3_value ** argv)
       {
 	  if (srid != 0)
 	      geom->Srid = srid;
-	  gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     if (geom)
@@ -8910,7 +9476,11 @@ fnct_MakeArc (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double stop;
     int srid = 0;
     double step = 10.0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
       {
 	  ival = sqlite3_value_int (argv[0]);
@@ -9004,7 +9574,7 @@ fnct_MakeArc (sqlite3_context * context, int argc, sqlite3_value ** argv)
       {
 	  if (srid != 0)
 	      geom->Srid = srid;
-	  gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     if (geom)
@@ -9038,7 +9608,11 @@ fnct_MakeEllipse (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double y_axis;
     int srid = 0;
     double step = 10.0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
       {
 	  ival = sqlite3_value_int (argv[0]);
@@ -9119,7 +9693,7 @@ fnct_MakeEllipse (sqlite3_context * context, int argc, sqlite3_value ** argv)
       {
 	  if (srid != 0)
 	      geom->Srid = srid;
-	  gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     if (geom)
@@ -9158,7 +9732,11 @@ fnct_MakeEllipticArc (sqlite3_context * context, int argc,
     double stop;
     int srid = 0;
     double step = 10.0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
       {
 	  ival = sqlite3_value_int (argv[0]);
@@ -9264,7 +9842,7 @@ fnct_MakeEllipticArc (sqlite3_context * context, int argc,
       {
 	  if (srid != 0)
 	      geom->Srid = srid;
-	  gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     if (geom)
@@ -9302,7 +9880,11 @@ fnct_MakeCircularSector (sqlite3_context * context, int argc,
     double stop;
     int srid = 0;
     double step = 10.0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
       {
 	  ival = sqlite3_value_int (argv[0]);
@@ -9418,7 +10000,7 @@ fnct_MakeCircularSector (sqlite3_context * context, int argc,
 	  gaiaSetPoint (out->Coords, io, cx, cy);
 	  if (srid != 0)
 	      sector->Srid = srid;
-	  gaiaToSpatiaLiteBlobWkb (sector, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (sector, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     if (geom)
@@ -9462,7 +10044,11 @@ fnct_MakeCircularStripe (sqlite3_context * context, int argc,
     double stop;
     int srid = 0;
     double step = 10.0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
       {
 	  ival = sqlite3_value_int (argv[0]);
@@ -9598,7 +10184,7 @@ fnct_MakeCircularStripe (sqlite3_context * context, int argc,
 	  gaiaSetPoint (out->Coords, io, x, y);
 	  if (srid != 0)
 	      stripe->Srid = srid;
-	  gaiaToSpatiaLiteBlobWkb (stripe, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (stripe, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     if (arc1)
@@ -9642,7 +10228,11 @@ fnct_MakeEllipticSector (sqlite3_context * context, int argc,
     double stop;
     int srid = 0;
     double step = 10.0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
       {
 	  ival = sqlite3_value_int (argv[0]);
@@ -9770,7 +10360,7 @@ fnct_MakeEllipticSector (sqlite3_context * context, int argc,
 	  gaiaSetPoint (out->Coords, io, cx, cy);
 	  if (srid != 0)
 	      sector->Srid = srid;
-	  gaiaToSpatiaLiteBlobWkb (sector, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (sector, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     if (geom)
@@ -9793,7 +10383,15 @@ fnct_Collect_step (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geom;
     gaiaGeomCollPtr result;
     gaiaGeomCollPtr *p;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -9801,7 +10399,9 @@ fnct_Collect_step (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geom)
 	return;
     p = sqlite3_aggregate_context (context, sizeof (gaiaGeomCollPtr));
@@ -9835,6 +10435,10 @@ fnct_Collect_final (sqlite3_context * context)
 */
     gaiaGeomCollPtr result;
     gaiaGeomCollPtr *p = sqlite3_aggregate_context (context, 0);
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (!p)
       {
 	  sqlite3_result_null (context);
@@ -9853,7 +10457,7 @@ fnct_Collect_final (sqlite3_context * context)
 	  /* builds the BLOB geometry to be returned */
 	  int len;
 	  unsigned char *p_result = NULL;
-	  gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
 	  gaiaFreeGeomColl (result);
       }
@@ -9873,7 +10477,15 @@ fnct_Collect (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -9886,10 +10498,14 @@ fnct_Collect (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_null (context);
     else
@@ -9911,7 +10527,7 @@ fnct_Collect (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		/* builds the BLOB geometry to be returned */
 		int len;
 		unsigned char *p_result = NULL;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -9937,7 +10553,11 @@ geom_from_text1 (sqlite3_context * context, int argc, sqlite3_value ** argv,
     unsigned char *p_result = NULL;
     const unsigned char *text;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_null (context);
@@ -9950,7 +10570,7 @@ geom_from_text1 (sqlite3_context * context, int argc, sqlite3_value ** argv,
 	  sqlite3_result_null (context);
 	  return;
       }
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -9972,7 +10592,11 @@ geom_from_text2 (sqlite3_context * context, int argc, sqlite3_value ** argv,
     unsigned char *p_result = NULL;
     const unsigned char *text;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_null (context);
@@ -9991,7 +10615,7 @@ geom_from_text2 (sqlite3_context * context, int argc, sqlite3_value ** argv,
 	  return;
       }
     geo->Srid = sqlite3_value_int (argv[1]);
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -10059,7 +10683,11 @@ geom_from_wkb1 (sqlite3_context * context, int argc, sqlite3_value ** argv,
     unsigned char *p_result = NULL;
     const unsigned char *wkb;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10075,7 +10703,7 @@ geom_from_wkb1 (sqlite3_context * context, int argc, sqlite3_value ** argv,
 	  sqlite3_result_null (context);
 	  return;
       }
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -10098,7 +10726,11 @@ geom_from_wkb2 (sqlite3_context * context, int argc, sqlite3_value ** argv,
     unsigned char *p_result = NULL;
     const unsigned char *wkb;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10120,7 +10752,7 @@ geom_from_wkb2 (sqlite3_context * context, int argc, sqlite3_value ** argv,
 	  return;
       }
     geo->Srid = sqlite3_value_int (argv[1]);
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -10143,7 +10775,11 @@ fnct_GeometryFromFGF1 (sqlite3_context * context, int argc,
     unsigned char *p_result = NULL;
     const unsigned char *fgf;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10157,7 +10793,7 @@ fnct_GeometryFromFGF1 (sqlite3_context * context, int argc,
 	  sqlite3_result_null (context);
 	  return;
       }
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -10180,7 +10816,11 @@ fnct_GeometryFromFGF2 (sqlite3_context * context, int argc,
     unsigned char *p_result = NULL;
     const unsigned char *fgf;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10200,7 +10840,7 @@ fnct_GeometryFromFGF2 (sqlite3_context * context, int argc,
 	  return;
       }
     geo->Srid = sqlite3_value_int (argv[1]);
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -10325,7 +10965,11 @@ fnct_WktToSql (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     const unsigned char *text;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_null (context);
@@ -10339,7 +10983,7 @@ fnct_WktToSql (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  return;
       }
     geo->Srid = 0;
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -10463,7 +11107,11 @@ fnct_WkbToSql (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     const unsigned char *wkb;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10480,7 +11128,7 @@ fnct_WkbToSql (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  return;
       }
     geo->Srid = 0;
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -10500,7 +11148,15 @@ fnct_CompressGeometry (sqlite3_context * context, int argc,
     int len;
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10508,7 +11164,9 @@ fnct_CompressGeometry (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -10534,7 +11192,15 @@ fnct_UncompressGeometry (sqlite3_context * context, int argc,
     int len;
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10542,12 +11208,14 @@ fnct_UncompressGeometry (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     gaiaFreeGeomColl (geo);
@@ -10574,7 +11242,15 @@ fnct_SanitizeGeometry (sqlite3_context * context, int argc,
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr sanitized = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10582,13 +11258,15 @@ fnct_SanitizeGeometry (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  sanitized = gaiaSanitize (geo);
-	  gaiaToSpatiaLiteBlobWkb (sanitized, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (sanitized, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     gaiaFreeGeomColl (geo);
@@ -10647,7 +11325,11 @@ fnct_CastAutomagic (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int len;
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10666,7 +11348,8 @@ fnct_CastAutomagic (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		    sqlite3_result_null (context);
 		else
 		  {
-		      gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+		      gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len,
+						 gpkg_mode);
 		      gaiaFreeGeomColl (geo);
 		      sqlite3_result_blob (context, p_result, len, free);
 		  }
@@ -10678,7 +11361,7 @@ fnct_CastAutomagic (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     else
       {
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
 	  gaiaFreeGeomColl (geo);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
@@ -10702,7 +11385,15 @@ fnct_CastToPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10710,7 +11401,9 @@ fnct_CastToPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -10721,7 +11414,7 @@ fnct_CastToPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		geom2 = gaiaCloneGeomColl (geo);
 		geom2->Srid = geo->Srid;
 		geom2->DeclaredType = GAIA_POINT;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -10750,7 +11443,15 @@ fnct_CastToLinestring (sqlite3_context * context, int argc,
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10758,7 +11459,9 @@ fnct_CastToLinestring (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -10769,7 +11472,7 @@ fnct_CastToLinestring (sqlite3_context * context, int argc,
 		geom2 = gaiaCloneGeomColl (geo);
 		geom2->Srid = geo->Srid;
 		geom2->DeclaredType = GAIA_LINESTRING;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -10797,7 +11500,15 @@ fnct_CastToPolygon (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10805,7 +11516,9 @@ fnct_CastToPolygon (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -10816,7 +11529,7 @@ fnct_CastToPolygon (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		geom2 = gaiaCloneGeomColl (geo);
 		geom2->Srid = geo->Srid;
 		geom2->DeclaredType = GAIA_POLYGON;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -10845,7 +11558,15 @@ fnct_CastToMultiPoint (sqlite3_context * context, int argc,
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10853,7 +11574,9 @@ fnct_CastToMultiPoint (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -10864,7 +11587,7 @@ fnct_CastToMultiPoint (sqlite3_context * context, int argc,
 		geom2 = gaiaCloneGeomColl (geo);
 		geom2->Srid = geo->Srid;
 		geom2->DeclaredType = GAIA_MULTIPOINT;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -10893,7 +11616,15 @@ fnct_CastToMultiLinestring (sqlite3_context * context, int argc,
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10901,7 +11632,9 @@ fnct_CastToMultiLinestring (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -10912,7 +11645,7 @@ fnct_CastToMultiLinestring (sqlite3_context * context, int argc,
 		geom2 = gaiaCloneGeomColl (geo);
 		geom2->Srid = geo->Srid;
 		geom2->DeclaredType = GAIA_MULTILINESTRING;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -10941,7 +11674,15 @@ fnct_CastToMultiPolygon (sqlite3_context * context, int argc,
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10949,7 +11690,9 @@ fnct_CastToMultiPolygon (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -10960,7 +11703,7 @@ fnct_CastToMultiPolygon (sqlite3_context * context, int argc,
 		geom2 = gaiaCloneGeomColl (geo);
 		geom2->Srid = geo->Srid;
 		geom2->DeclaredType = GAIA_MULTIPOLYGON;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -10989,7 +11732,15 @@ fnct_CastToGeometryCollection (sqlite3_context * context, int argc,
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -10997,7 +11748,9 @@ fnct_CastToGeometryCollection (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11008,7 +11761,7 @@ fnct_CastToGeometryCollection (sqlite3_context * context, int argc,
 		geom2 = gaiaCloneGeomColl (geo);
 		geom2->Srid = geo->Srid;
 		geom2->DeclaredType = GAIA_GEOMETRYCOLLECTION;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -11037,7 +11790,15 @@ fnct_CastToMulti (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11045,7 +11806,9 @@ fnct_CastToMulti (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11065,7 +11828,7 @@ fnct_CastToMulti (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		    geom2->DeclaredType = GAIA_GEOMETRYCOLLECTION;
 		if (geo->DeclaredType == GAIA_GEOMETRYCOLLECTION)
 		    geom2->DeclaredType = GAIA_GEOMETRYCOLLECTION;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -11094,7 +11857,15 @@ fnct_CastToSingle (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int ok;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11102,7 +11873,9 @@ fnct_CastToSingle (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11125,7 +11898,7 @@ fnct_CastToSingle (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		    geom2->DeclaredType = GAIA_LINESTRING;
 		else
 		    geom2->DeclaredType = GAIA_POLYGON;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -11150,7 +11923,15 @@ fnct_CastToXY (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11158,7 +11939,9 @@ fnct_CastToXY (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11167,7 +11950,7 @@ fnct_CastToXY (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  if (geom2)
 	    {
 		geom2->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -11192,7 +11975,15 @@ fnct_CastToXYZ (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11200,7 +11991,9 @@ fnct_CastToXYZ (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11209,7 +12002,7 @@ fnct_CastToXYZ (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  if (geom2)
 	    {
 		geom2->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -11234,7 +12027,15 @@ fnct_CastToXYM (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11242,7 +12043,9 @@ fnct_CastToXYM (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11251,7 +12054,7 @@ fnct_CastToXYM (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  if (geom2)
 	    {
 		geom2->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -11276,7 +12079,15 @@ fnct_CastToXYZM (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11284,7 +12095,9 @@ fnct_CastToXYZM (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11293,7 +12106,7 @@ fnct_CastToXYZM (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  if (geom2)
 	    {
 		geom2->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -11322,7 +12135,15 @@ fnct_ExtractMultiPoint (sqlite3_context * context, int argc,
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11330,7 +12151,9 @@ fnct_ExtractMultiPoint (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11341,7 +12164,7 @@ fnct_ExtractMultiPoint (sqlite3_context * context, int argc,
 		geom2 = gaiaCloneGeomCollPoints (geo);
 		geom2->Srid = geo->Srid;
 		geom2->DeclaredType = GAIA_MULTIPOINT;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -11370,7 +12193,15 @@ fnct_ExtractMultiLinestring (sqlite3_context * context, int argc,
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11378,7 +12209,9 @@ fnct_ExtractMultiLinestring (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11389,7 +12222,7 @@ fnct_ExtractMultiLinestring (sqlite3_context * context, int argc,
 		geom2 = gaiaCloneGeomCollLinestrings (geo);
 		geom2->Srid = geo->Srid;
 		geom2->DeclaredType = GAIA_MULTILINESTRING;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -11418,7 +12251,15 @@ fnct_ExtractMultiPolygon (sqlite3_context * context, int argc,
     int pgs;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11426,7 +12267,9 @@ fnct_ExtractMultiPolygon (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11437,7 +12280,7 @@ fnct_ExtractMultiPolygon (sqlite3_context * context, int argc,
 		geom2 = gaiaCloneGeomCollPolygons (geo);
 		geom2->Srid = geo->Srid;
 		geom2->DeclaredType = GAIA_MULTIPOLYGON;
-		gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (geom2);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -11462,7 +12305,15 @@ fnct_Reverse (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11470,14 +12321,16 @@ fnct_Reverse (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  geom2 = gaiaCloneGeomCollSpecial (geo, GAIA_REVERSE_ORDER);
 	  geom2->Srid = geo->Srid;
-	  gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 	  gaiaFreeGeomColl (geom2);
 	  sqlite3_result_blob (context, p_result, len, free);
 	  gaiaFreeGeomColl (geo);
@@ -11500,7 +12353,15 @@ fnct_ForceLHR (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr geom2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11508,14 +12369,16 @@ fnct_ForceLHR (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  geom2 = gaiaCloneGeomCollSpecial (geo, GAIA_LHR_ORDER);
 	  geom2->Srid = geo->Srid;
-	  gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode);
 	  gaiaFreeGeomColl (geom2);
 	  sqlite3_result_blob (context, p_result, len, free);
 	  gaiaFreeGeomColl (geo);
@@ -11539,7 +12402,15 @@ fnct_Dimension (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     int dim;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11547,7 +12418,9 @@ fnct_Dimension (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11574,7 +12447,15 @@ fnct_CoordDimension (sqlite3_context * context, int argc, sqlite3_value ** argv)
     char *p_dim = NULL;
     char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11582,7 +12463,9 @@ fnct_CoordDimension (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11626,7 +12509,15 @@ fnct_NDims (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     int result = 0;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11634,7 +12525,9 @@ fnct_NDims (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -11839,7 +12732,15 @@ fnct_GeometryAliasType (sqlite3_context * context, int argc,
     char *p_type = NULL;
     char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -11847,7 +12748,9 @@ fnct_GeometryAliasType (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -12001,7 +12904,15 @@ fnct_SetSRID (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo = NULL;
     int srid;
     unsigned char *p_result = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -12016,13 +12927,15 @@ fnct_SetSRID (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  geo->Srid = srid;
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &n_bytes);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &n_bytes, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, n_bytes, free);
       }
     gaiaFreeGeomColl (geo);
@@ -12469,7 +13382,15 @@ fnct_Envelope (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr bbox;
     gaiaPolygonPtr polyg;
     gaiaRingPtr rect;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -12477,7 +13398,9 @@ fnct_Envelope (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -12492,7 +13415,7 @@ fnct_Envelope (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  gaiaSetPoint (rect->Coords, 2, geo->MaxX, geo->MaxY);	/* vertex # 3 */
 	  gaiaSetPoint (rect->Coords, 3, geo->MinX, geo->MaxY);	/* vertex # 4 */
 	  gaiaSetPoint (rect->Coords, 4, geo->MinX, geo->MinY);	/* vertex # 5 [same as vertex # 1 to close the polygon] */
-	  gaiaToSpatiaLiteBlobWkb (bbox, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (bbox, &p_result, &len, gpkg_mode);
 	  gaiaFreeGeomColl (bbox);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
@@ -12518,7 +13441,15 @@ fnct_Expand (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaRingPtr rect;
     double tic;
     int int_value;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -12538,7 +13469,9 @@ fnct_Expand (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -12553,7 +13486,7 @@ fnct_Expand (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  gaiaSetPoint (rect->Coords, 2, geo->MaxX + tic, geo->MaxY + tic);	/* vertex # 3 */
 	  gaiaSetPoint (rect->Coords, 3, geo->MinX - tic, geo->MaxY + tic);	/* vertex # 4 */
 	  gaiaSetPoint (rect->Coords, 4, geo->MinX - tic, geo->MinY - tic);	/* vertex # 5 [same as vertex # 1 to close the polygon] */
-	  gaiaToSpatiaLiteBlobWkb (bbox, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (bbox, &p_result, &len, gpkg_mode);
 	  gaiaFreeGeomColl (bbox);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
@@ -12963,7 +13896,15 @@ fnct_Extent_step (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double **p;
     double *max_min;
     int *srid_check;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -12971,7 +13912,9 @@ fnct_Extent_step (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geom)
 	return;
     gaiaMbrGeometry (geom);
@@ -13027,6 +13970,10 @@ fnct_Extent_final (sqlite3_context * context)
     double maxy;
     int *srid_check;
     double **p = sqlite3_aggregate_context (context, 0);
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (!p)
       {
 	  sqlite3_result_null (context);
@@ -13064,7 +14011,7 @@ fnct_Extent_final (sqlite3_context * context)
 	  gaiaSetPoint (rect->Coords, 2, maxx, maxy);	/* vertex # 3 */
 	  gaiaSetPoint (rect->Coords, 3, minx, maxy);	/* vertex # 4 */
 	  gaiaSetPoint (rect->Coords, 4, minx, miny);	/* vertex # 5 [same as vertex # 1 to close the polygon] */
-	  gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
 	  gaiaFreeGeomColl (result);
       }
@@ -13433,7 +14380,15 @@ fnct_X (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaPointPtr point;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -13441,7 +14396,9 @@ fnct_X (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -13468,7 +14425,15 @@ fnct_Y (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaPointPtr point;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -13476,7 +14441,9 @@ fnct_Y (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -13503,7 +14470,15 @@ fnct_Z (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaPointPtr point;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -13511,7 +14486,9 @@ fnct_Z (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -13544,7 +14521,15 @@ fnct_M (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaPointPtr point;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -13552,7 +14537,9 @@ fnct_M (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -13585,7 +14572,15 @@ fnct_NumPoints (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaLinestringPtr line;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -13593,7 +14588,9 @@ fnct_NumPoints (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -13631,7 +14628,15 @@ point_n (sqlite3_context * context, int argc, sqlite3_value ** argv,
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
     gaiaLinestringPtr line;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -13653,7 +14658,9 @@ point_n (sqlite3_context * context, int argc, sqlite3_value ** argv,
 	vertex = 1;		/* StartPoint() */
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -13705,7 +14712,8 @@ point_n (sqlite3_context * context, int argc, sqlite3_value ** argv,
 		    sqlite3_result_null (context);
 		else
 		  {
-		      gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		      gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len,
+						 gpkg_mode);
 		      gaiaFreeGeomColl (result);
 		      sqlite3_result_blob (context, p_result, len, free);
 		  }
@@ -13760,7 +14768,15 @@ fnct_ExteriorRing (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaPolygonPtr polyg;
     gaiaRingPtr ring;
     gaiaLinestringPtr line;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -13768,7 +14784,9 @@ fnct_ExteriorRing (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -13812,7 +14830,7 @@ fnct_ExteriorRing (sqlite3_context * context, int argc, sqlite3_value ** argv)
 			    gaiaSetPoint (line->Coords, iv, x, y);
 			}
 		  }
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (result);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -13834,7 +14852,15 @@ fnct_NumInteriorRings (sqlite3_context * context, int argc,
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaPolygonPtr polyg;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -13842,7 +14868,9 @@ fnct_NumInteriorRings (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -13880,7 +14908,15 @@ fnct_InteriorRingN (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaPolygonPtr polyg;
     gaiaRingPtr ring;
     gaiaLinestringPtr line;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -13894,7 +14930,9 @@ fnct_InteriorRingN (sqlite3_context * context, int argc, sqlite3_value ** argv)
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
     border = sqlite3_value_int (argv[1]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -13944,7 +14982,8 @@ fnct_InteriorRingN (sqlite3_context * context, int argc, sqlite3_value ** argv)
 				  gaiaSetPoint (line->Coords, iv, x, y);
 			      }
 			}
-		      gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		      gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len,
+						 gpkg_mode);
 		      gaiaFreeGeomColl (result);
 		      sqlite3_result_blob (context, p_result, len, free);
 		  }
@@ -13971,7 +15010,15 @@ fnct_NumGeometries (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaLinestringPtr line;
     gaiaPolygonPtr polyg;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -13979,7 +15026,9 @@ fnct_NumGeometries (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -14028,7 +15077,15 @@ fnct_NPoints (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaPolygonPtr polyg;
     gaiaRingPtr rng;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -14036,7 +15093,9 @@ fnct_NPoints (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -14089,7 +15148,15 @@ fnct_NRings (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int cnt = 0;
     gaiaPolygonPtr polyg;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -14097,7 +15164,9 @@ fnct_NRings (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -14208,7 +15277,15 @@ fnct_AddPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double y;
     double m;
     double z;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -14216,7 +15293,9 @@ fnct_AddPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    line = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    line =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!line)
       {
 	  sqlite3_result_null (context);
@@ -14230,7 +15309,9 @@ fnct_AddPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    point =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!point)
       {
 	  gaiaFreeGeomColl (line);
@@ -14398,7 +15479,7 @@ fnct_AddPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		out_iv++;
 	    }
       }
-    gaiaToSpatiaLiteBlobWkb (out, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (out, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (out);
     sqlite3_result_blob (context, p_result, len, free);
   stop:
@@ -14422,6 +15503,10 @@ commont_set_point (sqlite3_context * context, gaiaGeomCollPtr line,
     double y = 0.0;
     double m = 0.0;
     double z = 0.0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
 
     if (is_single_linestring (line) && is_single_point (point))
 	;
@@ -14492,7 +15577,7 @@ commont_set_point (sqlite3_context * context, gaiaGeomCollPtr line,
 		gaiaSetPoint (out_ln->Coords, iv, x, y);
 	    }
       }
-    gaiaToSpatiaLiteBlobWkb (out, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (out, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (out);
     sqlite3_result_blob (context, p_result, len, free);
   stop:
@@ -14514,7 +15599,15 @@ fnct_SetPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int position;
     gaiaGeomCollPtr line = NULL;
     gaiaGeomCollPtr point = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -14522,7 +15615,9 @@ fnct_SetPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    line = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    line =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!line)
       {
 	  sqlite3_result_null (context);
@@ -14543,7 +15638,9 @@ fnct_SetPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[2]);
     n_bytes = sqlite3_value_bytes (argv[2]);
-    point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    point =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!point)
       {
 	  gaiaFreeGeomColl (line);
@@ -14566,7 +15663,15 @@ fnct_SetStartPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr line = NULL;
     gaiaGeomCollPtr point = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -14574,7 +15679,9 @@ fnct_SetStartPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    line = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    line =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!line)
       {
 	  sqlite3_result_null (context);
@@ -14588,7 +15695,9 @@ fnct_SetStartPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    point =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!point)
       {
 	  gaiaFreeGeomColl (line);
@@ -14613,7 +15722,15 @@ fnct_SetEndPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr line = NULL;
     gaiaGeomCollPtr point = NULL;
     int position;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -14621,7 +15738,9 @@ fnct_SetEndPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    line = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    line =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!line)
       {
 	  sqlite3_result_null (context);
@@ -14635,7 +15754,9 @@ fnct_SetEndPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    point =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!point)
       {
 	  gaiaFreeGeomColl (line);
@@ -14682,7 +15803,15 @@ fnct_RemovePoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double y;
     double m;
     double z;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -14690,7 +15819,9 @@ fnct_RemovePoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    line = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    line =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!line)
       {
 	  sqlite3_result_null (context);
@@ -14776,7 +15907,7 @@ fnct_RemovePoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	    }
 	  out_iv++;
       }
-    gaiaToSpatiaLiteBlobWkb (out, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (out, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (out);
     sqlite3_result_blob (context, p_result, len, free);
   stop:
@@ -14800,7 +15931,15 @@ fnct_MakePolygon (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr out;
     int len;
     unsigned char *p_result = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -14808,7 +15947,9 @@ fnct_MakePolygon (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    exterior = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    exterior =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!exterior)
       {
 	  sqlite3_result_null (context);
@@ -14823,7 +15964,9 @@ fnct_MakePolygon (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	    }
 	  p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
 	  n_bytes = sqlite3_value_bytes (argv[1]);
-	  interiors = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+	  interiors =
+	      gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+					   gpkg_amphibious);
 	  if (!interiors)
 	    {
 		sqlite3_result_null (context);
@@ -14836,7 +15979,7 @@ fnct_MakePolygon (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  sqlite3_result_null (context);
 	  goto stop;
       }
-    gaiaToSpatiaLiteBlobWkb (out, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (out, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (out);
     sqlite3_result_blob (context, p_result, len, free);
   stop:
@@ -14930,7 +16073,15 @@ fnct_SnapToGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr point = NULL;
     gaiaGeomCollPtr result = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -15064,7 +16215,9 @@ fnct_SnapToGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	    }
 	  p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
 	  n_bytes = sqlite3_value_bytes (argv[1]);
-	  point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+	  point =
+	      gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+					   gpkg_amphibious);
 	  if (!point)
 	    {
 		sqlite3_result_null (context);
@@ -15137,7 +16290,9 @@ fnct_SnapToGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -15153,7 +16308,7 @@ fnct_SnapToGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -15406,7 +16561,15 @@ fnct_ToGARS (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int segmentNumber = 0;
     int lat_band = 0;
     double lat_minutes = 0;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -15414,7 +16577,9 @@ fnct_ToGARS (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
       {
 	  sqlite3_result_null (context);
@@ -15538,7 +16703,15 @@ fnct_GeometryN (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -15552,7 +16725,9 @@ fnct_GeometryN (sqlite3_context * context, int argc, sqlite3_value ** argv)
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
     entity = sqlite3_value_int (argv[1]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -15740,7 +16915,7 @@ fnct_GeometryN (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	skip:
 	  if (result)
 	    {
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (result);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -15874,7 +17049,15 @@ fnct_EnvIntersects (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     gaiaLinestringPtr ln;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -15930,7 +17113,9 @@ fnct_EnvIntersects (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1)
 	sqlite3_result_null (context);
     else
@@ -15984,7 +17169,15 @@ fnct_ShiftCoords (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double shift_x;
     double shift_y;
     int int_value;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16016,13 +17209,15 @@ fnct_ShiftCoords (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  gaiaShiftCoords (geo, shift_x, shift_y);
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
 	  if (!p_result)
 	      sqlite3_result_null (context);
 	  else
@@ -16049,7 +17244,15 @@ fnct_Translate (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double shift_y;
     double shift_z;
     int int_value;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16093,13 +17296,15 @@ fnct_Translate (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  gaiaShiftCoords3D (geo, shift_x, shift_y, shift_z);
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
 	  if (!p_result)
 	      sqlite3_result_null (context);
 	  else
@@ -16124,7 +17329,15 @@ fnct_ShiftLongitude (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int len;
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16132,13 +17345,15 @@ fnct_ShiftLongitude (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  gaiaShiftLongitude (geo);
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
 	  if (!p_result)
 	      sqlite3_result_null (context);
 	  else
@@ -16163,7 +17378,15 @@ fnct_NormalizeLonLat (sqlite3_context * context, int argc,
     int len;
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16171,13 +17394,15 @@ fnct_NormalizeLonLat (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  gaiaNormalizeLonLat (geo);
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
 	  if (!p_result)
 	      sqlite3_result_null (context);
 	  else
@@ -16203,6 +17428,15 @@ fnct_ScaleCoords (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double scale_x;
     double scale_y;
     int int_value;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16240,13 +17474,15 @@ fnct_ScaleCoords (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  gaiaScaleCoords (geo, scale_x, scale_y);
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
 	  if (!p_result)
 	      sqlite3_result_null (context);
 	  else
@@ -16271,7 +17507,15 @@ fnct_RotateCoords (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo = NULL;
     double angle;
     int int_value;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16291,13 +17535,15 @@ fnct_RotateCoords (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  gaiaRotateCoords (geo, angle);
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
 	  if (!p_result)
 	      sqlite3_result_null (context);
 	  else
@@ -16322,7 +17568,15 @@ fnct_ReflectCoords (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo = NULL;
     int x_axis;
     int y_axis;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16344,13 +17598,15 @@ fnct_ReflectCoords (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  gaiaReflectCoords (geo, x_axis, y_axis);
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
 	  if (!p_result)
 	      sqlite3_result_null (context);
 	  else
@@ -16373,7 +17629,15 @@ fnct_SwapCoords (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int len;
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16381,13 +17645,15 @@ fnct_SwapCoords (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  gaiaSwapCoords (geo);
-	  gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
 	  if (!p_result)
 	      sqlite3_result_null (context);
 	  else
@@ -16496,7 +17762,11 @@ fnct_FromEWKB (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     const unsigned char *text;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_null (context);
@@ -16509,7 +17779,7 @@ fnct_FromEWKB (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  sqlite3_result_null (context);
 	  return;
       }
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -16528,7 +17798,15 @@ fnct_ToEWKB (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int len;
     gaiaOutBuffer out_buf;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16536,7 +17814,9 @@ fnct_ToEWKB (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
       {
 	  sqlite3_result_null (context);
@@ -16573,7 +17853,15 @@ fnct_ToEWKT (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int len;
     gaiaOutBuffer out_buf;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16582,7 +17870,9 @@ fnct_ToEWKT (sqlite3_context * context, int argc, sqlite3_value ** argv)
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
     gaiaOutBufferInitialize (&out_buf);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -16614,7 +17904,11 @@ fnct_FromEWKT (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     const unsigned char *text;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_null (context);
@@ -16627,7 +17921,7 @@ fnct_FromEWKT (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  sqlite3_result_null (context);
 	  return;
       }
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -16645,7 +17939,11 @@ fnct_FromGeoJSON (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     const unsigned char *text;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_null (context);
@@ -16658,7 +17956,7 @@ fnct_FromGeoJSON (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  sqlite3_result_null (context);
 	  return;
       }
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -16676,7 +17974,11 @@ fnct_FromKml (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     const unsigned char *text;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_null (context);
@@ -16689,7 +17991,7 @@ fnct_FromKml (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  sqlite3_result_null (context);
 	  return;
       }
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -16709,7 +18011,11 @@ fnct_FromGml (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo = NULL;
     void *data = sqlite3_user_data (context);
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_null (context);
@@ -16725,7 +18031,7 @@ fnct_FromGml (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  sqlite3_result_null (context);
 	  return;
       }
-    gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geo);
     sqlite3_result_blob (context, p_result, len, free);
 }
@@ -16747,7 +18053,15 @@ fnct_LinesFromRings (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int len;
     int multi_linestring = 0;
     unsigned char *p_result = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16755,7 +18069,9 @@ fnct_LinesFromRings (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
       {
 	  sqlite3_result_null (context);
@@ -16770,7 +18086,7 @@ fnct_LinesFromRings (sqlite3_context * context, int argc, sqlite3_value ** argv)
     if (!geom_new)
 	goto invalid;
     gaiaFreeGeomColl (geo);
-    gaiaToSpatiaLiteBlobWkb (geom_new, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geom_new, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geom_new);
     sqlite3_result_blob (context, p_result, len, free);
     return;
@@ -16797,7 +18113,15 @@ fnct_BuildArea (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16805,7 +18129,9 @@ fnct_BuildArea (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -16823,7 +18149,7 @@ fnct_BuildArea (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -16847,7 +18173,15 @@ fnct_Polygonize_step (sqlite3_context * context, int argc,
     gaiaGeomCollPtr geom;
     gaiaGeomCollPtr result;
     gaiaGeomCollPtr *p;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16855,7 +18189,9 @@ fnct_Polygonize_step (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geom)
 	return;
     p = sqlite3_aggregate_context (context, sizeof (gaiaGeomCollPtr));
@@ -16890,6 +18226,10 @@ fnct_Polygonize_final (sqlite3_context * context)
     gaiaGeomCollPtr result;
     gaiaGeomCollPtr geom;
     gaiaGeomCollPtr *p = sqlite3_aggregate_context (context, 0);
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (!p)
       {
 	  sqlite3_result_null (context);
@@ -16913,7 +18253,7 @@ fnct_Polygonize_final (sqlite3_context * context)
 		int len;
 		unsigned char *p_result = NULL;
 		geom->Srid = result->Srid;
-		gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (geom);
 	    }
@@ -16937,7 +18277,15 @@ fnct_DissolveSegments (sqlite3_context * context, int argc,
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16945,7 +18293,9 @@ fnct_DissolveSegments (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -16959,7 +18309,7 @@ fnct_DissolveSegments (sqlite3_context * context, int argc,
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -16980,7 +18330,15 @@ fnct_DissolvePoints (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -16988,7 +18346,9 @@ fnct_DissolvePoints (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -17002,7 +18362,7 @@ fnct_DissolvePoints (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -17026,7 +18386,15 @@ fnct_CollectionExtract (sqlite3_context * context, int argc,
     int type;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -17048,7 +18416,9 @@ fnct_CollectionExtract (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -17073,7 +18443,7 @@ fnct_CollectionExtract (sqlite3_context * context, int argc,
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -17100,7 +18470,15 @@ fnct_LocateBetweenMeasures (sqlite3_context * context, int argc,
     int intval;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -17137,7 +18515,9 @@ fnct_LocateBetweenMeasures (sqlite3_context * context, int argc,
 	m_end = m_start;
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -17151,7 +18531,7 @@ fnct_LocateBetweenMeasures (sqlite3_context * context, int argc,
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -17167,7 +18547,7 @@ fnct_Transform (sqlite3_context * context, int argc, sqlite3_value ** argv)
 /* SQL function:
 / Transform(BLOBencoded geometry, srid)
 /
-/ returns a new geometry that is the original one received, but with the new SRID [no coordinates translation is applied]
+/ returns a new geometry that is the original one received, but transformed / translated to the new SRID [coordinates translation is applied]
 / or NULL if any error is encountered
 */
     unsigned char *p_blob;
@@ -17180,7 +18560,15 @@ fnct_Transform (sqlite3_context * context, int argc, sqlite3_value ** argv)
     char *proj_to;
     void *data = sqlite3_user_data (context);
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -17195,14 +18583,16 @@ fnct_Transform (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  srid_from = geo->Srid;
-	  getProjParams (sqlite, srid_from, &proj_from);
-	  getProjParams (sqlite, srid_to, &proj_to);
+	  getProjParamsEx (sqlite, srid_from, &proj_from, gpkg_amphibious);
+	  getProjParamsEx (sqlite, srid_to, &proj_to, gpkg_amphibious);
 	  if (proj_to == NULL || proj_from == NULL)
 	    {
 		if (proj_from)
@@ -17227,7 +18617,7 @@ fnct_Transform (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = srid_to;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -17321,7 +18711,11 @@ fnct_GEOS_GetCriticalPointFromMsg (sqlite3_context * context, int argc,
     int srid = -1;
     gaiaGeomCollPtr geom;
     void *data = sqlite3_user_data (context);
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (argc == 1)
       {
 	  if (sqlite3_value_type (argv[0]) != SQLITE_INTEGER)
@@ -17342,7 +18736,7 @@ fnct_GEOS_GetCriticalPointFromMsg (sqlite3_context * context, int argc,
 	  unsigned char *blob;
 	  int len;
 	  geom->Srid = srid;
-	  gaiaToSpatiaLiteBlobWkb (geom, &blob, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geom, &blob, &len, gpkg_mode);
 	  gaiaFreeGeomColl (geom);
 	  sqlite3_result_blob (context, blob, len, free);
       }
@@ -17365,7 +18759,15 @@ fnct_IsValidReason (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geom;
     char *str;
     void *data = sqlite3_user_data (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -17373,7 +18775,9 @@ fnct_IsValidReason (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (data != NULL)
 	str = gaiaIsValidReason_r (data, geom);
     else
@@ -17406,7 +18810,15 @@ fnct_IsValidDetail (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr detail;
     unsigned char *p_result = NULL;
     void *data = sqlite3_user_data (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -17414,7 +18826,9 @@ fnct_IsValidDetail (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (data != NULL)
 	detail = gaiaIsValidDetail_r (data, geom);
     else
@@ -17424,7 +18838,7 @@ fnct_IsValidDetail (sqlite3_context * context, int argc, sqlite3_value ** argv)
     else
       {
 	  detail->Srid = geom->Srid;
-	  gaiaToSpatiaLiteBlobWkb (detail, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (detail, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     if (geom != NULL)
@@ -17448,7 +18862,15 @@ fnct_Boundary (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr boundary;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -17456,7 +18878,9 @@ fnct_Boundary (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -17474,7 +18898,8 @@ fnct_Boundary (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		    sqlite3_result_null (context);
 		else
 		  {
-		      gaiaToSpatiaLiteBlobWkb (boundary, &p_result, &len);
+		      gaiaToSpatiaLiteBlobWkbEx (boundary, &p_result, &len,
+						 gpkg_mode);
 		      gaiaFreeGeomColl (boundary);
 		      sqlite3_result_blob (context, p_result, len, free);
 		  }
@@ -17497,7 +18922,15 @@ fnct_IsClosed (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_blob;
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -17505,7 +18938,9 @@ fnct_IsClosed (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_int (context, -1);
     else
@@ -17530,7 +18965,15 @@ fnct_IsSimple (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     int ret;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -17538,7 +18981,9 @@ fnct_IsSimple (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_int (context, -1);
     else
@@ -17572,7 +19017,15 @@ fnct_IsRing (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int ret;
     gaiaGeomCollPtr geo = NULL;
     gaiaLinestringPtr line;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -17580,13 +19033,15 @@ fnct_IsRing (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_int (context, -1);
     else
       {
 	  line = simpleLinestring (geo);
-	  if (!line < 0)
+	  if (line == NULL)
 	      sqlite3_result_int (context, -1);
 	  else
 	    {
@@ -17616,7 +19071,15 @@ fnct_IsValid (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     int ret;
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -17624,7 +19087,9 @@ fnct_IsValid (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_int (context, -1);
     else
@@ -17657,7 +19122,15 @@ length_common (const void *p_cache, sqlite3_context * context, int argc,
     double rf;
     gaiaGeomCollPtr geo = NULL;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -17676,7 +19149,9 @@ length_common (const void *p_cache, sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -17901,7 +19376,15 @@ fnct_Area (sqlite3_context * context, int argc, sqlite3_value ** argv)
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
 #endif /* end LWGEOM conditional */
     gaiaGeomCollPtr geo = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -17920,7 +19403,9 @@ fnct_Area (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -17971,7 +19456,15 @@ fnct_Centroid (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -17979,7 +19472,9 @@ fnct_Centroid (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -18000,7 +19495,8 @@ fnct_Centroid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		      result = gaiaAllocGeomColl ();
 		      result->Srid = geo->Srid;
 		      gaiaAddPointToGeomColl (result, x, y);
-		      gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		      gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len,
+						 gpkg_mode);
 		      gaiaFreeGeomColl (result);
 		      sqlite3_result_blob (context, p_result, len, free);
 		  }
@@ -18026,7 +19522,15 @@ fnct_PointOnSurface (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -18034,7 +19538,9 @@ fnct_PointOnSurface (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -18052,7 +19558,7 @@ fnct_PointOnSurface (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		result = gaiaAllocGeomColl ();
 		gaiaAddPointToGeomColl (result, x, y);
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		gaiaFreeGeomColl (result);
 		sqlite3_result_blob (context, p_result, len, free);
 	    }
@@ -18075,7 +19581,15 @@ fnct_Simplify (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr result;
     int int_value;
     double tolerance;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -18095,7 +19609,9 @@ fnct_Simplify (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -18112,7 +19628,7 @@ fnct_Simplify (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		/* builds the BLOB geometry to be returned */
 		int len;
 		unsigned char *p_result = NULL;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -18136,7 +19652,15 @@ fnct_SimplifyPreserveTopology (sqlite3_context * context, int argc,
     gaiaGeomCollPtr result;
     int int_value;
     double tolerance;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -18156,7 +19680,9 @@ fnct_SimplifyPreserveTopology (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -18174,7 +19700,7 @@ fnct_SimplifyPreserveTopology (sqlite3_context * context, int argc,
 		/* builds the BLOB geometry to be returned */
 		int len;
 		unsigned char *p_result = NULL;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -18197,7 +19723,15 @@ fnct_ConvexHull (sqlite3_context * context, int argc, sqlite3_value ** argv)
     unsigned char *p_result = NULL;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -18205,7 +19739,9 @@ fnct_ConvexHull (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -18219,7 +19755,7 @@ fnct_ConvexHull (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	      sqlite3_result_null (context);
 	  else
 	    {
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -18244,7 +19780,15 @@ fnct_Buffer (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double radius;
     int int_value;
     int quadrantsegments = 30;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -18275,7 +19819,9 @@ fnct_Buffer (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -18294,7 +19840,7 @@ fnct_Buffer (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -18316,7 +19862,15 @@ fnct_Intersection (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -18329,10 +19883,14 @@ fnct_Intersection (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_null (context);
     else
@@ -18354,7 +19912,7 @@ fnct_Intersection (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		/* builds the BLOB geometry to be returned */
 		int len;
 		unsigned char *p_result = NULL;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -18413,7 +19971,15 @@ fnct_Union_step (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geom;
     struct gaia_geom_chain **p;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -18421,7 +19987,9 @@ fnct_Union_step (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geom)
 	return;
     p = sqlite3_aggregate_context (context, sizeof (struct gaia_geom_chain **));
@@ -18482,6 +20050,10 @@ fnct_Union_final (sqlite3_context * context)
     gaiaGeomCollPtr result;
     void *data = sqlite3_user_data (context);
     struct gaia_geom_chain **p = sqlite3_aggregate_context (context, 0);
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (!p)
       {
 	  sqlite3_result_null (context);
@@ -18528,7 +20100,7 @@ fnct_Union_final (sqlite3_context * context)
 	  /* builds the BLOB geometry to be returned */
 	  int len;
 	  unsigned char *p_result = NULL;
-	  gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
       }
     gaiaFreeGeomColl (result);
@@ -18548,7 +20120,15 @@ fnct_Union (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -18561,10 +20141,14 @@ fnct_Union (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_null (context);
     else
@@ -18586,7 +20170,7 @@ fnct_Union (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		/* builds the BLOB geometry to be returned */
 		int len;
 		unsigned char *p_result = NULL;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -18609,7 +20193,15 @@ fnct_Difference (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -18622,10 +20214,14 @@ fnct_Difference (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_null (context);
     else
@@ -18647,7 +20243,7 @@ fnct_Difference (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		/* builds the BLOB geometry to be returned */
 		int len;
 		unsigned char *p_result = NULL;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -18670,7 +20266,15 @@ fnct_SymDifference (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -18683,10 +20287,14 @@ fnct_SymDifference (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_null (context);
     else
@@ -18708,7 +20316,7 @@ fnct_SymDifference (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		/* builds the BLOB geometry to be returned */
 		int len;
 		unsigned char *p_result = NULL;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -18733,7 +20341,15 @@ fnct_Equals (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -18746,10 +20362,14 @@ fnct_Equals (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
     else
@@ -18783,7 +20403,15 @@ fnct_Intersects (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -18796,10 +20424,12 @@ fnct_Intersects (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     blob1 = (unsigned char *) sqlite3_value_blob (argv[0]);
     bytes1 = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious);
     blob2 = (unsigned char *) sqlite3_value_blob (argv[1]);
     bytes2 = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
     else
@@ -18835,7 +20465,15 @@ fnct_Disjoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -18848,10 +20486,12 @@ fnct_Disjoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     blob1 = (unsigned char *) sqlite3_value_blob (argv[0]);
     bytes1 = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious);
     blob2 = (unsigned char *) sqlite3_value_blob (argv[1]);
     bytes2 = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
     else
@@ -18887,7 +20527,15 @@ fnct_Overlaps (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -18900,10 +20548,12 @@ fnct_Overlaps (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     blob1 = (unsigned char *) sqlite3_value_blob (argv[0]);
     bytes1 = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious);
     blob2 = (unsigned char *) sqlite3_value_blob (argv[1]);
     bytes2 = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
     else
@@ -18939,7 +20589,15 @@ fnct_Crosses (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -18952,10 +20610,12 @@ fnct_Crosses (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     blob1 = (unsigned char *) sqlite3_value_blob (argv[0]);
     bytes1 = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious);
     blob2 = (unsigned char *) sqlite3_value_blob (argv[1]);
     bytes2 = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
     else
@@ -18991,7 +20651,15 @@ fnct_Touches (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -19004,10 +20672,12 @@ fnct_Touches (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     blob1 = (unsigned char *) sqlite3_value_blob (argv[0]);
     bytes1 = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious);
     blob2 = (unsigned char *) sqlite3_value_blob (argv[1]);
     bytes2 = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
     else
@@ -19043,7 +20713,15 @@ fnct_Within (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -19056,10 +20734,12 @@ fnct_Within (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     blob1 = (unsigned char *) sqlite3_value_blob (argv[0]);
     bytes1 = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious);
     blob2 = (unsigned char *) sqlite3_value_blob (argv[1]);
     bytes2 = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
     else
@@ -19095,7 +20775,15 @@ fnct_Contains (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -19108,10 +20796,12 @@ fnct_Contains (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     blob1 = (unsigned char *) sqlite3_value_blob (argv[0]);
     bytes1 = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious);
     blob2 = (unsigned char *) sqlite3_value_blob (argv[1]);
     bytes2 = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
     else
@@ -19146,7 +20836,15 @@ fnct_Relate (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
     const unsigned char *pattern;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -19164,10 +20862,14 @@ fnct_Relate (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     pattern = sqlite3_value_text (argv[2]);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
@@ -19205,7 +20907,15 @@ fnct_Distance (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int ret;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
     void *data = sqlite3_user_data (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -19229,10 +20939,14 @@ fnct_Distance (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_null (context);
     else
@@ -19401,7 +21115,15 @@ fnct_PtDistWithin (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double rf;
     int ret;
     void *data = sqlite3_user_data (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -19431,10 +21153,14 @@ fnct_PtDistWithin (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
       {
 	  int dst = sqlite3_value_int (argv[2]);
@@ -19585,6 +21311,10 @@ fnct_aux_polygonize (sqlite3_context * context, gaiaGeomCollPtr geom_org,
     gaiaPolygonPtr pg;
     int pgs = 0;
     void *data = sqlite3_user_data (context);
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (!geom_org)
 	goto invalid;
     if (data != NULL)
@@ -19607,7 +21337,7 @@ fnct_aux_polygonize (sqlite3_context * context, gaiaGeomCollPtr geom_org,
 	  sqlite3_result_null (context);
 	  return;
       }
-    gaiaToSpatiaLiteBlobWkb (geom_new, &p_result, &len);
+    gaiaToSpatiaLiteBlobWkbEx (geom_new, &p_result, &len, gpkg_mode);
     gaiaFreeGeomColl (geom_new);
     sqlite3_result_blob (context, p_result, len, free);
     return;
@@ -21211,11 +22941,13 @@ static void
 fnct_OffsetCurve (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
-/ OffsetCurve(BLOBencoded geometry, radius, left-or-right-side)
+/ OffsetCurve(BLOBencoded geometry, DOUBLE radius)
 /
 / returns a new geometry representing the OFFSET-CURVE for current geometry
 / [a LINESTRING is expected]
 / or NULL if any error is encountered
+/
+/ negative radius: right-side / positive radius: left-side
 */
     unsigned char *p_blob;
     int n_bytes;
@@ -21223,8 +22955,15 @@ fnct_OffsetCurve (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr result;
     double radius;
     int int_value;
-    int left_right;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -21242,25 +22981,20 @@ fnct_OffsetCurve (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	  sqlite3_result_null (context);
 	  return;
       }
-    if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
-	left_right = sqlite3_value_int (argv[2]);
-    else
-      {
-	  sqlite3_result_null (context);
-	  return;
-      }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
       {
 	  void *data = sqlite3_user_data (context);
 	  if (data != NULL)
-	      result = gaiaOffsetCurve_r (data, geo, radius, 16, left_right);
+	      result = gaiaOffsetCurve_r (data, geo, radius, 16, 0);
 	  else
-	      result = gaiaOffsetCurve (geo, radius, 16, left_right);
+	      result = gaiaOffsetCurve (geo, radius, 16, 0);
 	  if (!result)
 	      sqlite3_result_null (context);
 	  else
@@ -21269,7 +23003,7 @@ fnct_OffsetCurve (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -21295,7 +23029,15 @@ fnct_SingleSidedBuffer (sqlite3_context * context, int argc,
     double radius;
     int int_value;
     int left_right;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -21322,7 +23064,9 @@ fnct_SingleSidedBuffer (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -21341,7 +23085,7 @@ fnct_SingleSidedBuffer (sqlite3_context * context, int argc,
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -21364,7 +23108,15 @@ fnct_HausdorffDistance (sqlite3_context * context, int argc,
     gaiaGeomCollPtr geo2 = NULL;
     double dist;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -21377,10 +23129,14 @@ fnct_HausdorffDistance (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_null (context);
     else
@@ -21413,7 +23169,15 @@ fnct_SharedPaths (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -21426,10 +23190,14 @@ fnct_SharedPaths (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo1 == NULL || geo2 == NULL)
 	sqlite3_result_null (context);
     else
@@ -21447,7 +23215,7 @@ fnct_SharedPaths (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo1->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -21474,7 +23242,15 @@ fnct_Covers (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -21487,10 +23263,12 @@ fnct_Covers (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     blob1 = (unsigned char *) sqlite3_value_blob (argv[0]);
     bytes1 = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious);
     blob2 = (unsigned char *) sqlite3_value_blob (argv[1]);
     bytes2 = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
     else
@@ -21526,7 +23304,15 @@ fnct_CoveredBy (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
@@ -21539,10 +23325,12 @@ fnct_CoveredBy (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     blob1 = (unsigned char *) sqlite3_value_blob (argv[0]);
     bytes1 = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious);
     blob2 = (unsigned char *) sqlite3_value_blob (argv[1]);
     bytes2 = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_int (context, -1);
     else
@@ -21577,7 +23365,15 @@ fnct_LineInterpolatePoint (sqlite3_context * context, int argc,
     double fraction;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -21597,7 +23393,9 @@ fnct_LineInterpolatePoint (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -21615,7 +23413,7 @@ fnct_LineInterpolatePoint (sqlite3_context * context, int argc,
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -21640,7 +23438,15 @@ fnct_LineInterpolateEquidistantPoints (sqlite3_context * context, int argc,
     double distance;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -21660,7 +23466,9 @@ fnct_LineInterpolateEquidistantPoints (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -21679,7 +23487,7 @@ fnct_LineInterpolateEquidistantPoints (sqlite3_context * context, int argc,
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -21706,7 +23514,15 @@ fnct_LineLocatePoint (sqlite3_context * context, int argc,
     double fraction;
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -21719,10 +23535,14 @@ fnct_LineLocatePoint (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo1 == NULL || geo2 == NULL)
 	sqlite3_result_null (context);
     else
@@ -21758,7 +23578,15 @@ fnct_LineSubstring (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double fraction2;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -21790,7 +23618,9 @@ fnct_LineSubstring (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -21808,7 +23638,7 @@ fnct_LineSubstring (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -21830,7 +23660,15 @@ fnct_ClosestPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -21843,10 +23681,14 @@ fnct_ClosestPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo1 == NULL || geo2 == NULL)
 	sqlite3_result_null (context);
     else
@@ -21903,7 +23745,7 @@ fnct_ClosestPoint (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		      gaiaAddPointToGeomColl (pt, x, y);
 		  }
 		pt->Srid = geo1->Srid;
-		gaiaToSpatiaLiteBlobWkb (pt, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (pt, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 		gaiaFreeGeomColl (pt);
@@ -21927,7 +23769,15 @@ fnct_ShortestLine (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -21940,10 +23790,14 @@ fnct_ShortestLine (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo1 == NULL || geo2 == NULL)
 	sqlite3_result_null (context);
     else
@@ -21962,7 +23816,7 @@ fnct_ShortestLine (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo1->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -21988,7 +23842,15 @@ fnct_Snap (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo1 = NULL;
     gaiaGeomCollPtr geo2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -22013,10 +23875,14 @@ fnct_Snap (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo1 == NULL || geo2 == NULL)
 	sqlite3_result_null (context);
     else
@@ -22034,7 +23900,7 @@ fnct_Snap (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo1->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -22058,7 +23924,15 @@ fnct_LineMerge (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -22066,7 +23940,9 @@ fnct_LineMerge (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -22084,7 +23960,7 @@ fnct_LineMerge (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -22105,7 +23981,15 @@ fnct_UnaryUnion (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -22113,7 +23997,9 @@ fnct_UnaryUnion (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -22131,7 +24017,7 @@ fnct_UnaryUnion (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -22162,7 +24048,15 @@ fnct_SquareGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr point = NULL;
     gaiaGeomCollPtr result = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -22207,7 +24101,9 @@ fnct_SquareGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	    }
 	  p_blob = (unsigned char *) sqlite3_value_blob (argv[3]);
 	  n_bytes = sqlite3_value_bytes (argv[3]);
-	  point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+	  point =
+	      gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+					   gpkg_amphibious);
 	  if (!point)
 	    {
 		sqlite3_result_null (context);
@@ -22234,7 +24130,9 @@ fnct_SquareGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -22261,7 +24159,7 @@ fnct_SquareGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -22303,7 +24201,15 @@ fnct_TriangularGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr point = NULL;
     gaiaGeomCollPtr result = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -22348,7 +24254,9 @@ fnct_TriangularGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	    }
 	  p_blob = (unsigned char *) sqlite3_value_blob (argv[3]);
 	  n_bytes = sqlite3_value_bytes (argv[3]);
-	  point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+	  point =
+	      gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+					   gpkg_amphibious);
 	  if (!point)
 	    {
 		sqlite3_result_null (context);
@@ -22375,7 +24283,9 @@ fnct_TriangularGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -22403,7 +24313,7 @@ fnct_TriangularGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -22445,7 +24355,15 @@ fnct_HexagonalGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr point = NULL;
     gaiaGeomCollPtr result = NULL;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -22490,7 +24408,9 @@ fnct_HexagonalGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 	    }
 	  p_blob = (unsigned char *) sqlite3_value_blob (argv[3]);
 	  n_bytes = sqlite3_value_bytes (argv[3]);
-	  point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+	  point =
+	      gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+					   gpkg_amphibious);
 	  if (!point)
 	    {
 		sqlite3_result_null (context);
@@ -22517,7 +24437,9 @@ fnct_HexagonalGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -22544,7 +24466,7 @@ fnct_HexagonalGrid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -22580,7 +24502,15 @@ fnct_LinesCutAtNodes (sqlite3_context * context, int argc,
     gaiaGeomCollPtr geom1 = NULL;
     gaiaGeomCollPtr geom2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -22593,10 +24523,14 @@ fnct_LinesCutAtNodes (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geom2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geom1 == NULL || geom2 == NULL)
       {
 	  if (geom1)
@@ -22617,7 +24551,7 @@ fnct_LinesCutAtNodes (sqlite3_context * context, int argc,
 	  int len;
 	  unsigned char *p_result = NULL;
 	  result->Srid = geom1->Srid;
-	  gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
 	  gaiaFreeGeomColl (result);
       }
@@ -22831,7 +24765,15 @@ fnct_RingsCutAtNodes (sqlite3_context * context, int argc,
     gaiaGeomCollPtr geom1 = NULL;
     gaiaGeomCollPtr geom2 = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -22839,7 +24781,9 @@ fnct_RingsCutAtNodes (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geom == NULL)
       {
 	  sqlite3_result_null (context);
@@ -22890,7 +24834,7 @@ fnct_RingsCutAtNodes (sqlite3_context * context, int argc,
 	  int len;
 	  unsigned char *p_result = NULL;
 	  geom1->Srid = geom->Srid;
-	  gaiaToSpatiaLiteBlobWkb (geom1, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (geom1, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
 	  gaiaFreeGeomColl (geom);
 	  gaiaFreeGeomColl (geom1);
@@ -22907,7 +24851,7 @@ fnct_RingsCutAtNodes (sqlite3_context * context, int argc,
 	  int len;
 	  unsigned char *p_result = NULL;
 	  result->Srid = geom->Srid;
-	  gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+	  gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 	  sqlite3_result_blob (context, p_result, len, free);
 	  gaiaFreeGeomColl (result);
       }
@@ -22938,7 +24882,15 @@ fnct_DelaunayTriangulation (sqlite3_context * context, int argc,
     int int_value;
     double tolerance = 0.0;
     int only_edges = 0;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -22971,7 +24923,9 @@ fnct_DelaunayTriangulation (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -22991,7 +24945,7 @@ fnct_DelaunayTriangulation (sqlite3_context * context, int argc,
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -23022,7 +24976,15 @@ fnct_VoronojDiagram (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double tolerance = 0.0;
     double extra_frame_size = -1.0;
     int only_edges = 0;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23070,7 +25032,9 @@ fnct_VoronojDiagram (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -23092,7 +25056,7 @@ fnct_VoronojDiagram (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -23122,7 +25086,15 @@ fnct_ConcaveHull (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double tolerance = 0.0;
     double factor = 3.0;
     int allow_holes = 0;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23170,7 +25142,9 @@ fnct_ConcaveHull (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -23189,7 +25163,7 @@ fnct_ConcaveHull (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -23252,7 +25226,15 @@ fnct_MakeValid (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23260,7 +25242,9 @@ fnct_MakeValid (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -23285,7 +25269,7 @@ fnct_MakeValid (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -23308,7 +25292,15 @@ fnct_MakeValidDiscarded (sqlite3_context * context, int argc,
     int n_bytes;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23316,7 +25308,9 @@ fnct_MakeValidDiscarded (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -23330,7 +25324,7 @@ fnct_MakeValidDiscarded (sqlite3_context * context, int argc,
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -23353,7 +25347,15 @@ fnct_Segmentize (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double dist;
     gaiaGeomCollPtr geo = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23373,7 +25375,9 @@ fnct_Segmentize (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geo == NULL)
 	sqlite3_result_null (context);
     else
@@ -23387,7 +25391,7 @@ fnct_Segmentize (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = geo->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -23409,7 +25413,15 @@ fnct_Split (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr input = NULL;
     gaiaGeomCollPtr blade = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23422,7 +25434,9 @@ fnct_Split (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    input = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    input =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (input == NULL)
       {
 	  sqlite3_result_null (context);
@@ -23430,7 +25444,9 @@ fnct_Split (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    blade = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    blade =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (blade == NULL)
       {
 	  gaiaFreeGeomColl (input);
@@ -23448,7 +25464,7 @@ fnct_Split (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = input->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -23471,7 +25487,15 @@ fnct_SplitLeft (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr input = NULL;
     gaiaGeomCollPtr blade = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23484,7 +25508,9 @@ fnct_SplitLeft (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    input = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    input =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (input == NULL)
       {
 	  sqlite3_result_null (context);
@@ -23492,7 +25518,9 @@ fnct_SplitLeft (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    blade = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    blade =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (blade == NULL)
       {
 	  gaiaFreeGeomColl (input);
@@ -23510,7 +25538,7 @@ fnct_SplitLeft (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = input->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -23533,7 +25561,15 @@ fnct_SplitRight (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr input = NULL;
     gaiaGeomCollPtr blade = NULL;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23546,7 +25582,9 @@ fnct_SplitRight (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    input = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    input =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (input == NULL)
       {
 	  sqlite3_result_null (context);
@@ -23554,7 +25592,9 @@ fnct_SplitRight (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    blade = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    blade =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (blade == NULL)
       {
 	  gaiaFreeGeomColl (input);
@@ -23572,7 +25612,7 @@ fnct_SplitRight (sqlite3_context * context, int argc, sqlite3_value ** argv)
 		int len;
 		unsigned char *p_result = NULL;
 		result->Srid = input->Srid;
-		gaiaToSpatiaLiteBlobWkb (result, &p_result, &len);
+		gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode);
 		sqlite3_result_blob (context, p_result, len, free);
 		gaiaFreeGeomColl (result);
 	    }
@@ -23615,7 +25655,15 @@ fnct_Azimuth (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double azimuth;
     int srid;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23630,7 +25678,9 @@ fnct_Azimuth (sqlite3_context * context, int argc, sqlite3_value ** argv)
 /* retrieving and validating the first point */
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geom == NULL)
       {
 	  sqlite3_result_null (context);
@@ -23648,7 +25698,9 @@ fnct_Azimuth (sqlite3_context * context, int argc, sqlite3_value ** argv)
 /* retrieving and validating the second point */
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geom == NULL)
       {
 	  sqlite3_result_null (context);
@@ -23706,7 +25758,15 @@ fnct_Project (sqlite3_context * context, int argc, sqlite3_value ** argv)
     double rf;
     int srid;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23740,7 +25800,9 @@ fnct_Project (sqlite3_context * context, int argc, sqlite3_value ** argv)
 /* retrieving and validating the start point */
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geom == NULL)
       {
 	  sqlite3_result_null (context);
@@ -23798,7 +25860,15 @@ fnct_GeoHash (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geom;
     int precision = 0;
     char *geo_hash;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23817,7 +25887,9 @@ fnct_GeoHash (sqlite3_context * context, int argc, sqlite3_value ** argv)
 
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geom == NULL)
       {
 	  sqlite3_result_null (context);
@@ -23895,7 +25967,15 @@ fnct_AsX3D (sqlite3_context * context, int argc, sqlite3_value ** argv)
     char *srs = NULL;
     char *x3d;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23934,7 +26014,9 @@ fnct_AsX3D (sqlite3_context * context, int argc, sqlite3_value ** argv)
 
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geom =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (geom == NULL)
       {
 	  sqlite3_result_null (context);
@@ -23974,7 +26056,15 @@ fnct_3DDistance (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo2 = NULL;
     double dist;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -23987,10 +26077,14 @@ fnct_3DDistance (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_null (context);
     else
@@ -24019,7 +26113,15 @@ fnct_MaxDistance (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo2 = NULL;
     double dist;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -24032,10 +26134,14 @@ fnct_MaxDistance (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_null (context);
     else
@@ -24064,7 +26170,15 @@ fnct_3DMaxDistance (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaGeomCollPtr geo2 = NULL;
     double dist;
     int ret;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -24077,10 +26191,14 @@ fnct_3DMaxDistance (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     p_blob = (unsigned char *) sqlite3_value_blob (argv[1]);
     n_bytes = sqlite3_value_bytes (argv[1]);
-    geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo2 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo1 || !geo2)
 	sqlite3_result_null (context);
     else
@@ -24108,7 +26226,15 @@ fnct_Node (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int n_bytes;
     gaiaGeomCollPtr input;
     gaiaGeomCollPtr result;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -24118,7 +26244,9 @@ fnct_Node (sqlite3_context * context, int argc, sqlite3_value ** argv)
 /* retrieving the input geometry */
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    input = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    input =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (input == NULL)
       {
 	  sqlite3_result_null (context);
@@ -24128,7 +26256,7 @@ fnct_Node (sqlite3_context * context, int argc, sqlite3_value ** argv)
     result = gaiaNodeLines (input);
     if (result != NULL)
       {
-	  gaiaToSpatiaLiteBlobWkb (result, &p_blob, &n_bytes);
+	  gaiaToSpatiaLiteBlobWkbEx (result, &p_blob, &n_bytes, gpkg_mode);
 	  sqlite3_result_blob (context, p_blob, n_bytes, free);
 	  gaiaFreeGeomColl (result);
       }
@@ -24357,7 +26485,15 @@ fnct_SelfIntersections (sqlite3_context * context, int argc,
     gaiaGeomCollPtr result;
     gaiaGeomCollPtr nodes_in;
     gaiaGeomCollPtr nodes_out;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -24367,7 +26503,9 @@ fnct_SelfIntersections (sqlite3_context * context, int argc,
 /* retrieving the input geometry */
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    input = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    input =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (input == NULL)
       {
 	  sqlite3_result_null (context);
@@ -24397,7 +26535,7 @@ fnct_SelfIntersections (sqlite3_context * context, int argc,
     if (result != NULL)
       {
 	  result->DeclaredType = GAIA_MULTIPOINT;
-	  gaiaToSpatiaLiteBlobWkb (result, &p_blob, &n_bytes);
+	  gaiaToSpatiaLiteBlobWkbEx (result, &p_blob, &n_bytes, gpkg_mode);
 	  sqlite3_result_blob (context, p_blob, n_bytes, free);
 	  gaiaFreeGeomColl (result);
       }
@@ -25102,6 +27240,186 @@ fnct_MD5TotalChecksum_final (sqlite3_context * context)
 	sqlite3_result_text (context, checksum, strlen (checksum), free);
 }
 
+static void
+fnct_EncodeURL (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ EncodeURL(text)
+/
+/ returns a TEXT value containing the percent-encoded URL
+/      or
+/ NULL on invalid arguments
+*/
+    const char *url;
+    char *encoded;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	url = (const char *) sqlite3_value_text (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+/* encoding the URL */
+    encoded = gaiaEncodeURL (url);
+    if (encoded == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, encoded, strlen (encoded), free);
+}
+
+static void
+fnct_DecodeURL (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ DecodeURL(text)
+/
+/ returns a TEXT value containing the URL cleaned from percent-encoding
+/      or
+/ NULL on invalid arguments
+*/
+    char *url;
+    const char *encoded;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	encoded = (const char *) sqlite3_value_text (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+/* decoding the URL */
+    url = gaiaDecodeURL (encoded);
+    if (url == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, url, strlen (url), free);
+}
+
+static void
+fnct_DirNameFromPath (sqlite3_context * context, int argc,
+		      sqlite3_value ** argv)
+{
+/* SQL function:
+/ DirNameFromPath(text)
+/
+/ returns a TEXT value containing the Directory Name from a Path
+/      or
+/ NULL on invalid arguments
+*/
+    char *dir;
+    const char *path;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	path = (const char *) sqlite3_value_text (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+/* breaking the Path */
+    dir = gaiaDirNameFromPath (path);
+    if (dir == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, dir, strlen (dir), free);
+}
+
+static void
+fnct_FullFileNameFromPath (sqlite3_context * context, int argc,
+			   sqlite3_value ** argv)
+{
+/* SQL function:
+/ FullFileNameFromPath(text)
+/
+/ returns a TEXT value containing the Full FileName (including extension)
+/ from a Path
+/      or
+/ NULL on invalid arguments
+*/
+    char *name;
+    const char *path;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	path = (const char *) sqlite3_value_text (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+/* breaking the Path */
+    name = gaiaFullFileNameFromPath (path);
+    if (name == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, name, strlen (name), free);
+}
+
+static void
+fnct_FileNameFromPath (sqlite3_context * context, int argc,
+		       sqlite3_value ** argv)
+{
+/* SQL function:
+/ FileNameFromPath(text)
+/
+/ returns a TEXT value containing the FileName (excluding extension)
+/ from a Path
+/      or
+/ NULL on invalid arguments
+*/
+    char *name;
+    const char *path;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	path = (const char *) sqlite3_value_text (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+/* breaking the Path */
+    name = gaiaFileNameFromPath (path);
+    if (name == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, name, strlen (name), free);
+}
+
+static void
+fnct_FileExtFromPath (sqlite3_context * context, int argc,
+		      sqlite3_value ** argv)
+{
+/* SQL function:
+/ FileExtFromPath(text)
+/
+/ returns a TEXT value containing the Extension (if any) from a Path
+/      or
+/ NULL on invalid arguments
+*/
+    char *ext;
+    const char *path;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	path = (const char *) sqlite3_value_text (argv[0]);
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+/* breaking the Path */
+    ext = gaiaFileExtFromPath (path);
+    if (ext == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, ext, strlen (ext), free);
+}
+
 #ifndef OMIT_MATHSQL		/* supporting SQL math functions */
 
 static int
@@ -25220,6 +27538,50 @@ fnct_math_atan (sqlite3_context * context, int argc, sqlite3_value ** argv)
 }
 
 static void
+fnct_math_atan2 (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ atan2(double Y, double X)
+/
+/ Returns  the principal value of the arc tangent of Y/X, using
+/ the signs of the two arguments to determine the quadrant of 
+/ the result.
+/ or NULL if any error is encountered
+*/
+    int int_value;
+    double x;
+    double y;
+    double t;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT)
+	x = sqlite3_value_double (argv[0]);
+    else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+      {
+	  int_value = sqlite3_value_int (argv[0]);
+	  y = int_value;
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	y = sqlite3_value_double (argv[1]);
+    else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+      {
+	  int_value = sqlite3_value_int (argv[1]);
+	  x = int_value;
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    t = atan2 (y, x);
+    sqlite3_result_double (context, t);
+}
+
+static void
 fnct_math_ceil (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
@@ -25903,7 +28265,11 @@ fnct_GeomFromExifGpsBlob (sqlite3_context * context, int argc,
     int geosize;
     double longitude;
     double latitude;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+	gpkg_mode = cache->gpkg_mode;
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -25916,7 +28282,7 @@ fnct_GeomFromExifGpsBlob (sqlite3_context * context, int argc,
 	  geom = gaiaAllocGeomColl ();
 	  geom->Srid = 4326;
 	  gaiaAddPointToGeomColl (geom, longitude, latitude);
-	  gaiaToSpatiaLiteBlobWkb (geom, &geoblob, &geosize);
+	  gaiaToSpatiaLiteBlobWkbEx (geom, &geoblob, &geosize, gpkg_mode);
 	  gaiaFreeGeomColl (geom);
 	  sqlite3_result_blob (context, geoblob, geosize, free);
       }
@@ -26340,7 +28706,7 @@ load_dxf (sqlite3 * db_handle, struct splite_internal_cache *cache,
 	  spatialite_e ("Unable to parse: %s\n", filename);
 	  goto stop_dxf;
       }
-    spatialite_e ("\n*** DXF file succesfully loaded\n");
+    spatialite_e ("\n*** DXF file successfully loaded\n");
     ret = 1;
 
   stop_dxf:
@@ -26701,7 +29067,15 @@ fnct_ExportDXF (sqlite3_context * context, int argc, sqlite3_value ** argv)
     int precision = 3;
     int ret = 1;
     sqlite3 *db_handle = sqlite3_context_db_handle (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
 	dir_path = (const char *) sqlite3_value_text (argv[0]);
     if (sqlite3_value_type (argv[1]) == SQLITE_TEXT)
@@ -26722,7 +29096,9 @@ fnct_ExportDXF (sqlite3_context * context, int argc, sqlite3_value ** argv)
       {
 	  p_blob = (unsigned char *) sqlite3_value_blob (argv[8]);
 	  n_bytes = sqlite3_value_bytes (argv[8]);
-	  geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+	  geom =
+	      gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+					   gpkg_amphibious);
       }
     if (argc == 10)
       {
@@ -26800,12 +29176,14 @@ fnct_RemoveDuplicateRows (sqlite3_context * context, int argc,
 {
 /* SQL function:
 / RemoveDuplicateRows(TEXT table)
+/ RemoveDuplicateRows(TEXT table, BOOL transaction)
 /
 / returns:
 / the number of duplicate rows removed
 / NULL on invalid arguments
 */
     char *table;
+    int transaction = 1;
     int rows;
     sqlite3 *db_handle = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
@@ -26815,8 +29193,17 @@ fnct_RemoveDuplicateRows (sqlite3_context * context, int argc,
 	  return;
       }
     table = (char *) sqlite3_value_text (argv[0]);
+    if (argc == 2)
+      {
+	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  transaction = sqlite3_value_int (argv[1]);
+      }
 
-    remove_duplicated_rows_ex (db_handle, table, &rows);
+    remove_duplicated_rows_ex2 (db_handle, table, &rows, transaction);
 
     if (rows < 0)
 	sqlite3_result_null (context);
@@ -26831,6 +29218,8 @@ fnct_ElementaryGeometries (sqlite3_context * context, int argc,
 /* SQL function:
 / ElementaryGeometries(TEXT input_table, TEXT geo_column, TEXT out_table,
 /                      TEXT out_pk, TEXT out_multi_id)
+/ ElementaryGeometries(TEXT input_table, TEXT geo_column, TEXT out_table,
+/                      TEXT out_pk, TEXT out_multi_id, BOOL transaction)
 /
 / returns:
 / the number of inserted rows
@@ -26842,6 +29231,7 @@ fnct_ElementaryGeometries (sqlite3_context * context, int argc,
     char *out_pk;
     char *out_multi_id;
     int rows;
+    int transaction = 1;
     sqlite3 *db_handle = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
@@ -26874,9 +29264,18 @@ fnct_ElementaryGeometries (sqlite3_context * context, int argc,
 	  return;
       }
     out_multi_id = (char *) sqlite3_value_text (argv[4]);
+    if (argc == 6)
+      {
+	  if (sqlite3_value_type (argv[5]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  transaction = sqlite3_value_int (argv[5]);
+      }
 
-    elementary_geometries_ex (db_handle, in_table, geo_column, out_table,
-			      out_pk, out_multi_id, &rows);
+    elementary_geometries_ex2 (db_handle, in_table, geo_column, out_table,
+			       out_pk, out_multi_id, &rows, transaction);
 
     if (rows <= 0)
 	sqlite3_result_null (context);
@@ -26889,7 +29288,9 @@ fnct_DropGeoTable (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
 / DropGeoTable(TEXT table)
+/ DropGeoTable(TEXT table, BOOL transaction)
 / DropGeoTable(TEXT db_prefix, TEXT table)
+/ DropGeoTable(TEXT db_prefix, TEXT table, BOOL transaction)
 /
 / returns:
 / 1 on success, 0 on failure
@@ -26897,37 +29298,52 @@ fnct_DropGeoTable (sqlite3_context * context, int argc, sqlite3_value ** argv)
 */
     char *db_prefix = "main";
     char *table;
+    int transaction = 1;
     int ret;
     int cnt;
     sqlite3 *db_handle = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (argc > 1)
+    if (argc == 1)
       {
 	  if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
 	    {
 		sqlite3_result_null (context);
 		return;
 	    }
-	  db_prefix = (char *) sqlite3_value_text (argv[0]);
-	  if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+	  table = (char *) sqlite3_value_text (argv[0]);
+      }
+    else if (argc >= 2)
+      {
+	  if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
+	      && sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		table = (char *) sqlite3_value_text (argv[0]);
+		transaction = sqlite3_value_int (argv[1]);
+	    }
+	  else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
+		   && sqlite3_value_type (argv[1]) == SQLITE_TEXT)
+	    {
+		db_prefix = (char *) sqlite3_value_text (argv[0]);
+		table = (char *) sqlite3_value_text (argv[1]);
+	    }
+	  else
 	    {
 		sqlite3_result_null (context);
 		return;
 	    }
-	  table = (char *) sqlite3_value_text (argv[1]);
       }
-    else
+    if (argc == 3)
       {
-	  if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+	  if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER)
 	    {
 		sqlite3_result_null (context);
 		return;
 	    }
-	  table = (char *) sqlite3_value_text (argv[0]);
+	  transaction = sqlite3_value_int (argv[2]);
       }
 
     cnt = sqlite3_total_changes (db_handle);
-    ret = gaiaDropTableEx (db_handle, db_prefix, table);
+    ret = gaiaDropTableEx2 (db_handle, db_prefix, table, transaction);
     if (ret)
       {
 	  if (sqlite3_total_changes (db_handle) <= cnt)
@@ -27657,7 +30073,12 @@ fnct_CountUnsafeTriggers (sqlite3_context * context, int argc,
     sql = "SELECT Count(*) FROM sqlite_master WHERE "
 	"type IN ('trigger', 'view') AND (sql LIKE '%BlobFromFile%' "
 	"OR sql LIKE '%BlobToFile%' OR sql LIKE '%XB_LoadXML%' "
-	"OR sql LIKE '%XB_StoreXML%')";
+	"OR sql LIKE '%XB_StoreXML%' OR sql LIKE '%ImportDXF%' "
+	"OR sql LIKE '%ExportDXF%' OR sql LIKE '%ImportDBF%' "
+	"OR sql LIKE '%ExportDBF%' OR sql LIKE '%ImportSHP%' "
+	"OR sql LIKE '%ExportSHP%' OR sql LIKE '%ExportKML%' "
+	"OR sql LIKE '%ExportGeoJSON%' OR sql LIKE '%eval%' "
+	"OR sql LIKE '%ImportWFS%' OR sql LIKE '%ImportXLS%')";
     ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL);
     if (ret != SQLITE_OK)
 	goto unknown;
@@ -27697,7 +30118,15 @@ fnct_GeodesicLength (sqlite3_context * context, int argc, sqlite3_value ** argv)
     gaiaRingPtr ring;
     int ib;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -27705,7 +30134,9 @@ fnct_GeodesicLength (sqlite3_context * context, int argc, sqlite3_value ** argv)
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -27799,7 +30230,15 @@ fnct_GreatCircleLength (sqlite3_context * context, int argc,
     gaiaRingPtr ring;
     int ib;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
@@ -27807,7 +30246,9 @@ fnct_GreatCircleLength (sqlite3_context * context, int argc,
       }
     p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes);
+    geo =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode,
+				     gpkg_amphibious);
     if (!geo)
 	sqlite3_result_null (context);
     else
@@ -28247,15 +30688,18 @@ fnct_CreateStylingTables (sqlite3_context * context, int argc,
 / CreateStylingTables()
 /  or
 / CreateStylingTables(bool relaxed)
+/  or
+/ CreateStylingTables(bool relaxed, bool transaction)
 /
 / creates any SLD/SE related table 
 / returns 1 on success
 / 0 on failure, -1 on invalid arguments
 */
     int relaxed = 0;
+    int transaction = 0;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (argc == 1)
+    if (argc >= 1)
       {
 	  if (sqlite3_value_type (argv[0]) != SQLITE_INTEGER)
 	    {
@@ -28264,8 +30708,17 @@ fnct_CreateStylingTables (sqlite3_context * context, int argc,
 	    }
 	  relaxed = sqlite3_value_int (argv[0]);
       }
+    if (argc >= 2)
+      {
+	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_int (context, -1);
+		return;
+	    }
+	  transaction = sqlite3_value_int (argv[1]);
+      }
 
-    if (!createStylingTables (sqlite, relaxed))
+    if (!createStylingTables_ex (sqlite, relaxed, transaction))
 	goto error;
     updateSpatiaLiteHistory (sqlite, "*** SE Styling ***", NULL,
 			     "Styling tables successfully created");
@@ -28284,7 +30737,8 @@ fnct_RegisterExternalGraphic (sqlite3_context * context, int argc,
 /* SQL function:
 / RegisterExternalGraphic(String xlink_href, BLOB resource)
 /  or
-/ RegisterExternalGraphic(String xlink_href, BLOB resource, String file_name)
+/ RegisterExternalGraphic(String xlink_href, BLOB resource, string title,
+/						  String abstract, String file_name)
 /
 / insert or updates an External Graphic 
 / returns 1 on success
@@ -28343,26 +30797,18 @@ fnct_RegisterExternalGraphic (sqlite3_context * context, int argc,
 }
 
 static void
-fnct_RegisterVectorStyledLayer (sqlite3_context * context, int argc,
+fnct_UnregisterExternalGraphic (sqlite3_context * context, int argc,
 				sqlite3_value ** argv)
 {
 /* SQL function:
-/ RegisterVectorStyledLayer(String f_table_name, String f_geometry_column, 
-/			BLOB style)
-/  or
-/ RegisterVectorStyledLayer(String f_table_name, String f_geometry_column, 
-/			Integer style_id, BLOB style)
+/ UnregisterExternalGraphic(String xlink_href)
 /
-/ inserts or updates a Vector Styled Layer 
+/ removes an External Graphic 
 / returns 1 on success
 / 0 on failure, -1 on invalid arguments
 */
     int ret;
-    const char *f_geometry_column;
-    const char *f_table_name;
-    int style_id = -1;
-    const unsigned char *p_blob;
-    int n_bytes;
+    const char *xlink_href;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
@@ -28370,363 +30816,451 @@ fnct_RegisterVectorStyledLayer (sqlite3_context * context, int argc,
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+    xlink_href = (const char *) sqlite3_value_text (argv[0]);
+    ret = unregister_external_graphic (sqlite, xlink_href);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_RegisterVectorCoverage (sqlite3_context * context, int argc,
+			     sqlite3_value ** argv)
+{
+/* SQL function:
+/ RegisterVectorCoverage(Text coverage_name, Text f_table_name,
+*                        Text f_geometry_column)
+/   or
+/ RegisterVectorCoverage(Text coverage_name, Text f_table_name,
+/                        Text f_geometry_column, Text title,
+/                        Text abstract)
+/
+/ inserts a Vector Coverage
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    const char *coverage_name;
+    const char *f_table_name;
+    const char *f_geometry_column;
+    const char *title = NULL;
+    const char *abstract = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[1]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[2]) != SQLITE_TEXT)
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    if (argc == 4)
-      {
-	  /* optional extra args */
-	  if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER)
-	    {
-		sqlite3_result_int (context, -1);
-		return;
-	    }
-	  if (sqlite3_value_type (argv[3]) != SQLITE_BLOB)
-	    {
-		sqlite3_result_int (context, -1);
-		return;
-	    }
-      }
-    else
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    f_table_name = (const char *) sqlite3_value_text (argv[1]);
+    f_geometry_column = (const char *) sqlite3_value_text (argv[2]);
+    if (argc >= 5)
       {
-	  /* no extra-args */
-	  if (sqlite3_value_type (argv[2]) != SQLITE_BLOB)
+	  if (sqlite3_value_type (argv[3]) != SQLITE_TEXT
+	      || sqlite3_value_type (argv[4]) != SQLITE_TEXT)
 	    {
 		sqlite3_result_int (context, -1);
 		return;
 	    }
+	  title = (const char *) sqlite3_value_text (argv[3]);
+	  abstract = (const char *) sqlite3_value_text (argv[4]);
       }
-    f_table_name = (const char *) sqlite3_value_text (argv[0]);
-    f_geometry_column = (const char *) sqlite3_value_text (argv[1]);
-    if (argc == 4)
-      {
-	  style_id = sqlite3_value_int (argv[2]);
-	  p_blob = sqlite3_value_blob (argv[3]);
-	  n_bytes = sqlite3_value_bytes (argv[3]);
-      }
-    else
+    ret =
+	register_vector_coverage (sqlite, coverage_name, f_table_name,
+				  f_geometry_column, title, abstract);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_UnregisterVectorCoverage (sqlite3_context * context, int argc,
+			       sqlite3_value ** argv)
+{
+/* SQL function:
+/ UnRegisterVectorCoverage(Text coverage_name)
+/
+/ deletes a Vector Coverage
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    const char *coverage_name;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
-	  p_blob = sqlite3_value_blob (argv[2]);
-	  n_bytes = sqlite3_value_bytes (argv[2]);
+	  sqlite3_result_int (context, -1);
+	  return;
       }
-    ret = register_vector_styled_layer (sqlite, f_table_name,
-					f_geometry_column, style_id, p_blob,
-					n_bytes);
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    ret = unregister_vector_coverage (sqlite, coverage_name);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_RegisterRasterStyledLayer (sqlite3_context * context, int argc,
-				sqlite3_value ** argv)
+fnct_SetVectorCoverageInfos (sqlite3_context * context, int argc,
+			     sqlite3_value ** argv)
 {
 /* SQL function:
-/ RegisterRasterStyledLayer(String coverage_name, BLOB style)
-/  or
-/ RegisterRasterStyledLayer(String coverage_name, Integer style_id,
-/			BLOB style)
+/ SetVectorCoverageInfos(Text coverage_name, Text title,
+/                        Text abstract)
 /
-/ inserts or updates a Raster Styled Layer 
+/ updates the descriptive infos supporting a Vector Coverage
 / returns 1 on success
 / 0 on failure, -1 on invalid arguments
 */
     int ret;
     const char *coverage_name;
-    int style_id = -1;
-    const unsigned char *p_blob;
-    int n_bytes;
+    const char *title = NULL;
+    const char *abstract = NULL;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[1]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[2]) != SQLITE_TEXT)
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    if (argc == 3)
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    title = (const char *) sqlite3_value_text (argv[1]);
+    abstract = (const char *) sqlite3_value_text (argv[2]);
+    ret = set_vector_coverage_infos (sqlite, coverage_name, title, abstract);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_RegisterVectorCoverageSrid (sqlite3_context * context, int argc,
+				 sqlite3_value ** argv)
+{
+/* SQL function:
+/ RegisterVectorCoverageSrid(Text coverage_name, Integer srid)
+/
+/ inserts a Vector Coverage alternative SRID
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    const char *coverage_name;
+    int srid;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
       {
-	  /* optional extra args */
-	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
-	    {
-		sqlite3_result_int (context, -1);
-		return;
-	    }
-	  if (sqlite3_value_type (argv[2]) != SQLITE_BLOB)
-	    {
-		sqlite3_result_int (context, -1);
-		return;
-	    }
+	  sqlite3_result_int (context, -1);
+	  return;
       }
-    else
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    srid = sqlite3_value_int (argv[1]);
+    ret = register_vector_coverage_srid (sqlite, coverage_name, srid);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_UnregisterVectorCoverageSrid (sqlite3_context * context, int argc,
+				   sqlite3_value ** argv)
+{
+/* SQL function:
+/ UnRegisterVectorCoverageSrid(Text coverage_name, Integer srid)
+/
+/ deletes a Vector Coverage alternative SRID
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    const char *coverage_name;
+    int srid;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
       {
-	  /* no extra-args */
-	  if (sqlite3_value_type (argv[1]) != SQLITE_BLOB)
-	    {
-		sqlite3_result_int (context, -1);
-		return;
-	    }
+	  sqlite3_result_int (context, -1);
+	  return;
       }
     coverage_name = (const char *) sqlite3_value_text (argv[0]);
-    if (argc == 3)
+    srid = sqlite3_value_int (argv[1]);
+    ret = unregister_vector_coverage_srid (sqlite, coverage_name, srid);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_RegisterVectorCoverageKeyword (sqlite3_context * context, int argc,
+				    sqlite3_value ** argv)
+{
+/* SQL function:
+/ RegisterVectorCoverageKeyword(Text coverage_name, Text keyword)
+/
+/ inserts a Vector Coverage Keyword
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    const char *coverage_name;
+    const char *keyword;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[1]) != SQLITE_TEXT)
       {
-	  style_id = sqlite3_value_int (argv[1]);
-	  p_blob = sqlite3_value_blob (argv[2]);
-	  n_bytes = sqlite3_value_bytes (argv[2]);
+	  sqlite3_result_int (context, -1);
+	  return;
       }
-    else
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    keyword = (const char *) sqlite3_value_text (argv[1]);
+    ret = register_vector_coverage_keyword (sqlite, coverage_name, keyword);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_UnregisterVectorCoverageKeyword (sqlite3_context * context, int argc,
+				      sqlite3_value ** argv)
+{
+/* SQL function:
+/ UnRegisterVectorCoverageSrid(Text coverage_name, Text keyword)
+/
+/ deletes a Vector Coverage Keyword
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    const char *coverage_name;
+    const char *keyword;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[1]) != SQLITE_TEXT)
       {
-	  p_blob = sqlite3_value_blob (argv[1]);
-	  n_bytes = sqlite3_value_bytes (argv[1]);
+	  sqlite3_result_int (context, -1);
+	  return;
       }
-    ret = register_raster_styled_layer (sqlite, coverage_name, style_id,
-					p_blob, n_bytes);
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    keyword = (const char *) sqlite3_value_text (argv[1]);
+    ret = unregister_vector_coverage_keyword (sqlite, coverage_name, keyword);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_RegisterStyledGroup (sqlite3_context * context, int argc,
-			  sqlite3_value ** argv)
+fnct_UpdateVectorCoverageExtent (sqlite3_context * context, int argc,
+				 sqlite3_value ** argv)
 {
 /* SQL function:
-/ RegisterStyledGroup(String group_name, String coverage_name
-/                     [, Integer paint_order ] )
-/  or
-/ RegisterStyledGroup(String group_name, String f_table_name,
-/		      String f_geometry_column
-/		      [, Integer paint_order ] )
+/ UpdateVectorCoverageExtent()
+/   or
+/ UpdateVectorCoverageExtent(Integer transaction)
+/   or
+/ UpdateVectorCoverageExtent(Text coverage_name)
+/   or
+/ UpdateVectorCoverageExtent(Text coverage_name, int transaction)
 /
-/ inserts or updates a Styled Group item 
+/ updates Vector Coverage Extents
 / returns 1 on success
 / 0 on failure, -1 on invalid arguments
 */
     int ret;
-    const char *group_name = NULL;
-    const char *f_table_name = NULL;
-    const char *f_geometry_column = NULL;
     const char *coverage_name = NULL;
-    int paint_order = -1;
+    int transaction = 0;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (argc == 2)
+    if (argc >= 1)
       {
-	  /* raster layer - default */
-	  if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
-	      && sqlite3_value_type (argv[1]) == SQLITE_TEXT)
-	    {
-		group_name = (const char *) sqlite3_value_text (argv[0]);
-		coverage_name = (const char *) sqlite3_value_text (argv[1]);
-	    }
+	  if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	      coverage_name = (const char *) sqlite3_value_text (argv[0]);
+	  else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	      transaction = sqlite3_value_int (argv[0]);
 	  else
 	    {
 		sqlite3_result_int (context, -1);
 		return;
 	    }
       }
-    else if (argc == 3)
+    if (argc >= 2)
       {
-	  if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
-	      && sqlite3_value_type (argv[1]) == SQLITE_TEXT
-	      && sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
-	    {
-		/* raster layer - paint_order */
-		group_name = (const char *) sqlite3_value_text (argv[0]);
-		coverage_name = (const char *) sqlite3_value_text (argv[1]);
-		paint_order = sqlite3_value_int (argv[2]);
-	    }
-	  else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
-		   && sqlite3_value_type (argv[1]) == SQLITE_TEXT
-		   && sqlite3_value_type (argv[2]) == SQLITE_TEXT)
-	    {
-		/* vector layer - default */
-		group_name = (const char *) sqlite3_value_text (argv[0]);
-		f_table_name = (const char *) sqlite3_value_text (argv[1]);
-		f_geometry_column = (const char *) sqlite3_value_text (argv[2]);
-	    }
-	  else
+	  if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
 	    {
 		sqlite3_result_int (context, -1);
 		return;
 	    }
-      }
-    else if (argc == 4)
-      {
-	  /* vector layer - paint_order */
-	  if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
-	      && sqlite3_value_type (argv[1]) == SQLITE_TEXT
-	      && sqlite3_value_type (argv[2]) == SQLITE_TEXT
-	      && sqlite3_value_type (argv[3]) == SQLITE_INTEGER)
-	    {
-		group_name = (const char *) sqlite3_value_text (argv[0]);
-		f_table_name = (const char *) sqlite3_value_text (argv[1]);
-		f_geometry_column = (const char *) sqlite3_value_text (argv[2]);
-		paint_order = sqlite3_value_int (argv[3]);
-	    }
-	  else
+	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
 	    {
 		sqlite3_result_int (context, -1);
 		return;
 	    }
+	  coverage_name = (const char *) sqlite3_value_text (argv[0]);
+	  transaction = sqlite3_value_int (argv[1]);
       }
-    ret = register_styled_group (sqlite, group_name, f_table_name,
-				 f_geometry_column, coverage_name, paint_order);
+    ret =
+	update_vector_coverage_extent (sqlite, cache, coverage_name,
+				       transaction);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_SetStyledGroupInfos (sqlite3_context * context, int argc,
+fnct_RegisterVectorStyle (sqlite3_context * context, int argc,
 			  sqlite3_value ** argv)
 {
 /* SQL function:
-/ SetStyledGroupInfos(String group_name, String title, 
-/		      String abstract)
+/ RegisterVectorStyle(BLOB style)
 /
-/ inserts or updates the descriptive infos supporting a Styled Group 
+/ inserts a Vector Style 
 / returns 1 on success
 / 0 on failure, -1 on invalid arguments
 */
     int ret;
-    const char *group_name;
-    const char *title = NULL;
-    const char *abstract = NULL;
+    const unsigned char *p_blob;
+    int n_bytes;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
-      {
-	  sqlite3_result_int (context, -1);
-	  return;
-      }
-    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
-      {
-	  sqlite3_result_int (context, -1);
-	  return;
-      }
-    if (sqlite3_value_type (argv[2]) != SQLITE_TEXT)
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    group_name = (const char *) sqlite3_value_text (argv[0]);
-    title = (const char *) sqlite3_value_text (argv[1]);
-    abstract = (const char *) sqlite3_value_text (argv[2]);
-    ret = styled_group_set_infos (sqlite, group_name, title, abstract);
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = register_vector_style (sqlite, p_blob, n_bytes);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_RegisterGroupStyle (sqlite3_context * context, int argc,
-			 sqlite3_value ** argv)
+fnct_UnRegisterVectorStyle (sqlite3_context * context, int argc,
+			    sqlite3_value ** argv)
 {
 /* SQL function:
-/ RegisterGroupStyle(String group_name, BLOB style)
+/ UnRegisterVectorStyle(Integer style_id [ , Integer removeAll] )
 /  or
-/ RegisterGroupStyle(String group_name, Integer style_id,
-/                    BLOB style)
+/ UnRegisterVectorStyle(Text style_name [ , Integer removeAll] )
 /
-/ inserts or updates a Group Style 
+/ removes a Vector Style definition
 / returns 1 on success
 / 0 on failure, -1 on invalid arguments
 */
     int ret;
-    const char *group_name;
     int style_id = -1;
-    const unsigned char *p_blob;
-    int n_bytes;
+    const char *style_name = NULL;
+    int remove_all = 0;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[0]);
+    else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[0]);
+    else
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    if (argc == 3)
+    if (argc >= 2)
       {
-	  /* optional extra args */
 	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
 	    {
 		sqlite3_result_int (context, -1);
 		return;
 	    }
-	  if (sqlite3_value_type (argv[2]) != SQLITE_BLOB)
-	    {
-		sqlite3_result_int (context, -1);
-		return;
-	    }
+	  remove_all = sqlite3_value_int (argv[1]);
       }
+    ret = unregister_vector_style (sqlite, style_id, style_name, remove_all);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_ReloadVectorStyle (sqlite3_context * context, int argc,
+			sqlite3_value ** argv)
+{
+/* SQL function:
+/ ReloadVectorStyle(Integer style_id, BLOB style)
+/    or
+/ ReloadVectorStyle(Text style_name, BLOB style)
+/
+/ updates a Vector Style 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    int style_id = -1;
+    const char *style_name = NULL;
+    const unsigned char *p_blob;
+    int n_bytes;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[0]);
+    else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[0]);
     else
       {
-	  /* no extra-args */
-	  if (sqlite3_value_type (argv[1]) != SQLITE_BLOB)
-	    {
-		sqlite3_result_int (context, -1);
-		return;
-	    }
-      }
-    group_name = (const char *) sqlite3_value_text (argv[0]);
-    if (argc == 3)
-      {
-	  style_id = sqlite3_value_int (argv[1]);
-	  p_blob = sqlite3_value_blob (argv[2]);
-	  n_bytes = sqlite3_value_bytes (argv[2]);
+	  sqlite3_result_int (context, -1);
+	  return;
       }
-    else
+    if (sqlite3_value_type (argv[1]) != SQLITE_BLOB)
       {
-	  p_blob = sqlite3_value_blob (argv[1]);
-	  n_bytes = sqlite3_value_bytes (argv[1]);
+	  sqlite3_result_int (context, -1);
+	  return;
       }
-    ret = register_group_style (sqlite, group_name, style_id, p_blob, n_bytes);
+    p_blob = sqlite3_value_blob (argv[1]);
+    n_bytes = sqlite3_value_bytes (argv[1]);
+    ret = reload_vector_style (sqlite, style_id, style_name, p_blob, n_bytes);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_CreateIsoMetadataTables (sqlite3_context * context, int argc,
-			      sqlite3_value ** argv)
+fnct_RegisterVectorStyledLayer (sqlite3_context * context, int argc,
+				sqlite3_value ** argv)
 {
 /* SQL function:
-/ CreateIsoMetadataTables()
+/ RegisterVectorStyledLayer(String coverage_name, Integer style_id)
 /  or
-/ CreateIsoMetadataTables(bool relaxed)
+/ RegisterVectorStyledLayer(String coverage_name, Text style_name)
 /
-/ creates any ISO Metadata related table 
+/ inserts a Vector Styled Layer 
 / returns 1 on success
 / 0 on failure, -1 on invalid arguments
 */
-    int relaxed = 0;
+    int ret;
+    const char *coverage_name;
+    int style_id = -1;
+    const char *style_name = NULL;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (argc == 1)
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
-	  if (sqlite3_value_type (argv[0]) != SQLITE_INTEGER)
-	    {
-		sqlite3_result_int (context, -1);
-		return;
-	    }
-	  relaxed = sqlite3_value_int (argv[0]);
+	  sqlite3_result_int (context, -1);
+	  return;
       }
-
-    if (!createIsoMetadataTables (sqlite, relaxed))
-	goto error;
-    updateSpatiaLiteHistory (sqlite, "*** ISO Metadata ***", NULL,
-			     "ISO Metadata tables successfully created");
-    sqlite3_result_int (context, 1);
-    return;
-
-  error:
-    sqlite3_result_int (context, 0);
-    return;
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[1]);
+    else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[1]);
+    else
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    ret = register_vector_styled_layer_ex (sqlite, coverage_name, style_id,
+					   style_name);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_GetIsoMetadataId (sqlite3_context * context, int argc,
-		       sqlite3_value ** argv)
+fnct_UnRegisterVectorStyledLayer (sqlite3_context * context, int argc,
+				  sqlite3_value ** argv)
 {
 /* SQL function:
-/ GetIsoMetadataId(String fileIdentifier)
+/ UnRegisterVectorStyledLayer(String coverage_name,	Integer style_id)
+/  or
+/ UnRegisterVectorStyledLayer(String coverage_name,	Text style_name)
 /
-/ return the ID of the row corresponding to "fileIdentifier"
-/ 0 on failure / -1 on invalid argument
+/ removes a Vector Styled Layer definition
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    const char *fileIdentifier;
-    sqlite3_int64 id;
+    int ret;
+    const char *coverage_name;
+    int style_id = -1;
+    const char *style_name = NULL;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
@@ -28734,1323 +31268,4271 @@ fnct_GetIsoMetadataId (sqlite3_context * context, int argc,
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    fileIdentifier = (const char *) sqlite3_value_text (argv[0]);
-    if (!get_iso_metadata_id (sqlite, fileIdentifier, &id))
-	sqlite3_result_int (context, 0);
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[1]);
+    else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[1]);
     else
-	sqlite3_result_int64 (context, id);
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    ret = unregister_vector_styled_layer (sqlite, coverage_name, style_id,
+					  style_name);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_RegisterIsoMetadata (sqlite3_context * context, int argc,
+fnct_RegisterRasterStyle (sqlite3_context * context, int argc,
 			  sqlite3_value ** argv)
 {
 /* SQL function:
-/ RegisterIsoMetadata(String scope, BLOB metadata)
-/  or
-/ RegisterIsoMetadata(String scope, BLOB metadata, 
-/			Integer id)
-/  or
-/ RegisterIsoMetadata(String scope, BLOB metadata, 
-/			String fileIdentifier)
+/ RegisterRasterStyle(BLOB style)
 /
-/ insert or updates a Raster Styled Layer 
+/ inserts a Raster Style 
 / returns 1 on success
 / 0 on failure, -1 on invalid arguments
 */
     int ret;
-    const char *scope;
     const unsigned char *p_blob;
     int n_bytes;
-    sqlite3_int64 id = -1;
-    const char *fileIdentifier = NULL;
     sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    if (sqlite3_value_type (argv[1]) != SQLITE_BLOB)
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = register_raster_style (sqlite, p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_UnRegisterRasterStyle (sqlite3_context * context, int argc,
+			    sqlite3_value ** argv)
+{
+/* SQL function:
+/ UnRegisterRasterStyle(Integer style_id [ , Integer removeAll] )
+/   or
+/ UnRegisterRasterStyledLayer(Text style_name [ , Integer removeAll] )
+/
+/ removes a Raster Style definition
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    int style_id = -1;
+    const char *style_name = NULL;
+    int remove_all = 0;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[0]);
+    else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[0]);
+    else
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    if (argc == 3)
+    if (argc >= 2)
       {
-	  /* optional extra args */
-	  if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER ||
-	      sqlite3_value_type (argv[2]) == SQLITE_TEXT)
-	      ;
-	  else
+	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
 	    {
 		sqlite3_result_int (context, -1);
 		return;
 	    }
+	  remove_all = sqlite3_value_int (argv[1]);
       }
-    scope = (const char *) sqlite3_value_text (argv[0]);
-    p_blob = sqlite3_value_blob (argv[1]);
-    n_bytes = sqlite3_value_bytes (argv[1]);
-    if (argc == 3)
-      {
-	  if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
-	      id = sqlite3_value_int64 (argv[2]);
-	  if (sqlite3_value_type (argv[2]) == SQLITE_TEXT)
-	      fileIdentifier = (const char *) sqlite3_value_text (argv[2]);
-      }
-    ret = register_iso_metadata (sqlite, scope, p_blob, n_bytes, &id,
-				 fileIdentifier);
+    ret = unregister_raster_style (sqlite, style_id, style_name, remove_all);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_Create (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_ReloadRasterStyle (sqlite3_context * context, int argc,
+			sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_Create(BLOB XMLdocument)
-/ XB_Create(BLOB XMLdocument, bool compressed)
-/ XB_Create(BLOB XMLdocument, bool compressed, text SchemaURI)
-/ XB_Create(BLOB XMLdocument, bool compressed, int InternalSchemaURI)
-/
-/ returns the current XmlBlob by parsing an XMLdocument 
-/ or NULL if any error is encountered
+/ ReloadRasterStyle(Integer style_id, BLOB style)
+/    or
+/ ReloadRasterStyle(Text style_name, BLOB style)
 /
-/ - the XMLdocument should be "well formed"
-/ - if *compressed* is TRUE (default) the XmlBlob would be zipped
-/ - if *SchemaURI* in not NULL then only XMLdocuments succesfully
-/   passing a formal Schema Validation will be accepted as valid
-/ - if *InternalSchamaURI* is defined (any numeric value) then an
-/   attempt will be made in order to identify a SchemaURI defined
-/   internally within the XMLDocument itself.
-/   if such internal SchemaURI doesn't exists, or if the formal
-/   Schema Validation fails, NULL will be returned.
+/ updates a Raster Style 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    int len;
-    unsigned char *p_result = NULL;
-    const unsigned char *xml;
-    int xml_len;
-    int compressed = 1;
-    int use_internal_schema_uri = 0;
-    const char *schemaURI = NULL;
+    int ret;
+    int style_id = -1;
+    const char *style_name = NULL;
+    const unsigned char *p_blob;
+    int n_bytes;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
-      {
-	  sqlite3_result_null (context);
-	  return;
-      }
-    if (argc >= 2)
-      {
-	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
-	    {
-		sqlite3_result_null (context);
-		return;
-	    }
-      }
-    if (argc == 3)
-      {
-	  if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
-	      use_internal_schema_uri = 1;
-	  else if (sqlite3_value_type (argv[2]) != SQLITE_TEXT)
-	    {
-		sqlite3_result_null (context);
-		return;
-	    }
-      }
-    xml = (const unsigned char *) sqlite3_value_blob (argv[0]);
-    xml_len = sqlite3_value_bytes (argv[0]);
-    if (argc >= 2)
-	compressed = sqlite3_value_int (argv[1]);
-    if (use_internal_schema_uri)
-      {
-	  /* using the SchemaURI internally defined within the XMLDocument */
-	  char *internalSchemaURI =
-	      gaiaXmlGetInternalSchemaURI (sqlite3_user_data (context), xml,
-					   xml_len);
-	  if (internalSchemaURI == NULL)
-	    {
-		/* unable to identify the SchemaURI */
-		p_result = NULL;
-	    }
-	  else
-	    {
-		/* ok, attempting to validate using the internal SchemaURI */
-		gaiaXmlToBlob (sqlite3_user_data (context), xml, xml_len,
-			       compressed, internalSchemaURI, &p_result,
-			       &len, NULL, NULL);
-		free (internalSchemaURI);
-	    }
-      }
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[0]);
+    else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[0]);
     else
       {
-	  if (argc == 3)
-	      schemaURI = (const char *) sqlite3_value_text (argv[2]);
-	  gaiaXmlToBlob (sqlite3_user_data (context), xml, xml_len,
-			 compressed, schemaURI, &p_result, &len, NULL, NULL);
+	  sqlite3_result_int (context, -1);
+	  return;
       }
-    if (p_result == NULL)
+    if (sqlite3_value_type (argv[1]) != SQLITE_BLOB)
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    sqlite3_result_blob (context, p_result, len, free);
+    p_blob = sqlite3_value_blob (argv[1]);
+    n_bytes = sqlite3_value_bytes (argv[1]);
+    ret = reload_raster_style (sqlite, style_id, style_name, p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_LoadXML (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_RegisterRasterStyledLayer (sqlite3_context * context, int argc,
+				sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_LoadXML(text path-or-URL)
-/
-/ returns a generic Text by parsing an XML Document 
-/ or NULL if any error is encountered
+/ RegisterRasterStyledLayer(String coverage_name, Integer style_id)
+/   or
+/ RegisterRasterStyledLayer(String coverage_name, Text style_name)
 /
+/ inserts a Raster Styled Layer 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    const char *path_or_url;
-    unsigned char *xml;
-    int xml_len;
     int ret;
+    const char *coverage_name;
+    int style_id = -1;
+    const char *style_name = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
     if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    path_or_url = (const char *) sqlite3_value_text (argv[0]);
-
-/* acquiring the XML Document as a Blob */
-    ret = gaiaXmlLoad
-	(sqlite3_user_data (context), path_or_url, &xml, &xml_len, NULL);
-    if (!ret || xml == NULL)
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[1]);
+    else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[1]);
+    else
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-
-    sqlite3_result_blob (context, xml, xml_len, free);
+    ret =
+	register_raster_styled_layer_ex (sqlite, coverage_name, style_id,
+					 style_name);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_GetPayload (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_UnRegisterRasterStyledLayer (sqlite3_context * context, int argc,
+				  sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetPayload(XmlBLOB)
-/ XB_GetPayload(XmlBLOB, int format)
-/
-/ returns the current XMLDocument (as BLOB) by parsing an XmlBLOB 
-/ or NULL if any error is encountered
+/ UnRegisterRasterStyledLayer(String coverage_name, Integer style_id)
+/   or
+/ UnRegisterRasterStyledLayer(String coverage_name, Text style_name)
 /
-/ the returned buffer will be always null-terminated
+/ removes a Raster Styled Layer definition
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    unsigned char *out;
-    int out_len;
-    int indent = -1;
+    int ret;
+    const char *coverage_name;
+    int style_id = -1;
+    const char *style_name = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    if (argc == 2)
-      {
-	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
-	    {
-		sqlite3_result_null (context);
-		return;
-	    }
-      }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    if (argc == 2)
-	indent = sqlite3_value_int (argv[1]);
-    gaiaXmlFromBlob (p_blob, n_bytes, indent, &out, &out_len);
-    if (out == NULL)
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[1]);
+    else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[1]);
+    else
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    sqlite3_result_blob (context, out, out_len, free);
+    ret =
+	unregister_raster_styled_layer (sqlite, coverage_name, style_id,
+					style_name);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_StoreXML (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_RegisterRasterCoverageSrid (sqlite3_context * context, int argc,
+				 sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_StoreXML(XmlBLOB, text path)
-/ XB_StoreXML(XmlBLOB, taxt path, int format)
-/
-/ exports the current XMLDocument into an external file by parsing an XmlBLOB 
-/ return 1 on success, 0 on failure, -1 on invalid args
+/ RegisterRasterCoverageSrid(Text coverage_name, Integer srid)
 /
+/ inserts a Raster Coverage alternative SRID
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    const char *path;
-    int indent = -1;
+    int ret;
+    const char *coverage_name;
+    int srid;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    srid = sqlite3_value_int (argv[1]);
+    ret = register_raster_coverage_srid (sqlite, coverage_name, srid);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_UnregisterRasterCoverageSrid (sqlite3_context * context, int argc,
+				   sqlite3_value ** argv)
+{
+/* SQL function:
+/ UnRegisterRasterCoverageSrid(Text coverage_name, Integer srid)
+/
+/ deletes a Raster Coverage alternative SRID
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    const char *coverage_name;
+    int srid;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    if (argc == 3)
-      {
-	  if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER)
-	    {
-		sqlite3_result_int (context, -1);
-		return;
-	    }
-      }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    path = (const char *) sqlite3_value_text (argv[1]);
-    if (argc == 3)
-	indent = sqlite3_value_int (argv[2]);
-    if (!gaiaXmlStore (p_blob, n_bytes, path, indent))
-      {
-	  sqlite3_result_int (context, 0);
-	  return;
-      }
-    sqlite3_result_int (context, 1);
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    srid = sqlite3_value_int (argv[1]);
+    ret = unregister_raster_coverage_srid (sqlite, coverage_name, srid);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_GetDocument (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_RegisterRasterCoverageKeyword (sqlite3_context * context, int argc,
+				    sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetDocument(XmlBLOB)
-/ XB_GetDocument(XmlBLOB, int indent)
-/
-/ returns the current XMLDocument (as UTF-8 TEXT) by parsing an XmlBLOB 
-/ or NULL if any error is encountered
+/ RegisterRasterCoverageKeyword(Text coverage_name, Text keyword)
 /
-/ the returned buffer will be always null-terminated
+/ inserts a Raster Coverage Keyword
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    char *xml;
-    int len;
-    int indent = -1;
+    int ret;
+    const char *coverage_name;
+    const char *keyword;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
-      {
-	  sqlite3_result_null (context);
-	  return;
-      }
-    if (argc == 2)
-      {
-	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
-	    {
-		sqlite3_result_null (context);
-		return;
-	    }
-      }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    if (argc == 2)
-	indent = sqlite3_value_int (argv[1]);
-    xml = gaiaXmlTextFromBlob (p_blob, n_bytes, indent);
-    if (xml == NULL)
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[1]) != SQLITE_TEXT)
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    len = strlen ((const char *) xml);
-    sqlite3_result_text (context, (char *) xml, len, free);
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    keyword = (const char *) sqlite3_value_text (argv[1]);
+    ret = register_raster_coverage_keyword (sqlite, coverage_name, keyword);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_SchemaValidate (sqlite3_context * context, int argc,
-			sqlite3_value ** argv)
+fnct_UnregisterRasterCoverageKeyword (sqlite3_context * context, int argc,
+				      sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_SchemaValidate(XmlBLOB, text SchemaURI)
-/ XB_SchemaValidate(XmlBLOB, text SchemaURI, bool compressed)
-/ XB_SchemaValidate(XmlBLOB, int InternalSchemaURI)
-/ XB_SchemaValidate(XmlBLOB, int InternalSchemaURI, bool compressed)
+/ UnRegisterRasterCoverageKeyword(Text coverage_name, Text keyword)
 /
-/ returns a validated XmlBLOB object if the SchemaValidation was succesfull
-/ or NULL if any error is encountered
+/ deletes a Raster Coverage Keyword
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    int len;
-    unsigned char *p_result = NULL;
-    const unsigned char *p_blob;
-    int n_bytes;
-    unsigned char *xml;
-    int xml_len;
-    int compressed = 1;
-    const char *schemaURI = NULL;
-    int use_internal_schema_uri = 0;
+    int ret;
+    const char *coverage_name;
+    const char *keyword;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
-      {
-	  sqlite3_result_null (context);
-	  return;
-      }
-    if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
-	use_internal_schema_uri = 1;
-    else if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT
+	|| sqlite3_value_type (argv[1]) != SQLITE_TEXT)
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    if (argc == 3)
+    coverage_name = (const char *) sqlite3_value_text (argv[0]);
+    keyword = (const char *) sqlite3_value_text (argv[1]);
+    ret = unregister_raster_coverage_keyword (sqlite, coverage_name, keyword);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_UpdateRasterCoverageExtent (sqlite3_context * context, int argc,
+				 sqlite3_value ** argv)
+{
+/* SQL function:
+/ UpdateRasterCoverageExtent()
+/   or
+/ UpdateRasterCoverageExtent(Integer transaction)
+/   or
+/ UpdateRasterCoverageExtent(Text coverage_name)
+/   or
+/ UpdateRasterCoverageExtent(Text coverage_name, int transaction)
+/
+/ updates Raster Coverage Extents
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    const char *coverage_name = NULL;
+    int transaction = 0;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (argc >= 1)
       {
-	  if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER)
+	  if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	      coverage_name = (const char *) sqlite3_value_text (argv[0]);
+	  else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	      transaction = sqlite3_value_int (argv[0]);
+	  else
 	    {
-		sqlite3_result_null (context);
+		sqlite3_result_int (context, -1);
 		return;
 	    }
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    if (argc == 3)
-	compressed = sqlite3_value_int (argv[2]);
-    gaiaXmlFromBlob (p_blob, n_bytes, -1, &xml, &xml_len);
-    if (xml == NULL)
-      {
-	  sqlite3_result_null (context);
-	  return;
-      }
-    if (use_internal_schema_uri)
+    if (argc >= 2)
       {
-	  /* using the SchemaURI internally defined within the XMLDocument */
-	  char *internalSchemaURI =
-	      gaiaXmlGetInternalSchemaURI (sqlite3_user_data (context), xml,
-					   xml_len);
-	  if (internalSchemaURI == NULL)
+	  if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
 	    {
-		/* unable to identify the SchemaURI */
-		p_result = NULL;
+		sqlite3_result_int (context, -1);
+		return;
 	    }
-	  else
+	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
 	    {
-		/* ok, attempting to validate using the internal SchemaURI */
-		gaiaXmlToBlob (sqlite3_user_data (context), xml, xml_len,
-			       compressed, internalSchemaURI, &p_result,
-			       &len, NULL, NULL);
-		free (internalSchemaURI);
+		sqlite3_result_int (context, -1);
+		return;
 	    }
+	  coverage_name = (const char *) sqlite3_value_text (argv[0]);
+	  transaction = sqlite3_value_int (argv[1]);
       }
-    else
-      {
-	  schemaURI = (const char *) sqlite3_value_text (argv[1]);
-	  gaiaXmlToBlob (sqlite3_user_data (context), xml, xml_len,
-			 compressed, schemaURI, &p_result, &len, NULL, NULL);
-      }
-    free (xml);
-    if (p_result == NULL)
-      {
-	  sqlite3_result_null (context);
-	  return;
-      }
-    sqlite3_result_blob (context, p_result, len, free);
+    ret =
+	update_raster_coverage_extent (sqlite, cache, coverage_name,
+				       transaction);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_Compress (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_RegisterStyledGroupRaster (sqlite3_context * context, int argc,
+				sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_Compress(XmlBLOB)
+/ RegisterStyledGroupRaster(String group_name, String coverage_name)
 /
-/ returns a compressed XmlBLOB object 
-/ or NULL if any error is encountered
+/ inserts a Styled Group Raster item 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    int len;
-    unsigned char *p_result = NULL;
-    const unsigned char *p_blob;
-    int n_bytes;
+    int ret;
+    const char *group_name = NULL;
+    const char *coverage_name = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
+	&& sqlite3_value_type (argv[1]) == SQLITE_TEXT)
       {
-	  sqlite3_result_null (context);
-	  return;
+	  group_name = (const char *) sqlite3_value_text (argv[0]);
+	  coverage_name = (const char *) sqlite3_value_text (argv[1]);
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    gaiaXmlBlobCompression (p_blob, n_bytes, 1, &p_result, &len);
-    if (p_result == NULL)
+    else
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    sqlite3_result_blob (context, p_result, len, free);
+    ret = register_styled_group_ex (sqlite, group_name, NULL, coverage_name);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_Uncompress (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_RegisterStyledGroupVector (sqlite3_context * context, int argc,
+				sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_Uncompress(XmlBLOB)
+/ RegisterStyledGroupVector(String group_name, String coverage_name)
 /
-/ returns an uncompressed XmlBLOB object 
-/ or NULL if any error is encountered
+/ inserts a Styled Group Vector item 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    int len;
-    unsigned char *p_result = NULL;
-    const unsigned char *p_blob;
-    int n_bytes;
+    int ret;
+    const char *group_name = NULL;
+    const char *coverage_name = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
+	&& sqlite3_value_type (argv[1]) == SQLITE_TEXT)
       {
-	  sqlite3_result_null (context);
-	  return;
+	  group_name = (const char *) sqlite3_value_text (argv[0]);
+	  coverage_name = (const char *) sqlite3_value_text (argv[1]);
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    gaiaXmlBlobCompression (p_blob, n_bytes, 0, &p_result, &len);
-    if (p_result == NULL)
+    else
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    sqlite3_result_blob (context, p_result, len, free);
+    ret = register_styled_group_ex (sqlite, group_name, coverage_name, NULL);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_IsValid (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_SetStyledGroupLayerPaintOrder (sqlite3_context * context, int argc,
+				    sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_IsValid(XmlBLOB)
+/ SetStyledGroupLayerPaintOrder(Integer item_id, Integer paint_order)
 /
-/ returns TRUE if the current BLOB is an XmlBLOB, FALSE if not 
-/ or -1 if any error is encountered
+/ sets the paint order for a Styled Layer within a Styled Group 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    unsigned char *p_blob;
-    int n_bytes;
     int ret;
+    int item_id = -1;
+    int paint_order = -1;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) != SQLITE_INTEGER)
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    ret = gaiaIsValidXmlBlob (p_blob, n_bytes);
+    if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    item_id = sqlite3_value_int (argv[0]);
+    paint_order = sqlite3_value_int (argv[1]);
+    ret =
+	set_styled_group_layer_paint_order (sqlite, item_id, NULL, NULL, NULL,
+					    paint_order);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_IsCompressed (sqlite3_context * context, int argc,
-		      sqlite3_value ** argv)
+fnct_SetStyledGroupVectorPaintOrder (sqlite3_context * context, int argc,
+				     sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_IsCompressed(XmlBLOB)
+/ SetStyledGroupVectorPaintOrder(String group_name, String coverage_name, 
+/                               Integer paint_order))
 /
-/ returns TRUE if the current BLOB is a compressed XmlBLOB,
-/ FALSE if it's a valid uncompressed XmlBLOB 
-/ or -1 if any error is encountered
+/ sets the paint order for a Vector Styled Layer within a Styled Group 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    unsigned char *p_blob;
-    int n_bytes;
     int ret;
+    const char *group_name = NULL;
+    const char *coverage_name = NULL;
+    int paint_order = -1;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
+	&& sqlite3_value_type (argv[1]) == SQLITE_TEXT
+	&& sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+      {
+	  group_name = (const char *) sqlite3_value_text (argv[0]);
+	  coverage_name = (const char *) sqlite3_value_text (argv[1]);
+	  paint_order = sqlite3_value_int (argv[2]);
+      }
+    else
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    ret = gaiaIsCompressedXmlBlob (p_blob, n_bytes);
+    ret =
+	set_styled_group_layer_paint_order (sqlite, -1, group_name,
+					    coverage_name, NULL, paint_order);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_IsSchemaValidated (sqlite3_context * context, int argc,
-			   sqlite3_value ** argv)
+fnct_SetStyledGroupRasterPaintOrder (sqlite3_context * context, int argc,
+				     sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_IsSchemaValidated(XmlBLOB)
+/ SetStyledGroupRasterPaintOrder(String group_name, String coverage_name, 
+/                               Integer paint_order))
 /
-/ returns TRUE if the current BLOB is a Schema validated XmlBLOB,
-/ FALSE if it's a valid but not validated XmlBLOB 
-/ or -1 if any error is encountered
+/ sets the paint order for a Raster Styled Layer within a Styled Group 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    unsigned char *p_blob;
-    int n_bytes;
     int ret;
+    const char *group_name = NULL;
+    const char *coverage_name = NULL;
+    int paint_order = -1;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
+	&& sqlite3_value_type (argv[1]) == SQLITE_TEXT
+	&& sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+      {
+	  group_name = (const char *) sqlite3_value_text (argv[0]);
+	  coverage_name = (const char *) sqlite3_value_text (argv[1]);
+	  paint_order = sqlite3_value_int (argv[2]);
+      }
+    else
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    ret = gaiaIsSchemaValidatedXmlBlob (p_blob, n_bytes);
+    ret =
+	set_styled_group_layer_paint_order (sqlite, -1, group_name,
+					    NULL, coverage_name, paint_order);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_IsIsoMetadata (sqlite3_context * context, int argc,
-		       sqlite3_value ** argv)
+fnct_SetStyledGroupInfos (sqlite3_context * context, int argc,
+			  sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_IsIsoMetadata(XmlBLOB)
-/
-/ returns TRUE if the current BLOB is an ISO Metadata XmlBLOB,
-/ FALSE if it's a valid XmlBLOB but not an ISO Metadata
-/ or -1 if any error is encountered
+/ SetStyledGroupInfos(String group_name, String title, 
+/		      String abstract)
+/
+/ inserts or updates the descriptive infos supporting a Styled Group 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    unsigned char *p_blob;
-    int n_bytes;
     int ret;
+    const char *group_name;
+    const char *title = NULL;
+    const char *abstract = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    ret = gaiaIsIsoMetadataXmlBlob (p_blob, n_bytes);
+    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    if (sqlite3_value_type (argv[2]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    group_name = (const char *) sqlite3_value_text (argv[0]);
+    title = (const char *) sqlite3_value_text (argv[1]);
+    abstract = (const char *) sqlite3_value_text (argv[2]);
+    ret = styled_group_set_infos (sqlite, group_name, title, abstract);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_IsSldSeVectorStyle (sqlite3_context * context, int argc,
+fnct_UnRegisterStyledGroup (sqlite3_context * context, int argc,
 			    sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_IsSldSeVectorStyle(XmlBLOB)
+/ UnRegisterStyledGroup(String group_name)
 /
-/ returns TRUE if the current BLOB is an SLD/SE Vector Style XmlBLOB,
-/ FALSE if it's a valid XmlBLOB but not an SLD/SE Style
-/ or -1 if any error is encountered
+/ removes a Styled Group and any related item 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    unsigned char *p_blob;
-    int n_bytes;
     int ret;
+    const char *group_name;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    ret = gaiaIsSldSeVectorStyleXmlBlob (p_blob, n_bytes);
+    group_name = (const char *) sqlite3_value_text (argv[0]);
+    ret = unregister_styled_group (sqlite, group_name);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_IsSldSeRasterStyle (sqlite3_context * context, int argc,
-			    sqlite3_value ** argv)
+fnct_UnRegisterStyledGroupLayer (sqlite3_context * context, int argc,
+				 sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_IsSldSeRasterStyle(XmlBLOB)
+/ UnRegisterStyledGroupLayer(Integer item_id)
 /
-/ returns TRUE if the current BLOB is an SLD/SE Raster Style XmlBLOB,
-/ FALSE if it's a valid XmlBLOB but not an SLD/SE Style
-/ or -1 if any error is encountered
+/ removes a Styled Layer from within a Styled Group 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    unsigned char *p_blob;
-    int n_bytes;
     int ret;
+    int item_id = -1;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) != SQLITE_INTEGER)
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    ret = gaiaIsSldSeRasterStyleXmlBlob (p_blob, n_bytes);
+    item_id = sqlite3_value_int (argv[0]);
+    ret = unregister_styled_group_layer (sqlite, item_id, NULL, NULL, NULL);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_IsSldStyle (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_UnRegisterStyledGroupVector (sqlite3_context * context, int argc,
+				  sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_IsSldStyle(XmlBLOB)
+/ UnRegisterStyledGroupVector(String group_name, String coverage_name)
 /
-/ returns TRUE if the current BLOB is an SLD Style XmlBLOB,
-/ FALSE if it's a valid XmlBLOB but not an SLD Style
-/ or -1 if any error is encountered
+/ removes a Vector Styled Layer from within a Styled Group 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    unsigned char *p_blob;
-    int n_bytes;
     int ret;
+    const char *group_name = NULL;
+    const char *coverage_name = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
+	&& sqlite3_value_type (argv[1]) == SQLITE_TEXT)
+      {
+	  group_name = (const char *) sqlite3_value_text (argv[0]);
+	  coverage_name = (const char *) sqlite3_value_text (argv[1]);
+      }
+    else
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    ret = gaiaIsSldStyleXmlBlob (p_blob, n_bytes);
+    ret =
+	unregister_styled_group_layer (sqlite, -1, group_name, coverage_name,
+				       NULL);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_IsSvg (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_UnRegisterStyledGroupRaster (sqlite3_context * context, int argc,
+				  sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_IsSvg(XmlBLOB)
+/ UnRegisterStyledGroupRaster(String group_name, String coverage_name)
 /
-/ returns TRUE if the current BLOB is an SLD/SE Style XmlBLOB,
-/ FALSE if it's a valid XmlBLOB but not an SLD/SE Style
-/ or -1 if any error is encountered
+/ removes a Raster Styled Layer from within a Styled Group 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    unsigned char *p_blob;
-    int n_bytes;
     int ret;
+    const char *group_name = NULL;
+    const char *coverage_name = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) == SQLITE_TEXT
+	&& sqlite3_value_type (argv[1]) == SQLITE_TEXT)
+      {
+	  group_name = (const char *) sqlite3_value_text (argv[0]);
+	  coverage_name = (const char *) sqlite3_value_text (argv[1]);
+      }
+    else
       {
 	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    ret = gaiaIsSvgXmlBlob (p_blob, n_bytes);
+    ret =
+	unregister_styled_group_layer (sqlite, -1, group_name, NULL,
+				       coverage_name);
     sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_GetDocumentSize (sqlite3_context * context, int argc,
+fnct_RegisterGroupStyle (sqlite3_context * context, int argc,
 			 sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetDocumentSize(XmlBLOB)
+/ RegisterGroupStyle(BLOB style)
 /
-/ if the BLOB is a valid XmlBLOB will return the XMLDocument size (in bytes)
-/ or NULL if any error is encountered
+/ inserts a Group Style 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
-    unsigned char *p_blob;
-    int n_bytes;
     int ret;
+    const unsigned char *p_blob;
+    int n_bytes;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
+    p_blob = sqlite3_value_blob (argv[0]);
     n_bytes = sqlite3_value_bytes (argv[0]);
-    ret = gaiaXmlBlobGetDocumentSize (p_blob, n_bytes);
-    if (ret < 0)
-	sqlite3_result_null (context);
+    ret = register_group_style_ex (sqlite, p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_UnRegisterGroupStyle (sqlite3_context * context, int argc,
+			   sqlite3_value ** argv)
+{
+/* SQL function:
+/ UnRegisterGroupStyle(Integer style_id [ , Integer removeAll] )
+/   or
+/ UnRegisterGroupStyledLayer(Text style_name [ , Integer removeAll] )
+/
+/ removes a Group Style definition
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    int style_id = -1;
+    const char *style_name = NULL;
+    int remove_all = 0;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[0]);
+    else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[0]);
     else
-	sqlite3_result_int (context, ret);
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    if (argc >= 2)
+      {
+	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_int (context, -1);
+		return;
+	    }
+	  remove_all = sqlite3_value_int (argv[1]);
+      }
+    ret = unregister_group_style (sqlite, style_id, style_name, remove_all);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_GetSchemaURI (sqlite3_context * context, int argc,
-		      sqlite3_value ** argv)
+fnct_ReloadGroupStyle (sqlite3_context * context, int argc,
+		       sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetSchemaURI(XmlBLOB)
+/ ReloadGroupStyle(Integer style_id, BLOB style)
+/    or
+/ ReloadGroupStyle(Text style_name, BLOB style)
 /
-/ if the BLOB is a valid XmlBLOB containing a SchemaURI then
-/ the SchemaURI will be returned
-/ return NULL on any other case
+/ updates a Group Style 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
+    int ret;
+    int style_id = -1;
+    const char *style_name = NULL;
     const unsigned char *p_blob;
     int n_bytes;
-    char *schema_uri;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[0]);
+    else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[0]);
+    else
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    schema_uri = gaiaXmlBlobGetSchemaURI (p_blob, n_bytes);
-    if (schema_uri == NULL)
-	sqlite3_result_null (context);
+    if (sqlite3_value_type (argv[1]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[1]);
+    n_bytes = sqlite3_value_bytes (argv[1]);
+    ret = reload_group_style (sqlite, style_id, style_name, p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_RegisterStyledGroupStyle (sqlite3_context * context, int argc,
+			       sqlite3_value ** argv)
+{
+/* SQL function:
+/ RegisterStyleGroupStyle(String group_name, Integer style_id)
+/   or
+/ RegisterStyledGroupStyle(String group_name, Text style_name)
+/
+/ inserts a Styled Group Style 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    const char *group_name;
+    int style_id = -1;
+    const char *style_name = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    group_name = (const char *) sqlite3_value_text (argv[0]);
+    if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[1]);
+    else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[1]);
     else
-	sqlite3_result_text (context, schema_uri, strlen (schema_uri), free);
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    ret =
+	register_styled_group_style (sqlite, group_name, style_id, style_name);
+    sqlite3_result_int (context, ret);
 }
 
 static void
-fnct_XB_GetFileId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_UnRegisterStyledGroupStyle (sqlite3_context * context, int argc,
+				 sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetFileId(XmlBLOB)
+/ UnRegisterStyledGroupStyle(String group_name, Integer style_id)
+/   or
+/ UnRegisterStyledGroupStyle(String group_name, Text style_name)
 /
-/ if the BLOB is a valid XmlBLOB containing a FileIdentifier then
-/ the FileIdentifier will be returned
-/ return NULL on any other case
+/ removes a Styled Group Style definition
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int ret;
+    const char *group_name;
+    int style_id = -1;
+    const char *style_name = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    group_name = (const char *) sqlite3_value_text (argv[0]);
+    if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	style_id = sqlite3_value_int (argv[1]);
+    else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT)
+	style_name = (const char *) sqlite3_value_text (argv[1]);
+    else
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    ret =
+	unregister_styled_group_style (sqlite, group_name, style_id,
+				       style_name);
+    sqlite3_result_int (context, ret);
+}
+
+
+static void
+fnct_CreateIsoMetadataTables (sqlite3_context * context, int argc,
+			      sqlite3_value ** argv)
+{
+/* SQL function:
+/ CreateIsoMetadataTables()
+/  or
+/ CreateIsoMetadataTables(bool relaxed)
+/
+/ creates any ISO Metadata related table 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
+*/
+    int relaxed = 0;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (argc == 1)
+      {
+	  if (sqlite3_value_type (argv[0]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_int (context, -1);
+		return;
+	    }
+	  relaxed = sqlite3_value_int (argv[0]);
+      }
+
+    if (!createIsoMetadataTables (sqlite, relaxed))
+	goto error;
+    updateSpatiaLiteHistory (sqlite, "*** ISO Metadata ***", NULL,
+			     "ISO Metadata tables successfully created");
+    sqlite3_result_int (context, 1);
+    return;
+
+  error:
+    sqlite3_result_int (context, 0);
+    return;
+}
+
+static void
+fnct_GetIsoMetadataId (sqlite3_context * context, int argc,
+		       sqlite3_value ** argv)
+{
+/* SQL function:
+/ GetIsoMetadataId(String fileIdentifier)
+/
+/ return the ID of the row corresponding to "fileIdentifier"
+/ 0 on failure / -1 on invalid argument
+*/
+    const char *fileIdentifier;
+    sqlite3_int64 id;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    fileIdentifier = (const char *) sqlite3_value_text (argv[0]);
+    if (!get_iso_metadata_id (sqlite, fileIdentifier, &id))
+	sqlite3_result_int (context, 0);
+    else
+	sqlite3_result_int64 (context, id);
+}
+
+static void
+fnct_RegisterIsoMetadata (sqlite3_context * context, int argc,
+			  sqlite3_value ** argv)
+{
+/* SQL function:
+/ RegisterIsoMetadata(String scope, BLOB metadata)
+/  or
+/ RegisterIsoMetadata(String scope, BLOB metadata, 
+/			Integer id)
+/  or
+/ RegisterIsoMetadata(String scope, BLOB metadata, 
+/			String fileIdentifier)
+/
+/ insert or updates a Raster Styled Layer 
+/ returns 1 on success
+/ 0 on failure, -1 on invalid arguments
 */
+    int ret;
+    const char *scope;
     const unsigned char *p_blob;
     int n_bytes;
-    char *file_identifier;
+    sqlite3_int64 id = -1;
+    const char *fileIdentifier = NULL;
+    sqlite3 *sqlite = sqlite3_context_db_handle (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    if (argc == 3)
+      {
+	  /* optional extra args */
+	  if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER ||
+	      sqlite3_value_type (argv[2]) == SQLITE_TEXT)
+	      ;
+	  else
+	    {
+		sqlite3_result_int (context, -1);
+		return;
+	    }
+      }
+    scope = (const char *) sqlite3_value_text (argv[0]);
+    p_blob = sqlite3_value_blob (argv[1]);
+    n_bytes = sqlite3_value_bytes (argv[1]);
+    if (argc == 3)
+      {
+	  if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	      id = sqlite3_value_int64 (argv[2]);
+	  if (sqlite3_value_type (argv[2]) == SQLITE_TEXT)
+	      fileIdentifier = (const char *) sqlite3_value_text (argv[2]);
+      }
+    ret = register_iso_metadata (sqlite, scope, p_blob, n_bytes, &id,
+				 fileIdentifier);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_Create (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_Create(BLOB XMLdocument)
+/ XB_Create(BLOB XMLdocument, bool compressed)
+/ XB_Create(BLOB XMLdocument, bool compressed, text SchemaURI)
+/ XB_Create(BLOB XMLdocument, bool compressed, int InternalSchemaURI)
+/
+/ returns the current XmlBlob by parsing an XMLdocument 
+/ or NULL if any error is encountered
+/
+/ - the XMLdocument should be "well formed"
+/ - if *compressed* is TRUE (default) the XmlBlob would be zipped
+/ - if *SchemaURI* in not NULL then only XMLdocuments successfully
+/   passing a formal Schema Validation will be accepted as valid
+/ - if *InternalSchamaURI* is defined (any numeric value) then an
+/   attempt will be made in order to identify a SchemaURI defined
+/   internally within the XMLDocument itself.
+/   if such internal SchemaURI doesn't exists, or if the formal
+/   Schema Validation fails, NULL will be returned.
+*/
+    int len;
+    unsigned char *p_result = NULL;
+    const unsigned char *xml;
+    int xml_len;
+    int compressed = 1;
+    int use_internal_schema_uri = 0;
+    const char *schemaURI = NULL;
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    file_identifier = gaiaXmlBlobGetFileId (p_blob, n_bytes);
-    if (file_identifier == NULL)
-	sqlite3_result_null (context);
+    if (argc >= 2)
+      {
+	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+    if (argc == 3)
+      {
+	  if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	      use_internal_schema_uri = 1;
+	  else if (sqlite3_value_type (argv[2]) != SQLITE_TEXT)
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+    xml = (const unsigned char *) sqlite3_value_blob (argv[0]);
+    xml_len = sqlite3_value_bytes (argv[0]);
+    if (argc >= 2)
+	compressed = sqlite3_value_int (argv[1]);
+    if (use_internal_schema_uri)
+      {
+	  /* using the SchemaURI internally defined within the XMLDocument */
+	  char *internalSchemaURI =
+	      gaiaXmlGetInternalSchemaURI (sqlite3_user_data (context), xml,
+					   xml_len);
+	  if (internalSchemaURI == NULL)
+	    {
+		/* unable to identify the SchemaURI */
+		p_result = NULL;
+	    }
+	  else
+	    {
+		/* ok, attempting to validate using the internal SchemaURI */
+		gaiaXmlToBlob (sqlite3_user_data (context), xml, xml_len,
+			       compressed, internalSchemaURI, &p_result,
+			       &len, NULL, NULL);
+		free (internalSchemaURI);
+	    }
+      }
     else
-	sqlite3_result_text (context, file_identifier,
-			     strlen (file_identifier), free);
+      {
+	  if (argc == 3)
+	      schemaURI = (const char *) sqlite3_value_text (argv[2]);
+	  gaiaXmlToBlob (sqlite3_user_data (context), xml, xml_len,
+			 compressed, schemaURI, &p_result, &len, NULL, NULL);
+      }
+    if (p_result == NULL)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    sqlite3_result_blob (context, p_result, len, free);
 }
 
 static void
-fnct_XB_GetParentId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_XB_LoadXML (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetParentId(XmlBLOB)
+/ XB_LoadXML(text path-or-URL)
+/
+/ returns a generic Text by parsing an XML Document 
+/ or NULL if any error is encountered
 /
-/ if the BLOB is a valid XmlBLOB containing a ParentIdentifier then
-/ the ParentIdentifier will be returned
-/ return NULL on any other case
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    char *parent_identifier;
+    const char *path_or_url;
+    unsigned char *xml;
+    int xml_len;
+    int ret;
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    parent_identifier = gaiaXmlBlobGetParentId (p_blob, n_bytes);
-    if (parent_identifier == NULL)
+    path_or_url = (const char *) sqlite3_value_text (argv[0]);
+
+/* acquiring the XML Document as a Blob */
+    ret = gaiaXmlLoad
+	(sqlite3_user_data (context), path_or_url, &xml, &xml_len, NULL);
+    if (!ret || xml == NULL)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+
+    sqlite3_result_blob (context, xml, xml_len, free);
+}
+
+static void
+fnct_XB_GetPayload (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetPayload(XmlBLOB)
+/ XB_GetPayload(XmlBLOB, int format)
+/
+/ returns the current XMLDocument (as BLOB) by parsing an XmlBLOB 
+/ or NULL if any error is encountered
+/
+/ the returned buffer will be always null-terminated
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    unsigned char *out;
+    int out_len;
+    int indent = -1;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (argc == 2)
+      {
+	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    if (argc == 2)
+	indent = sqlite3_value_int (argv[1]);
+    gaiaXmlFromBlob (p_blob, n_bytes, indent, &out, &out_len);
+    if (out == NULL)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    sqlite3_result_blob (context, out, out_len, free);
+}
+
+static void
+fnct_XB_StoreXML (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_StoreXML(XmlBLOB, text path)
+/ XB_StoreXML(XmlBLOB, taxt path, int format)
+/
+/ exports the current XMLDocument into an external file by parsing an XmlBLOB 
+/ return 1 on success, 0 on failure, -1 on invalid args
+/
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    const char *path;
+    int indent = -1;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    if (argc == 3)
+      {
+	  if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_int (context, -1);
+		return;
+	    }
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    path = (const char *) sqlite3_value_text (argv[1]);
+    if (argc == 3)
+	indent = sqlite3_value_int (argv[2]);
+    if (!gaiaXmlStore (p_blob, n_bytes, path, indent))
+      {
+	  sqlite3_result_int (context, 0);
+	  return;
+      }
+    sqlite3_result_int (context, 1);
+}
+
+static void
+fnct_XB_GetDocument (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetDocument(XmlBLOB)
+/ XB_GetDocument(XmlBLOB, int indent)
+/
+/ returns the current XMLDocument (as UTF-8 TEXT) by parsing an XmlBLOB 
+/ or NULL if any error is encountered
+/
+/ the returned buffer will be always null-terminated
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    char *xml;
+    int len;
+    int indent = -1;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (argc == 2)
+      {
+	  if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    if (argc == 2)
+	indent = sqlite3_value_int (argv[1]);
+    xml = gaiaXmlTextFromBlob (p_blob, n_bytes, indent);
+    if (xml == NULL)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    len = strlen ((const char *) xml);
+    sqlite3_result_text (context, (char *) xml, len, free);
+}
+
+static void
+fnct_XB_SchemaValidate (sqlite3_context * context, int argc,
+			sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_SchemaValidate(XmlBLOB, text SchemaURI)
+/ XB_SchemaValidate(XmlBLOB, text SchemaURI, bool compressed)
+/ XB_SchemaValidate(XmlBLOB, int InternalSchemaURI)
+/ XB_SchemaValidate(XmlBLOB, int InternalSchemaURI, bool compressed)
+/
+/ returns a validated XmlBLOB object if the SchemaValidation was successful
+/ or NULL if any error is encountered
+*/
+    int len;
+    unsigned char *p_result = NULL;
+    const unsigned char *p_blob;
+    int n_bytes;
+    unsigned char *xml;
+    int xml_len;
+    int compressed = 1;
+    const char *schemaURI = NULL;
+    int use_internal_schema_uri = 0;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	use_internal_schema_uri = 1;
+    else if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (argc == 3)
+      {
+	  if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    if (argc == 3)
+	compressed = sqlite3_value_int (argv[2]);
+    gaiaXmlFromBlob (p_blob, n_bytes, -1, &xml, &xml_len);
+    if (xml == NULL)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (use_internal_schema_uri)
+      {
+	  /* using the SchemaURI internally defined within the XMLDocument */
+	  char *internalSchemaURI =
+	      gaiaXmlGetInternalSchemaURI (sqlite3_user_data (context), xml,
+					   xml_len);
+	  if (internalSchemaURI == NULL)
+	    {
+		/* unable to identify the SchemaURI */
+		p_result = NULL;
+	    }
+	  else
+	    {
+		/* ok, attempting to validate using the internal SchemaURI */
+		gaiaXmlToBlob (sqlite3_user_data (context), xml, xml_len,
+			       compressed, internalSchemaURI, &p_result,
+			       &len, NULL, NULL);
+		free (internalSchemaURI);
+	    }
+      }
+    else
+      {
+	  schemaURI = (const char *) sqlite3_value_text (argv[1]);
+	  gaiaXmlToBlob (sqlite3_user_data (context), xml, xml_len,
+			 compressed, schemaURI, &p_result, &len, NULL, NULL);
+      }
+    free (xml);
+    if (p_result == NULL)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    sqlite3_result_blob (context, p_result, len, free);
+}
+
+static void
+fnct_XB_Compress (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_Compress(XmlBLOB)
+/
+/ returns a compressed XmlBLOB object 
+/ or NULL if any error is encountered
+*/
+    int len;
+    unsigned char *p_result = NULL;
+    const unsigned char *p_blob;
+    int n_bytes;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    gaiaXmlBlobCompression (p_blob, n_bytes, 1, &p_result, &len);
+    if (p_result == NULL)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    sqlite3_result_blob (context, p_result, len, free);
+}
+
+static void
+fnct_XB_Uncompress (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_Uncompress(XmlBLOB)
+/
+/ returns an uncompressed XmlBLOB object 
+/ or NULL if any error is encountered
+*/
+    int len;
+    unsigned char *p_result = NULL;
+    const unsigned char *p_blob;
+    int n_bytes;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    gaiaXmlBlobCompression (p_blob, n_bytes, 0, &p_result, &len);
+    if (p_result == NULL)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    sqlite3_result_blob (context, p_result, len, free);
+}
+
+static void
+fnct_XB_IsValid (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_IsValid(XmlBLOB)
+/
+/ returns TRUE if the current BLOB is an XmlBLOB, FALSE if not 
+/ or -1 if any error is encountered
+*/
+    unsigned char *p_blob;
+    int n_bytes;
+    int ret;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = gaiaIsValidXmlBlob (p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_IsCompressed (sqlite3_context * context, int argc,
+		      sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_IsCompressed(XmlBLOB)
+/
+/ returns TRUE if the current BLOB is a compressed XmlBLOB,
+/ FALSE if it's a valid uncompressed XmlBLOB 
+/ or -1 if any error is encountered
+*/
+    unsigned char *p_blob;
+    int n_bytes;
+    int ret;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = gaiaIsCompressedXmlBlob (p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_IsSchemaValidated (sqlite3_context * context, int argc,
+			   sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_IsSchemaValidated(XmlBLOB)
+/
+/ returns TRUE if the current BLOB is a Schema validated XmlBLOB,
+/ FALSE if it's a valid but not validated XmlBLOB 
+/ or -1 if any error is encountered
+*/
+    unsigned char *p_blob;
+    int n_bytes;
+    int ret;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = gaiaIsSchemaValidatedXmlBlob (p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_IsIsoMetadata (sqlite3_context * context, int argc,
+		       sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_IsIsoMetadata(XmlBLOB)
+/
+/ returns TRUE if the current BLOB is an ISO Metadata XmlBLOB,
+/ FALSE if it's a valid XmlBLOB but not an ISO Metadata
+/ or -1 if any error is encountered
+*/
+    unsigned char *p_blob;
+    int n_bytes;
+    int ret;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = gaiaIsIsoMetadataXmlBlob (p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_IsSldSeVectorStyle (sqlite3_context * context, int argc,
+			    sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_IsSldSeVectorStyle(XmlBLOB)
+/
+/ returns TRUE if the current BLOB is an SLD/SE Vector Style XmlBLOB,
+/ FALSE if it's a valid XmlBLOB but not an SLD/SE Style
+/ or -1 if any error is encountered
+*/
+    unsigned char *p_blob;
+    int n_bytes;
+    int ret;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = gaiaIsSldSeVectorStyleXmlBlob (p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_IsSldSeRasterStyle (sqlite3_context * context, int argc,
+			    sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_IsSldSeRasterStyle(XmlBLOB)
+/
+/ returns TRUE if the current BLOB is an SLD/SE Raster Style XmlBLOB,
+/ FALSE if it's a valid XmlBLOB but not an SLD/SE Style
+/ or -1 if any error is encountered
+*/
+    unsigned char *p_blob;
+    int n_bytes;
+    int ret;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = gaiaIsSldSeRasterStyleXmlBlob (p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_IsSldStyle (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_IsSldStyle(XmlBLOB)
+/
+/ returns TRUE if the current BLOB is an SLD Style XmlBLOB,
+/ FALSE if it's a valid XmlBLOB but not an SLD Style
+/ or -1 if any error is encountered
+*/
+    unsigned char *p_blob;
+    int n_bytes;
+    int ret;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = gaiaIsSldStyleXmlBlob (p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_IsSvg (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_IsSvg(XmlBLOB)
+/
+/ returns TRUE if the current BLOB is an SLD/SE Style XmlBLOB,
+/ FALSE if it's a valid XmlBLOB but not an SLD/SE Style
+/ or -1 if any error is encountered
+*/
+    unsigned char *p_blob;
+    int n_bytes;
+    int ret;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = gaiaIsSvgXmlBlob (p_blob, n_bytes);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_GetDocumentSize (sqlite3_context * context, int argc,
+			 sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetDocumentSize(XmlBLOB)
+/
+/ if the BLOB is a valid XmlBLOB will return the XMLDocument size (in bytes)
+/ or NULL if any error is encountered
+*/
+    unsigned char *p_blob;
+    int n_bytes;
+    int ret;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = (unsigned char *) sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    ret = gaiaXmlBlobGetDocumentSize (p_blob, n_bytes);
+    if (ret < 0)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_GetSchemaURI (sqlite3_context * context, int argc,
+		      sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetSchemaURI(XmlBLOB)
+/
+/ if the BLOB is a valid XmlBLOB containing a SchemaURI then
+/ the SchemaURI will be returned
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    char *schema_uri;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    schema_uri = gaiaXmlBlobGetSchemaURI (p_blob, n_bytes);
+    if (schema_uri == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, schema_uri, strlen (schema_uri), free);
+}
+
+static void
+fnct_XB_GetFileId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetFileId(XmlBLOB)
+/
+/ if the BLOB is a valid XmlBLOB containing a FileIdentifier then
+/ the FileIdentifier will be returned
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    char *file_identifier;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    file_identifier = gaiaXmlBlobGetFileId (p_blob, n_bytes);
+    if (file_identifier == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, file_identifier,
+			     strlen (file_identifier), free);
+}
+
+static void
+fnct_XB_GetParentId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetParentId(XmlBLOB)
+/
+/ if the BLOB is a valid XmlBLOB containing a ParentIdentifier then
+/ the ParentIdentifier will be returned
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    char *parent_identifier;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    parent_identifier = gaiaXmlBlobGetParentId (p_blob, n_bytes);
+    if (parent_identifier == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, parent_identifier,
+			     strlen (parent_identifier), free);
+}
+
+static void
+fnct_XB_SetFileId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_SetFileId(XmlBLOB, Text value)
+/
+/ if the BLOB is a valid XmlBLOB of the ISO-Metadata type
+/ already containing a FileID then this function will 
+/ return a new XmlBLOB containing the new FileID
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    unsigned char *new_blob;
+    int new_bytes;
+    const char *identifier;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    identifier = (const char *) sqlite3_value_text (argv[1]);
+    if (!gaiaXmlBlobSetFileId
+	(sqlite3_user_data (context), p_blob, n_bytes, identifier, &new_blob,
+	 &new_bytes))
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, new_blob, new_bytes, free);
+}
+
+static void
+fnct_XB_SetParentId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_SetParentId(XmlBLOB, Text value)
+/
+/ if the BLOB is a valid XmlBLOB of the ISO-Metadata type
+/ already containing a ParentID then this function will 
+/ return a new XmlBLOB containing the new ParentID
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    unsigned char *new_blob;
+    int new_bytes;
+    const char *identifier;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    identifier = (const char *) sqlite3_value_text (argv[1]);
+    if (!gaiaXmlBlobSetParentId
+	(sqlite3_user_data (context), p_blob, n_bytes, identifier, &new_blob,
+	 &new_bytes))
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, new_blob, new_bytes, free);
+}
+
+static void
+fnct_XB_AddFileId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_AddFileId(XmlBLOB, Text value, Text ns_id, Text uri_id, Text ns_charstr, Text uri_charstr)
+/
+/ if the BLOB is a valid XmlBLOB of the ISO-Metadata type
+/ not containing a FileID then this function will 
+/ return a new XmlBLOB containing the new FileID
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    unsigned char *new_blob;
+    int new_bytes;
+    const char *identifier;
+    const char *ns_id = NULL;
+    const char *uri_id = NULL;
+    const char *ns_charstr = NULL;
+    const char *uri_charstr = NULL;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[2]) == SQLITE_TEXT
+	|| sqlite3_value_type (argv[2]) == SQLITE_NULL)
+	;
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[3]) == SQLITE_TEXT
+	|| sqlite3_value_type (argv[3]) == SQLITE_NULL)
+	;
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[4]) == SQLITE_TEXT
+	|| sqlite3_value_type (argv[4]) == SQLITE_NULL)
+	;
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[5]) == SQLITE_TEXT
+	|| sqlite3_value_type (argv[5]) == SQLITE_NULL)
+	;
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    identifier = (const char *) sqlite3_value_text (argv[1]);
+    if (sqlite3_value_type (argv[2]) == SQLITE_TEXT)
+	ns_id = (const char *) sqlite3_value_text (argv[2]);
+    if (sqlite3_value_type (argv[3]) == SQLITE_TEXT)
+	uri_id = (const char *) sqlite3_value_text (argv[3]);
+    if (sqlite3_value_type (argv[4]) == SQLITE_TEXT)
+	ns_charstr = (const char *) sqlite3_value_text (argv[4]);
+    if (sqlite3_value_type (argv[5]) == SQLITE_TEXT)
+	uri_charstr = (const char *) sqlite3_value_text (argv[5]);
+    if (!gaiaXmlBlobAddFileId
+	(sqlite3_user_data (context), p_blob, n_bytes, identifier, ns_id,
+	 uri_id, ns_charstr, uri_charstr, &new_blob, &new_bytes))
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, new_blob, new_bytes, free);
+}
+
+static void
+fnct_XB_AddParentId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_AddParentId(XmlBLOB, Text value, Text ns_id, Text uri_id, Text ns_charstr, Text url_charstr)
+/
+/ if the BLOB is a valid XmlBLOB of the ISO-Metadata type
+/ not containing a ParentID then this function will 
+/ return a new XmlBLOB containing the new ParentID
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    unsigned char *new_blob;
+    int new_bytes;
+    const char *identifier;
+    const char *ns_id = NULL;
+    const char *uri_id = NULL;
+    const char *ns_charstr = NULL;
+    const char *uri_charstr = NULL;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[2]) == SQLITE_TEXT
+	|| sqlite3_value_type (argv[2]) == SQLITE_NULL)
+	;
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[3]) == SQLITE_TEXT
+	|| sqlite3_value_type (argv[3]) == SQLITE_NULL)
+	;
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[4]) == SQLITE_TEXT
+	|| sqlite3_value_type (argv[4]) == SQLITE_NULL)
+	;
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[5]) == SQLITE_TEXT
+	|| sqlite3_value_type (argv[5]) == SQLITE_NULL)
+	;
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    identifier = (const char *) sqlite3_value_text (argv[1]);
+    if (sqlite3_value_type (argv[2]) == SQLITE_TEXT)
+	ns_id = (const char *) sqlite3_value_text (argv[2]);
+    if (sqlite3_value_type (argv[3]) == SQLITE_TEXT)
+	uri_id = (const char *) sqlite3_value_text (argv[3]);
+    if (sqlite3_value_type (argv[4]) == SQLITE_TEXT)
+	ns_charstr = (const char *) sqlite3_value_text (argv[4]);
+    if (sqlite3_value_type (argv[5]) == SQLITE_TEXT)
+	uri_charstr = (const char *) sqlite3_value_text (argv[5]);
+    if (!gaiaXmlBlobAddParentId
+	(sqlite3_user_data (context), p_blob, n_bytes, identifier, ns_id,
+	 uri_id, ns_charstr, uri_charstr, &new_blob, &new_bytes))
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, new_blob, new_bytes, free);
+}
+
+static void
+fnct_XB_GetName (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetName(XmlBLOB)
+/
+/ if the BLOB is a valid XmlBLOB containing a Name then
+/ the Name will be returned
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    char *name;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    name = gaiaXmlBlobGetName (p_blob, n_bytes);
+    if (name == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, name, strlen (name), free);
+}
+
+static void
+fnct_XB_GetTitle (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetTitle(XmlBLOB)
+/
+/ if the BLOB is a valid XmlBLOB containing a Title then
+/ the Title will be returned
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    char *title;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    title = gaiaXmlBlobGetTitle (p_blob, n_bytes);
+    if (title == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, title, strlen (title), free);
+}
+
+static void
+fnct_XB_GetAbstract (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetAbstract(XmlBLOB)
+/
+/ if the BLOB is a valid XmlBLOB containing an Abstract then
+/ the Abstract will be returned
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    char *abstract;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    abstract = gaiaXmlBlobGetAbstract (p_blob, n_bytes);
+    if (abstract == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, abstract, strlen (abstract), free);
+}
+
+static void
+fnct_XB_GetGeometry (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetGeometry(XmlBLOB)
+/
+/ if the BLOB is a valid XmlBLOB containing a Geometry then
+/ the Geometry will be returned
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    int blob_len;
+    unsigned char *blob;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    gaiaXmlBlobGetGeometry (p_blob, n_bytes, &blob, &blob_len);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_len, free);
+}
+
+static void
+fnct_XB_GetEncoding (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetEncoding(XmlBLOB)
+/
+/ if the BLOB is a valid XmlBLOB explicitly defining an encoding then
+/ the charset name will be returned
+/ return NULL on any other case
+*/
+    const unsigned char *p_blob;
+    int n_bytes;
+    char *encoding;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    p_blob = sqlite3_value_blob (argv[0]);
+    n_bytes = sqlite3_value_bytes (argv[0]);
+    encoding = gaiaXmlBlobGetEncoding (p_blob, n_bytes);
+    if (encoding == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, encoding, strlen (encoding), free);
+}
+
+static void
+fnct_XB_GetInternalSchemaURI (sqlite3_context * context, int argc,
+			      sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetInternalSchemaURI(XmlDocument)
+/
+/ if the XMLDocument is valid and it contains an internally
+/ defined SchemaURI then this SchemaURI will be returned
+/ return NULL on any other case
+*/
+    const unsigned char *xml;
+    int xml_len;
+    char *schema_uri;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    xml = sqlite3_value_blob (argv[0]);
+    xml_len = sqlite3_value_bytes (argv[0]);
+    schema_uri =
+	gaiaXmlGetInternalSchemaURI (sqlite3_user_data (context), xml, xml_len);
+    if (schema_uri == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, schema_uri, strlen (schema_uri), free);
+}
+
+static void
+fnct_XB_GetLastParseError (sqlite3_context * context, int argc,
+			   sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetLastParseError()
+/
+/ return the most recent XML Parse error/warning (if any)
+/ return NULL on any other case
+*/
+    char *msg;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    msg = gaiaXmlBlobGetLastParseError (sqlite3_user_data (context));
+    if (msg == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, msg, strlen (msg), SQLITE_STATIC);
+}
+
+static void
+fnct_XB_GetLastValidateError (sqlite3_context * context, int argc,
+			      sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetLastValidateError()
+/
+/ return the most recent XML Validate error/warning (if any)
+/ return NULL on any other case
+*/
+    char *msg;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    msg = gaiaXmlBlobGetLastValidateError (sqlite3_user_data (context));
+    if (msg == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, msg, strlen (msg), SQLITE_STATIC);
+}
+
+static void
+fnct_XB_IsValidXPathExpression (sqlite3_context * context, int argc,
+				sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_IsValidXPathExpression(text XPathExpression)
+/
+/ returns TRUE if the current arg is a valid XPathExpression,
+/ FALSE if it's not
+/ or -1 if any error is encountered
+*/
+    int ret;
+    const char *xpath;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+    xpath = (const char *) sqlite3_value_text (argv[0]);
+    ret = gaiaIsValidXPathExpression (sqlite3_user_data (context), xpath);
+    sqlite3_result_int (context, ret);
+}
+
+static void
+fnct_XB_GetLastXPathError (sqlite3_context * context, int argc,
+			   sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_GetLastXPathError()
+/
+/ return the most recent XML Validate error/warning (if any)
+/ return NULL on any other case
+*/
+    char *msg;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    msg = gaiaXmlBlobGetLastXPathError (sqlite3_user_data (context));
+    if (msg == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_text (context, msg, strlen (msg), SQLITE_STATIC);
+}
+
+static void
+fnct_XB_CacheFlush (sqlite3_context * context, int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ XB_CacheFlush()
+/
+/ resets the Internal XML Schema Cache to its initial empty state
+/ 
+/ returns TRUE on success
+*/
+    int i;
+    struct splite_xmlSchema_cache_item *p_xmlSchema;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+    for (i = 0; i < MAX_XMLSCHEMA_CACHE; i++)
+      {
+	  /* freeing the XmlSchema cache */
+	  p_xmlSchema = &(cache->xmlSchemaCache[i]);
+	  splite_free_xml_schema_cache_item (p_xmlSchema);
+      }
+    sqlite3_result_int (context, 1);
+}
+
+#endif /* end including LIBXML2 */
+
+static void
+fnct_AffineTransformMatrix_Create (sqlite3_context * context, int argc,
+				   sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_Create() - identity transformation
+/    or
+/ ATM_Create(double a, double b, double d, double e,
+/            double xoff, double yoff) - 2D
+/    or
+/ ATM_Create(double a, double b, double c, double d, 
+/            double e, double f, double g, double h,
+/            double i, double xoff, double yoff,
+/            double zoff) - 3D
+/
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    unsigned char *blob;
+    int blob_sz;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (argc == 6)
+      {
+	  /* 2D transform */
+	  if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT)
+	      a = sqlite3_value_double (argv[0]);
+	  else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[0]);
+		a = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	      b = sqlite3_value_double (argv[1]);
+	  else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[1]);
+		b = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT)
+	      d = sqlite3_value_double (argv[2]);
+	  else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[2]);
+		d = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[3]) == SQLITE_FLOAT)
+	      e = sqlite3_value_double (argv[3]);
+	  else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[3]);
+		e = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[4]) == SQLITE_FLOAT)
+	      xoff = sqlite3_value_double (argv[4]);
+	  else if (sqlite3_value_type (argv[4]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[4]);
+		xoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[5]) == SQLITE_FLOAT)
+	      yoff = sqlite3_value_double (argv[5]);
+	  else if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[5]);
+		yoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+    else if (argc == 12)
+      {
+	  /* 3D transform */
+	  if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT)
+	      a = sqlite3_value_double (argv[0]);
+	  else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[0]);
+		a = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	      b = sqlite3_value_double (argv[1]);
+	  else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[1]);
+		b = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT)
+	      c = sqlite3_value_double (argv[2]);
+	  else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[2]);
+		c = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[3]) == SQLITE_FLOAT)
+	      d = sqlite3_value_double (argv[3]);
+	  else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[3]);
+		d = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[4]) == SQLITE_FLOAT)
+	      e = sqlite3_value_double (argv[4]);
+	  else if (sqlite3_value_type (argv[4]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[4]);
+		e = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[5]) == SQLITE_FLOAT)
+	      f = sqlite3_value_double (argv[5]);
+	  else if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[5]);
+		f = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[6]) == SQLITE_FLOAT)
+	      g = sqlite3_value_double (argv[6]);
+	  else if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[6]);
+		g = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[7]) == SQLITE_FLOAT)
+	      h = sqlite3_value_double (argv[7]);
+	  else if (sqlite3_value_type (argv[7]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[7]);
+		h = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[8]) == SQLITE_FLOAT)
+	      i = sqlite3_value_double (argv[8]);
+	  else if (sqlite3_value_type (argv[8]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[8]);
+		i = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[9]) == SQLITE_FLOAT)
+	      xoff = sqlite3_value_double (argv[6]);
+	  else if (sqlite3_value_type (argv[9]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[9]);
+		xoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[10]) == SQLITE_FLOAT)
+	      yoff = sqlite3_value_double (argv[10]);
+	  else if (sqlite3_value_type (argv[10]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[10]);
+		yoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[11]) == SQLITE_FLOAT)
+	      zoff = sqlite3_value_double (argv[11]);
+	  else if (sqlite3_value_type (argv[11]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[11]);
+		zoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create (a, b, c, d, e, f, g, h, i, xoff, yoff, zoff, &blob,
+			&blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_CreateTranslate (sqlite3_context * context, int argc,
+					    sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_CreateTranslate(double tx, double ty) - 2D
+/    or
+/ ATM_CreateTranslate(double tx, double ty, double tz) - 3D
+/
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    unsigned char *blob;
+    int blob_sz;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (argc == 2)
+      {
+	  /* 2D translate */
+	  if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT)
+	      xoff = sqlite3_value_double (argv[0]);
+	  else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[0]);
+		xoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	      yoff = sqlite3_value_double (argv[1]);
+	  else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[1]);
+		yoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+    else if (argc == 3)
+      {
+	  /* 3D translate */
+	  if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT)
+	      xoff = sqlite3_value_double (argv[0]);
+	  else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[0]);
+		xoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	      yoff = sqlite3_value_double (argv[1]);
+	  else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[1]);
+		yoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT)
+	      zoff = sqlite3_value_double (argv[2]);
+	  else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[2]);
+		zoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create (a, b, c, d, e, f, g, h, i, xoff, yoff, zoff, &blob,
+			&blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_CreateScale (sqlite3_context * context, int argc,
+					sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_CreateScale(double sx, double sy) - 2D
+/    or
+/ ATM_CreateScale(double sx, double sy, double sz - 3D
+/
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    unsigned char *blob;
+    int blob_sz;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (argc == 2)
+      {
+	  /* 2D scale */
+	  if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT)
+	      a = sqlite3_value_double (argv[0]);
+	  else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[0]);
+		a = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	      e = sqlite3_value_double (argv[1]);
+	  else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[1]);
+		e = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+    else if (argc == 3)
+      {
+	  /* 3D scale */
+	  if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT)
+	      a = sqlite3_value_double (argv[0]);
+	  else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[0]);
+		a = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	      e = sqlite3_value_double (argv[1]);
+	  else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[1]);
+		e = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT)
+	      i = sqlite3_value_double (argv[2]);
+	  else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[2]);
+		i = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create (a, b, c, d, e, f, g, h, i, xoff, yoff, zoff, &blob,
+			&blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_CreateRotate (sqlite3_context * context, int argc,
+					 sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_CreateRotate(double angleInDegrees) - 2D
+/    or
+/ ATM_CreateZRoll(double angeInDegrees) - 3D
+/
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    unsigned char *blob;
+    int blob_sz;
+    double angle;
+    double coeff = .0174532925199432958;
+    double rads;
+    double vsin;
+    double vcos;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT)
+	angle = sqlite3_value_double (argv[0]);
+    else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+      {
+	  int_value = sqlite3_value_int (argv[0]);
+	  angle = int_value;
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    rads = angle * coeff;
+    vsin = sin (rads);
+    vcos = cos (rads);
+    a = vcos;
+    b = -vsin;
+    d = vsin;
+    e = vcos;
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create (a, b, c, d, e, f, g, h, i, xoff, yoff, zoff, &blob,
+			&blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_CreateXRoll (sqlite3_context * context, int argc,
+					sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_CreateXRoll(double angleInDegrees) - 3D
+/
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    unsigned char *blob;
+    int blob_sz;
+    double angle;
+    double coeff = .0174532925199432958;
+    double rads;
+    double vsin;
+    double vcos;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT)
+	angle = sqlite3_value_double (argv[0]);
+    else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+      {
+	  int_value = sqlite3_value_int (argv[0]);
+	  angle = int_value;
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    rads = angle * coeff;
+    vsin = sin (rads);
+    vcos = cos (rads);
+    e = vcos;
+    f = -vsin;
+    h = vsin;
+    i = vcos;
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create (a, b, c, d, e, f, g, h, i, xoff, yoff, zoff, &blob,
+			&blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_CreateYRoll (sqlite3_context * context, int argc,
+					sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_CreateYRoll(double angleInDegrees) - 3D
+/
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    unsigned char *blob;
+    int blob_sz;
+    double angle;
+    double coeff = .0174532925199432958;
+    double rads;
+    double vsin;
+    double vcos;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT)
+	angle = sqlite3_value_double (argv[0]);
+    else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+      {
+	  int_value = sqlite3_value_int (argv[0]);
+	  angle = int_value;
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    rads = angle * coeff;
+    vsin = sin (rads);
+    vcos = cos (rads);
+    a = vcos;
+    c = vsin;
+    g = -vsin;
+    i = vcos;
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create (a, b, c, d, e, f, g, h, i, xoff, yoff, zoff, &blob,
+			&blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_Multiply (sqlite3_context * context, int argc,
+				     sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_Multiply(blob atmA, blob atmB)
+/ 
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    unsigned char *blob;
+    int blob_sz;
+    const unsigned char *iblob1;
+    int iblob1_sz;
+    const unsigned char *iblob2;
+    int iblob2_sz;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+      {
+	  iblob1 = sqlite3_value_blob (argv[0]);
+	  iblob1_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) == SQLITE_BLOB)
+      {
+	  iblob2 = sqlite3_value_blob (argv[1]);
+	  iblob2_sz = sqlite3_value_bytes (argv[1]);
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_multiply (iblob1, iblob1_sz, iblob2, iblob2_sz, &blob,
+			  &blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_Translate (sqlite3_context * context, int argc,
+				      sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_Translate(blob atm, double tx, double ty) - 2D
+/    or
+/ ATM_Translate(blob atm, double tx, double ty, double tz) - 3D
+/
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    unsigned char *blob;
+    int blob_sz;
+    const unsigned char *iblob;
+    int iblob_sz;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (argc == 3)
+      {
+	  /* 2D translate */
+	  if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+	    {
+		iblob = sqlite3_value_blob (argv[0]);
+		iblob_sz = sqlite3_value_bytes (argv[0]);
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	      xoff = sqlite3_value_double (argv[1]);
+	  else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[1]);
+		xoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT)
+	      yoff = sqlite3_value_double (argv[2]);
+	  else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[2]);
+		yoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+    else if (argc == 4)
+      {
+	  /* 3D translate */
+	  if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+	    {
+		iblob = sqlite3_value_blob (argv[0]);
+		iblob_sz = sqlite3_value_bytes (argv[0]);
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	      xoff = sqlite3_value_double (argv[1]);
+	  else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[1]);
+		xoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT)
+	      yoff = sqlite3_value_double (argv[2]);
+	  else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[2]);
+		yoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[3]) == SQLITE_FLOAT)
+	      zoff = sqlite3_value_double (argv[3]);
+	  else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[3]);
+		zoff = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create_multiply (iblob, iblob_sz, a, b, c, d, e, f, g, h, i,
+				 xoff, yoff, zoff, &blob, &blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_Scale (sqlite3_context * context, int argc,
+				  sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_Scale(blob atm, double sx, double sy) - 2D
+/    or
+/ ATM_Scale(blob atm, double sx, double sy, double sz) - 3D
+/
+/ will create a BLOB-encoded Affine Transform Matrix
+/ 
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    unsigned char *blob;
+    int blob_sz;
+    const unsigned char *iblob;
+    int iblob_sz;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (argc == 3)
+      {
+	  /* 2D scale */
+	  if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+	    {
+		iblob = sqlite3_value_blob (argv[0]);
+		iblob_sz = sqlite3_value_bytes (argv[0]);
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	      a = sqlite3_value_double (argv[1]);
+	  else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[1]);
+		a = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT)
+	      e = sqlite3_value_double (argv[2]);
+	  else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[2]);
+		e = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+    else if (argc == 4)
+      {
+	  /* 3D scale */
+	  if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+	    {
+		iblob = sqlite3_value_blob (argv[0]);
+		iblob_sz = sqlite3_value_bytes (argv[0]);
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	      a = sqlite3_value_double (argv[1]);
+	  else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[1]);
+		a = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT)
+	      e = sqlite3_value_double (argv[2]);
+	  else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[2]);
+		e = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  if (sqlite3_value_type (argv[3]) == SQLITE_FLOAT)
+	      i = sqlite3_value_double (argv[3]);
+	  else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER)
+	    {
+		int_value = sqlite3_value_int (argv[3]);
+		i = int_value;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create_multiply (iblob, iblob_sz, a, b, c, d, e, f, g, h, i,
+				 xoff, yoff, zoff, &blob, &blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_Rotate (sqlite3_context * context, int argc,
+				   sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_Rotate(blob atm, double angleInDegrees) - 2D
+/    or
+/ ATM_ZRoll(blob atm, double angleInDegrees) - 3D
+/
+/ will create a BLOB-encoded Affine Transform Matrix
+/ 
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    double angle;
+    double coeff = .0174532925199432958;
+    double rads;
+    double vsin;
+    double vcos;
+    unsigned char *blob;
+    int blob_sz;
+    const unsigned char *iblob;
+    int iblob_sz;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+      {
+	  iblob = sqlite3_value_blob (argv[0]);
+	  iblob_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	angle = sqlite3_value_double (argv[1]);
+    else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+      {
+	  int_value = sqlite3_value_int (argv[1]);
+	  angle = int_value;
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    rads = angle * coeff;
+    vsin = sin (rads);
+    vcos = cos (rads);
+    a = vcos;
+    b = -vsin;
+    d = vsin;
+    e = vcos;
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create_multiply (iblob, iblob_sz, a, b, c, d, e, f, g, h, i,
+				 xoff, yoff, zoff, &blob, &blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_XRoll (sqlite3_context * context, int argc,
+				  sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_XRoll(double angleInDegrees, blob atm) - 3D
+/
+/ will create a BLOB-encoded Affine Transform Matrix
+/ 
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    double angle;
+    double coeff = .0174532925199432958;
+    double rads;
+    double vsin;
+    double vcos;
+    unsigned char *blob;
+    int blob_sz;
+    const unsigned char *iblob;
+    int iblob_sz;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+      {
+	  iblob = sqlite3_value_blob (argv[0]);
+	  iblob_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	angle = sqlite3_value_double (argv[1]);
+    else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+      {
+	  int_value = sqlite3_value_int (argv[1]);
+	  angle = int_value;
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    rads = angle * coeff;
+    vsin = sin (rads);
+    vcos = cos (rads);
+    e = vcos;
+    f = -vsin;
+    h = vsin;
+    i = vcos;
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create_multiply (iblob, iblob_sz, a, b, c, d, e, f, g, h, i,
+				 xoff, yoff, zoff, &blob, &blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_YRoll (sqlite3_context * context, int argc,
+				  sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_YRoll(double angleInDegrees, blob atm) - 3D
+/
+/ will create a BLOB-encoded Affine Transform Matrix
+/ 
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    double a = 1.0;
+    double b = 0.0;
+    double c = 0.0;
+    double d = 0.0;
+    double e = 1.0;
+    double f = 0.0;
+    double g = 0.0;
+    double h = 0.0;
+    double i = 1.0;
+    double xoff = 0.0;
+    double yoff = 0.0;
+    double zoff = 0.0;
+    int int_value;
+    double angle;
+    double coeff = .0174532925199432958;
+    double rads;
+    double vsin;
+    double vcos;
+    unsigned char *blob;
+    int blob_sz;
+    const unsigned char *iblob;
+    int iblob_sz;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+      {
+	  iblob = sqlite3_value_blob (argv[0]);
+	  iblob_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT)
+	angle = sqlite3_value_double (argv[1]);
+    else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER)
+      {
+	  int_value = sqlite3_value_int (argv[1]);
+	  angle = int_value;
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    rads = angle * coeff;
+    vsin = sin (rads);
+    vcos = cos (rads);
+    a = vcos;
+    c = vsin;
+    g = -vsin;
+    i = vcos;
+
+/* creating the BLOB-encoded Affine Transform Matrix */
+    gaia_matrix_create_multiply (iblob, iblob_sz, a, b, c, d, e, f, g, h, i,
+				 xoff, yoff, zoff, &blob, &blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_Determinant (sqlite3_context * context, int argc,
+					sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_Determinant(blob atm)
+/
+/ will return the Determinant from a BLOB-encoded Affine Transform Matrix
+/ or 0.0 on failure
+*/
+    const unsigned char *iblob;
+    int iblob_sz;
+    double det = 0.0;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+      {
+	  iblob = sqlite3_value_blob (argv[0]);
+	  iblob_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
+      {
+	  sqlite3_result_double (context, det);
+	  return;
+      }
+
+/* evaluating the Affine Transform Matrix */
+    det = gaia_matrix_determinant (iblob, iblob_sz);
+    sqlite3_result_double (context, det);
+}
+
+static void
+fnct_AffineTransformMatrix_IsInvertible (sqlite3_context * context, int argc,
+					 sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_IsInvertible(blob atm)
+/
+/ will return TRUE if the a BLOB-encoded Affine Transform Matrix
+/ is Invertible, FALSE if not
+/ -1 on invalid arguments
+*/
+    const unsigned char *iblob;
+    int iblob_sz;
+    double det;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+      {
+	  iblob = sqlite3_value_blob (argv[0]);
+	  iblob_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
+      {
+	  sqlite3_result_int (context, -1);
+	  return;
+      }
+
+/* evaluating the Affine Transform Matrix */
+    det = gaia_matrix_determinant (iblob, iblob_sz);
+    if (det != 0.0)
+	sqlite3_result_int (context, 1);
+    else
+	sqlite3_result_int (context, 0);
+}
+
+static void
+fnct_AffineTransformMatrix_Invert (sqlite3_context * context, int argc,
+				   sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_Invert(blob atm)
+/
+/ will create an Inverse BLOB-encoded Affine Transform Matrix
+/ 
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    unsigned char *blob;
+    int blob_sz;
+    const unsigned char *iblob;
+    int iblob_sz;
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+      {
+	  iblob = sqlite3_value_blob (argv[0]);
+	  iblob_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+
+/* creating the BLOB-encoded Affine Transform Matrix (Inverse) */
+    gaia_matrix_invert (iblob, iblob_sz, &blob, &blob_sz);
+    if (blob == NULL)
+	sqlite3_result_null (context);
+    else
+	sqlite3_result_blob (context, blob, blob_sz, free);
+}
+
+static void
+fnct_AffineTransformMatrix_GeometryTransform (sqlite3_context * context,
+					      int argc, sqlite3_value ** argv)
+{
+/* SQL function:
+/ ATM_Transform(blob geom, blob atm [ , int srid] )
+/
+/ will create a BLOB-Geometry by applying to the input Geometry all
+/ transformations specified by the Affine Transform Matrix
+/ 
+/ returns a BLOB-ATM object or NULL on failure
+*/
+    unsigned char *blob;
+    int blob_sz;
+    const unsigned char *iblob1;
+    int iblob1_sz;
+    const unsigned char *iblob2;
+    int iblob2_sz;
+    gaiaGeomCollPtr g1;
+    gaiaGeomCollPtr g2;
+    int srid = -9999;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
+    GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+      {
+	  iblob1 = sqlite3_value_blob (argv[0]);
+	  iblob1_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (sqlite3_value_type (argv[1]) == SQLITE_BLOB)
+      {
+	  iblob2 = sqlite3_value_blob (argv[1]);
+	  iblob2_sz = sqlite3_value_bytes (argv[1]);
+      }
+    else
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (argc == 3)
+      {
+	  if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	      srid = sqlite3_value_int (argv[2]);
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+
+/* attempting to parse the BLOB-Geometry */
+    g1 = gaiaFromSpatiaLiteBlobWkbEx (iblob1, iblob1_sz, gpkg_mode,
+				      gpkg_amphibious);
+    if (g1 == NULL)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    g2 = gaia_matrix_transform_geometry (g1, iblob2, iblob2_sz);
+    gaiaFreeGeomColl (g1);
+    if (g2 == NULL)
+      {
+	  sqlite3_result_null (context);
+	  return;
+      }
+    if (srid != -9999)
+	g2->Srid = srid;
+    gaiaToSpatiaLiteBlobWkbEx (g2, &blob, &blob_sz, gpkg_mode);
+    gaiaFreeGeomColl (g2);
+    if (blob == NULL)
 	sqlite3_result_null (context);
     else
-	sqlite3_result_text (context, parent_identifier,
-			     strlen (parent_identifier), free);
+	sqlite3_result_blob (context, blob, blob_sz, free);
 }
 
 static void
-fnct_XB_SetFileId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_AffineTransformMatrix_IsValid (sqlite3_context * context, int argc,
+				    sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_SetFileId(XmlBLOB, Text value)
+/ ATM_IsValid(BLOB matrix)
 /
-/ if the BLOB is a valid XmlBLOB of the ISO-Metadata type
-/ already containing a FileID then this function will 
-/ return a new XmlBLOB containing the new FileID
-/ return NULL on any other case
+/ returns TRUE if the current BLOB is a valid BLOB-ATM, FALSE if not 
+/ or -1 if any error is encountered
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    unsigned char *new_blob;
-    int new_bytes;
-    const char *identifier;
+    const unsigned char *blob;
+    int blob_sz;
+    int ret;
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
       {
-	  sqlite3_result_null (context);
-	  return;
+	  blob = (const unsigned char *) sqlite3_value_blob (argv[0]);
+	  blob_sz = sqlite3_value_bytes (argv[0]);
       }
-    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+    else
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    identifier = (const char *) sqlite3_value_text (argv[1]);
-    if (!gaiaXmlBlobSetFileId
-	(sqlite3_user_data (context), p_blob, n_bytes, identifier, &new_blob,
-	 &new_bytes))
-	sqlite3_result_null (context);
+
+/* verifying the BLOB-Matrix */
+    ret = gaia_matrix_is_valid (blob, blob_sz);
+    if (ret)
+	sqlite3_result_int (context, 1);
     else
-	sqlite3_result_blob (context, new_blob, new_bytes, free);
+	sqlite3_result_int (context, 0);
 }
 
 static void
-fnct_XB_SetParentId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_AffineTransformMatrix_AsText (sqlite3_context * context, int argc,
+				   sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_SetParentId(XmlBLOB, Text value)
+/ ATM_AsText(BLOB matrix)
 /
-/ if the BLOB is a valid XmlBLOB of the ISO-Metadata type
-/ already containing a ParentID then this function will 
-/ return a new XmlBLOB containing the new ParentID
-/ return NULL on any other case
+/ returns a textual representaion of the BLOB-Matrix
+/ or NULL if any error is encountered
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    unsigned char *new_blob;
-    int new_bytes;
-    const char *identifier;
+    const unsigned char *blob;
+    int blob_sz;
+    char *text;
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
       {
-	  sqlite3_result_null (context);
-	  return;
+	  blob = (const unsigned char *) sqlite3_value_blob (argv[0]);
+	  blob_sz = sqlite3_value_bytes (argv[0]);
       }
-    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+    else
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    identifier = (const char *) sqlite3_value_text (argv[1]);
-    if (!gaiaXmlBlobSetParentId
-	(sqlite3_user_data (context), p_blob, n_bytes, identifier, &new_blob,
-	 &new_bytes))
+
+/* retrieving the textual representation from the BLOB-Matrix */
+    text = gaia_matrix_as_text (blob, blob_sz);
+    if (text == NULL)
 	sqlite3_result_null (context);
     else
-	sqlite3_result_blob (context, new_blob, new_bytes, free);
+	sqlite3_result_text (context, text, strlen (text), sqlite3_free);
+}
+
+#ifdef ENABLE_GCP		/* only if ControlPoints enabled */
+
+static int
+get_control_point (gaiaGeomCollPtr geom, double *x, double *y, double *z,
+		   int *has3d)
+{
+/* checking a Control Point */
+    gaiaPointPtr pt;
+    if (geom == NULL)
+	return 0;
+    if (geom->FirstLinestring != NULL || geom->FirstPolygon != NULL)
+	return 0;
+    pt = geom->FirstPoint;
+    if (pt == NULL || pt != geom->LastPoint)
+	return 0;
+    if (geom->DimensionModel == GAIA_XY_Z
+	|| geom->DimensionModel == GAIA_XY_Z_M)
+      {
+	  *has3d = 1;
+	  *x = pt->X;
+	  *y = pt->Y;
+	  *z = pt->Z;
+      }
+    else
+      {
+	  *has3d = 0;
+	  *x = pt->X;
+	  *y = pt->Y;
+      }
+    return 1;
+}
+
+static int
+check_control_point_dims (GaiaControlPointsPtr cp_handle, int has3d_0,
+			  int has3d_1)
+{
+/* validating Control Point dimensions */
+    struct gaia_control_points *cp = (struct gaia_control_points *) cp_handle;
+    if (cp == NULL)
+	return 0;
+    if (has3d_0 != cp->has3d)
+	return 0;
+    if (has3d_1 != cp->has3d)
+	return 0;
+    return 1;
 }
 
 static void
-fnct_XB_AddFileId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_GroundControlPoints_Compute_step (sqlite3_context * context,
+				       int argc, sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_AddFileId(XmlBLOB, Text value, Text ns_id, Text uri_id, Text ns_charstr, Text uri_charstr)
+/ GCP_Compute(BLOB point1, BLOB point2 [ , int order ] )
+/
+/ aggregate function - STEP
 /
-/ if the BLOB is a valid XmlBLOB of the ISO-Metadata type
-/ not containing a FileID then this function will 
-/ return a new XmlBLOB containing the new FileID
-/ return NULL on any other case
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    unsigned char *new_blob;
-    int new_bytes;
-    const char *identifier;
-    const char *ns_id = NULL;
-    const char *uri_id = NULL;
-    const char *ns_charstr = NULL;
-    const char *uri_charstr = NULL;
+    unsigned char *p_blob0;
+    int n_bytes0;
+    unsigned char *p_blob1;
+    int n_bytes1;
+    gaiaGeomCollPtr geom0 = NULL;
+    gaiaGeomCollPtr geom1 = NULL;
+    double x0;
+    double y0;
+    double z0;
+    double x1;
+    double y1;
+    double z1;
+    int has3d_0;
+    int has3d_1;
+    int order = 1;
+    int tps = 0;
+    GaiaControlPointsPtr *cp;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
+    if (cache != NULL)
+      {
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
+      }
     if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+    if (sqlite3_value_type (argv[1]) != SQLITE_BLOB)
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    if (sqlite3_value_type (argv[2]) == SQLITE_TEXT
-	|| sqlite3_value_type (argv[2]) == SQLITE_NULL)
-	;
-    else
+    if (argc == 3)
       {
-	  sqlite3_result_null (context);
-	  return;
+	  if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER)
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+	  order = sqlite3_value_int (argv[2]);
+	  if (order >= 1 && order <= 3)
+	      ;			/* 1st, 2nd or 3rd polynomial order */
+	  else if (order == 0)
+	    {
+		/* Thin Plate Splite */
+		order = 1;
+		tps = 1;
+	    }
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
       }
-    if (sqlite3_value_type (argv[3]) == SQLITE_TEXT
-	|| sqlite3_value_type (argv[3]) == SQLITE_NULL)
-	;
-    else
+    p_blob0 = (unsigned char *) sqlite3_value_blob (argv[0]);
+    n_bytes0 = sqlite3_value_bytes (argv[0]);
+    p_blob1 = (unsigned char *) sqlite3_value_blob (argv[1]);
+    n_bytes1 = sqlite3_value_bytes (argv[1]);
+    geom0 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob0, n_bytes0, gpkg_mode,
+				     gpkg_amphibious);
+    geom1 =
+	gaiaFromSpatiaLiteBlobWkbEx (p_blob1, n_bytes1, gpkg_mode,
+				     gpkg_amphibious);
+    if (!get_control_point (geom0, &x0, &y0, &z0, &has3d_0))
+	goto error;
+    if (!get_control_point (geom1, &x1, &y1, &z1, &has3d_1))
+	goto error;
+    if (has3d_0 != has3d_1)
+	goto error;
+    cp = sqlite3_aggregate_context (context,
+				    sizeof (struct gaia_control_points));
+    if (*cp == NULL)
       {
-	  sqlite3_result_null (context);
-	  return;
+	  /* this is the first row */
+	  *cp = gaiaCreateControlPoints (1024, has3d_0, order, tps);
+	  if (has3d_0)
+	      gaiaAddControlPoint3D (*cp, x0, y0, z0, x1, y1, z1);
+	  else
+	      gaiaAddControlPoint2D (*cp, x0, y0, x1, y1);
       }
-    if (sqlite3_value_type (argv[4]) == SQLITE_TEXT
-	|| sqlite3_value_type (argv[4]) == SQLITE_NULL)
-	;
     else
       {
-	  sqlite3_result_null (context);
-	  return;
+	  /* subsequent rows */
+	  if (!check_control_point_dims (*cp, has3d_0, has3d_1))
+	      goto error;
+	  if (has3d_0)
+	      gaiaAddControlPoint3D (*cp, x0, y0, z0, x1, y1, z1);
+	  else
+	      gaiaAddControlPoint2D (*cp, x0, y0, x1, y1);
       }
-    if (sqlite3_value_type (argv[5]) == SQLITE_TEXT
-	|| sqlite3_value_type (argv[5]) == SQLITE_NULL)
-	;
-    else
+    gaiaFreeGeomColl (geom0);
+    gaiaFreeGeomColl (geom1);
+    return;
+
+  error:
+    if (geom0 != NULL)
+	gaiaFreeGeomColl (geom0);
+    if (geom1 != NULL)
+	gaiaFreeGeomColl (geom1);
+    sqlite3_result_null (context);
+}
+
+static void
+fnct_GroundControlPoints_Compute_final (sqlite3_context * context)
+{
+/* SQL function:
+/ GCP_Compute(BLOB point1, BLOB point2 [ , int order ] )
+/
+/ aggregate function - FINAL
+/
+*/
+    unsigned char *blob = NULL;
+    int blob_sz;
+    int ret;
+    GaiaControlPointsPtr *cp = sqlite3_aggregate_context (context, 0);
+    if (cp == NULL)
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    identifier = (const char *) sqlite3_value_text (argv[1]);
-    if (sqlite3_value_type (argv[2]) == SQLITE_TEXT)
-	ns_id = (const char *) sqlite3_value_text (argv[2]);
-    if (sqlite3_value_type (argv[3]) == SQLITE_TEXT)
-	uri_id = (const char *) sqlite3_value_text (argv[3]);
-    if (sqlite3_value_type (argv[4]) == SQLITE_TEXT)
-	ns_charstr = (const char *) sqlite3_value_text (argv[4]);
-    if (sqlite3_value_type (argv[5]) == SQLITE_TEXT)
-	uri_charstr = (const char *) sqlite3_value_text (argv[5]);
-    if (!gaiaXmlBlobAddFileId
-	(sqlite3_user_data (context), p_blob, n_bytes, identifier, ns_id,
-	 uri_id, ns_charstr, uri_charstr, &new_blob, &new_bytes))
+    ret = gaiaCreatePolynomialCoeffs (*cp, &blob, &blob_sz);
+    if (!ret)
 	sqlite3_result_null (context);
     else
-	sqlite3_result_blob (context, new_blob, new_bytes, free);
+	sqlite3_result_blob (context, blob, blob_sz, free);
+    gaiaFreeControlPoints (*cp);
 }
 
 static void
-fnct_XB_AddParentId (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_GroundControlPoints_GeometryTransform (sqlite3_context * context,
+					    int argc, sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_AddParentId(XmlBLOB, Text value, Text ns_id, Text uri_id, Text ns_charstr, Text url_charstr)
+/ GCP_Transform(blob geom, blob gcp [ , int srid ] )
 /
-/ if the BLOB is a valid XmlBLOB of the ISO-Metadata type
-/ not containing a ParentID then this function will 
-/ return a new XmlBLOB containing the new ParentID
-/ return NULL on any other case
+/ will create a BLOB-Geometry by applying to the input Geometry all
+/ transformations specified by the Polynomial coefficients
+/ 
+/ returns a BLOB-ATM object or NULL on failure
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    unsigned char *new_blob;
-    int new_bytes;
-    const char *identifier;
-    const char *ns_id = NULL;
-    const char *uri_id = NULL;
-    const char *ns_charstr = NULL;
-    const char *uri_charstr = NULL;
+    unsigned char *blob;
+    int blob_sz;
+    const unsigned char *iblob1;
+    int iblob1_sz;
+    const unsigned char *iblob2;
+    int iblob2_sz;
+    gaiaGeomCollPtr g1;
+    gaiaGeomCollPtr g2;
+    int srid = -9999;
+    int gpkg_amphibious = 0;
+    int gpkg_mode = 0;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (cache != NULL)
       {
-	  sqlite3_result_null (context);
-	  return;
+	  gpkg_amphibious = cache->gpkg_amphibious_mode;
+	  gpkg_mode = cache->gpkg_mode;
       }
-    if (sqlite3_value_type (argv[1]) != SQLITE_TEXT)
+
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
       {
-	  sqlite3_result_null (context);
-	  return;
+	  iblob1 = sqlite3_value_blob (argv[0]);
+	  iblob1_sz = sqlite3_value_bytes (argv[0]);
       }
-    if (sqlite3_value_type (argv[2]) == SQLITE_TEXT
-	|| sqlite3_value_type (argv[2]) == SQLITE_NULL)
-	;
     else
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    if (sqlite3_value_type (argv[3]) == SQLITE_TEXT
-	|| sqlite3_value_type (argv[3]) == SQLITE_NULL)
-	;
+    if (sqlite3_value_type (argv[1]) == SQLITE_BLOB)
+      {
+	  iblob2 = sqlite3_value_blob (argv[1]);
+	  iblob2_sz = sqlite3_value_bytes (argv[1]);
+      }
     else
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    if (sqlite3_value_type (argv[4]) == SQLITE_TEXT
-	|| sqlite3_value_type (argv[4]) == SQLITE_NULL)
-	;
-    else
+    if (argc == 3)
+      {
+	  if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER)
+	      srid = sqlite3_value_int (argv[2]);
+	  else
+	    {
+		sqlite3_result_null (context);
+		return;
+	    }
+      }
+
+/* attempting to parse the BLOB-Geometry */
+    g1 = gaiaFromSpatiaLiteBlobWkbEx (iblob1, iblob1_sz, gpkg_mode,
+				      gpkg_amphibious);
+    if (g1 == NULL)
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    if (sqlite3_value_type (argv[5]) == SQLITE_TEXT
-	|| sqlite3_value_type (argv[5]) == SQLITE_NULL)
-	;
-    else
+    g2 = gaiaPolynomialTransformGeometry (g1, iblob2, iblob2_sz);
+    gaiaFreeGeomColl (g1);
+    if (g2 == NULL)
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    identifier = (const char *) sqlite3_value_text (argv[1]);
-    if (sqlite3_value_type (argv[2]) == SQLITE_TEXT)
-	ns_id = (const char *) sqlite3_value_text (argv[2]);
-    if (sqlite3_value_type (argv[3]) == SQLITE_TEXT)
-	uri_id = (const char *) sqlite3_value_text (argv[3]);
-    if (sqlite3_value_type (argv[4]) == SQLITE_TEXT)
-	ns_charstr = (const char *) sqlite3_value_text (argv[4]);
-    if (sqlite3_value_type (argv[5]) == SQLITE_TEXT)
-	uri_charstr = (const char *) sqlite3_value_text (argv[5]);
-    if (!gaiaXmlBlobAddParentId
-	(sqlite3_user_data (context), p_blob, n_bytes, identifier, ns_id,
-	 uri_id, ns_charstr, uri_charstr, &new_blob, &new_bytes))
+    if (srid != -9999)
+	g2->Srid = srid;
+    gaiaToSpatiaLiteBlobWkbEx (g2, &blob, &blob_sz, gpkg_mode);
+    gaiaFreeGeomColl (g2);
+    if (blob == NULL)
 	sqlite3_result_null (context);
     else
-	sqlite3_result_blob (context, new_blob, new_bytes, free);
+	sqlite3_result_blob (context, blob, blob_sz, free);
 }
 
 static void
-fnct_XB_GetName (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_GroundControlPoints_IsValid (sqlite3_context * context, int argc,
+				  sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetName(XmlBLOB)
+/ GCO_IsValid(BLOB polynomail)
 /
-/ if the BLOB is a valid XmlBLOB containing a Name then
-/ the Name will be returned
-/ return NULL on any other case
+/ returns TRUE if the current BLOB is a valid BLOB-GCP, FALSE if not 
+/ or -1 if any error is encountered
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    char *name;
+    const unsigned char *blob;
+    int blob_sz;
+    int ret;
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
       {
-	  sqlite3_result_null (context);
+	  blob = (const unsigned char *) sqlite3_value_blob (argv[0]);
+	  blob_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
+      {
+	  sqlite3_result_int (context, -1);
 	  return;
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    name = gaiaXmlBlobGetName (p_blob, n_bytes);
-    if (name == NULL)
-	sqlite3_result_null (context);
+
+/* verifying the BLOB-Polynomail */
+    ret = gaiaPolynomialIsValid (blob, blob_sz);
+    if (ret)
+	sqlite3_result_int (context, 1);
     else
-	sqlite3_result_text (context, name, strlen (name), free);
+	sqlite3_result_int (context, 0);
 }
 
 static void
-fnct_XB_GetTitle (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_GroundControlPoints_AsText (sqlite3_context * context, int argc,
+				 sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetTitle(XmlBLOB)
+/ GCP_AsText(BLOB polynomail)
 /
-/ if the BLOB is a valid XmlBLOB containing a Title then
-/ the Title will be returned
-/ return NULL on any other case
+/ returns a textual representaion of the BLOB-Polynomial
+/ or NULL if any error is encountered
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    char *title;
+    const unsigned char *blob;
+    int blob_sz;
+    char *text;
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+      {
+	  blob = (const unsigned char *) sqlite3_value_blob (argv[0]);
+	  blob_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    title = gaiaXmlBlobGetTitle (p_blob, n_bytes);
-    if (title == NULL)
+
+/* retrieving the textual representation from the BLOB-Matrix */
+    text = gaiaPolynomialAsText (blob, blob_sz);
+    if (text == NULL)
 	sqlite3_result_null (context);
     else
-	sqlite3_result_text (context, title, strlen (title), free);
+	sqlite3_result_text (context, text, strlen (text), sqlite3_free);
 }
 
 static void
-fnct_XB_GetAbstract (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_GroundControlPoints_ToATM (sqlite3_context * context, int argc,
+				sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetAbstract(XmlBLOB)
+/ GCP2ATM(BLOB polynomail)
 /
-/ if the BLOB is a valid XmlBLOB containing an Abstract then
-/ the Abstract will be returned
-/ return NULL on any other case
+/ returns a BLOB-Atm corresponding to a BLOB-Polynomial (first order only)
+/ or NULL if any error is encountered
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    char *abstract;
+    const unsigned char *blob;
+    int blob_sz;
+    unsigned char *oblob;
+    int oblob_sz;
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+/* validating the input args */
+    if (sqlite3_value_type (argv[0]) == SQLITE_BLOB)
+      {
+	  blob = (const unsigned char *) sqlite3_value_blob (argv[0]);
+	  blob_sz = sqlite3_value_bytes (argv[0]);
+      }
+    else
       {
 	  sqlite3_result_null (context);
 	  return;
       }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    abstract = gaiaXmlBlobGetAbstract (p_blob, n_bytes);
-    if (abstract == NULL)
+
+/* converting Polynomial coefficients into an Affine Transformation matrix */
+    if (!gaiaPolynomialToMatrix (blob, blob_sz, &oblob, &oblob_sz))
 	sqlite3_result_null (context);
     else
-	sqlite3_result_text (context, abstract, strlen (abstract), free);
+	sqlite3_result_blob (context, oblob, oblob_sz, free);
 }
 
+#endif /* end including GCP */
+
+#ifdef ENABLE_GEOPACKAGE	/* GEOPACKAGE enabled: supporting GPKG geometries */
+
 static void
-fnct_XB_GetGeometry (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_enableGpkgMode (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetGeometry(XmlBLOB)
+/ EnableGpkgMode ( void )
 /
-/ if the BLOB is a valid XmlBLOB containing a Geometry then
-/ the Geometry will be returned
-/ return NULL on any other case
+/ returns: nothing
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    int blob_len;
-    unsigned char *blob;
+    sqlite3 *sqlite;
+    int ret;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
-      {
-	  sqlite3_result_null (context);
-	  return;
-      }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    gaiaXmlBlobGetGeometry (p_blob, n_bytes, &blob, &blob_len);
-    if (blob == NULL)
-	sqlite3_result_null (context);
-    else
-	sqlite3_result_blob (context, blob, blob_len, free);
+    if (cache == NULL)
+	return;
+    sqlite = sqlite3_context_db_handle (context);
+    ret = checkSpatialMetaData (sqlite);
+    if (ret != 4)
+	return;			/* not GeoPackage */
+    cache->gpkg_mode = 1;
+    cache->gpkg_amphibious_mode = 0;
 }
 
 static void
-fnct_XB_GetEncoding (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_disableGpkgMode (sqlite3_context * context, int argc,
+		      sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetEncoding(XmlBLOB)
+/ DisableGpkgMode ( void )
 /
-/ if the BLOB is a valid XmlBLOB explicitly defining an encoding then
-/ the charset name will be returned
-/ return NULL on any other case
+/ returns: nothing
 */
-    const unsigned char *p_blob;
-    int n_bytes;
-    char *encoding;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
-      {
-	  sqlite3_result_null (context);
-	  return;
-      }
-    p_blob = sqlite3_value_blob (argv[0]);
-    n_bytes = sqlite3_value_bytes (argv[0]);
-    encoding = gaiaXmlBlobGetEncoding (p_blob, n_bytes);
-    if (encoding == NULL)
-	sqlite3_result_null (context);
-    else
-	sqlite3_result_text (context, encoding, strlen (encoding), free);
+    if (cache == NULL)
+	return;
+    cache->gpkg_mode = 0;
 }
 
 static void
-fnct_XB_GetInternalSchemaURI (sqlite3_context * context, int argc,
-			      sqlite3_value ** argv)
+fnct_getGpkgMode (sqlite3_context * context, int argc, sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetInternalSchemaURI(XmlDocument)
+/ GetGpkgMode ( void )
 /
-/ if the XMLDocument is valid and it contains an internally
-/ defined SchemaURI then this SchemaURI will be returned
-/ return NULL on any other case
+/ returns: TRUE or FALSE
 */
-    const unsigned char *xml;
-    int xml_len;
-    char *schema_uri;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_BLOB)
+    if (cache == NULL)
       {
-	  sqlite3_result_null (context);
+	  sqlite3_result_int (context, 0);
 	  return;
       }
-    xml = sqlite3_value_blob (argv[0]);
-    xml_len = sqlite3_value_bytes (argv[0]);
-    schema_uri =
-	gaiaXmlGetInternalSchemaURI (sqlite3_user_data (context), xml, xml_len);
-    if (schema_uri == NULL)
-	sqlite3_result_null (context);
-    else
-	sqlite3_result_text (context, schema_uri, strlen (schema_uri), free);
+    sqlite3_result_int (context, cache->gpkg_mode);
 }
 
+
 static void
-fnct_XB_GetLastParseError (sqlite3_context * context, int argc,
-			   sqlite3_value ** argv)
+fnct_enableGpkgAmphibiousMode (sqlite3_context * context, int argc,
+			       sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetLastParseError()
+/ EnableGpkgAmphibiousMode ( void )
 /
-/ return the most recent XML Parse error/warning (if any)
-/ return NULL on any other case
+/ returns: nothing
 */
-    char *msg;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    msg = gaiaXmlBlobGetLastParseError (sqlite3_user_data (context));
-    if (msg == NULL)
-	sqlite3_result_null (context);
-    else
-	sqlite3_result_text (context, msg, strlen (msg), SQLITE_STATIC);
+    if (cache == NULL)
+	return;
+    cache->gpkg_mode = 0;
+    cache->gpkg_amphibious_mode = 1;
 }
 
 static void
-fnct_XB_GetLastValidateError (sqlite3_context * context, int argc,
-			      sqlite3_value ** argv)
+fnct_disableGpkgAmphibiousMode (sqlite3_context * context, int argc,
+				sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetLastValidateError()
+/ DisableGpkgAmphibiousMode ( void )
 /
-/ return the most recent XML Validate error/warning (if any)
-/ return NULL on any other case
+/ returns: nothing
 */
-    char *msg;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    msg = gaiaXmlBlobGetLastValidateError (sqlite3_user_data (context));
-    if (msg == NULL)
-	sqlite3_result_null (context);
-    else
-	sqlite3_result_text (context, msg, strlen (msg), SQLITE_STATIC);
+    if (cache == NULL)
+	return;
+    cache->gpkg_amphibious_mode = 0;
 }
 
 static void
-fnct_XB_IsValidXPathExpression (sqlite3_context * context, int argc,
-				sqlite3_value ** argv)
+fnct_getGpkgAmphibiousMode (sqlite3_context * context, int argc,
+			    sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_IsValidXPathExpression(text XPathExpression)
+/ GetGpkgAmphibiousMode ( void )
 /
-/ returns TRUE if the current arg is a valid XPathExpression,
-/ FALSE if it's not
-/ or -1 if any error is encountered
+/ returns: TRUE or FALSE
 */
-    int ret;
-    const char *xpath;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    if (sqlite3_value_type (argv[0]) != SQLITE_TEXT)
+    if (cache == NULL)
       {
-	  sqlite3_result_int (context, -1);
+	  sqlite3_result_int (context, 0);
 	  return;
       }
-    xpath = (const char *) sqlite3_value_text (argv[0]);
-    ret = gaiaIsValidXPathExpression (sqlite3_user_data (context), xpath);
-    sqlite3_result_int (context, ret);
+    sqlite3_result_int (context, cache->gpkg_amphibious_mode);
 }
 
+#endif /* end GPKG conditional */
+
 static void
-fnct_XB_GetLastXPathError (sqlite3_context * context, int argc,
-			   sqlite3_value ** argv)
+fnct_setDecimalPrecision (sqlite3_context * context, int argc,
+			  sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_GetLastXPathError()
+/ SetDecimalPrecision ( int precision )
+/ a negative precision identifies the default setting
 /
-/ return the most recent XML Validate error/warning (if any)
-/ return NULL on any other case
+/ returns: nothing
 */
-    char *msg;
+    int precision = -1;
+    struct splite_internal_cache *cache = sqlite3_user_data (context);
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-    msg = gaiaXmlBlobGetLastXPathError (sqlite3_user_data (context));
-    if (msg == NULL)
-	sqlite3_result_null (context);
+    if (cache == NULL)
+	return;
+    if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER)
+	precision = sqlite3_value_int (argv[0]);
     else
-	sqlite3_result_text (context, msg, strlen (msg), SQLITE_STATIC);
+	return;
+    if (precision < 0)
+	precision = -1;
+    else if (precision == 6)
+	precision = -1;
+    else if (precision > 18)
+	precision = 18;
+    cache->decimal_precision = precision;
 }
 
 static void
-fnct_XB_CacheFlush (sqlite3_context * context, int argc, sqlite3_value ** argv)
+fnct_getDecimalPrecision (sqlite3_context * context, int argc,
+			  sqlite3_value ** argv)
 {
 /* SQL function:
-/ XB_CacheFlush()
+/ GetDecimalPrecision ( void )
 /
-/ resets the Internal XML Schema Cache to its initial empty state
-/ 
-/ returns TRUE on success
+/ returns: the currently set Decimal Precision
 */
-    int i;
-    struct splite_xmlSchema_cache_item *p_xmlSchema;
     struct splite_internal_cache *cache = sqlite3_user_data (context);
-
     GAIA_UNUSED ();		/* LCOV_EXCL_LINE */
-
-    for (i = 0; i < MAX_XMLSCHEMA_CACHE; i++)
+    if (cache == NULL)
       {
-	  /* freeing the XmlSchema cache */
-	  p_xmlSchema = &(cache->xmlSchemaCache[i]);
-	  splite_free_xml_schema_cache_item (p_xmlSchema);
+	  sqlite3_result_int (context, -1);
+	  return;
       }
-    sqlite3_result_int (context, 1);
+    sqlite3_result_int (context, cache->decimal_precision);
 }
 
-#endif /* end including LIBXML2 */
-
 #ifdef LOADABLE_EXTENSION
 static void
 splite_close_callback (void *p_cache)
@@ -30059,7 +35541,7 @@ splite_close_callback (void *p_cache)
 / the DB connection has been terminated 
 /
 / this callback function is expected to be invoked only if 
-/ SpatiaLite wasloaded as a dynamic extension and will
+/ SpatiaLite was loaded as a dynamic extension and will
 / perform a final clean-up releasing the internal cache
 /
 */
@@ -30103,6 +35585,9 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
     sqlite3_create_function_v2 (db, "spatialite_target_cpu", 0,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_spatialite_target_cpu, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "freexl_version", 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_freexl_version, 0, 0, 0);
     sqlite3_create_function_v2 (db, "proj4_version", 0,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_proj4_version, 0, 0, 0);
@@ -30160,9 +35645,24 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
     sqlite3_create_function_v2 (db, "RTreeAlign", 3,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_RTreeAlign, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "IsValidNoDataPixel", 3,
+    sqlite3_create_function_v2 (db, "IsValidFont", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_IsValidFont, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "CheckFontFaceName", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_CheckFontFacename, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "GetFontFamily", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
-				fnct_IsValidNoDataPixel, 0, 0, 0);
+				fnct_GetFontFamily, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "IsFontBold", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_IsFontBold, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "IsFontItalic", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_IsFontItalic, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "IsValidPixel", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_IsValidPixel, 0, 0, 0);
     sqlite3_create_function_v2 (db, "IsValidRasterPalette", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_IsValidRasterPalette, 0, 0, 0);
@@ -30214,6 +35714,45 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
     sqlite3_create_function_v2 (db, "InsertEpsgSrid", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_InsertEpsgSrid, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridIsGeographic", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridIsGeographic, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridIsProjected", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridIsProjected, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridHasFlippedAxes", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridHasFlippedAxes, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridGetSpheroid", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridGetSpheroid, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridGetEllipsoid", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridGetSpheroid, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridGetPrimeMeridian", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridGetPrimeMeridian, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridGetDatum", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridGetDatum, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridGetProjection", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridGetProjection, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridGetUnit", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridGetUnit, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridGetAxis_1_Name", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridGetAxis1Name, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridGetAxis_1_Orientation", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridGetAxis1Orientation, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridGetAxis_2_Name", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridGetAxis2Name, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SridGetAxis_2_Orientation", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SridGetAxis2Orientation, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AddGeometryColumn", 4,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_AddGeometryColumn, 0, 0, 0);
@@ -30287,13 +35826,13 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_UpdateLayerStatistics, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GetLayerExtent", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GetLayerExtent, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GetLayerExtent", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GetLayerExtent, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GetLayerExtent", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GetLayerExtent, 0, 0, 0);
     sqlite3_create_function_v2 (db, "InvalidateLayerStatistics", 0,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
@@ -30307,6 +35846,9 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
     sqlite3_create_function_v2 (db, "CreateRasterCoveragesTable", 0,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_CreateRasterCoveragesTable, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "CreateVectorCoveragesTables", 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_CreateVectorCoveragesTables, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CreateMetaCatalogTables", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_CreateMetaCatalogTables, 0, 0, 0);
@@ -30317,25 +35859,25 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_UpdateMetaCatalogStatistics, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsText, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_AsText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsText, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsWkt", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsWkt, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsWkt", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsWkt, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsSvg", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsSvg1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsSvg", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsSvg2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsSvg", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsSvg3, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CloneTable", 4,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
@@ -30371,11 +35913,6 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_CloneTable, 0, 0, 0);
 
-    sqlite3_create_function_v2 (db, "eval", 1, SQLITE_UTF8, 0, fnct_EvalFunc, 0,
-				0, 0);
-    sqlite3_create_function_v2 (db, "eval", 2, SQLITE_UTF8, 0, fnct_EvalFunc, 0,
-				0, 0);
-
 #ifndef OMIT_PROJ		/* PROJ.4 is strictly required to support KML */
     sqlite3_create_function_v2 (db, "AsKml", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
@@ -30392,433 +35929,433 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 #endif /* end including PROJ.4 */
 
     sqlite3_create_function_v2 (db, "AsGml", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsGml, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsGml", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsGml, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsGml", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsGml, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromGml", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_FromGml, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsGeoJSON", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsGeoJSON, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsGeoJSON", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsGeoJSON, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsGeoJSON", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsGeoJSON, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromGeoJSON", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_FromGeoJSON, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromKml", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_FromKml, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsFGF", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsFGF, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromEWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_FromEWKB, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsEWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ToEWKB, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsEWKT", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ToEWKT, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromEWKT", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_FromEWKT, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsBinary", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsBinary, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_AsBinary", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsBinary, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomCollFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomCollFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryCollectionFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryCollectionFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PointFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PointFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PointFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PointFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LineFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LineFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LineStringFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LineStringFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PolyFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PolyFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PolygonFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PolygonFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MPointFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MPointFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiPointFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiPointFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MLineFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MLineFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiLineStringFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiLineStringFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MPolyFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MPolyFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiPolygonFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiPolygonFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomCollFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomCollFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryCollectionFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryCollectionFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PointFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PointFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PointFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PointFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LineFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LineFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LineStringFromWKB", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_LineFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LineStringFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PolyFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PolyFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PolygonFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PolygonFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MPointFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MPointFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiPointFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiPointFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MLineFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MLineFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiLineStringFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiLineStringFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MPolyFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MPolyFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiPolygonFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MultiPolygonFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_WKTToSQL", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_WktToSql, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeomFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeomFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeometryFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeometryFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeomCollFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeomCollFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeometryCollectionFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeometryCollectionFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PointFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PointFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PointFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PointFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LineFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LineFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LineStringFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LineStringFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PolyFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PolyFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PolygonFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PolygonFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MPointFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MPointFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiPointFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiPointFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MLineFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MLineFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiLineStringFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiLineStringFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MPolyFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MPolyFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiPolygonFromText", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromText1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiPolygonFromText", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromText2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_WKBToSQL", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_WkbToSql, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeomFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeomFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeometryFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeometryFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeomCollFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeomCollFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeometryCollectionFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeometryCollectionFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeomCollFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PointFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PointFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PointFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PointFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LineFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LineFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LineStringFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LineStringFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LineFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PolyFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PolyFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PolygonFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PolygonFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PolyFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MPointFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MPointFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiPointFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiPointFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPointFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MLineFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MLineFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiLineStringFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiLineStringFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MLineFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MPolyFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MPolyFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiPolygonFromWKB", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromWkb1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MultiPolygonFromWKB", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MPolyFromWkb2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromFGF", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeometryFromFGF1, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeomFromFGF", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeometryFromFGF2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CompressGeometry", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CompressGeometry, 0, 0, 0);
     sqlite3_create_function_v2 (db, "UncompressGeometry", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_UncompressGeometry, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SanitizeGeometry", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SanitizeGeometry, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToInteger", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
@@ -30850,137 +36387,155 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, 0,
 				fnct_MD5TotalChecksum_step,
 				fnct_MD5TotalChecksum_final, 0);
-    sqlite3_create_function_v2 (db, "CastToPoint", 1,
+    sqlite3_create_function_v2 (db, "EncodeURL", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_EncodeURL, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "DecodeURL", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_DecodeURL, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "DirNameFromPath", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_DirNameFromPath, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "FullFileNameFromPath", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_FullFileNameFromPath, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "FileNameFromPath", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_FileNameFromPath, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "FileExtFromPath", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_FileExtFromPath, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "CastToPoint", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToLinestring", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToLinestring, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToPolygon", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToPolygon, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToMultiPoint", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToMultiPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToMultiLinestring", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToMultiLinestring, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToMultiPolygon", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToMultiPolygon, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToGeometryCollection", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToGeometryCollection, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToMulti", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToMulti, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Multi", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToMulti, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToSingle", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToSingle, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToXY", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToXY, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToXYZ", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToXYZ, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToXYM", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToXYM, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastToXYZM", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastToXYZM, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ExtractMultiPoint", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ExtractMultiPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ExtractMultiLinestring", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ExtractMultiLinestring, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ExtractMultiPolygon", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ExtractMultiPolygon, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Reverse", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Reverse, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_ForceLHR", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ForceLHR, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Dimension", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Dimension, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Dimension", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Dimension, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CoordDimension", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CoordDimension, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_NDims", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NDims, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryType", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeometryType, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeometryType", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeometryType, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryAliasType", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeometryAliasType, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SridFromAuthCRS", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_SridFromAuthCRS, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SRID", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SRID, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SRID", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SRID, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SetSRID", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SetSRID, 0, 0, 0);
     sqlite3_create_function_v2 (db, "IsEmpty", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_IsEmpty, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_IsEmpty", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_IsEmpty, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Is3D", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Is3D, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_IsMeasured", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_IsMeasured, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Envelope", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Envelope, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Envelope", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Envelope, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Expand", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Expand, 0, 0, 0);
     sqlite3_create_function_v2 (db, "X", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC,
-				0, fnct_X, 0, 0, 0);
+				cache, fnct_X, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Y", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC,
-				0, fnct_Y, 0, 0, 0);
+				cache, fnct_Y, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Z", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC,
-				0, fnct_Z, 0, 0, 0);
+				cache, fnct_Z, 0, 0, 0);
     sqlite3_create_function_v2 (db, "M", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC,
-				0, fnct_M, 0, 0, 0);
+				cache, fnct_M, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_X", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_X,
-				0, 0, 0);
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_X, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Y", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Y,
-				0, 0, 0);
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_Y, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Z", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Z,
-				0, 0, 0);
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_Z, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_M", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_M,
-				0, 0, 0);
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_M, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MinX", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_MbrMinX, 0, 0, 0);
@@ -31006,61 +36561,61 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_MaxM, 0, 0, 0);
     sqlite3_create_function_v2 (db, "NumPoints", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NumPoints, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_NumPoints", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NumPoints, 0, 0, 0);
     sqlite3_create_function_v2 (db, "StartPoint", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_StartPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "EndPoint", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_EndPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_StartPoint", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_StartPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_EndPoint", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_EndPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "PointN", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PointN, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_PointN", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_PointN, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ExteriorRing", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ExteriorRing, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_ExteriorRing", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ExteriorRing, 0, 0, 0);
     sqlite3_create_function_v2 (db, "NumInteriorRing", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NumInteriorRings, 0, 0, 0);
     sqlite3_create_function_v2 (db, "NumInteriorRings", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NumInteriorRings, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_NumInteriorRing", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NumInteriorRings, 0, 0, 0);
     sqlite3_create_function_v2 (db, "InteriorRingN", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_InteriorRingN, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_InteriorRingN", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_InteriorRingN, 0, 0, 0);
     sqlite3_create_function_v2 (db, "NumGeometries", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NumGeometries, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_NumGeometries", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NumGeometries, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeometryN", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeometryN, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeometryN", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeometryN, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MBRContains", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
@@ -31078,13 +36633,13 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_MbrIntersects, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_EnvIntersects", 5,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_EnvIntersects, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_EnvelopesIntersects", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_MbrIntersects, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_EnvelopesIntersects", 5,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_EnvIntersects, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MBROverlaps", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
@@ -31096,49 +36651,49 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_MbrWithin, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ShiftCoords", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ShiftCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ShiftCoordinates", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ShiftCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Translate", 4,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Translate, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Shift_Longitude", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ShiftLongitude, 0, 0, 0);
     sqlite3_create_function_v2 (db, "NormalizeLonLat", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NormalizeLonLat, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ScaleCoords", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ScaleCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ScaleCoordinates", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ScaleCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ScaleCoords", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ScaleCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ScaleCoordinates", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ScaleCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "RotateCoords", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_RotateCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "RotateCoordinates", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_RotateCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ReflectCoords", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ReflectCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ReflectCoordinates", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ReflectCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SwapCoords", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SwapCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SwapCoordinates", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SwapCoords, 0, 0, 0);
     sqlite3_create_function_v2 (db, "BuildMbr", 4,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
@@ -31153,7 +36708,7 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_BuildCircleMbr2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Extent", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0,
 				fnct_Extent_step, fnct_Extent_final, 0);
     sqlite3_create_function_v2 (db, "MbrMinX", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
@@ -31195,73 +36750,73 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_MakePointZM2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeLine", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0,
 				fnct_MakeLine_step, fnct_MakeLine_final, 0);
     sqlite3_create_function_v2 (db, "MakeLine", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeLine, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeCircle", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeCircle, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeCircle", 4,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeCircle, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeCircle", 5,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeCircle, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeEllipse", 4,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeEllipse, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeEllipse", 5,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeEllipse, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeEllipse", 6,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeEllipse, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeArc", 5,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeArc, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeArc", 6,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeArc, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeArc", 7,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeArc, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeEllipticArc", 6,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeEllipticArc, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeEllipticArc", 7,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeEllipticArc, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeEllipticArc", 8,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeEllipticArc, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeCircularSector", 5,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeCircularSector, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeCircularSector", 6,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeCircularSector, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeCircularSector", 7,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeCircularSector, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeCircularStripe", 6,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeCircularStripe, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeCircularStripe", 7,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeCircularStripe, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeCircularStripe", 8,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeCircularStripe, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeEllipticSector", 6,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeEllipticSector, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeEllipticSector", 7,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeEllipticSector, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeEllipticSector", 8,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeEllipticSector, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Collect", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0,
@@ -31288,102 +36843,224 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_FilterMbrIntersects, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LinesFromRings", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LinesFromRings, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LinesFromRings", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LinesFromRings, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LinesFromRings", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LinesFromRings, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LinesFromRings", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LinesFromRings, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_NPoints", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NPoints, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_nrings", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_NRings, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ToGARS", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_ToGARS, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GARSMbr", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_GARSMbr, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SnapToGrid", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SnapToGrid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SnapToGrid", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SnapToGrid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SnapToGrid", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SnapToGrid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SnapToGrid", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SnapToGrid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SnapToGrid", 5,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SnapToGrid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SnapToGrid", 5,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SnapToGrid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SnapToGrid", 6,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SnapToGrid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SnapToGrid", 6,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SnapToGrid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AddPoint", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AddPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_AddPoint", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AddPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AddPoint", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AddPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_AddPoint", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AddPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "RemovePoint", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_RemovePoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_RemovePoint", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_RemovePoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SetPoint", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SetPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SetPoint", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SetPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SetStartPoint", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SetStartPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SetStartPoint", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SetStartPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SetEndPoint", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SetEndPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SetEndPoint", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SetEndPoint, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakePolygon", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakePolygon, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MakePolygon", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakePolygon, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakePolygon", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakePolygon, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MakePolygon", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakePolygon, 0, 0, 0);
 
+    sqlite3_create_function_v2 (db, "ATM_Create", 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Create, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_Create", 6,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Create, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_Create", 12,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Create, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_CreateTranslate", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_CreateTranslate, 0,
+				0, 0);
+    sqlite3_create_function_v2 (db, "ATM_CreateTranslate", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_CreateTranslate, 0,
+				0, 0);
+    sqlite3_create_function_v2 (db, "ATM_CreateScale", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_CreateScale, 0, 0,
+				0);
+    sqlite3_create_function_v2 (db, "ATM_CreateScale", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_CreateScale, 0, 0,
+				0);
+    sqlite3_create_function_v2 (db, "ATM_CreateRotate", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_CreateRotate, 0, 0,
+				0);
+    sqlite3_create_function_v2 (db, "ATM_CreateXRoll", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_CreateXRoll, 0, 0,
+				0);
+    sqlite3_create_function_v2 (db, "ATM_CreateYRoll", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_CreateYRoll, 0, 0,
+				0);
+    sqlite3_create_function_v2 (db, "ATM_CreateZRoll", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_CreateRotate, 0, 0,
+				0);
+    sqlite3_create_function_v2 (db, "ATM_Multiply", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Multiply, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_Translate", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Translate, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_Translate", 4,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Translate, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_Scale", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Scale, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_Scale", 4,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Scale, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_Rotate", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Rotate, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_XRoll", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_XRoll, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_YRoll", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_YRoll, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_ZRoll", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Rotate, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_Determinant", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Determinant, 0, 0,
+				0);
+    sqlite3_create_function_v2 (db, "ATM_IsInvertible", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_IsInvertible, 0, 0,
+				0);
+    sqlite3_create_function_v2 (db, "ATM_Invert", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_Invert, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_IsValid", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_IsValid, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_AsText", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_AffineTransformMatrix_AsText, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ATM_Transform", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_AffineTransformMatrix_GeometryTransform, 0,
+				0, 0);
+    sqlite3_create_function_v2 (db, "ATM_Transform", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_AffineTransformMatrix_GeometryTransform, 0,
+				0, 0);
+
+#ifdef ENABLE_GCP		/* only if ControlPoints enabled */
+    sqlite3_create_function_v2 (db, "GCP_Compute", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0,
+				fnct_GroundControlPoints_Compute_step,
+				fnct_GroundControlPoints_Compute_final, 0);
+    sqlite3_create_function_v2 (db, "GCP_Compute", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0,
+				fnct_GroundControlPoints_Compute_step,
+				fnct_GroundControlPoints_Compute_final, 0);
+    sqlite3_create_function_v2 (db, "GCP_Transform", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_GroundControlPoints_GeometryTransform, 0,
+				0, 0);
+    sqlite3_create_function_v2 (db, "GCP_Transform", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_GroundControlPoints_GeometryTransform, 0,
+				0, 0);
+    sqlite3_create_function_v2 (db, "GCP_IsValid", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_GroundControlPoints_IsValid, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "GCP_AsText", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_GroundControlPoints_AsText, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "GCP2ATM", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_GroundControlPoints_ToATM, 0, 0, 0);
+#endif /* end including GCP */
+
 #ifndef OMIT_GEOS		/* including GEOS */
     sqlite3_create_function_v2 (db, "BuildArea", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
@@ -31400,34 +37077,34 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 #endif /* end including GEOS */
 
     sqlite3_create_function_v2 (db, "DissolveSegments", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_DissolveSegments, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_DissolveSegments", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_DissolveSegments, 0, 0, 0);
     sqlite3_create_function_v2 (db, "DissolvePoints", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_DissolvePoints, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_DissolvePoints", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_DissolvePoints, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CollectionExtract", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CollectionExtract, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_CollectionExtract", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CollectionExtract, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Locate_Along_Measure", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LocateBetweenMeasures, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LocateAlong", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LocateBetweenMeasures, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Locate_Between_Measures", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LocateBetweenMeasures, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LocateBetween", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LocateBetweenMeasures, 0, 0, 0);
 #ifndef OMIT_GEOCALLBACKS	/* supporting RTree geometry callbacks */
     sqlite3_rtree_geometry_callback (db, "RTreeWithin", fnct_RTreeIntersects,
@@ -31489,15 +37166,24 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
     sqlite3_create_function_v2 (db, "RemoveDuplicateRows", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_RemoveDuplicateRows, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "RemoveDuplicateRows", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_RemoveDuplicateRows, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ElementaryGeometries", 5,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_ElementaryGeometries, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "ElementaryGeometries", 6,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_ElementaryGeometries, 0, 0, 0);
     sqlite3_create_function_v2 (db, "DropGeoTable", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_DropGeoTable, 0, 0, 0);
     sqlite3_create_function_v2 (db, "DropGeoTable", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_DropGeoTable, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "DropGeoTable", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_DropGeoTable, 0, 0, 0);
 
 /*
 // enabling BlobFromFile, BlobToFile and XB_LoadXML, XB_StoreXML, 
@@ -31545,10 +37231,10 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				      SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				      fnct_ImportDXFfromDir, 0, 0, 0);
 	  sqlite3_create_function_v2 (db, "ExportDXF", 9,
-				      SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				      SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				      fnct_ExportDXF, 0, 0, 0);
 	  sqlite3_create_function_v2 (db, "ExportDXF", 10,
-				      SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				      SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				      fnct_ExportDXF, 0, 0, 0);
 	  sqlite3_create_function_v2 (db, "ImportDBF", 3,
 				      SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
@@ -31617,6 +37303,11 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				      SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				      fnct_ExportGeoJSON, 0, 0, 0);
 
+	  sqlite3_create_function_v2 (db, "eval", 1, SQLITE_UTF8, 0,
+				      fnct_EvalFunc, 0, 0, 0);
+	  sqlite3_create_function_v2 (db, "eval", 2, SQLITE_UTF8, 0,
+				      fnct_EvalFunc, 0, 0, 0);
+
 #ifdef ENABLE_LIBXML2		/* including LIBXML2 */
 
 	  sqlite3_create_function_v2 (db, "XB_LoadXML", 1,
@@ -31660,12 +37351,43 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 
       }
 
+
+/* global settings */
+
+#ifdef ENABLE_GEOPACKAGE	/* GEOPACKAGE enabled: supporting GPKG geometries */
+    sqlite3_create_function_v2 (db, "EnableGpkgMode", 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_enableGpkgMode, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "DisableGpkgMode", 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_disableGpkgMode, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "GetGpkgMode", 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_getGpkgMode, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "EnableGpkgAmphibiousMode", 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_enableGpkgAmphibiousMode, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "DisableGpkgAmphibiousMode", 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_disableGpkgAmphibiousMode, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "GetGpkgAmphibiousMode", 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_getGpkgAmphibiousMode, 0, 0, 0);
+#endif /* end GPKG conditional */
+
+    sqlite3_create_function_v2 (db, "SetDecimalPrecision", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_setDecimalPrecision, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "GetDecimalPrecision", 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
+				fnct_getDecimalPrecision, 0, 0, 0);
+
 /* some Geodesic functions */
     sqlite3_create_function_v2 (db, "GreatCircleLength", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GreatCircleLength, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeodesicLength", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeodesicLength, 0, 0, 0);
 
 /* some Length Unit conversion functions */
@@ -31813,6 +37535,9 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
     sqlite3_create_function_v2 (db, "atan", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_math_atan, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "atan2", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_math_atan2, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ceil", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_math_ceil, 0, 0, 0);
@@ -31931,10 +37656,10 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Boundary, 0, 0, 0);
     sqlite3_create_function_v2 (db, "IsClosed", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_IsClosed, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_IsClosed", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_IsClosed, 0, 0, 0);
     sqlite3_create_function_v2 (db, "IsSimple", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
@@ -32185,10 +37910,10 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
     sqlite3_create_function_v2 (db, "CreateTopologyTables", 3,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_CreateTopologyTables, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "OffsetCurve", 3,
+    sqlite3_create_function_v2 (db, "OffsetCurve", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_OffsetCurve, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "ST_OffsetCurve", 3,
+    sqlite3_create_function_v2 (db, "ST_OffsetCurve", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_OffsetCurve, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SingleSidedBuffer", 3,
@@ -32330,16 +38055,16 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_HexagonalGrid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "LinesCutAtNodes", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LinesCutAtNodes, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_LinesCutAtNodes", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_LinesCutAtNodes, 0, 0, 0);
     sqlite3_create_function_v2 (db, "RingsCutAtNodes", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_RingsCutAtNodes, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_RingsCutAtNodes", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_RingsCutAtNodes, 0, 0, 0);
 
 #ifdef GEOS_ADVANCED		/* GEOS advanced features - 3.4.0 */
@@ -32421,115 +38146,115 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				0, fnct_LWGEOM_GetLastWarningMsg, 0, 0, 0);
 
     sqlite3_create_function_v2 (db, "MakeValid", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeValid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MakeValid", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeValid, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MakeValidDiscarded", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_MakeValidDiscarded, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MakeValidDiscarded", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MakeValidDiscarded, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Area", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Area, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Area", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Area, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Segmentize", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Segmentize, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Segmentize", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Segmentize, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Azimuth", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Azimuth, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Azimuth", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Azimuth, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Project", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Project, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Project", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Project, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeoHash", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeoHash, 0, 0, 0);
     sqlite3_create_function_v2 (db, "GeoHash", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeoHash, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeoHash", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeoHash, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_GeoHash", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_GeoHash, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsX3D", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsX3D, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsX3D", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsX3D, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsX3D", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsX3D, 0, 0, 0);
     sqlite3_create_function_v2 (db, "AsX3D", 4,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsX3D, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_AsX3D", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsX3D, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_AsX3D", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsX3D, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_AsX3D", 3,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsX3D, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_AsX3D", 4,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_AsX3D, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_3DDistance", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_3DDistance, 0, 0, 0);
     sqlite3_create_function_v2 (db, "MaxDistance", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MaxDistance, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_MaxDistance", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_MaxDistance, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_3DMaxDistance", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_3DMaxDistance, 0, 0, 0);
     sqlite3_create_function_v2 (db, "Split", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Split, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Split", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Split, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SplitLeft", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SplitLeft, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SplitLeft", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SplitLeft, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SplitRight", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SplitRight, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SplitRight", 2,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SplitRight, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_Node", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_Node, 0, 0, 0);
     sqlite3_create_function_v2 (db, "SelfIntersections", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SelfIntersections, 0, 0, 0);
     sqlite3_create_function_v2 (db, "ST_SelfIntersections", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_SelfIntersections, 0, 0, 0);
 
 #endif /* end LWGEOM support */
@@ -32544,42 +38269,144 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
     sqlite3_create_function_v2 (db, "CreateStylingTables", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_CreateStylingTables, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterExternalGraphic", 2,
+    sqlite3_create_function_v2 (db, "CreateStylingTables", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_CreateStylingTables, 0, 0, 0);
+    sqlite3_create_function (db, "SE_RegisterVectorCoverage", 3, SQLITE_ANY, 0,
+			     fnct_RegisterVectorCoverage, 0, 0);
+    sqlite3_create_function (db, "SE_RegisterVectorCoverage", 5, SQLITE_ANY, 0,
+			     fnct_RegisterVectorCoverage, 0, 0);
+    sqlite3_create_function (db, "SE_UnRegisterVectorCoverage", 1, SQLITE_ANY,
+			     0, fnct_UnregisterVectorCoverage, 0, 0);
+    sqlite3_create_function (db, "SE_SetVectorCoverageInfos", 3, SQLITE_ANY, 0,
+			     fnct_SetVectorCoverageInfos, 0, 0);
+    sqlite3_create_function (db, "SE_RegisterVectorCoverageSrid", 2, SQLITE_ANY,
+			     0, fnct_RegisterVectorCoverageSrid, 0, 0);
+    sqlite3_create_function (db, "SE_UnRegisterVectorCoverageSrid", 2,
+			     SQLITE_ANY, 0, fnct_UnregisterVectorCoverageSrid,
+			     0, 0);
+    sqlite3_create_function (db, "SE_RegisterVectorCoverageKeyword", 2,
+			     SQLITE_ANY, 0, fnct_RegisterVectorCoverageKeyword,
+			     0, 0);
+    sqlite3_create_function (db, "SE_UnRegisterVectorCoverageKeyword", 2,
+			     SQLITE_ANY, 0,
+			     fnct_UnregisterVectorCoverageKeyword, 0, 0);
+    sqlite3_create_function (db, "SE_UpdateVectorCoverageExtent", 0, SQLITE_ANY,
+			     0, fnct_UpdateVectorCoverageExtent, 0, 0);
+    sqlite3_create_function (db, "SE_UpdateVectorCoverageExtent", 1, SQLITE_ANY,
+			     0, fnct_UpdateVectorCoverageExtent, 0, 0);
+    sqlite3_create_function (db, "SE_UpdateVectorCoverageExtent", 2, SQLITE_ANY,
+			     0, fnct_UpdateVectorCoverageExtent, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_RegisterExternalGraphic", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_RegisterExternalGraphic, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterExternalGraphic", 5,
+    sqlite3_create_function_v2 (db, "SE_RegisterExternalGraphic", 5,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_RegisterExternalGraphic, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterVectorStyledLayer", 3,
+    sqlite3_create_function_v2 (db, "SE_UnregisterExternalGraphic", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
-				fnct_RegisterVectorStyledLayer, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterVectorStyledLayer", 4,
+				fnct_UnregisterExternalGraphic, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_RegisterVectorStyle", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_RegisterVectorStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterVectorStyle", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_UnRegisterVectorStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterVectorStyle", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_UnRegisterVectorStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_ReloadVectorStyle", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_ReloadVectorStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_RegisterVectorStyledLayer", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_RegisterVectorStyledLayer, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterRasterStyledLayer", 2,
+    sqlite3_create_function_v2 (db, "SE_UnRegisterVectorStyledLayer", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
-				fnct_RegisterRasterStyledLayer, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterRasterStyledLayer", 3,
+				fnct_UnRegisterVectorStyledLayer, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_RegisterRasterStyle", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
-				fnct_RegisterRasterStyledLayer, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterStyledGroup", 2,
+				fnct_RegisterRasterStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterRasterStyle", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
-				fnct_RegisterStyledGroup, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterStyledGroup", 3,
+				fnct_UnRegisterRasterStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterRasterStyle", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
-				fnct_RegisterStyledGroup, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterStyledGroup", 4,
+				fnct_UnRegisterRasterStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_ReloadRasterStyle", 2,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
-				fnct_RegisterStyledGroup, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "SetStyledGroupInfos", 3,
+				fnct_ReloadRasterStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_RegisterRasterStyledLayer", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_RegisterRasterStyledLayer, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterRasterStyledLayer", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_UnRegisterRasterStyledLayer, 0, 0, 0);
+    sqlite3_create_function (db, "SE_RegisterRasterCoverageSrid", 2, SQLITE_ANY,
+			     0, fnct_RegisterRasterCoverageSrid, 0, 0);
+    sqlite3_create_function (db, "SE_UnRegisterRasterCoverageSrid", 2,
+			     SQLITE_ANY, 0, fnct_UnregisterRasterCoverageSrid,
+			     0, 0);
+    sqlite3_create_function (db, "SE_RegisterRasterCoverageKeyword", 2,
+			     SQLITE_ANY, 0, fnct_RegisterRasterCoverageKeyword,
+			     0, 0);
+    sqlite3_create_function (db, "SE_UnRegisterRasterCoverageKeyword", 2,
+			     SQLITE_ANY, 0,
+			     fnct_UnregisterRasterCoverageKeyword, 0, 0);
+    sqlite3_create_function (db, "SE_UpdateRasterCoverageExtent", 0, SQLITE_ANY,
+			     0, fnct_UpdateRasterCoverageExtent, 0, 0);
+    sqlite3_create_function (db, "SE_UpdateRasterCoverageExtent", 1, SQLITE_ANY,
+			     0, fnct_UpdateRasterCoverageExtent, 0, 0);
+    sqlite3_create_function (db, "SE_UpdateRasterCoverageExtent", 2, SQLITE_ANY,
+			     0, fnct_UpdateRasterCoverageExtent, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_RegisterStyledGroupRaster", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_RegisterStyledGroupRaster, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_RegisterStyledGroupVector", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_RegisterStyledGroupVector, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_SetStyledGroupInfos", 3,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_SetStyledGroupInfos, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterGroupStyle", 2,
+    sqlite3_create_function_v2 (db, "SE_UnRegisterStyledGroup", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
-				fnct_RegisterGroupStyle, 0, 0, 0);
-    sqlite3_create_function_v2 (db, "RegisterGroupStyle", 3,
+				fnct_UnRegisterStyledGroup, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterStyledGroupLayer", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_UnRegisterStyledGroupLayer, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterStyledGroupVector", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_UnRegisterStyledGroupVector, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterStyledGroupRaster", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_UnRegisterStyledGroupRaster, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_SetStyledGroupLayerPaintOrder", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SetStyledGroupLayerPaintOrder, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_SetStyledGroupVectorPaintOrder", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SetStyledGroupVectorPaintOrder, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_SetStyledGroupRasterPaintOrder", 3,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_SetStyledGroupRasterPaintOrder, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_RegisterGroupStyle", 1,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_RegisterGroupStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterGroupStyle", 1,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_UnRegisterGroupStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterGroupStyle", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_UnRegisterGroupStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_ReloadGroupStyle", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_ReloadGroupStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_RegisterStyledGroupStyle", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_RegisterStyledGroupStyle, 0, 0, 0);
+    sqlite3_create_function_v2 (db, "SE_UnRegisterStyledGroupStyle", 2,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				fnct_UnRegisterStyledGroupStyle, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CreateIsoMetadataTables", 0,
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_CreateIsoMetadataTables, 0, 0, 0);
@@ -32785,7 +38612,7 @@ register_spatialite_sql_functions (void *p_db, const void *p_cache)
 				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
 				fnct_GPKG_IsAssignable, 0, 0, 0);
     sqlite3_create_function_v2 (db, "CastAutomagic", 1,
-				SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0,
+				SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache,
 				fnct_CastAutomagic, 0, 0, 0);
 
 #endif /* end enabling GeoPackage extensions */
diff --git a/src/spatialite/srid_aux.c b/src/spatialite/srid_aux.c
new file mode 100644
index 0000000..f7e4afb
--- /dev/null
+++ b/src/spatialite/srid_aux.c
@@ -0,0 +1,1950 @@
+/*
+
+ srid_aux.c -- SRID auxiliary functions
+
+ version 4.2.1, 2014 December 4
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ ------------------------------------------------------------------------------
+ 
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ 
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+ 
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
+
+The Original Code is the SpatiaLite library
+
+The Initial Developer of the Original Code is Alessandro Furieri
+ 
+Portions created by the Initial Developer are Copyright (C) 2014
+the Initial Developer. All Rights Reserved.
+
+Contributor(s):
+
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+
+/*
+ 
+CREDITS:
+
+this module has been partly funded by:
+Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale
+(implementing XML support - ISO Metadata and SLD/SE Styles) 
+
+*/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+
+#if defined(_WIN32) && !defined(__MINGW32__)
+#include "config-msvc.h"
+#else
+#include "config.h"
+#endif
+
+#include <spatialite/sqlite.h>
+#include <spatialite/debug.h>
+#include <spatialite.h>
+#include <spatialite_private.h>
+
+#ifdef _WIN32
+#define strcasecmp	_stricmp
+#endif /* not WIN32 */
+
+static int
+parse_proj4 (const char *proj4, const char *key, char **value)
+{
+/* attempts to find a key=value from within a Proj.4 geodetic string */
+    int len;
+    char keybuf[1024];
+    const char *p = proj4;
+    *value = NULL;
+    if (proj4 == NULL)
+	return 0;
+    while (1)
+      {
+	  /* searching the next key */
+	  if (*p == ' ' || *p == '\t')
+	    {
+		p++;
+		continue;
+	    }
+	  if (*p == '+')
+	    {
+		/* key begins here */
+		const char *v1 = NULL;
+		const char *v2 = NULL;
+		const char *k = p + 1;
+		while (1)
+		  {
+		      /* searching the key termination */
+		      if (*k == ' ' || *k == '=' || *k == '+' || *k == '\0')
+			  break;
+		      k++;
+		  }
+		len = k - (p + 1);
+		memset (keybuf, '\0', len + 1);
+		memcpy (keybuf, p + 1, len);
+		if (*k == '=')
+		  {
+		      v1 = v2 = k + 1;
+		      while (1)
+			{
+			    /* searching the value termination */
+			    if (*v2 == ' ' || *v2 == '+' || *v2 == '\0')
+				break;
+			    v2++;
+			}
+		  }
+		if (strcasecmp (keybuf, key) == 0)
+		  {
+		      if (v1 != NULL)
+			{
+			    len = v2 - v1;
+			    *value = malloc (len + 1);
+			    memset (*value, '\0', len + 1);
+			    memcpy (*value, v1, len);
+			}
+		      return 1;
+		  }
+		p = k;
+		if (v1 != NULL)
+		    p = v2;
+		continue;
+
+	    }
+	  return 0;		/* unexpected char */
+      }
+}
+
+static int
+is_wkt_key (const char *key)
+{
+/* testing for a WKT keyword */
+    if (strcasecmp (key, "PROJCS") == 0)
+	return 1;
+    if (strcasecmp (key, "GEOGCS") == 0)
+	return 1;
+    if (strcasecmp (key, "PARAMETER") == 0)
+	return 1;
+    if (strcasecmp (key, "DATUM") == 0)
+	return 1;
+    if (strcasecmp (key, "SPHEROID") == 0)
+	return 1;
+    if (strcasecmp (key, "AUTHORITY") == 0)
+	return 1;
+    if (strcasecmp (key, "PRIMEM") == 0)
+	return 1;
+    if (strcasecmp (key, "UNIT") == 0)
+	return 1;
+    if (strcasecmp (key, "PROJECTION") == 0)
+	return 1;
+    if (strcasecmp (key, "TOWGS84") == 0)
+	return 1;
+    if (strcasecmp (key, "AXIS") == 0)
+	return 1;
+    return 0;
+}
+
+static char *
+check_wkt (const char *wkt, const char *key, char axis, char axis_mode)
+{
+/* parsing a WKT string so to find a given key:value */
+    char mux[16][128];
+    char *o;
+    const char *p = wkt;
+    int level = 0;
+    int item = 0;
+    int quoted = 0;
+    int i;
+    int axis_no = 0;
+
+    if (wkt == NULL || key == NULL)
+	return NULL;
+
+    o = mux[item];
+    while (*p != '\0')
+      {
+	  if (*p == '"')
+	    {
+		/* quoted string */
+		if (quoted)
+		  {
+		      /* the quoted string ends here */
+		      *o = '\0';
+		      p++;
+		      quoted = 0;
+		      continue;
+		  }
+		else
+		  {
+		      /* the quoted string starts here */
+		      p++;
+		      quoted = 1;
+		      continue;
+		  }
+	    }
+	  if (quoted)
+	    {
+		/* within a quoted string */
+		*o++ = *p++;
+		continue;
+	    }
+	  if (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n')
+	    {
+		/* skipping unquoted whitespaces */
+		p++;
+		continue;
+	    }
+	  if (*p == ',')
+	    {
+		*o = '\0';
+		item++;
+		o = mux[item];
+		p++;
+		continue;
+	    }
+	  if (*p == '[')
+	    {
+		*o = '\0';
+		if (is_wkt_key (mux[item]))
+		  {
+		      char save[128];
+		      strcpy (save, mux[item]);
+		      item--;
+		      if (strcasecmp (key, "AXIS") == 0 && level == 2
+			  && item >= 2)
+			{
+			    int len;
+			    char *result;
+			    if (strcasecmp (mux[0], key) == 0)
+			      {
+				  axis_no++;
+				  if ((axis_no == 1 && axis == SPLITE_AXIS_1)
+				      || (axis_no == 2
+					  && axis == SPLITE_AXIS_2))
+				    {
+					if (axis_mode == SPLITE_AXIS_NAME)
+					  {
+					      len = strlen (mux[1]);
+					      result = malloc (len + 1);
+					      strcpy (result, mux[1]);
+					      return result;
+					  }
+					if (axis_mode ==
+					    SPLITE_AXIS_ORIENTATION)
+					  {
+					      len = strlen (mux[2]);
+					      result = malloc (len + 1);
+					      strcpy (result, mux[2]);
+					      return result;
+					  }
+				    }
+			      }
+			}
+		      if ((strcasecmp (key, "DATUM") == 0
+			   || strcasecmp (key, "SPHEROID") == 0
+			   || strcasecmp (key, "PRIMEM") == 0) && item >= 1)
+			{
+			    if (strcasecmp (mux[0], key) == 0)
+			      {
+				  int len = strlen (mux[1]);
+				  char *result = malloc (len + 1);
+				  strcpy (result, mux[1]);
+				  return result;
+			      }
+			}
+		      if ((strcasecmp (key, "UNIT") == 0
+			   || strcasecmp (key, "PROJECTION") == 0) && level == 2
+			  && item >= 1)
+			{
+			    if (strcasecmp (mux[0], key) == 0)
+			      {
+				  int len = strlen (mux[1]);
+				  char *result = malloc (len + 1);
+				  strcpy (result, mux[1]);
+				  return result;
+			      }
+			}
+		      for (i = 0; i <= item; i++)
+			  strcpy (mux[0], save);
+		      item = 1;
+		      o = mux[1];
+		      level++;
+		      p++;
+		      continue;
+		  }
+		else
+		    for (i = 0; i <= item; i++)
+			item = 0;
+		o = mux[0];
+		level++;
+		p++;
+		continue;
+	    }
+	  if (*p == ']')
+	    {
+		*o = '\0';
+		if (strcasecmp (key, "AXIS") == 0 && level == 2 && item >= 2)
+		  {
+		      int len;
+		      char *result;
+		      if (strcasecmp (mux[0], key) == 0)
+			{
+			    axis_no++;
+			    if ((axis_no == 1 && axis == SPLITE_AXIS_1)
+				|| (axis_no == 2 && axis == SPLITE_AXIS_2))
+			      {
+				  if (axis_mode == SPLITE_AXIS_NAME)
+				    {
+					len = strlen (mux[1]);
+					result = malloc (len + 1);
+					strcpy (result, mux[1]);
+					return result;
+				    }
+				  if (axis_mode == SPLITE_AXIS_ORIENTATION)
+				    {
+					len = strlen (mux[2]);
+					result = malloc (len + 1);
+					strcpy (result, mux[2]);
+					return result;
+				    }
+			      }
+			}
+		  }
+		if ((strcasecmp (key, "DATUM") == 0
+		     || strcasecmp (key, "SPHEROID") == 0
+		     || strcasecmp (key, "PRIMEM") == 0) && item >= 1)
+		  {
+		      if (strcasecmp (mux[0], key) == 0)
+			{
+			    int len = strlen (mux[1]);
+			    char *result = malloc (len + 1);
+			    strcpy (result, mux[1]);
+			    return result;
+			}
+		  }
+		if ((strcasecmp (key, "UNIT") == 0
+		     || strcasecmp (key, "PROJECTION") == 0) && level == 2
+		    && item >= 1)
+		  {
+		      if (strcasecmp (mux[0], key) == 0)
+			{
+			    int len = strlen (mux[1]);
+			    char *result = malloc (len + 1);
+			    strcpy (result, mux[1]);
+			    return result;
+			}
+		  }
+		for (i = 0; i <= item; i++)
+		    item = 0;
+		o = mux[0];
+		level--;
+		p++;
+		continue;
+	    }
+	  *o++ = *p++;
+	  continue;
+      }
+    return NULL;
+}
+
+static int
+check_geographic_wkt (const char *wkt, int *geographic)
+{
+/* testing WKT: is geographic */
+    int len;
+    char dummy[16];
+    const char *p = wkt;
+    if (wkt == NULL)
+	return 0;
+    while (1)
+      {
+	  /* skipping whitespaces */
+	  if (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n')
+	    {
+		p++;
+		continue;
+	    }
+	  break;
+      }
+    len = strlen (p);
+    if (len < 6)
+	return 0;
+    memset (dummy, '\0', 7);
+    memcpy (dummy, p, 6);
+    if (strcasecmp (dummy, "GEOGCS") == 0)
+	*geographic = 1;
+    else
+	*geographic = 0;
+    return 1;
+}
+
+static int
+check_projected_wkt (const char *wkt, int *projected)
+{
+/* testing WKT: is projected */
+    int len;
+    char dummy[16];
+    const char *p = wkt;
+    if (wkt == NULL)
+	return 0;
+    while (1)
+      {
+	  /* skipping whitespaces */
+	  if (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n')
+	    {
+		p++;
+		continue;
+	    }
+	  break;
+      }
+    len = strlen (p);
+    if (len < 6)
+	return 0;
+    memset (dummy, '\0', 7);
+    memcpy (dummy, p, 6);
+    if (strcasecmp (dummy, "PROJCS") == 0)
+	*projected = 1;
+    else
+	*projected = 0;
+    return 1;
+}
+
+SPATIALITE_DECLARE int
+srid_is_geographic (sqlite3 * sqlite, int srid, int *geographic)
+{
+/* 
+/ checks a SRID definition from the "spatial_ref_sys" table
+/  determining if it is of the geographic type
+*/
+    int ok = 0;
+    int ret;
+    sqlite3_stmt *stmt = NULL;
+    const char *sql;
+
+/* step #1: testing SPATIAL_REF_SYS_AUX */
+    sql = "SELECT is_geographic FROM spatial_ref_sys_aux WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER)
+			{
+			    int is_geographic = sqlite3_column_int (stmt, 0);
+			    if (is_geographic)
+				*geographic = 1;
+			    else
+				*geographic = 0;
+			    ok = 1;
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (ok)
+	      return 1;
+      }
+
+/* step #2: testing WKT */
+    sql = "SELECT srtext FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *wkt =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    if (check_geographic_wkt (wkt, geographic))
+				ok = 1;
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (ok)
+	      return 1;
+      }
+
+/* step #3: testing Proj.4 */
+    sql = "SELECT proj4text FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *proj4 =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    char *str = NULL;
+			    if (parse_proj4 (proj4, "proj", &str))
+			      {
+				  if (strcasecmp (str, "latlong") == 0
+				      || strcasecmp (str, "longlat") == 0)
+				      *geographic = 1;
+				  else
+				      *geographic = 0;
+				  ok = 1;
+			      }
+			    if (str)
+				free (str);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (ok)
+	      return 1;
+      };
+    return 0;
+}
+
+SPATIALITE_DECLARE int
+srid_is_projected (sqlite3 * sqlite, int srid, int *projected)
+{
+/* 
+/ checks a SRID definition from the "spatial_ref_sys" table
+/  determining if it is of the projected type
+*/
+    int ok = 0;
+    int ret;
+    sqlite3_stmt *stmt = NULL;
+    const char *sql;
+
+/* step #1: testing SPATIAL_REF_SYS_AUX */
+    sql = "SELECT is_geographic FROM spatial_ref_sys_aux WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER)
+			{
+			    int is_geographic = sqlite3_column_int (stmt, 0);
+			    if (is_geographic)
+				*projected = 0;
+			    else
+				*projected = 1;
+			    ok = 1;
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (ok)
+	      return 1;
+      }
+
+/* step #2: testing WKT */
+    sql = "SELECT srtext FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *wkt =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    if (check_projected_wkt (wkt, projected))
+				ok = 1;
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (ok)
+	      return 1;
+      }
+
+/* step #3: testing Proj.4 */
+    sql = "SELECT proj4text FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *proj4 =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    char *str = NULL;
+			    if (parse_proj4 (proj4, "proj", &str))
+			      {
+				  if (strcasecmp (str, "latlong") == 0
+				      || strcasecmp (str, "longlat") == 0)
+				      *projected = 0;
+				  else
+				      *projected = 1;
+				  ok = 1;
+			      }
+			    if (str)
+				free (str);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (ok)
+	      return 1;
+      }
+    return 0;
+}
+
+SPATIALITE_DECLARE int
+srid_has_flipped_axes (sqlite3 * sqlite, int srid, int *flipped)
+{
+/* 
+/ checks a SRS WKT definition from the "spatial_ref_sys" table
+/  determining if the axes order is X-Y or Y-X
+*/
+    int ok = 0;
+    int ret;
+    sqlite3_stmt *stmt = NULL;
+    const char *sql;
+    int geographic;
+    char *axis_1_name = NULL;
+    char *axis_1_orientation = NULL;
+    char *axis_2_name = NULL;
+    char *axis_2_orientation = NULL;
+    int ok_from_wkt = 0;
+
+/* step #1: testing SPATIAL_REF_SYS_AUX */
+    sql = "SELECT has_flipped_axes FROM spatial_ref_sys_aux WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER)
+			{
+			    int has_flipped_axes = sqlite3_column_int (stmt, 0);
+			    if (has_flipped_axes)
+				*flipped = 1;
+			    else
+				*flipped = 0;
+			    ok = 1;
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (ok)
+	      return 1;
+      }
+
+/* step #2: testing WKT */
+    axis_1_name = srid_get_axis (sqlite, srid, SPLITE_AXIS_1, SPLITE_AXIS_NAME);
+    axis_1_orientation =
+	srid_get_axis (sqlite, srid, SPLITE_AXIS_1, SPLITE_AXIS_ORIENTATION);
+    axis_2_name = srid_get_axis (sqlite, srid, SPLITE_AXIS_2, SPLITE_AXIS_NAME);
+    axis_2_orientation =
+	srid_get_axis (sqlite, srid, SPLITE_AXIS_2, SPLITE_AXIS_ORIENTATION);
+    if (axis_1_name != NULL && axis_1_orientation != NULL && axis_2_name != NULL
+	&& axis_2_orientation != NULL)
+      {
+	  if ((strcasecmp (axis_1_orientation, "NORTH") == 0
+	       || strcasecmp (axis_1_orientation, "SOUTH") == 0)
+	      && (strcasecmp (axis_2_orientation, "EAST") == 0
+		  || strcasecmp (axis_2_orientation, "WEST") == 0))
+	      *flipped = 1;
+	  else
+	      *flipped = 0;
+	  ok_from_wkt = 1;
+      }
+    if (axis_1_name)
+	free (axis_1_name);
+    if (axis_1_orientation)
+	free (axis_1_orientation);
+    if (axis_2_name)
+	free (axis_2_name);
+    if (axis_2_orientation)
+	free (axis_2_orientation);
+    if (ok_from_wkt)
+	return 1;
+
+/* step #3: just assuming that every Geographic SRS has flipped axes */
+    ret = srid_is_geographic (sqlite, srid, &geographic);
+    if (ret)
+      {
+	  if (geographic)
+	      *flipped = 1;
+	  else
+	      *flipped = 0;
+	  return 1;
+      }
+    return 0;
+}
+
+SPATIALITE_DECLARE char *
+srid_get_spheroid (sqlite3 * sqlite, int srid)
+{
+/* 
+/ checks a SRID definition from the "spatial_ref_sys" table
+/  then returning the corresponding Spheroid name
+*/
+    char *result = NULL;
+    int ret;
+    sqlite3_stmt *stmt = NULL;
+    const char *sql;
+
+/* step #1: testing SPATIAL_REF_SYS_AUX */
+    sql = "SELECT spheroid FROM spatial_ref_sys_aux WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    int len;
+			    const char *spheroid =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    len = strlen (spheroid);
+			    result = malloc (len + 1);
+			    strcpy (result, spheroid);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #2: testing WKT */
+    sql = "SELECT srtext FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *wkt =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    result = check_wkt (wkt, "SPHEROID", 0, 0);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #3: testing Proj.4 */
+    sql = "SELECT proj4text FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *proj4 =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    char *str = NULL;
+			    if (parse_proj4 (proj4, "ellps", &str))
+			      {
+				  if (strcasecmp (str, "clrk80") == 0)
+				    {
+					result = malloc (18);
+					strcpy (result, "Clarke 1880 (RGS)");
+				    }
+				  else if (strcasecmp (str, "clrk66") == 0)
+				    {
+					result = malloc (12);
+					strcpy (result, "Clarke 1866");
+				    }
+				  else if (strcasecmp (str, "GRS80") == 0)
+				    {
+					result = malloc (9);
+					strcpy (result, "GRS 1980");
+				    }
+				  else if (strcasecmp (str, "WGS84") == 0)
+				    {
+					result = malloc (7);
+					strcpy (result, "WGS 84");
+				    }
+				  else if (strcasecmp (str, "krass") == 0)
+				    {
+					result = malloc (16);
+					strcpy (result, "Krassowsky 1940");
+				    }
+				  else if (strcasecmp (str, "intl") == 0)
+				    {
+					result = malloc (19);
+					strcpy (result, "International 1924");
+				    }
+				  else if (strcasecmp (str, "bess_nam") == 0)
+				    {
+					result = malloc (21);
+					strcpy (result, "Bessel Namibia (GLM)");
+				    }
+				  else if (strcasecmp (str, "bessel") == 0)
+				    {
+					result = malloc (12);
+					strcpy (result, "Bessel 1841");
+				    }
+				  else if (strcasecmp (str, "aust_SA") == 0)
+				    {
+					result = malloc (29);
+					strcpy (result,
+						"Australian National Spheroid");
+				    }
+				  else if (strcasecmp (str, "WGS72") == 0)
+				    {
+					result = malloc (9);
+					strcpy (result, "WGS_1972");
+				    }
+				  else if (strcasecmp (str, "GRS67") == 0)
+				    {
+					result = malloc (9);
+					strcpy (result, "GRS 1967");
+				    }
+				  else if (strcasecmp (str, "WGS66") == 0)
+				    {
+					result = malloc (7);
+					strcpy (result, "NWL 9D");
+				    }
+				  else if (strcasecmp (str, "helmert") == 0)
+				    {
+					result = malloc (13);
+					strcpy (result, "Helmert 1906");
+				    }
+				  else if (strcasecmp (str, "airy") == 0)
+				    {
+					result = malloc (10);
+					strcpy (result, "Airy 1830");
+				    }
+				  else if (strcasecmp (str, "mod_airy") == 0)
+				    {
+					result = malloc (19);
+					strcpy (result, "Airy Modified 1849");
+				    }
+				  else if (strcasecmp (str, "evrstSS") == 0)
+				    {
+					result = malloc (31);
+					strcpy (result,
+						"Everest 1830 (1967 Definition)");
+				    }
+			      }
+			    if (str)
+				free (str);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+    return NULL;
+}
+
+SPATIALITE_DECLARE char *
+srid_get_prime_meridian (sqlite3 * sqlite, int srid)
+{
+/* 
+/ checks a SRID definition from the "spatial_ref_sys" table
+/  then returning the corresponding Prime Meridian name
+*/
+    char *result = NULL;
+    int ret;
+    sqlite3_stmt *stmt = NULL;
+    const char *sql;
+
+/* step #1: testing SPATIAL_REF_SYS_AUX */
+    sql = "SELECT prime_meridian FROM spatial_ref_sys_aux WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    int len;
+			    const char *prime_meridian =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    len = strlen (prime_meridian);
+			    result = malloc (len + 1);
+			    strcpy (result, prime_meridian);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #2: testing WKT */
+    sql = "SELECT srtext FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *wkt =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    result = check_wkt (wkt, "PRIMEM", 0, 0);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #3: testing Proj.4 */
+    sql = "SELECT proj4text FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *proj4 =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    char *str = NULL;
+			    if (parse_proj4 (proj4, "pm", &str))
+			      {
+				  if (strcasecmp (str, "jakarta") == 0)
+				    {
+					result = malloc (8);
+					strcpy (result, "Jakarta");
+				    }
+				  else if (strcasecmp (str, "brussels") == 0)
+				    {
+					result = malloc (9);
+					strcpy (result, "Brussels");
+				    }
+				  else if (strcasecmp (str, "rome") == 0)
+				    {
+					result = malloc (5);
+					strcpy (result, "Rome");
+				    }
+				  else if (strcasecmp (str, "madrid") == 0)
+				    {
+					result = malloc (7);
+					strcpy (result, "Madrid");
+				    }
+				  else if (strcasecmp (str, "ferro") == 0)
+				    {
+					result = malloc (6);
+					strcpy (result, "Ferro");
+				    }
+				  else if (strcasecmp (str, "bern") == 0)
+				    {
+					result = malloc (5);
+					strcpy (result, "Bern");
+				    }
+				  else if (strcasecmp (str, "bogota") == 0)
+				    {
+					result = malloc (7);
+					strcpy (result, "Bogota");
+				    }
+				  else if (strcasecmp (str, "lisbon") == 0)
+				    {
+					result = malloc (7);
+					strcpy (result, "Lisbon");
+				    }
+				  else if (strcasecmp (str, "paris") == 0)
+				    {
+					result = malloc (6);
+					strcpy (result, "Paris");
+				    }
+				  else if (strcasecmp (str, "stockholm") == 0)
+				    {
+					result = malloc (10);
+					strcpy (result, "Stockholm");
+				    }
+				  else if (strcasecmp (str, "athens") == 0)
+				    {
+					result = malloc (7);
+					strcpy (result, "Athens");
+				    }
+				  else if (strcasecmp (str, "oslo") == 0)
+				    {
+					result = malloc (5);
+					strcpy (result, "Oslo");
+				    }
+				  else if (strcasecmp (str, "2.337208333333333")
+					   == 0)
+				    {
+					result = malloc (10);
+					strcpy (result, "Paris RGS");
+				    }
+			      }
+			    if (str)
+				free (str);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+    return NULL;
+}
+
+SPATIALITE_DECLARE char *
+srid_get_projection (sqlite3 * sqlite, int srid)
+{
+/* 
+/ checks a SRID definition from the "spatial_ref_sys" table
+/  then returning the corresponding Projection name
+*/
+    char *result = NULL;
+    int ret;
+    sqlite3_stmt *stmt = NULL;
+    const char *sql;
+
+/* step #1: testing SPATIAL_REF_SYS_AUX */
+    sql = "SELECT projection FROM spatial_ref_sys_aux WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    int len;
+			    const char *projection =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    len = strlen (projection);
+			    result = malloc (len + 1);
+			    strcpy (result, projection);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #2: testing WKT */
+    sql = "SELECT srtext FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *wkt =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    result = check_wkt (wkt, "PROJECTION", 0, 0);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #3: testing Proj.4 */
+    sql = "SELECT proj4text FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *proj4 =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    char *str = NULL;
+			    if (parse_proj4 (proj4, "proj", &str))
+			      {
+				  if (strcasecmp (str, "tmerc") == 0)
+				    {
+					result = malloc (20);
+					strcpy (result, "Transverse_Mercator");
+				    }
+				  else if (strcasecmp (str, "utm") == 0)
+				    {
+					result = malloc (20);
+					strcpy (result, "Transverse_Mercator");
+				    }
+				  else if (strcasecmp (str, "merc") == 0)
+				    {
+					result = malloc (13);
+					strcpy (result, "Mercator_1SP");
+				    }
+				  else if (strcasecmp (str, "stere") == 0)
+				    {
+					result = malloc (20);
+					strcpy (result, "Polar_Stereographic");
+				    }
+				  else if (strcasecmp (str, "sterea") == 0)
+				    {
+					result = malloc (22);
+					strcpy (result,
+						"Oblique_Stereographic");
+				    }
+				  else if (strcasecmp (str, "somerc") == 0)
+				    {
+					result = malloc (39);
+					strcpy (result,
+						"Hotine_Oblique_Mercator_Azimuth_Center");
+				    }
+				  else if (strcasecmp (str, "omerc") == 0)
+				    {
+					result = malloc (39);
+					strcpy (result,
+						"Hotine_Oblique_Mercator_Azimuth_Center");
+				    }
+				  else if (strcasecmp (str, "krovak") == 0)
+				    {
+					result = malloc (7);
+					strcpy (result, "Krovak");
+				    }
+				  else if (strcasecmp (str, "cass") == 0)
+				    {
+					result = malloc (16);
+					strcpy (result, "Cassini_Soldner");
+				    }
+				  else if (strcasecmp (str, "lcc") == 0)
+				    {
+					result = malloc (28);
+					strcpy (result,
+						"Lambert_Conformal_Conic_1SP");
+				    }
+				  else if (strcasecmp (str, "lea") == 0)
+				    {
+					result = malloc (29);
+					strcpy (result,
+						"Lambert_Azimuthal_Equal_Area");
+				    }
+				  else if (strcasecmp (str, "laea") == 0)
+				    {
+					result = malloc (29);
+					strcpy (result,
+						"Lambert_Azimuthal_Equal_Area");
+				    }
+				  else if (strcasecmp (str, "aea") == 0)
+				    {
+					result = malloc (24);
+					strcpy (result,
+						"Albers_Conic_Equal_Area");
+				    }
+				  else if (strcasecmp (str, "cea") == 0)
+				    {
+					result = malloc (23);
+					strcpy (result,
+						"Cylindrical_Equal_Area");
+				    }
+				  else if (strcasecmp (str, "eqc") == 0)
+				    {
+					result = malloc (16);
+					strcpy (result, "Equirectangular");
+				    }
+				  else if (strcasecmp (str, "poly") == 0)
+				    {
+					result = malloc (10);
+					strcpy (result, "Polyconic");
+				    }
+				  else if (strcasecmp (str, "nzmg") == 0)
+				    {
+					result = malloc (21);
+					strcpy (result, "New_Zealand_Map_Grid");
+				    }
+				  else if (strcasecmp (str, "longlat") == 0)
+				    {
+					result = malloc (5);
+					strcpy (result, "none");
+				    }
+			      }
+			    if (str)
+				free (str);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+    return NULL;
+}
+
+SPATIALITE_DECLARE char *
+srid_get_datum (sqlite3 * sqlite, int srid)
+{
+/* 
+/ checks a SRID definition from the "spatial_ref_sys" table
+/  then returning the corresponding Unit name
+*/
+    char *result = NULL;
+    int ret;
+    sqlite3_stmt *stmt = NULL;
+    const char *sql;
+
+/* step #1: testing SPATIAL_REF_SYS_AUX */
+    sql = "SELECT datum FROM spatial_ref_sys_aux WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    int len;
+			    const char *datum =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    len = strlen (datum);
+			    result = malloc (len + 1);
+			    strcpy (result, datum);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #2: testing WKT */
+    sql = "SELECT srtext FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *wkt =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    result = check_wkt (wkt, "DATUM", 0, 0);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #3: testing Proj.4 */
+    sql = "SELECT proj4text FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *proj4 =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    char *str = NULL;
+			    if (parse_proj4 (proj4, "datum", &str))
+			      {
+				  if (strcasecmp (str, "NAD27") == 0)
+				    {
+					result = malloc (26);
+					strcpy (result,
+						"North_American_Datum_1927");
+				    }
+				  else if (strcasecmp (str, "NAD83") == 0)
+				    {
+					result = malloc (26);
+					strcpy (result,
+						"North_American_Datum_1983");
+				    }
+				  else if (strcasecmp (str, "WGS84") == 0)
+				    {
+					result = malloc (9);
+					strcpy (result, "WGS_1984");
+				    }
+				  else if (strcasecmp (str, "potsdam") == 0)
+				    {
+					result = malloc (28);
+					strcpy (result,
+						"Deutsches_Hauptdreiecksnetz");
+				    }
+				  else if (strcasecmp (str, "hermannskogel") ==
+					   0)
+				    {
+					result = malloc (32);
+					strcpy (result,
+						"Militar_Geographische_Institute");
+				    }
+				  else if (strcasecmp (str, "nzgd49") == 0)
+				    {
+					result = malloc (32);
+					strcpy (result,
+						"New_Zealand_Geodetic_Datum_1949");
+				    }
+				  else if (strcasecmp (str, "carthage") == 0)
+				    {
+					result = malloc (9);
+					strcpy (result, "Carthage");
+				    }
+				  else if (strcasecmp (str, "GGRS87") == 0)
+				    {
+					result = malloc (37);
+					strcpy (result,
+						"Greek_Geodetic_Reference_System_1987");
+				    }
+				  else if (strcasecmp (str, "ire65") == 0)
+				    {
+					result = malloc (5);
+					strcpy (result, "TM65");
+				    }
+				  else if (strcasecmp (str, "OSGB36") == 0)
+				    {
+					result = malloc (10);
+					strcpy (result, "OSGB_1936");
+				    }
+			      }
+			    if (str)
+				free (str);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+    return NULL;
+}
+
+SPATIALITE_DECLARE char *
+srid_get_unit (sqlite3 * sqlite, int srid)
+{
+/* 
+/ checks a SRID definition from the "spatial_ref_sys" table
+/  then returning the corresponding Unit name
+*/
+    char *result = NULL;
+    int ret;
+    sqlite3_stmt *stmt = NULL;
+    const char *sql;
+
+/* step #1: testing SPATIAL_REF_SYS_AUX */
+    sql = "SELECT unit FROM spatial_ref_sys_aux WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    int len;
+			    const char *unit =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    len = strlen (unit);
+			    result = malloc (len + 1);
+			    strcpy (result, unit);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #2: testing WKT */
+    sql = "SELECT srtext FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *wkt =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    result = check_wkt (wkt, "UNIT", 0, 0);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #3: testing Proj.4 */
+    sql = "SELECT proj4text FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *proj4 =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    char *str = NULL;
+			    if (parse_proj4 (proj4, "units", &str))
+			      {
+				  if (strcasecmp (str, "m") == 0)
+				    {
+					result = malloc (6);
+					strcpy (result, "metre");
+				    }
+				  else if (strcasecmp (str, "us-ft") == 0)
+				    {
+					result = malloc (16);
+					strcpy (result, "US survery foot");
+				    }
+				  else if (strcasecmp (str, "ft") == 0)
+				    {
+					result = malloc (5);
+					strcpy (result, "foot");
+				    }
+			      }
+			    if (str)
+				free (str);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+    return NULL;
+}
+
+SPATIALITE_DECLARE char *
+srid_get_axis (sqlite3 * sqlite, int srid, char axis, char mode)
+{
+/* 
+/ checks a SRID definition from the "spatial_ref_sys" table
+/  then returning the corresponding Axis name or orientation
+*/
+    char *result = NULL;
+    int ret;
+    sqlite3_stmt *stmt = NULL;
+    const char *sql;
+
+    if ((axis == SPLITE_AXIS_1 || axis == SPLITE_AXIS_2)
+	&& (mode == SPLITE_AXIS_NAME || mode == SPLITE_AXIS_ORIENTATION))
+	;
+    else
+	return NULL;
+
+/* step #1: testing SPATIAL_REF_SYS_AUX */
+    if (axis == SPLITE_AXIS_1 && mode == SPLITE_AXIS_NAME)
+	sql = "SELECT axis_1_name FROM spatial_ref_sys_aux WHERE srid = ?";
+    if (axis == SPLITE_AXIS_1 && mode == SPLITE_AXIS_ORIENTATION)
+	sql =
+	    "SELECT axis_1_orientation FROM spatial_ref_sys_aux WHERE srid = ?";
+    if (axis == SPLITE_AXIS_2 && mode == SPLITE_AXIS_NAME)
+	sql = "SELECT axis_2_name FROM spatial_ref_sys_aux WHERE srid = ?";
+    if (axis == SPLITE_AXIS_2 && mode == SPLITE_AXIS_ORIENTATION)
+	sql =
+	    "SELECT axis_2_orientation FROM spatial_ref_sys_aux WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    int len;
+			    const char *unit =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    len = strlen (unit);
+			    result = malloc (len + 1);
+			    strcpy (result, unit);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+
+/* step #2: testing WKT */
+    sql = "SELECT srtext FROM spatial_ref_sys WHERE srid = ?";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret == SQLITE_OK)
+      {
+	  sqlite3_reset (stmt);
+	  sqlite3_clear_bindings (stmt);
+	  sqlite3_bind_int (stmt, 1, srid);
+	  while (1)
+	    {
+		/* scrolling the result set rows */
+		ret = sqlite3_step (stmt);
+		if (ret == SQLITE_DONE)
+		    break;	/* end of result set */
+		if (ret == SQLITE_ROW)
+		  {
+		      if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT)
+			{
+			    const char *wkt =
+				(const char *) sqlite3_column_text (stmt, 0);
+			    result = check_wkt (wkt, "AXIS", axis, mode);
+			}
+		  }
+	    }
+	  sqlite3_finalize (stmt);
+	  stmt = NULL;
+	  if (result != NULL)
+	      return result;
+      }
+    return NULL;
+}
+
+static void
+getProjParamsFromSpatialReferenceSystemTable (sqlite3 * sqlite, int srid,
+					      char **proj_params)
+{
+/* retrives the PROJ params from SPATIAL_SYS_REF table, if possible */
+    char *sql;
+    char **results;
+    int rows;
+    int columns;
+    int i;
+    int ret;
+    int len;
+    const char *proj4text;
+    char *errMsg = NULL;
+    *proj_params = NULL;
+    sql =
+	sqlite3_mprintf
+	("SELECT proj4text FROM spatial_ref_sys WHERE srid = %d", srid);
+    ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unknown SRID: %d\t<%s>\n", srid, errMsg);
+	  sqlite3_free (errMsg);
+	  return;
+      }
+    for (i = 1; i <= rows; i++)
+      {
+	  proj4text = results[(i * columns)];
+	  if (proj4text != NULL)
+	    {
+		len = strlen (proj4text);
+		*proj_params = malloc (len + 1);
+		strcpy (*proj_params, proj4text);
+	    }
+      }
+    if (*proj_params == NULL)
+      {
+	  spatialite_e ("unknown SRID: %d\n", srid);
+      }
+    sqlite3_free_table (results);
+}
+
+static int
+coordinates_system_matches (struct epsg_defs *iter, const char *organization,
+			    const int organization_coordsys_id)
+{
+    if (organization == NULL)
+      {
+	  /* we didn't have a good lookup on the target database, so use best-efforts lookup */
+	  return ((iter->srid == organization_coordsys_id)
+		  && (iter->proj4text != NULL));
+      }
+    else
+      {
+	  return ((strcasecmp (iter->auth_name, organization) == 0)
+		  && (iter->auth_srid == organization_coordsys_id)
+		  && (iter->proj4text != NULL));
+      }
+}
+
+static void
+getProjParamsFromGeopackageTable (sqlite3 * sqlite, int srid,
+				  char **proj_params)
+{
+    char *sql;
+    char **results;
+    int rows;
+    int columns;
+    int ret;
+    int len;
+    char *errMsg = NULL;
+    struct epsg_defs *first = NULL;
+    struct epsg_defs *last = NULL;
+    struct epsg_defs *iter = NULL;
+    const char *organization = NULL;
+    int organization_coordsys_id = -1;
+
+    *proj_params = NULL;
+
+    sql =
+	sqlite3_mprintf
+	("SELECT organization, organization_coordsys_id FROM gpkg_spatial_ref_sys WHERE srs_id = %d",
+	 srid);
+    ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("unknown SRID: %d\t<%s>\n", srid, errMsg);
+	  sqlite3_free (errMsg);
+	  return;
+      }
+    if (rows == 0)
+      {
+	  printf
+	      ("unknown SRID: %d\t(not in local database, ignoring authority and using best efforts...)\n",
+	       srid);
+	  organization_coordsys_id = srid;
+      }
+    else if (rows == 1)
+      {
+	  /* there are 'columns' entries in the header row (result indexes 0 to columns - 1), and our data is the next row */
+	  organization = results[columns];
+	  errno = 0;
+	  organization_coordsys_id = strtol (results[columns + 1], NULL, 10);
+	  if ((errno != 0) || (organization_coordsys_id == 0))
+	    {
+		spatialite_e ("Invalid organization_coordsys_id format: %s\n",
+			      results[columns + 1]);
+		sqlite3_free_table (results);
+		return;
+	    }
+      }
+    else if (rows > 1)
+      {
+	  spatialite_e
+	      ("invalid or corrupt gpkg_spatial_ref_sys table - duplicate entries for : %d\n",
+	       srid);
+	  sqlite3_free_table (results);
+	  return;
+      }
+
+    if (organization == NULL)
+      {
+	  /* best-effort mode */
+	  initialize_epsg (srid, &first, &last);
+      }
+    else
+      {
+	  initialize_epsg (GAIA_EPSG_ANY, &first, &last);
+      }
+    iter = first;
+    while (iter)
+      {
+	  if (coordinates_system_matches
+	      (iter, organization, organization_coordsys_id))
+	    {
+		len = strlen (iter->proj4text);
+		*proj_params = malloc (len + 1);
+		strcpy (*proj_params, iter->proj4text);
+		free_epsg (first);
+		sqlite3_free_table (results);
+		return;
+	    }
+	  iter = iter->next;
+      }
+    /* if we get here, we didn't find a match */
+    free_epsg (first);
+    sqlite3_free_table (results);
+    spatialite_e ("unknown SRID: %d\n", srid);
+}
+
+static int
+exists_gpkg_spatial_ref_sys (void *p_sqlite)
+{
+/* checking if the GPKG_SPATIAL_REF_SYS table exists */
+    int ret;
+    int ok = 0;
+    char sql[1024];
+    char **results;
+    int n_rows;
+    int n_columns;
+    char *err_msg = NULL;
+
+    sqlite3 *handle = (sqlite3 *) p_sqlite;
+
+    strcpy (sql,
+	    "SELECT name FROM sqlite_master WHERE type = 'table' AND name LIKE 'gpkg_spatial_ref_sys'");
+    ret =
+	sqlite3_get_table (handle, sql, &results, &n_rows, &n_columns,
+			   &err_msg);
+    if (ret != SQLITE_OK)
+      {
+/* some error occurred */
+	  spatialite_e ("XX %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+    if (n_rows > 0)
+	ok = 1;
+    sqlite3_free_table (results);
+    return ok;
+}
+
+SPATIALITE_PRIVATE void
+getProjParamsEx (void *p_sqlite, int srid, char **proj_params,
+		 int gpkg_amphibious_mode)
+{
+/* retrives the PROJ params - generic interface */
+    sqlite3 *sqlite = (sqlite3 *) p_sqlite;
+    *proj_params = NULL;
+    if (exists_spatial_ref_sys (sqlite))
+      {
+	  /* normal Spatialite case */
+	  getProjParamsFromSpatialReferenceSystemTable (sqlite, srid,
+							proj_params);
+      }
+    else if (exists_gpkg_spatial_ref_sys (sqlite) && gpkg_amphibious_mode)
+      {
+	  /* geopackage case */
+	  getProjParamsFromGeopackageTable (sqlite, srid, proj_params);
+      }
+}
+
+SPATIALITE_PRIVATE void
+getProjParams (void *p_sqlite, int srid, char **proj_params)
+{
+/* 
+* retrives the PROJ params from SPATIAL_SYS_REF table, if possible 
+* convenience method - disabling GPKG amphibious mode
+*/
+    getProjParamsEx (p_sqlite, srid, proj_params, 0);
+}
diff --git a/src/spatialite/statistics.c b/src/spatialite/statistics.c
index 5be338b..b8ed91e 100644
--- a/src/spatialite/statistics.c
+++ b/src/spatialite/statistics.c
@@ -2060,7 +2060,6 @@ check_drop_layout (sqlite3 * sqlite, const char *prefix, const char *table,
     int rows;
     int columns;
     char jolly = '%';
-    char *x_name;
     int ret;
     char *sql;
     char *q_prefix = gaiaDoubleQuotedSql (prefix);
@@ -2143,14 +2142,15 @@ check_drop_layout (sqlite3 * sqlite, const char *prefix, const char *table,
 
 /* identifying any possible R*Tree supporting the main target */
     q_prefix = gaiaDoubleQuotedSql (prefix);
-    x_name = sqlite3_mprintf ("idx_%s_%c", table, jolly);
     sql =
 	sqlite3_mprintf
-	("SELECT name FROM \"%s\".sqlite_master WHERE type = 'table' "
-	 "AND name LIKE(%Q) AND sql LIKE('%cvirtual%c') AND sql LIKE('%crtree%c')",
-	 q_prefix, x_name, jolly, jolly, jolly, jolly);
+	("SELECT name FROM \"%s\".sqlite_master WHERE type = 'table' AND "
+	 "Lower(name) IN (SELECT "
+	 "Lower('idx_' || f_table_name || '_' || f_geometry_column) "
+	 "FROM geometry_columns WHERE Lower(f_table_name) = Lower(%Q)) "
+	 "AND sql LIKE('%cvirtual%c') AND sql LIKE('%crtree%c')",
+	 q_prefix, table, jolly, jolly, jolly, jolly);
     free (q_prefix);
-    sqlite3_free (x_name);
     ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL);
     sqlite3_free (sql);
     if (ret != SQLITE_OK)
@@ -2183,6 +2183,13 @@ gaiaDropTable (sqlite3 * sqlite, const char *table)
 SPATIALITE_DECLARE int
 gaiaDropTableEx (sqlite3 * sqlite, const char *prefix, const char *table)
 {
+    return gaiaDropTableEx2 (sqlite, prefix, table, 1);
+}
+
+SPATIALITE_DECLARE int
+gaiaDropTableEx2 (sqlite3 * sqlite, const char *prefix, const char *table,
+		  int transaction)
+{
 /* dropping a Spatial Table and any other related stuff */
     int ret;
     struct drop_params aux;
@@ -2213,10 +2220,15 @@ gaiaDropTableEx (sqlite3 * sqlite, const char *prefix, const char *table)
 	return 0;
     if (table == NULL)
 	return 0;
-/* the whole operation is a single transaction */
-    ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, NULL);
-    if (ret != SQLITE_OK)
-	return 0;
+
+    if (transaction)
+      {
+	  /* the whole operation is a single transaction */
+	  ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, NULL);
+	  if (ret != SQLITE_OK)
+	      return 0;
+      }
+
 /* checking the actual DB configuration */
     if (!check_drop_layout (sqlite, prefix, table, &aux))
 	goto rollback;
@@ -2225,10 +2237,15 @@ gaiaDropTableEx (sqlite3 * sqlite, const char *prefix, const char *table)
 	goto rollback;
     if (!do_drop_table (sqlite, prefix, table, &aux))
 	goto rollback;
-/* committing the still pending transaction */
-    ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL);
-    if (ret != SQLITE_OK)
-	goto rollback;
+
+    if (transaction)
+      {
+	  /* committing the still pending transaction */
+	  ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL);
+	  if (ret != SQLITE_OK)
+	      goto rollback;
+      }
+
     if (aux.rtrees)
       {
 	  /* memory cleanup - rtrees */
@@ -2244,8 +2261,12 @@ gaiaDropTableEx (sqlite3 * sqlite, const char *prefix, const char *table)
 
   rollback:
 
-/* invalidating the still pending transaction */
-    sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, NULL);
+    if (transaction)
+      {
+	  /* invalidating the still pending transaction */
+	  sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, NULL);
+      }
+
     if (aux.rtrees)
       {
 	  /* memory cleanup - rtrees */
diff --git a/src/spatialite/virtualnetwork.c b/src/spatialite/virtualnetwork.c
index 0b11f7f..e35544f 100644
--- a/src/spatialite/virtualnetwork.c
+++ b/src/spatialite/virtualnetwork.c
@@ -2392,11 +2392,8 @@ vnet_next (sqlite3_vtab_cursor * pCursor)
     VirtualNetworkCursorPtr cursor = (VirtualNetworkCursorPtr) pCursor;
     if (cursor->solution->Mode == VNET_RANGE_SOLUTION)
       {
-	  if (cursor->solution->CurrentRowId == 0)
-	      cursor->solution->CurrentNodeRow = cursor->solution->FirstNode;
-	  else
-	      cursor->solution->CurrentNodeRow =
-		  cursor->solution->CurrentNodeRow->Next;
+	  cursor->solution->CurrentNodeRow =
+	      cursor->solution->CurrentNodeRow->Next;
 	  if (!(cursor->solution->CurrentNodeRow))
 	    {
 		cursor->eof = 1;
diff --git a/src/srsinit/Makefile.am b/src/srsinit/Makefile.am
index 1ae233e..5a33dfb 100644
--- a/src/srsinit/Makefile.am
+++ b/src/srsinit/Makefile.am
@@ -53,6 +53,7 @@ SRSINIT_COMMON_SOURCES = srs_init.c \
 	epsg_inlined_43.c \
 	epsg_inlined_44.c \
 	epsg_inlined_45.c \
+	epsg_inlined_46.c \
 	epsg_inlined_wgs84_00.c \
 	epsg_inlined_wgs84_01.c \
 	epsg_inlined_prussian.c \
diff --git a/src/srsinit/Makefile.in b/src/srsinit/Makefile.in
index bbd2474..8ea14d8 100644
--- a/src/srsinit/Makefile.in
+++ b/src/srsinit/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/srsinit
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -141,6 +150,7 @@ am__objects_1 = libsrsinit_la-srs_init.lo \
 	libsrsinit_la-epsg_inlined_43.lo \
 	libsrsinit_la-epsg_inlined_44.lo \
 	libsrsinit_la-epsg_inlined_45.lo \
+	libsrsinit_la-epsg_inlined_46.lo \
 	libsrsinit_la-epsg_inlined_wgs84_00.lo \
 	libsrsinit_la-epsg_inlined_wgs84_01.lo \
 	libsrsinit_la-epsg_inlined_prussian.lo \
@@ -178,7 +188,7 @@ am__objects_2 = srsinit_la-srs_init.lo srsinit_la-epsg_inlined_00.lo \
 	srsinit_la-epsg_inlined_39.lo srsinit_la-epsg_inlined_40.lo \
 	srsinit_la-epsg_inlined_41.lo srsinit_la-epsg_inlined_42.lo \
 	srsinit_la-epsg_inlined_43.lo srsinit_la-epsg_inlined_44.lo \
-	srsinit_la-epsg_inlined_45.lo \
+	srsinit_la-epsg_inlined_45.lo srsinit_la-epsg_inlined_46.lo \
 	srsinit_la-epsg_inlined_wgs84_00.lo \
 	srsinit_la-epsg_inlined_wgs84_01.lo \
 	srsinit_la-epsg_inlined_prussian.lo \
@@ -265,6 +275,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -470,6 +481,7 @@ SRSINIT_COMMON_SOURCES = srs_init.c \
 	epsg_inlined_43.c \
 	epsg_inlined_44.c \
 	epsg_inlined_45.c \
+	epsg_inlined_46.c \
 	epsg_inlined_wgs84_00.c \
 	epsg_inlined_wgs84_01.c \
 	epsg_inlined_prussian.c \
@@ -499,7 +511,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/srsinit/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/srsinit/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -587,6 +598,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsrsinit_la-epsg_inlined_43.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsrsinit_la-epsg_inlined_44.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsrsinit_la-epsg_inlined_45.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsrsinit_la-epsg_inlined_46.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsrsinit_la-epsg_inlined_extra.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsrsinit_la-epsg_inlined_prussian.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsrsinit_la-epsg_inlined_wgs84_00.Plo at am__quote@
@@ -638,6 +650,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/srsinit_la-epsg_inlined_43.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/srsinit_la-epsg_inlined_44.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/srsinit_la-epsg_inlined_45.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/srsinit_la-epsg_inlined_46.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/srsinit_la-epsg_inlined_extra.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/srsinit_la-epsg_inlined_prussian.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/srsinit_la-epsg_inlined_wgs84_00.Plo at am__quote@
@@ -649,14 +662,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -994,6 +1007,13 @@ libsrsinit_la-epsg_inlined_45.lo: epsg_inlined_45.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsrsinit_la_CFLAGS) $(CFLAGS) -c -o libsrsinit_la-epsg_inlined_45.lo `test -f 'epsg_inlined_45.c' || echo '$(srcdir)/'`epsg_inlined_45.c
 
+libsrsinit_la-epsg_inlined_46.lo: epsg_inlined_46.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsrsinit_la_CFLAGS) $(CFLAGS) -MT libsrsinit_la-epsg_inlined_46.lo -MD -MP -MF $(DEPDIR)/libsrsinit_la-epsg_inlined_46.Tpo -c -o libsrsinit_la-epsg_inlined_46.lo `test -f 'epsg_inlined_46.c' || echo '$(srcdir)/'`epsg_inlined_46.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsrsinit_la-epsg_inlined_46.Tpo $(DEPDIR)/libsrsinit_la-epsg_inlined_46.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='epsg_inlined_46.c' object='libsrsinit_la-epsg_inlined_46.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsrsinit_la_CFLAGS) $(CFLAGS) -c -o libsrsinit_la-epsg_inlined_46.lo `test -f 'epsg_inlined_46.c' || echo '$(srcdir)/'`epsg_inlined_46.c
+
 libsrsinit_la-epsg_inlined_wgs84_00.lo: epsg_inlined_wgs84_00.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsrsinit_la_CFLAGS) $(CFLAGS) -MT libsrsinit_la-epsg_inlined_wgs84_00.lo -MD -MP -MF $(DEPDIR)/libsrsinit_la-epsg_inlined_wgs84_00.Tpo -c -o libsrsinit_la-epsg_inlined_wgs84_00.lo `test -f 'epsg_inlined_wgs84_00.c' || echo '$(srcdir)/'`epsg_inlined_wgs84_00.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libsrsinit_la-epsg_inlined_wgs84_00.Tpo $(DEPDIR)/libsrsinit_la-epsg_inlined_wgs84_00.Plo
@@ -1351,6 +1371,13 @@ srsinit_la-epsg_inlined_45.lo: epsg_inlined_45.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(srsinit_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(srsinit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o srsinit_la-epsg_inlined_45.lo `test -f 'epsg_inlined_45.c' || echo '$(srcdir)/'`epsg_inlined_45.c
 
+srsinit_la-epsg_inlined_46.lo: epsg_inlined_46.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(srsinit_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(srsinit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT srsinit_la-epsg_inlined_46.lo -MD -MP -MF $(DEPDIR)/srsinit_la-epsg_inlined_46.Tpo -c -o srsinit_la-epsg_inlined_46.lo `test -f 'epsg_inlined_46.c' || echo '$(srcdir)/'`epsg_inlined_46.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/srsinit_la-epsg_inlined_46.Tpo $(DEPDIR)/srsinit_la-epsg_inlined_46.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='epsg_inlined_46.c' object='srsinit_la-epsg_inlined_46.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(srsinit_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(srsinit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o srsinit_la-epsg_inlined_46.lo `test -f 'epsg_inlined_46.c' || echo '$(srcdir)/'`epsg_inlined_46.c
+
 srsinit_la-epsg_inlined_wgs84_00.lo: epsg_inlined_wgs84_00.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(srsinit_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(srsinit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT srsinit_la-epsg_inlined_wgs84_00.lo -MD -MP -MF $(DEPDIR)/srsinit_la-epsg_inlined_wgs84_00.Tpo -c -o srsinit_la-epsg_inlined_wgs84_00.lo `test -f 'epsg_inlined_wgs84_00.c' || echo '$(srcdir)/'`epsg_inlined_wgs84_00.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/srsinit_la-epsg_inlined_wgs84_00.Tpo $(DEPDIR)/srsinit_la-epsg_inlined_wgs84_00.Plo
@@ -1663,6 +1690,8 @@ uninstall-am:
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/srsinit/epsg_inlined_00.c b/src/srsinit/epsg_inlined_00.c
index 0bc77ff..8444bf5 100644
--- a/src/srsinit/epsg_inlined_00.c
+++ b/src/srsinit/epsg_inlined_00.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 2000, "epsg", 2000,
-        "Anguilla 1957 / British West Indies Grid");
+    p = add_epsg_def_ex (filter, first, last, 2000, "epsg", 2000,
+        "Anguilla 1957 / British West Indies Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Anguilla_1957", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x");
     add_proj4text (p, 1,
@@ -69,23 +74,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4600\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4600\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-62],PARAMETER[\"scale_factor\",0.9995],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",400000],PARAMETER[\"false_nor");
+        "idian\",-62],PARAMETER[\"scale_factor\",0.9995],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "R[\"false_easting\",400000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"2000\"]]");
-    p = add_epsg_def (filter, first, last, 2001, "epsg", 2001,
-        "Antigua 1943 / British West Indies Grid");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"2000\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2001, "epsg", 2001,
+        "Antigua 1943 / British West Indies Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Antigua_1943", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x");
     add_proj4text (p, 1,
@@ -105,21 +115,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4601\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4601\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-62],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9995],PARAMETER[\"false_easting\",400");
+        "0],PARAMETER[\"central_meridian\",-62],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9995],PARAMETER[\"false_easting\",400000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2001\"]]");
-    p = add_epsg_def (filter, first, last, 2002, "epsg", 2002,
-        "Dominica 1945 / British West Indies Grid");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2001\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2002, "epsg", 2002,
+        "Dominica 1945 / British West Indies Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Dominica_1945", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x");
     add_proj4text (p, 1,
@@ -139,21 +154,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4602\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4602\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",-62],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.9995],PARAMETER[\"false_easting\",");
+        "n\",0],PARAMETER[\"central_meridian\",-62],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "400000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "cale_factor\",0.9995],PARAMETER[\"false_easting\",400000");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AX");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "IS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2002\"]]");
-    p = add_epsg_def (filter, first, last, 2003, "epsg", 2003,
-        "Grenada 1953 / British West Indies Grid");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+    add_srs_wkt (p, 13,
+        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"2002\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2003, "epsg", 2003,
+        "Grenada 1953 / British West Indies Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Grenada_1953", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x");
     add_proj4text (p, 1,
@@ -173,21 +193,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4603\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4603\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-62],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9995],PARAMETER[\"false_easting\",400");
+        "0],PARAMETER[\"central_meridian\",-62],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9995],PARAMETER[\"false_easting\",400000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2003\"]]");
-    p = add_epsg_def (filter, first, last, 2004, "epsg", 2004,
-        "Montserrat 1958 / British West Indies Grid");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2003\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2004, "epsg", 2004,
+        "Montserrat 1958 / British West Indies Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Montserrat_1958", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x");
     add_proj4text (p, 1,
@@ -207,23 +232,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4604\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4604\"]],PRO");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-62],P");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.9995],PARAMETER[\"false_east");
+        "_origin\",0],PARAMETER[\"central_meridian\",-62],PARAMET");
     add_srs_wkt (p, 10,
-        "ing\",400000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ER[\"scale_factor\",0.9995],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
+        "400000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2004\"");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AX");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2005, "epsg", 2005,
-        "St. Kitts 1955 / British West Indies Grid");
+        "IS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2004\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2005, "epsg", 2005,
+        "St. Kitts 1955 / British West Indies Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "St_Kitts_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x");
     add_proj4text (p, 1,
@@ -243,21 +271,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4605\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4605\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",-62],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.9995],PARAMETER[\"false_easting\",");
+        "n\",0],PARAMETER[\"central_meridian\",-62],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "400000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "cale_factor\",0.9995],PARAMETER[\"false_easting\",400000");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AX");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "IS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2005\"]]");
-    p = add_epsg_def (filter, first, last, 2006, "epsg", 2006,
-        "St. Lucia 1955 / British West Indies Grid");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+    add_srs_wkt (p, 13,
+        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"2005\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2006, "epsg", 2006,
+        "St. Lucia 1955 / British West Indies Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "St_Lucia_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x");
     add_proj4text (p, 1,
@@ -277,21 +310,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4606\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4606\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",-62],PARA");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.9995],PARAMETER[\"false_easting");
+        "igin\",0],PARAMETER[\"central_meridian\",-62],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\",400000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "\"scale_factor\",0.9995],PARAMETER[\"false_easting\",400");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2006\"]]");
-    p = add_epsg_def (filter, first, last, 2007, "epsg", 2007,
-        "St. Vincent 45 / British West Indies Grid");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2006\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2007, "epsg", 2007,
+        "St. Vincent 45 / British West Indies Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "St_Vincent_1945", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x");
     add_proj4text (p, 1,
@@ -311,23 +349,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4607\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4607\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ian\",-62],PARAMETER[\"scale_factor\",0.9995],PARAMETER[");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "\"false_easting\",400000],PARAMETER[\"false_northing\",0");
+        "62],PARAMETER[\"scale_factor\",0.9995],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "_easting\",400000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
     add_srs_wkt (p, 13,
-        "G\",\"2007\"]]");
-    p = add_epsg_def (filter, first, last, 2008, "epsg", 2008,
-        "NAD27(CGQ77) / SCoPQ zone 2 (deprecated)");
+        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 14,
+        "007\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2008, "epsg", 2008,
+        "NAD27(CGQ77) / SCoPQ zone 2 (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -337,29 +380,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "CS[\"NAD27(CGQ77)\",DATUM[\"North_American_Datum_1927_CG");
     add_srs_wkt (p, 2,
-        "Q77\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821390");
+        "Q77\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821389");
     add_srs_wkt (p, 3,
-        "06,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"66");
+        "82,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"66");
     add_srs_wkt (p, 4,
         "09\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-55.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9999],PARAMETER[\"false_easting\",304800],P");
+        "METER[\"central_meridian\",-55.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "or\",0.9999],PARAMETER[\"false_easting\",304800],PARAMET");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"2008\"]]");
-    p = add_epsg_def (filter, first, last, 2009, "epsg", 2009,
-        "NAD27(CGQ77) / SCoPQ zone 3");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2008\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2009, "epsg", 2009,
+        "NAD27(CGQ77) / SCoPQ zone 3", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -369,7 +417,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -377,21 +425,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-58.5],PARAMETER[\"scale_factor\",0");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        ".9999],PARAMETER[\"false_easting\",304800],PARAMETER[\"f");
+        "ral_meridian\",-58.5],PARAMETER[\"scale_factor\",0.9999]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",304800],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2009\"]]");
-    p = add_epsg_def (filter, first, last, 2010, "epsg", 2010,
-        "NAD27(CGQ77) / SCoPQ zone 4");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"2009\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2010, "epsg", 2010,
+        "NAD27(CGQ77) / SCoPQ zone 4", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -401,7 +454,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -409,21 +462,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-61.5],PARAMETER[\"scale_factor\",0");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        ".9999],PARAMETER[\"false_easting\",304800],PARAMETER[\"f");
+        "ral_meridian\",-61.5],PARAMETER[\"scale_factor\",0.9999]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",304800],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2010\"]]");
-    p = add_epsg_def (filter, first, last, 2011, "epsg", 2011,
-        "NAD27(CGQ77) / SCoPQ zone 5");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"2010\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2011, "epsg", 2011,
+        "NAD27(CGQ77) / SCoPQ zone 5", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -433,7 +491,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -441,21 +499,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-64.5],PARAMETER[\"scale_factor\",0");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        ".9999],PARAMETER[\"false_easting\",304800],PARAMETER[\"f");
+        "ral_meridian\",-64.5],PARAMETER[\"scale_factor\",0.9999]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",304800],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2011\"]]");
-    p = add_epsg_def (filter, first, last, 2012, "epsg", 2012,
-        "NAD27(CGQ77) / SCoPQ zone 6");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"2011\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2012, "epsg", 2012,
+        "NAD27(CGQ77) / SCoPQ zone 6", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -465,7 +528,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -473,21 +536,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-67.5],PARAMETER[\"scale_factor\",0");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        ".9999],PARAMETER[\"false_easting\",304800],PARAMETER[\"f");
+        "ral_meridian\",-67.5],PARAMETER[\"scale_factor\",0.9999]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",304800],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2012\"]]");
-    p = add_epsg_def (filter, first, last, 2013, "epsg", 2013,
-        "NAD27(CGQ77) / SCoPQ zone 7");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"2012\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2013, "epsg", 2013,
+        "NAD27(CGQ77) / SCoPQ zone 7", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -497,7 +565,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -505,21 +573,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-70.5],PARAMETER[\"scale_factor\",0");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        ".9999],PARAMETER[\"false_easting\",304800],PARAMETER[\"f");
+        "ral_meridian\",-70.5],PARAMETER[\"scale_factor\",0.9999]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",304800],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2013\"]]");
-    p = add_epsg_def (filter, first, last, 2014, "epsg", 2014,
-        "NAD27(CGQ77) / SCoPQ zone 8");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"2013\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2014, "epsg", 2014,
+        "NAD27(CGQ77) / SCoPQ zone 8", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -529,7 +602,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -537,21 +610,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-73.5],PARAMETER[\"scale_factor\",0");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        ".9999],PARAMETER[\"false_easting\",304800],PARAMETER[\"f");
+        "ral_meridian\",-73.5],PARAMETER[\"scale_factor\",0.9999]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",304800],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2014\"]]");
-    p = add_epsg_def (filter, first, last, 2015, "epsg", 2015,
-        "NAD27(CGQ77) / SCoPQ zone 9");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"2014\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2015, "epsg", 2015,
+        "NAD27(CGQ77) / SCoPQ zone 9", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -561,7 +639,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -569,21 +647,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-76.5],PARAMETER[\"scale_factor\",0");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        ".9999],PARAMETER[\"false_easting\",304800],PARAMETER[\"f");
+        "ral_meridian\",-76.5],PARAMETER[\"scale_factor\",0.9999]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",304800],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2015\"]]");
-    p = add_epsg_def (filter, first, last, 2016, "epsg", 2016,
-        "NAD27(CGQ77) / SCoPQ zone 10");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"2015\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2016, "epsg", 2016,
+        "NAD27(CGQ77) / SCoPQ zone 10", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -593,7 +676,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "GQ77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHERO");
     add_srs_wkt (p, 2,
-        "ID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY");
+        "ID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY");
     add_srs_wkt (p, 3,
         "[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIME");
     add_srs_wkt (p, 4,
@@ -601,21 +684,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_M");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "RITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-79.5],PARAMETER[\"scale_factor\",");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "0.9999],PARAMETER[\"false_easting\",304800],PARAMETER[\"");
+        "tral_meridian\",-79.5],PARAMETER[\"scale_factor\",0.9999");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",304800],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2016\"]]");
-    p = add_epsg_def (filter, first, last, 2017, "epsg", 2017,
-        "NAD27(76) / MTM zone 8");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2016\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2017, "epsg", 2017,
+        "NAD27(76) / MTM zone 8", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -625,29 +713,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clark");
     add_srs_wkt (p, 2,
-        "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",");
+        "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
         "\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "G\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 8,
-        "_meridian\",-73.5],PARAMETER[\"scale_factor\",0.9999],PA");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",304800],PARAMETER[\"false_nort");
+        "ian\",-73.5],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "2017\"]]");
-    p = add_epsg_def (filter, first, last, 2018, "epsg", 2018,
-        "NAD27(76) / MTM zone 9");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2017\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2018, "epsg", 2018,
+        "NAD27(76) / MTM zone 9", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -657,29 +750,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clark");
     add_srs_wkt (p, 2,
-        "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",");
+        "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
         "\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "G\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 8,
-        "_meridian\",-76.5],PARAMETER[\"scale_factor\",0.9999],PA");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",304800],PARAMETER[\"false_nort");
+        "ian\",-76.5],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "2018\"]]");
-    p = add_epsg_def (filter, first, last, 2019, "epsg", 2019,
-        "NAD27(76) / MTM zone 10");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2018\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2019, "epsg", 2019,
+        "NAD27(76) / MTM zone 10", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -689,29 +787,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-79.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "dian\",-79.5],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "ER[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\"2019\"]]");
-    p = add_epsg_def (filter, first, last, 2020, "epsg", 2020,
-        "NAD27(76) / MTM zone 11");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2019\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2020, "epsg", 2020,
+        "NAD27(76) / MTM zone 11", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -721,29 +824,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-82.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "dian\",-82.5],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "ER[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"2020\"]]");
-    p = add_epsg_def (filter, first, last, 2021, "epsg", 2021,
-        "NAD27(76) / MTM zone 12");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"2020\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2021, "epsg", 2021,
+        "NAD27(76) / MTM zone 12", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
@@ -753,29 +861,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-81],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "dian\",-81],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",304800],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2021\"]]");
-    p = add_epsg_def (filter, first, last, 2022, "epsg", 2022,
-        "NAD27(76) / MTM zone 13");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2021\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2022, "epsg", 2022,
+        "NAD27(76) / MTM zone 13", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
@@ -785,29 +898,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-84],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "dian\",-84],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",304800],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2022\"]]");
-    p = add_epsg_def (filter, first, last, 2023, "epsg", 2023,
-        "NAD27(76) / MTM zone 14");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2022\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2023, "epsg", 2023,
+        "NAD27(76) / MTM zone 14", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
@@ -817,29 +935,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-87],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "dian\",-87],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",304800],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2023\"]]");
-    p = add_epsg_def (filter, first, last, 2024, "epsg", 2024,
-        "NAD27(76) / MTM zone 15");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2023\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2024, "epsg", 2024,
+        "NAD27(76) / MTM zone 15", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
@@ -849,29 +972,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-90],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "dian\",-90],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",304800],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2024\"]]");
-    p = add_epsg_def (filter, first, last, 2025, "epsg", 2025,
-        "NAD27(76) / MTM zone 16");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2024\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2025, "epsg", 2025,
+        "NAD27(76) / MTM zone 16", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
@@ -881,29 +1009,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-93],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "dian\",-93],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",304800],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2025\"]]");
-    p = add_epsg_def (filter, first, last, 2026, "epsg", 2026,
-        "NAD27(76) / MTM zone 17");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2025\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2026, "epsg", 2026,
+        "NAD27(76) / MTM zone 17", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
@@ -913,29 +1046,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-96],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "dian\",-96],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",304800],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2026\"]]");
-    p = add_epsg_def (filter, first, last, 2027, "epsg", 2027,
-        "NAD27(76) / UTM zone 15N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2026\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2027, "epsg", 2027,
+        "NAD27(76) / UTM zone 15N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=15 +ellps=clrk66 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -943,29 +1081,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-93],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",-93],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2027\"]]");
-    p = add_epsg_def (filter, first, last, 2028, "epsg", 2028,
-        "NAD27(76) / UTM zone 16N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2027\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2028, "epsg", 2028,
+        "NAD27(76) / UTM zone 16N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=16 +ellps=clrk66 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -973,29 +1116,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-87],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",-87],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2028\"]]");
-    p = add_epsg_def (filter, first, last, 2029, "epsg", 2029,
-        "NAD27(76) / UTM zone 17N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2028\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2029, "epsg", 2029,
+        "NAD27(76) / UTM zone 17N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1003,29 +1151,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-81],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2029\"]]");
-    p = add_epsg_def (filter, first, last, 2030, "epsg", 2030,
-        "NAD27(76) / UTM zone 18N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2029\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2030, "epsg", 2030,
+        "NAD27(76) / UTM zone 18N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +ellps=clrk66 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1033,29 +1186,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4608\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-75],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2030\"]]");
-    p = add_epsg_def (filter, first, last, 2031, "epsg", 2031,
-        "NAD27(CGQ77) / UTM zone 17N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2030\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2031, "epsg", 2031,
+        "NAD27(CGQ77) / UTM zone 17N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1063,7 +1221,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -1071,21 +1229,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-81],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",-81],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"2031\"]]");
-    p = add_epsg_def (filter, first, last, 2032, "epsg", 2032,
-        "NAD27(CGQ77) / UTM zone 18N");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"2031\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2032, "epsg", 2032,
+        "NAD27(CGQ77) / UTM zone 18N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +ellps=clrk66 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1093,7 +1256,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -1101,21 +1264,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-75],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",-75],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"2032\"]]");
-    p = add_epsg_def (filter, first, last, 2033, "epsg", 2033,
-        "NAD27(CGQ77) / UTM zone 19N");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"2032\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2033, "epsg", 2033,
+        "NAD27(CGQ77) / UTM zone 19N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +ellps=clrk66 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1123,7 +1291,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -1131,21 +1299,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-69],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",-69],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"2033\"]]");
-    p = add_epsg_def (filter, first, last, 2034, "epsg", 2034,
-        "NAD27(CGQ77) / UTM zone 20N");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"2033\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2034, "epsg", 2034,
+        "NAD27(CGQ77) / UTM zone 20N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=clrk66 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1153,7 +1326,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -1161,21 +1334,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-63],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",-63],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"2034\"]]");
-    p = add_epsg_def (filter, first, last, 2035, "epsg", 2035,
-        "NAD27(CGQ77) / UTM zone 21N");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"2034\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2035, "epsg", 2035,
+        "NAD27(CGQ77) / UTM zone 21N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +ellps=clrk66 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1183,7 +1361,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
         "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -1191,21 +1369,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4609\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-57],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",-57],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"2035\"]]");
-    p = add_epsg_def (filter, first, last, 2036, "epsg", 2036,
-        "NAD83(CSRS98) / New Brunswick Stereo (deprecated)");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"2035\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2036, "epsg", 2036,
+        "NAD83(CSRS98) / New Brunswick Stereo (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Oblique_Stereographic", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2");
     add_proj4text (p, 1,
@@ -1225,21 +1408,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4140\"]],PROJECTION[\"Oblique_Stereographic\"],");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",46.5],PARAMETER[\"centr");
+        ",\"4140\"]],PROJECTION[\"Oblique_Stereographic\"],PARAME");
     add_srs_wkt (p, 9,
-        "al_meridian\",-66.5],PARAMETER[\"scale_factor\",0.999912");
+        "TER[\"latitude_of_origin\",46.5],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",2500000],PARAMETER[\"false");
+        "idian\",-66.5],PARAMETER[\"scale_factor\",0.999912],PARA");
     add_srs_wkt (p, 11,
-        "_northing\",7500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "METER[\"false_easting\",2500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"2036\"]]");
-    p = add_epsg_def (filter, first, last, 2037, "epsg", 2037,
-        "NAD83(CSRS98) / UTM zone 19N (deprecated)");
+        "ing\",7500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 13,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 14,
+        "THORITY[\"EPSG\",\"2036\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2037, "epsg", 2037,
+        "NAD83(CSRS98) / UTM zone 19N (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1257,23 +1447,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-69]");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 13,
-        "2037\"]]");
-    p = add_epsg_def (filter, first, last, 2038, "epsg", 2038,
-        "NAD83(CSRS98) / UTM zone 20N (deprecated)");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2037");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2038, "epsg", 2038,
+        "NAD83(CSRS98) / UTM zone 20N (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1291,23 +1486,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-63]");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 13,
-        "2038\"]]");
-    p = add_epsg_def (filter, first, last, 2039, "epsg", 2039,
-        "Israel / Israeli TM Grid");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2038");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2039, "epsg", 2039,
+        "Israel / Israeli TM Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Israel", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31.73439361111111 +lon_0=35.204516944");
     add_proj4text (p, 1,
@@ -1325,25 +1525,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4141\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 7,
-        "TER[\"latitude_of_origin\",31.73439361111111],PARAMETER[");
+        "41\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",35.20451694444445],PARAMETER[\"scal");
+        "atitude_of_origin\",31.73439361111111],PARAMETER[\"centr");
     add_srs_wkt (p, 9,
-        "e_factor\",1.0000067],PARAMETER[\"false_easting\",219529");
+        "al_meridian\",35.20451694444445],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        ".584],PARAMETER[\"false_northing\",626907.39],UNIT[\"met");
+        "r\",1.0000067],PARAMETER[\"false_easting\",219529.584],P");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
+        "ARAMETER[\"false_northing\",626907.39],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2039\"");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2040, "epsg", 2040,
-        "Locodjo 1965 / UTM zone 30N");
+        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2039\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2040, "epsg", 2040,
+        "Locodjo 1965 / UTM zone 30N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Locodjo_1965", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-125,53,467,0,");
     add_proj4text (p, 1,
@@ -1361,21 +1564,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4142\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4142\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-3],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "R[\"central_meridian\",-3],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"2040\"]]");
-    p = add_epsg_def (filter, first, last, 2041, "epsg", 2041,
-        "Abidjan 1987 / UTM zone 30N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2040\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2041, "epsg", 2041,
+        "Abidjan 1987 / UTM zone 30N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Abidjan_1987", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-124.76,53,466");
     add_proj4text (p, 1,
@@ -1393,21 +1601,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4143\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4143\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-3],PARAMETER[\"scale_");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "AMETER[\"central_meridian\",-3],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"2041\"]]");
-    p = add_epsg_def (filter, first, last, 2042, "epsg", 2042,
-        "Locodjo 1965 / UTM zone 29N");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"2041\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2042, "epsg", 2042,
+        "Locodjo 1965 / UTM zone 29N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Locodjo_1965", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-125,53,467,0,");
     add_proj4text (p, 1,
@@ -1425,21 +1638,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4142\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4142\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-9],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "R[\"central_meridian\",-9],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"2042\"]]");
-    p = add_epsg_def (filter, first, last, 2043, "epsg", 2043,
-        "Abidjan 1987 / UTM zone 29N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2042\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2043, "epsg", 2043,
+        "Abidjan 1987 / UTM zone 29N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Abidjan_1987", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-124.76,53,466");
     add_proj4text (p, 1,
@@ -1457,21 +1675,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4143\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4143\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-9],PARAMETER[\"scale_");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "AMETER[\"central_meridian\",-9],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"2043\"]]");
-    p = add_epsg_def (filter, first, last, 2044, "epsg", 2044,
-        "Hanoi 1972 / Gauss-Kruger zone 18");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"2043\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2044, "epsg", 2044,
+        "Hanoi 1972 / Gauss-Kruger zone 18", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Hanoi_1972", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=");
     add_proj4text (p, 1,
@@ -1491,19 +1714,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4147\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4147\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",105],PARAMETER[\"scale_");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "factor\",1],PARAMETER[\"false_easting\",18500000],PARAME");
+        "METER[\"central_meridian\",105],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "\",1],PARAMETER[\"false_easting\",18500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2044\"]]");
-    p = add_epsg_def (filter, first, last, 2045, "epsg", 2045,
-        "Hanoi 1972 / Gauss-Kruger zone 19");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"2044\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2045, "epsg", 2045,
+        "Hanoi 1972 / Gauss-Kruger zone 19", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Hanoi_1972", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=");
     add_proj4text (p, 1,
@@ -1523,19 +1753,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4147\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4147\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",111],PARAMETER[\"scale_");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "factor\",1],PARAMETER[\"false_easting\",19500000],PARAME");
+        "METER[\"central_meridian\",111],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "\",1],PARAMETER[\"false_easting\",19500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2045\"]]");
-    p = add_epsg_def (filter, first, last, 2046, "epsg", 2046,
-        "Hartebeesthoek94 / Lo15");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"2045\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2046, "epsg", 2046,
+        "Hartebeesthoek94 / Lo15", 0, 0,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
@@ -1553,23 +1790,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor_South_Orientated\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Mercator_So");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale");
+        "uth_Orientated\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "RAMETER[\"central_meridian\",15],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "r\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2046\"]]");
-    p = add_epsg_def (filter, first, last, 2047, "epsg", 2047,
-        "Hartebeesthoek94 / Lo17");
+        "\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2046\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2047, "epsg", 2047,
+        "Hartebeesthoek94 / Lo17", 0, 0,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=17 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
@@ -1587,23 +1829,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor_South_Orientated\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Mercator_So");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",17],PARAMETER[\"scale");
+        "uth_Orientated\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "RAMETER[\"central_meridian\",17],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "r\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2047\"]]");
-    p = add_epsg_def (filter, first, last, 2048, "epsg", 2048,
-        "Hartebeesthoek94 / Lo19");
+        "\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2047\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2048, "epsg", 2048,
+        "Hartebeesthoek94 / Lo19", 0, 0,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
@@ -1621,23 +1868,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor_South_Orientated\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Mercator_So");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",19],PARAMETER[\"scale");
+        "uth_Orientated\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "RAMETER[\"central_meridian\",19],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "r\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2048\"]]");
-    p = add_epsg_def (filter, first, last, 2049, "epsg", 2049,
-        "Hartebeesthoek94 / Lo21");
+        "\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2048\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2049, "epsg", 2049,
+        "Hartebeesthoek94 / Lo21", 0, 0,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
@@ -1655,23 +1907,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor_South_Orientated\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Mercator_So");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale");
+        "uth_Orientated\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "RAMETER[\"central_meridian\",21],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "r\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2049\"]]");
-    p = add_epsg_def (filter, first, last, 2050, "epsg", 2050,
-        "Hartebeesthoek94 / Lo23");
+        "\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2049\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2050, "epsg", 2050,
+        "Hartebeesthoek94 / Lo23", 0, 0,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
@@ -1689,23 +1946,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor_South_Orientated\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Mercator_So");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",23],PARAMETER[\"scale");
+        "uth_Orientated\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "RAMETER[\"central_meridian\",23],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "r\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2050\"]]");
-    p = add_epsg_def (filter, first, last, 2051, "epsg", 2051,
-        "Hartebeesthoek94 / Lo25");
+        "\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2050\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2051, "epsg", 2051,
+        "Hartebeesthoek94 / Lo25", 0, 0,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
@@ -1723,23 +1985,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor_South_Orientated\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Mercator_So");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",25],PARAMETER[\"scale");
+        "uth_Orientated\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "RAMETER[\"central_meridian\",25],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "r\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2051\"]]");
-    p = add_epsg_def (filter, first, last, 2052, "epsg", 2052,
-        "Hartebeesthoek94 / Lo27");
+        "\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2051\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2052, "epsg", 2052,
+        "Hartebeesthoek94 / Lo27", 0, 0,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
@@ -1757,23 +2024,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor_South_Orientated\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Mercator_So");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale");
+        "uth_Orientated\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "RAMETER[\"central_meridian\",27],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "r\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2052\"]]");
-    p = add_epsg_def (filter, first, last, 2053, "epsg", 2053,
-        "Hartebeesthoek94 / Lo29");
+        "\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2052\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2053, "epsg", 2053,
+        "Hartebeesthoek94 / Lo29", 0, 0,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
@@ -1791,23 +2063,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor_South_Orientated\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Mercator_So");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",29],PARAMETER[\"scale");
+        "uth_Orientated\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "RAMETER[\"central_meridian\",29],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "r\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2053\"]]");
-    p = add_epsg_def (filter, first, last, 2054, "epsg", 2054,
-        "Hartebeesthoek94 / Lo31");
+        "\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2053\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2054, "epsg", 2054,
+        "Hartebeesthoek94 / Lo31", 0, 0,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
@@ -1825,23 +2102,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor_South_Orientated\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Mercator_So");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",31],PARAMETER[\"scale");
+        "uth_Orientated\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "RAMETER[\"central_meridian\",31],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "r\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2054\"]]");
-    p = add_epsg_def (filter, first, last, 2055, "epsg", 2055,
-        "Hartebeesthoek94 / Lo33");
+        "\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2054\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2055, "epsg", 2055,
+        "Hartebeesthoek94 / Lo33", 0, 0,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
@@ -1859,23 +2141,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor_South_Orientated\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4148\"]],PROJECTION[\"Transverse_Mercator_So");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"scale");
+        "uth_Orientated\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "RAMETER[\"central_meridian\",33],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "r\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2055\"]]");
-    p = add_epsg_def (filter, first, last, 2056, "epsg", 2056,
-        "CH1903+ / LV95");
+        "\"]],AXIS[\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"2055\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2056, "epsg", 2056,
+        "CH1903+ / LV95", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "CH1903+", "Hotine_Oblique_Mercator_Azimuth_Center", "metre",
+        "Y", "East", "X", "North");
     add_proj4text (p, 0,
         "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333");
     add_proj4text (p, 1,
@@ -1893,27 +2180,32 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4150\"]],PROJECTION[\"Hotine_Oblique_Merc");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ator_Azimuth_Center\"],PARAMETER[\"latitude_of_center\",");
+        "PSG\",\"4150\"]],PROJECTION[\"Hotine_Oblique_Mercator_Az");
     add_srs_wkt (p, 8,
-        "46.95240555555556],PARAMETER[\"longitude_of_center\",7.4");
+        "imuth_Center\"],PARAMETER[\"latitude_of_center\",46.9524");
     add_srs_wkt (p, 9,
-        "39583333333333],PARAMETER[\"azimuth\",90],PARAMETER[\"re");
+        "0555555556],PARAMETER[\"longitude_of_center\",7.43958333");
     add_srs_wkt (p, 10,
-        "ctified_grid_angle\",90],PARAMETER[\"scale_factor\",1],P");
+        "3333333],PARAMETER[\"azimuth\",90],PARAMETER[\"rectified");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",2600000],PARAMETER[\"false_no");
+        "_grid_angle\",90],PARAMETER[\"scale_factor\",1],PARAMETE");
     add_srs_wkt (p, 12,
-        "rthing\",1200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "R[\"false_easting\",2600000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "9001\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"");
+        ",1200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 14,
-        "EPSG\",\"2056\"]]");
-    p = add_epsg_def (filter, first, last, 2057, "epsg", 2057,
-        "Rassadiran / Nakhl e Taqi");
+        ",AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "2056\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2057, "epsg", 2057,
+        "Rassadiran / Nakhl e Taqi", 0, 0,
+        "International 1924", "Greenwich",
+        "Rassadiran", "Hotine_Oblique_Mercator_Azimuth_Center", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=omerc +lat_0=27.51882880555555 +lonc=52.6035391666");
     add_proj4text (p, 1,
@@ -1937,27 +2229,32 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4153\"]],PROJECTION[\"Hotine_");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "Oblique_Mercator_Azimuth_Center\"],PARAMETER[\"latitude_");
+        "AUTHORITY[\"EPSG\",\"4153\"]],PROJECTION[\"Hotine_Obliqu");
     add_srs_wkt (p, 8,
-        "of_center\",27.51882880555555],PARAMETER[\"longitude_of_");
+        "e_Mercator_Azimuth_Center\"],PARAMETER[\"latitude_of_cen");
     add_srs_wkt (p, 9,
-        "center\",52.60353916666667],PARAMETER[\"azimuth\",0.5716");
+        "ter\",27.51882880555555],PARAMETER[\"longitude_of_center");
     add_srs_wkt (p, 10,
-        "611944444444],PARAMETER[\"rectified_grid_angle\",0.57166");
+        "\",52.60353916666667],PARAMETER[\"azimuth\",0.5716611944");
     add_srs_wkt (p, 11,
-        "11944444444],PARAMETER[\"scale_factor\",0.999895934],PAR");
+        "444444],PARAMETER[\"rectified_grid_angle\",0.57166119444");
     add_srs_wkt (p, 12,
-        "AMETER[\"false_easting\",658377.437],PARAMETER[\"false_n");
+        "44444],PARAMETER[\"scale_factor\",0.999895934],PARAMETER");
     add_srs_wkt (p, 13,
-        "orthing\",3044969.194],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "[\"false_easting\",658377.437],PARAMETER[\"false_northin");
     add_srs_wkt (p, 14,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "g\",3044969.194],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 15,
-        "ORTH],AUTHORITY[\"EPSG\",\"2057\"]]");
-    p = add_epsg_def (filter, first, last, 2058, "epsg", 2058,
-        "ED50(ED77) / UTM zone 38N");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 16,
+        "AUTHORITY[\"EPSG\",\"2057\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2058, "epsg", 2058,
+        "ED50(ED77) / UTM zone 38N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950_1977", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +ellps=intl +towgs84=-117,-132,-164,0");
     add_proj4text (p, 1,
@@ -1975,21 +2272,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4154\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4154\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",45],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "METER[\"central_meridian\",45],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2058\"]]");
-    p = add_epsg_def (filter, first, last, 2059, "epsg", 2059,
-        "ED50(ED77) / UTM zone 39N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2058\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2059, "epsg", 2059,
+        "ED50(ED77) / UTM zone 39N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950_1977", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=39 +ellps=intl +towgs84=-117,-132,-164,0");
     add_proj4text (p, 1,
@@ -2007,21 +2309,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4154\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4154\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",51],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "METER[\"central_meridian\",51],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2059\"]]");
-    p = add_epsg_def (filter, first, last, 2060, "epsg", 2060,
-        "ED50(ED77) / UTM zone 40N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2059\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2060, "epsg", 2060,
+        "ED50(ED77) / UTM zone 40N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950_1977", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=40 +ellps=intl +towgs84=-117,-132,-164,0");
     add_proj4text (p, 1,
@@ -2039,21 +2346,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4154\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4154\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",57],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "METER[\"central_meridian\",57],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2060\"]]");
-    p = add_epsg_def (filter, first, last, 2061, "epsg", 2061,
-        "ED50(ED77) / UTM zone 41N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2060\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2061, "epsg", 2061,
+        "ED50(ED77) / UTM zone 41N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950_1977", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=41 +ellps=intl +towgs84=-117,-132,-164,0");
     add_proj4text (p, 1,
@@ -2071,27 +2383,32 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4154\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4154\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",63],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "METER[\"central_meridian\",63],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2061\"]]");
-    p = add_epsg_def (filter, first, last, 2062, "epsg", 2062,
-        "Madrid 1870 (Madrid) / Spain");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2061\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2062, "epsg", 2062,
+        "Madrid 1870 (Madrid) / Spain", 0, 0,
+        "Struve 1860", "Madrid",
+        "Madrid_1870_Madrid", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40 +lat_0=40 +lon_0=0 +k_0=0.9988085293");
     add_proj4text (p, 1,
         " +x_0=600000 +y_0=600000 +a=6378298.3 +b=6356657.1426695");
     add_proj4text (p, 2,
-        "61 +pm=madrid +units=m +no_defs");
+        "62 +pm=madrid +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Madrid 1870 (Madrid) / Spain\",GEOGCS[\"Madrid ");
     add_srs_wkt (p, 1,
@@ -2105,21 +2422,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4903\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "mal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",40],PA");
+        "TY[\"EPSG\",\"4903\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",0],PARAMETER[\"scale_factor");
+        "nic_1SP\"],PARAMETER[\"latitude_of_origin\",40],PARAMETE");
     add_srs_wkt (p, 9,
-        "\",0.9988085293],PARAMETER[\"false_easting\",600000],PAR");
+        "R[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",600000],UNIT[\"metre\",1,AUTHO");
+        "988085293],PARAMETER[\"false_easting\",600000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "[\"false_northing\",600000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"2062\"]]");
-    p = add_epsg_def (filter, first, last, 2063, "epsg", 2063,
-        "Dabola 1981 / UTM zone 28N (deprecated)");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2062\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2063, "epsg", 2063,
+        "Dabola 1981 / UTM zone 28N (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Conakry_1905", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,");
     add_proj4text (p, 1,
@@ -2129,7 +2451,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "S[\"Conakry 1905\",DATUM[\"Conakry_1905\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"");
+        "rke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"");
     add_srs_wkt (p, 3,
         "EPSG\",\"7011\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTHORITY[");
     add_srs_wkt (p, 4,
@@ -2137,21 +2459,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4315\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4315\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",-15],PARA");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.9996],PARAMETER[\"false_easting");
+        "igin\",0],PARAMETER[\"central_meridian\",-15],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2063\"]]");
-    p = add_epsg_def (filter, first, last, 2064, "epsg", 2064,
-        "Dabola 1981 / UTM zone 29N (deprecated)");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2063\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2064, "epsg", 2064,
+        "Dabola 1981 / UTM zone 29N (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Conakry_1905", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,");
     add_proj4text (p, 1,
@@ -2161,7 +2488,7 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "S[\"Conakry 1905\",DATUM[\"Conakry_1905\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"");
+        "rke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"");
     add_srs_wkt (p, 3,
         "EPSG\",\"7011\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTHORITY[");
     add_srs_wkt (p, 4,
@@ -2169,21 +2496,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4315\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4315\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",-9],PARAM");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
+        "igin\",0],PARAMETER[\"central_meridian\",-9],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2064\"]]");
-    p = add_epsg_def (filter, first, last, 2065, "epsg", 2065,
-        "S-JTSK (Ferro) / Krovak");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"2064\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2065, "epsg", 2065,
+        "S-JTSK (Ferro) / Krovak", 0, 0,
+        "Bessel 1841", "Ferro",
+        "System_Jednotne_Trigonometricke_Site_Katastralni_Ferro", "Krovak", "metre",
+        "X", "South", "Y", "West");
     add_proj4text (p, 0,
         "+proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.288139722");
     add_proj4text (p, 1,
@@ -2205,23 +2537,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "],AUTHORITY[\"EPSG\",\"4818\"]],PROJECTION[\"Krovak\"],P");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"latitude_of_center\",49.5],PARAMETER[\"longit");
+        "ORITY[\"EPSG\",\"4818\"]],PROJECTION[\"Krovak\"],PARAMET");
     add_srs_wkt (p, 9,
-        "ude_of_center\",42.5],PARAMETER[\"azimuth\",30.288139722");
+        "ER[\"latitude_of_center\",49.5],PARAMETER[\"longitude_of");
     add_srs_wkt (p, 10,
-        "22222],PARAMETER[\"pseudo_standard_parallel_1\",78.5],PA");
+        "_center\",42.5],PARAMETER[\"azimuth\",30.28813972222222]");
     add_srs_wkt (p, 11,
-        "RAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_easti");
+        ",PARAMETER[\"pseudo_standard_parallel_1\",78.5],PARAMETE");
     add_srs_wkt (p, 12,
-        "ng\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "R[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",SOUTH],AXIS[\"");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 14,
-        "Y\",WEST],AUTHORITY[\"EPSG\",\"2065\"]]");
-    p = add_epsg_def (filter, first, last, 2066, "epsg", 2066,
-        "Mount Dillon / Tobago Grid");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",SOUTH],AXIS[\"Y\",WE");
+    add_srs_wkt (p, 15,
+        "ST],AUTHORITY[\"EPSG\",\"2065\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2066, "epsg", 2066,
+        "Mount Dillon / Tobago Grid", 0, 0,
+        "Clarke 1858", "Greenwich",
+        "Mount_Dillon", "Cassini_Soldner", "Clarke's link",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=11.25217861111111 +lon_0=-60.686008888");
     add_proj4text (p, 1,
@@ -2235,29 +2572,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "lon\",DATUM[\"Mount_Dillon\",SPHEROID[\"Clarke 1858\",63");
     add_srs_wkt (p, 2,
-        "78293.645208759,294.2606763692569,AUTHORITY[\"EPSG\",\"7");
+        "78293.645208759,294.2606763692606,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
         "007\"]],AUTHORITY[\"EPSG\",\"6157\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4157\"]],PROJECTION[\"Cassini_Soldner\"],PARAME");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "TER[\"latitude_of_origin\",11.25217861111111],PARAMETER[");
+        ",\"4157\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-60.68600888888889],PARAMETER[\"fal");
+        "latitude_of_origin\",11.25217861111111],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "se_easting\",187500],PARAMETER[\"false_northing\",180000");
+        "ral_meridian\",-60.68600888888889],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "],UNIT[\"Clarke's link\",0.201166195164,AUTHORITY[\"EPSG");
+        "ting\",187500],PARAMETER[\"false_northing\",180000],UNIT");
     add_srs_wkt (p, 11,
-        "\",\"9039\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "[\"Clarke's link\",0.201166195164,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"2066\"]]");
-    p = add_epsg_def (filter, first, last, 2067, "epsg", 2067,
-        "Naparima 1955 / UTM zone 20N");
+        "039\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2066\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2067, "epsg", 2067,
+        "Naparima 1955 / UTM zone 20N", 0, 0,
+        "International 1924", "Greenwich",
+        "Naparima_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=intl +towgs84=-0.465,372.095,1");
     add_proj4text (p, 1,
@@ -2275,27 +2617,32 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4158\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4158\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"scal");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2067\"]]");
-    p = add_epsg_def (filter, first, last, 2068, "epsg", 2068,
-        "ELD79 / Libya zone 5");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2067\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2068, "epsg", 2068,
+        "ELD79 / Libya zone 5", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9999 +x_0=200000 +y_0");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,0");
+        "=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,0");
     add_proj4text (p, 2,
-        ",0 +units=m +no_defs");
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / Libya zone 5\",GEOGCS[\"ELD79\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -2303,33 +2650,38 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "factor\",0.9999],PARAMETER[\"false_easting\",200000],PAR");
+        ",PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "tor\",0.9999],PARAMETER[\"false_easting\",200000],PARAME");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"2068\"]]");
-    p = add_epsg_def (filter, first, last, 2069, "epsg", 2069,
-        "ELD79 / Libya zone 6");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"2068\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2069, "epsg", 2069,
+        "ELD79 / Libya zone 6", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9999 +x_0=200000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,");
+        "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / Libya zone 6\",GEOGCS[\"ELD79\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -2337,33 +2689,38 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",11],PARAMETER[\"scale");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",200000],PA");
+        ",PARAMETER[\"central_meridian\",11],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"2069\"]]");
-    p = add_epsg_def (filter, first, last, 2070, "epsg", 2070,
-        "ELD79 / Libya zone 7");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2069\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2070, "epsg", 2070,
+        "ELD79 / Libya zone 7", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9999 +x_0=200000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,");
+        "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / Libya zone 7\",GEOGCS[\"ELD79\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -2371,33 +2728,38 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",13],PARAMETER[\"scale");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",200000],PA");
+        ",PARAMETER[\"central_meridian\",13],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"2070\"]]");
-    p = add_epsg_def (filter, first, last, 2071, "epsg", 2071,
-        "ELD79 / Libya zone 8");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2070\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2071, "epsg", 2071,
+        "ELD79 / Libya zone 8", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=200000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,");
+        "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / Libya zone 8\",GEOGCS[\"ELD79\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -2405,33 +2767,38 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",200000],PA");
+        ",PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"2071\"]]");
-    p = add_epsg_def (filter, first, last, 2072, "epsg", 2072,
-        "ELD79 / Libya zone 9");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2071\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2072, "epsg", 2072,
+        "ELD79 / Libya zone 9", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9999 +x_0=200000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,");
+        "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / Libya zone 9\",GEOGCS[\"ELD79\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -2439,33 +2806,38 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",17],PARAMETER[\"scale");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",200000],PA");
+        ",PARAMETER[\"central_meridian\",17],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"2072\"]]");
-    p = add_epsg_def (filter, first, last, 2073, "epsg", 2073,
-        "ELD79 / Libya zone 10");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2072\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2073, "epsg", 2073,
+        "ELD79 / Libya zone 10", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9999 +x_0=200000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,");
+        "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / Libya zone 10\",GEOGCS[\"ELD79\",DATUM[");
     add_srs_wkt (p, 1,
@@ -2473,33 +2845,38 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "[-115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",");
+        "[-115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        ",\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTIO");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",19],PARAMETER[\"sc");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9999],PARAMETER[\"false_easting\",200000]");
+        "],PARAMETER[\"central_meridian\",19],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "actor\",0.9999],PARAMETER[\"false_easting\",200000],PARA");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"2073\"]]");
-    p = add_epsg_def (filter, first, last, 2074, "epsg", 2074,
-        "ELD79 / Libya zone 11");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2073\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2074, "epsg", 2074,
+        "ELD79 / Libya zone 11", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=200000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,");
+        "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / Libya zone 11\",GEOGCS[\"ELD79\",DATUM[");
     add_srs_wkt (p, 1,
@@ -2507,33 +2884,38 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "[-115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",");
+        "[-115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        ",\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTIO");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"sc");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9999],PARAMETER[\"false_easting\",200000]");
+        "],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "actor\",0.9999],PARAMETER[\"false_easting\",200000],PARA");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"2074\"]]");
-    p = add_epsg_def (filter, first, last, 2075, "epsg", 2075,
-        "ELD79 / Libya zone 12");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2074\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2075, "epsg", 2075,
+        "ELD79 / Libya zone 12", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.9999 +x_0=200000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,");
+        "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / Libya zone 12\",GEOGCS[\"ELD79\",DATUM[");
     add_srs_wkt (p, 1,
@@ -2541,33 +2923,38 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "[-115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",");
+        "[-115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        ",\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTIO");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",23],PARAMETER[\"sc");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9999],PARAMETER[\"false_easting\",200000]");
+        "],PARAMETER[\"central_meridian\",23],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "actor\",0.9999],PARAMETER[\"false_easting\",200000],PARA");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"2075\"]]");
-    p = add_epsg_def (filter, first, last, 2076, "epsg", 2076,
-        "ELD79 / Libya zone 13");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2075\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2076, "epsg", 2076,
+        "ELD79 / Libya zone 13", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.9999 +x_0=200000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,");
+        "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / Libya zone 13\",GEOGCS[\"ELD79\",DATUM[");
     add_srs_wkt (p, 1,
@@ -2575,31 +2962,36 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "[-115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",");
+        "[-115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        ",\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTIO");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",25],PARAMETER[\"sc");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9999],PARAMETER[\"false_easting\",200000]");
+        "],PARAMETER[\"central_meridian\",25],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "actor\",0.9999],PARAMETER[\"false_easting\",200000],PARA");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"2076\"]]");
-    p = add_epsg_def (filter, first, last, 2077, "epsg", 2077,
-        "ELD79 / UTM zone 32N");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2076\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2077, "epsg", 2077,
+        "ELD79 / UTM zone 32N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +ellps=intl +towgs84=-115.854,-99.058");
+        "+proj=utm +zone=32 +ellps=intl +towgs84=-115.8543,-99.05");
     add_proj4text (p, 1,
-        "3,-152.462,0,0,0,0 +units=m +no_defs");
+        "83,-152.4616,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / UTM zone 32N\",GEOGCS[\"ELD79\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -2607,31 +2999,36 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"2077\"]]");
-    p = add_epsg_def (filter, first, last, 2078, "epsg", 2078,
-        "ELD79 / UTM zone 33N");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2077\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2078, "epsg", 2078,
+        "ELD79 / UTM zone 33N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +ellps=intl +towgs84=-115.854,-99.058");
+        "+proj=utm +zone=33 +ellps=intl +towgs84=-115.8543,-99.05");
     add_proj4text (p, 1,
-        "3,-152.462,0,0,0,0 +units=m +no_defs");
+        "83,-152.4616,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / UTM zone 33N\",GEOGCS[\"ELD79\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -2639,31 +3036,36 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        ",PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2078\"]]");
-    p = add_epsg_def (filter, first, last, 2079, "epsg", 2079,
-        "ELD79 / UTM zone 34N");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2078\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2079, "epsg", 2079,
+        "ELD79 / UTM zone 34N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +ellps=intl +towgs84=-115.854,-99.058");
+        "+proj=utm +zone=34 +ellps=intl +towgs84=-115.8543,-99.05");
     add_proj4text (p, 1,
-        "3,-152.462,0,0,0,0 +units=m +no_defs");
+        "83,-152.4616,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / UTM zone 34N\",GEOGCS[\"ELD79\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -2671,31 +3073,36 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        ",PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2079\"]]");
-    p = add_epsg_def (filter, first, last, 2080, "epsg", 2080,
-        "ELD79 / UTM zone 35N");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2079\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2080, "epsg", 2080,
+        "ELD79 / UTM zone 35N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +ellps=intl +towgs84=-115.854,-99.058");
+        "+proj=utm +zone=35 +ellps=intl +towgs84=-115.8543,-99.05");
     add_proj4text (p, 1,
-        "3,-152.462,0,0,0,0 +units=m +no_defs");
+        "83,-152.4616,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / UTM zone 35N\",GEOGCS[\"ELD79\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -2703,27 +3110,32 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        ",PARAMETER[\"central_meridian\",27],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2080\"]]");
-    p = add_epsg_def (filter, first, last, 2081, "epsg", 2081,
-        "Chos Malal 1914 / Argentina 2");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2080\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2081, "epsg", 2081,
+        "Chos Malal 1914 / Argentina 2", 0, 1,
+        "International 1924", "Greenwich",
+        "Chos_Malal_1914", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0");
     add_proj4text (p, 1,
@@ -2739,21 +3151,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "4160\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4160\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",-90],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",-69],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_ea");
+        "ude_of_origin\",-90],PARAMETER[\"central_meridian\",-69]");
     add_srs_wkt (p, 9,
-        "sting\",2500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "\",2500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"2081\"]]");
-    p = add_epsg_def (filter, first, last, 2082, "epsg", 2082,
-        "Pampa del Castillo / Argentina 2");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2081\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2082, "epsg", 2082,
+        "Pampa del Castillo / Argentina 2", 0, 1,
+        "International 1924", "Greenwich",
+        "Pampa_del_Castillo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0");
     add_proj4text (p, 1,
@@ -2773,19 +3190,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4161\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4161\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",-90],PARAMETER[\"central_meridian\",-69],PARAMETE");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",250000");
+        "-90],PARAMETER[\"central_meridian\",-69],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "le_factor\",1],PARAMETER[\"false_easting\",2500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2082\"]]");
-    p = add_epsg_def (filter, first, last, 2083, "epsg", 2083,
-        "Hito XVIII 1963 / Argentina 2");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2082\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2083, "epsg", 2083,
+        "Hito XVIII 1963 / Argentina 2", 0, 1,
+        "International 1924", "Greenwich",
+        "Hito_XVIII_1963", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0");
     add_proj4text (p, 1,
@@ -2805,19 +3229,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4254\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],P");
+        ",AUTHORITY[\"EPSG\",\"4254\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_fac");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",-90],PARAMET");
     add_srs_wkt (p, 9,
-        "tor\",1],PARAMETER[\"false_easting\",2500000],PARAMETER[");
+        "ER[\"central_meridian\",-69],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "1],PARAMETER[\"false_easting\",2500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"2083\"]]");
-    p = add_epsg_def (filter, first, last, 2084, "epsg", 2084,
-        "Hito XVIII 1963 / UTM zone 19S");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"2083\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2084, "epsg", 2084,
+        "Hito XVIII 1963 / UTM zone 19S", 0, 0,
+        "International 1924", "Greenwich",
+        "Hito_XVIII_1963", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +south +ellps=intl +towgs84=16,196,93");
     add_proj4text (p, 1,
@@ -2835,21 +3266,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4254\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4254\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-69],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "R[\"central_meridian\",-69],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"2084\"]]");
-    p = add_epsg_def (filter, first, last, 2085, "epsg", 2085,
-        "NAD27 / Cuba Norte (deprecated)");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2084\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2085, "epsg", 2085,
+        "NAD27 / Cuba Norte (deprecated)", 0, 1,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_1SP", "metre",
+        "Y", "North", "X", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=22.35 +lat_0=22.35 +lon_0=-81 +k_0=0.99");
     add_proj4text (p, 1,
@@ -2861,27 +3297,34 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "7\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clark");
     add_srs_wkt (p, 2,
-        "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",");
+        "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
         "\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Coni");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "c_1SP\"],PARAMETER[\"latitude_of_origin\",22.35],PARAMET");
+        "G\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-81],PARAMETER[\"scale_factor\",");
+        "],PARAMETER[\"latitude_of_origin\",22.35],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "0.99993602],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "ntral_meridian\",-81],PARAMETER[\"scale_factor\",0.99993");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",280296.016],UNIT[\"metre\",1,AUTHOR");
+        "602],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2085\"]]");
-    p = add_epsg_def (filter, first, last, 2086, "epsg", 2086,
-        "NAD27 / Cuba Sur (deprecated)");
+        "se_northing\",280296.016],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Y\",NORTH],AXIS[\"X\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"2085\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2086, "epsg", 2086,
+        "NAD27 / Cuba Sur (deprecated)", 0, 1,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_1SP", "metre",
+        "Y", "North", "X", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=20.71666666666667 +lat_0=20.71666666666");
     add_proj4text (p, 1,
@@ -2893,35 +3336,40 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
     add_srs_wkt (p, 2,
-        "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7");
+        "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
         "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_1");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"latitude_of_origin\",20.71666666666667");
+        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-76.83333333333333],PAR");
+        "PARAMETER[\"latitude_of_origin\",20.71666666666667],PARA");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.99994848],PARAMETER[\"false_ea");
+        "METER[\"central_meridian\",-76.83333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",229126.939]");
+        "[\"scale_factor\",0.99994848],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORIT");
+        ",500000],PARAMETER[\"false_northing\",229126.939],UNIT[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2086\"]]");
-    p = add_epsg_def (filter, first, last, 2087, "epsg", 2087,
-        "ELD79 / TM 12 NE");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AXIS[\"X\",EAST],AUTHORITY[\"EPSG\",\"2086\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2087, "epsg", 2087,
+        "ELD79 / TM 12 NE", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,");
+        "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ELD79 / TM 12 NE\",GEOGCS[\"ELD79\",DATUM[\"Eur");
     add_srs_wkt (p, 1,
@@ -2929,37 +3377,44 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         ",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-115.");
     add_srs_wkt (p, 3,
-        "854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"6159");
+        "8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",\"61");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "59\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",12],PARAMETER[\"scale_fa");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "METER[\"central_meridian\",12],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2087\"]]");
-    p = add_epsg_def (filter, first, last, 2088, "epsg", 2088,
-        "Carthage / TM 11 NE");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2087\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2088, "epsg", 2088,
+        "Carthage / TM 11 NE", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Carthage", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "0=0 +datum=carthage +units=m +no_defs");
+        "0=0 +a=6378249.2 +b=6356515 +towgs84=-263,6,431,0,0,0,0 ");
+    add_proj4text (p, 2,
+        "+units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Carthage / TM 11 NE\",GEOGCS[\"Carthage\",DATUM");
     add_srs_wkt (p, 1,
         "[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,2");
     add_srs_wkt (p, 2,
-        "93.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-");
+        "93.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
         "263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRIMEM[");
     add_srs_wkt (p, 4,
@@ -2967,21 +3422,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4223\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "TY[\"EPSG\",\"4223\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "central_meridian\",11],PARAMETER[\"scale_factor\",0.9996");
+        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "l_meridian\",11],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"2088\"]]");
-    p = add_epsg_def (filter, first, last, 2089, "epsg", 2089,
-        "Yemen NGN96 / UTM zone 38N");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"2088\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2089, "epsg", 2089,
+        "Yemen NGN96 / UTM zone 38N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Yemen_National_Geodetic_Network_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2999,21 +3459,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4163\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4163\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",45],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2089\"]]");
-    p = add_epsg_def (filter, first, last, 2090, "epsg", 2090,
-        "Yemen NGN96 / UTM zone 39N");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2089\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2090, "epsg", 2090,
+        "Yemen NGN96 / UTM zone 39N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Yemen_National_Geodetic_Network_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=39 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3031,21 +3496,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4163\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4163\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",51],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2090\"]]");
-    p = add_epsg_def (filter, first, last, 2091, "epsg", 2091,
-        "South Yemen / Gauss Kruger zone 8 (deprecated)");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2090\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2091, "epsg", 2091,
+        "South Yemen / Gauss Kruger zone 8 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "South_Yemen", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -3065,19 +3535,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4164\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4164\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",8500000],PARAME");
+        "ARAMETER[\"central_meridian\",45],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "or\",1],PARAMETER[\"false_easting\",8500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2091\"]]");
-    p = add_epsg_def (filter, first, last, 2092, "epsg", 2092,
-        "South Yemen / Gauss Kruger zone 9 (deprecated)");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"2091\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2092, "epsg", 2092,
+        "South Yemen / Gauss Kruger zone 9 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "South_Yemen", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -3097,19 +3574,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4164\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4164\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",9500000],PARAME");
+        "ARAMETER[\"central_meridian\",51],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "or\",1],PARAMETER[\"false_easting\",9500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2092\"]]");
-    p = add_epsg_def (filter, first, last, 2093, "epsg", 2093,
-        "Hanoi 1972 / GK 106 NE");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"2092\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2093, "epsg", 2093,
+        "Hanoi 1972 / GK 106 NE", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Hanoi_1972", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=106 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -3129,19 +3613,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4147\"]],PROJECTION[\"Transverse_M");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "RITY[\"EPSG\",\"4147\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",106],PARAMETER[\"scale_factor\",1]");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "tral_meridian\",106],PARAMETER[\"scale_factor\",1],PARAM");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "]],AUTHORITY[\"EPSG\",\"2093\"]]");
-    p = add_epsg_def (filter, first, last, 2094, "epsg", 2094,
-        "WGS 72BE / TM 106 NE");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"20");
+    add_srs_wkt (p, 13,
+        "93\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2094, "epsg", 2094,
+        "WGS 72BE / TM 106 NE", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y");
     add_proj4text (p, 1,
@@ -3161,21 +3652,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",106],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",106],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2094\"]]");
-    p = add_epsg_def (filter, first, last, 2095, "epsg", 2095,
-        "Bissau / UTM zone 28N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2094\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2095, "epsg", 2095,
+        "Bissau / UTM zone 28N", 0, 0,
+        "International 1924", "Greenwich",
+        "Bissau", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=intl +towgs84=-173,253,27,0,0,");
     add_proj4text (p, 1,
@@ -3191,23 +3687,28 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4165\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "65\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",-15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 9,
-        "alse_easting\",500000],PARAMETER[\"false_northing\",0],U");
+        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        ",\"2095\"]]");
-    p = add_epsg_def (filter, first, last, 2096, "epsg", 2096,
-        "Korean 1985 / East Belt");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"209");
+    add_srs_wkt (p, 13,
+        "5\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2096, "epsg", 2096,
+        "Korean 1985 / East Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -3223,21 +3724,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"416");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "2\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4162\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",38],PARAMETER[\"central_meridian\",12");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "_of_origin\",38],PARAMETER[\"central_meridian\",129],PAR");
     add_srs_wkt (p, 9,
-        "ng\",200000],PARAMETER[\"false_northing\",500000],UNIT[\"");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "00000],PARAMETER[\"false_northing\",500000],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"2096\"]]");
-    p = add_epsg_def (filter, first, last, 2097, "epsg", 2097,
-        "Korean 1985 / Central Belt");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2096\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2097, "epsg", 2097,
+        "Korean 1985 / Central Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -3253,21 +3759,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4162\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4162\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",38],PARAMETER[\"central_meridian\",");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "127],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "ude_of_origin\",38],PARAMETER[\"central_meridian\",127],");
     add_srs_wkt (p, 9,
-        "ting\",200000],PARAMETER[\"false_northing\",500000],UNIT");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        ",200000],PARAMETER[\"false_northing\",500000],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "PSG\",\"2097\"]]");
-    p = add_epsg_def (filter, first, last, 2098, "epsg", 2098,
-        "Korean 1985 / West Belt");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2097\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2098, "epsg", 2098,
+        "Korean 1985 / West Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -3283,21 +3794,26 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"416");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "2\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4162\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",38],PARAMETER[\"central_meridian\",12");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "_of_origin\",38],PARAMETER[\"central_meridian\",125],PAR");
     add_srs_wkt (p, 9,
-        "ng\",200000],PARAMETER[\"false_northing\",500000],UNIT[\"");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "00000],PARAMETER[\"false_northing\",500000],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"2098\"]]");
-    p = add_epsg_def (filter, first, last, 2099, "epsg", 2099,
-        "Qatar 1948 / Qatar Grid");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2098\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2099, "epsg", 2099,
+        "Qatar 1948 / Qatar Grid", 0, 0,
+        "Helmert 1906", "Greenwich",
+        "Qatar_1948", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=25.38236111111111 +lon_0=50.7613888888");
     add_proj4text (p, 1,
@@ -3315,25 +3831,32 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4286\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 6,
-        "\"Cassini_Soldner\"],PARAMETER[\"latitude_of_origin\",25");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4286\"]],PROJECTION[\"Cass");
     add_srs_wkt (p, 7,
-        ".38236111111111],PARAMETER[\"central_meridian\",50.76138");
+        "ini_Soldner\"],PARAMETER[\"latitude_of_origin\",25.38236");
     add_srs_wkt (p, 8,
-        "888888889],PARAMETER[\"false_easting\",100000],PARAMETER");
+        "111111111],PARAMETER[\"central_meridian\",50.76138888888");
     add_srs_wkt (p, 9,
-        "[\"false_northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "889],PARAMETER[\"false_easting\",100000],PARAMETER[\"fal");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "se_northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2099\"]]");
-    p = add_epsg_def (filter, first, last, 2100, "epsg", 2100,
-        "GGRS87 / Greek Grid");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 12,
+        "TH],AUTHORITY[\"EPSG\",\"2099\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2100, "epsg", 2100,
+        "GGRS87 / Greek Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greek_Geodetic_Reference_System_1987", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "0=0 +datum=GGRS87 +units=m +no_defs");
+        "0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +");
+    add_proj4text (p, 2,
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"GGRS87 / Greek Grid\",GEOGCS[\"GGRS87\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -3347,19 +3870,21 @@ initialize_epsg_00 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4121\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4121\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",24],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",24],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"2100\"]]");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2100\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_01.c b/src/srsinit/epsg_inlined_01.c
index 08a3cd2..62dde0f 100644
--- a/src/srsinit/epsg_inlined_01.c
+++ b/src/srsinit/epsg_inlined_01.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 2101, "epsg", 2101,
-        "Lake / Maracaibo Grid M1");
+    p = add_epsg_def_ex (filter, first, last, 2101, "epsg", 2101,
+        "Lake / Maracaibo Grid M1", 0, 0,
+        "International 1924", "Greenwich",
+        "Lake", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666");
     add_proj4text (p, 1,
@@ -71,23 +76,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4249\"]],PROJECTION[\"Lamb");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "ert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origi");
+        "T],AUTHORITY[\"EPSG\",\"4249\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 7,
-        "n\",10.16666666666667],PARAMETER[\"central_meridian\",-7");
+        "nformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",10");
     add_srs_wkt (p, 8,
-        "1.60561777777777],PARAMETER[\"scale_factor\",1],PARAMETE");
+        ".16666666666667],PARAMETER[\"central_meridian\",-71.6056");
     add_srs_wkt (p, 9,
-        "R[\"false_easting\",0],PARAMETER[\"false_northing\",-526");
+        "1777777777],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "84.972],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "lse_easting\",0],PARAMETER[\"false_northing\",-52684.972");
     add_srs_wkt (p, 11,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "101\"]]");
-    p = add_epsg_def (filter, first, last, 2102, "epsg", 2102,
-        "Lake / Maracaibo Grid");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2101\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2102, "epsg", 2102,
+        "Lake / Maracaibo Grid", 0, 0,
+        "International 1924", "Greenwich",
+        "Lake", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666");
     add_proj4text (p, 1,
@@ -105,23 +115,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 5,
-        "\"]],AUTHORITY[\"EPSG\",\"4249\"]],PROJECTION[\"Lambert_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 6,
-        "Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",");
+        "UTHORITY[\"EPSG\",\"4249\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 7,
-        "10.16666666666667],PARAMETER[\"central_meridian\",-71.60");
+        "mal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",10.166");
     add_srs_wkt (p, 8,
-        "561777777777],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "66666666667],PARAMETER[\"central_meridian\",-71.60561777");
     add_srs_wkt (p, 9,
-        "false_easting\",200000],PARAMETER[\"false_northing\",147");
+        "777777],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "315.028],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "easting\",200000],PARAMETER[\"false_northing\",147315.02");
     add_srs_wkt (p, 11,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "8],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "2102\"]]");
-    p = add_epsg_def (filter, first, last, 2103, "epsg", 2103,
-        "Lake / Maracaibo Grid M3");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2102\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2103, "epsg", 2103,
+        "Lake / Maracaibo Grid M3", 0, 0,
+        "International 1924", "Greenwich",
+        "Lake", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666");
     add_proj4text (p, 1,
@@ -139,23 +154,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4249\"]],PROJECTION[\"Lamb");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "ert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origi");
+        "T],AUTHORITY[\"EPSG\",\"4249\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 7,
-        "n\",10.16666666666667],PARAMETER[\"central_meridian\",-7");
+        "nformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",10");
     add_srs_wkt (p, 8,
-        "1.60561777777777],PARAMETER[\"scale_factor\",1],PARAMETE");
+        ".16666666666667],PARAMETER[\"central_meridian\",-71.6056");
     add_srs_wkt (p, 9,
-        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
+        "1777777777],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        ",447315.028],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",44731");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "5.028],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        ",\"2103\"]]");
-    p = add_epsg_def (filter, first, last, 2104, "epsg", 2104,
-        "Lake / Maracaibo La Rosa Grid");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"21");
+    add_srs_wkt (p, 13,
+        "03\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2104, "epsg", 2104,
+        "Lake / Maracaibo La Rosa Grid", 0, 0,
+        "International 1924", "Greenwich",
+        "Lake", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666");
     add_proj4text (p, 1,
@@ -173,23 +193,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4249\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_o");
+        ",EAST],AUTHORITY[\"EPSG\",\"4249\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "rigin\",10.16666666666667],PARAMETER[\"central_meridian\"");
+        "t_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        ",-71.60561777777777],PARAMETER[\"scale_factor\",1],PARAM");
+        ",10.16666666666667],PARAMETER[\"central_meridian\",-71.6");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",-17044],PARAMETER[\"false_northin");
+        "0561777777777],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "g\",-23139.97],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "false_easting\",-17044],PARAMETER[\"false_northing\",-23");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "139.97],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "G\",\"2104\"]]");
-    p = add_epsg_def (filter, first, last, 2105, "epsg", 2105,
-        "NZGD2000 / Mount Eden 2000");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 13,
+        "104\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2105, "epsg", 2105,
+        "NZGD2000 / Mount Eden 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-36.87972222222222 +lon_0=174.7641666");
     add_proj4text (p, 1,
@@ -209,21 +234,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",-36.8");
+        "],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "7972222222222],PARAMETER[\"central_meridian\",174.764166");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",-36.8797222");
     add_srs_wkt (p, 9,
-        "6666667],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "2222222],PARAMETER[\"central_meridian\",174.764166666666");
     add_srs_wkt (p, 10,
-        "false_easting\",400000],PARAMETER[\"false_northing\",800");
+        "7],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTH");
+        "easting\",400000],PARAMETER[\"false_northing\",800000],U");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"2105\"]]");
-    p = add_epsg_def (filter, first, last, 2106, "epsg", 2106,
-        "NZGD2000 / Bay of Plenty 2000");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Nor");
+    add_srs_wkt (p, 13,
+        "thing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"2105\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2106, "epsg", 2106,
+        "NZGD2000 / Bay of Plenty 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-37.76111111111111 +lon_0=176.4661111");
     add_proj4text (p, 1,
@@ -243,21 +275,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
+        "EAST],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "37.76111111111111],PARAMETER[\"central_meridian\",176.46");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-37.761");
     add_srs_wkt (p, 9,
-        "61111111111],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
+        "11111111111],PARAMETER[\"central_meridian\",176.46611111");
     add_srs_wkt (p, 10,
-        "alse_easting\",400000],PARAMETER[\"false_northing\",8000");
+        "11111],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "asting\",400000],PARAMETER[\"false_northing\",800000],UN");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"2106\"]]");
-    p = add_epsg_def (filter, first, last, 2107, "epsg", 2107,
-        "NZGD2000 / Poverty Bay 2000");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Nort");
+    add_srs_wkt (p, 13,
+        "hing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"2106\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2107, "epsg", 2107,
+        "NZGD2000 / Poverty Bay 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-38.62444444444444 +lon_0=177.8855555");
     add_proj4text (p, 1,
@@ -277,21 +316,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-38.");
+        "T],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "62444444444444],PARAMETER[\"central_meridian\",177.88555");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-38.624444");
     add_srs_wkt (p, 9,
-        "55555556],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "44444444],PARAMETER[\"central_meridian\",177.88555555555");
     add_srs_wkt (p, 10,
-        "e_easting\",400000],PARAMETER[\"false_northing\",800000]");
+        "56],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORIT");
+        "ing\",400000],PARAMETER[\"false_northing\",800000],UNIT[");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2107\"]]");
-    p = add_epsg_def (filter, first, last, 2108, "epsg", 2108,
-        "NZGD2000 / Hawkes Bay 2000");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northin");
+    add_srs_wkt (p, 13,
+        "g\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 14,
+        "107\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2108, "epsg", 2108,
+        "NZGD2000 / Hawkes Bay 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-39.65083333333333 +lon_0=176.6736111");
     add_proj4text (p, 1,
@@ -311,21 +357,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",-39.6");
+        "],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "5083333333333],PARAMETER[\"central_meridian\",176.673611");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",-39.6508333");
     add_srs_wkt (p, 9,
-        "1111111],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
+        "3333333],PARAMETER[\"central_meridian\",176.673611111111");
     add_srs_wkt (p, 10,
-        "_easting\",400000],PARAMETER[\"false_northing\",800000],");
+        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY");
+        "ng\",400000],PARAMETER[\"false_northing\",800000],UNIT[\"");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"2108\"]]");
-    p = add_epsg_def (filter, first, last, 2109, "epsg", 2109,
-        "NZGD2000 / Taranaki 2000");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2108");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2109, "epsg", 2109,
+        "NZGD2000 / Taranaki 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-39.13555555555556 +lon_0=174.2277777");
     add_proj4text (p, 1,
@@ -345,21 +398,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-39.135");
+        "AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "55555555556],PARAMETER[\"central_meridian\",174.22777777");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",-39.135555555");
     add_srs_wkt (p, 9,
-        "77778],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "55556],PARAMETER[\"central_meridian\",174.2277777777778]");
     add_srs_wkt (p, 10,
-        "asting\",400000],PARAMETER[\"false_northing\",800000],UN");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "\",400000],PARAMETER[\"false_northing\",800000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2109\"]]");
-    p = add_epsg_def (filter, first, last, 2110, "epsg", 2110,
-        "NZGD2000 / Tuhirangi 2000");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2109");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2110, "epsg", 2110,
+        "NZGD2000 / Tuhirangi 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-39.51222222222222 +lon_0=175.64 +k=1");
     add_proj4text (p, 1,
@@ -379,21 +439,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",-39.5");
+        "],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "1222222222222],PARAMETER[\"central_meridian\",175.64],PA");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",-39.5122222");
     add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "2222222],PARAMETER[\"central_meridian\",175.64],PARAMETE");
     add_srs_wkt (p, 10,
-        "400000],PARAMETER[\"false_northing\",800000],UNIT[\"metr");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",400000");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "],PARAMETER[\"false_northing\",800000],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "2110\"]]");
-    p = add_epsg_def (filter, first, last, 2111, "epsg", 2111,
-        "NZGD2000 / Wanganui 2000");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2110\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2111, "epsg", 2111,
+        "NZGD2000 / Wanganui 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-40.24194444444444 +lon_0=175.4880555");
     add_proj4text (p, 1,
@@ -413,21 +478,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-40.241");
+        "AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "94444444444],PARAMETER[\"central_meridian\",175.48805555");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",-40.241944444");
     add_srs_wkt (p, 9,
-        "55555],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "44444],PARAMETER[\"central_meridian\",175.4880555555555]");
     add_srs_wkt (p, 10,
-        "asting\",400000],PARAMETER[\"false_northing\",800000],UN");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "\",400000],PARAMETER[\"false_northing\",800000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2111\"]]");
-    p = add_epsg_def (filter, first, last, 2112, "epsg", 2112,
-        "NZGD2000 / Wairarapa 2000");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2111");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2112, "epsg", 2112,
+        "NZGD2000 / Wairarapa 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-40.92527777777777 +lon_0=175.6472222");
     add_proj4text (p, 1,
@@ -447,21 +519,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",-40.9");
+        "],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "2527777777777],PARAMETER[\"central_meridian\",175.647222");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",-40.9252777");
     add_srs_wkt (p, 9,
-        "2222222],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
+        "7777777],PARAMETER[\"central_meridian\",175.647222222222");
     add_srs_wkt (p, 10,
-        "_easting\",400000],PARAMETER[\"false_northing\",800000],");
+        "2],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY");
+        "ng\",400000],PARAMETER[\"false_northing\",800000],UNIT[\"");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"2112\"]]");
-    p = add_epsg_def (filter, first, last, 2113, "epsg", 2113,
-        "NZGD2000 / Wellington 2000");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2112");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2113, "epsg", 2113,
+        "NZGD2000 / Wellington 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-41.3011111111111 +lon_0=174.77638888");
     add_proj4text (p, 1,
@@ -481,21 +560,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",-41.3");
+        "],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "011111111111],PARAMETER[\"central_meridian\",174.7763888");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",-41.3011111");
     add_srs_wkt (p, 9,
-        "888889],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
+        "111111],PARAMETER[\"central_meridian\",174.7763888888889");
     add_srs_wkt (p, 10,
-        "easting\",400000],PARAMETER[\"false_northing\",800000],U");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "g\",400000],PARAMETER[\"false_northing\",800000],UNIT[\"");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"2113\"]]");
-    p = add_epsg_def (filter, first, last, 2114, "epsg", 2114,
-        "NZGD2000 / Collingwood 2000");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2113");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2114, "epsg", 2114,
+        "NZGD2000 / Collingwood 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-40.71472222222223 +lon_0=172.6719444");
     add_proj4text (p, 1,
@@ -515,21 +601,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-40.");
+        "T],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "71472222222223],PARAMETER[\"central_meridian\",172.67194");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-40.714722");
     add_srs_wkt (p, 9,
-        "44444444],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "22222223],PARAMETER[\"central_meridian\",172.67194444444");
     add_srs_wkt (p, 10,
-        "e_easting\",400000],PARAMETER[\"false_northing\",800000]");
+        "44],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORIT");
+        "ing\",400000],PARAMETER[\"false_northing\",800000],UNIT[");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2114\"]]");
-    p = add_epsg_def (filter, first, last, 2115, "epsg", 2115,
-        "NZGD2000 / Nelson 2000");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northin");
+    add_srs_wkt (p, 13,
+        "g\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 14,
+        "114\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2115, "epsg", 2115,
+        "NZGD2000 / Nelson 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-41.27444444444444 +lon_0=173.2991666");
     add_proj4text (p, 1,
@@ -549,21 +642,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-41.2744");
+        "UTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "4444444444],PARAMETER[\"central_meridian\",173.299166666");
+        "cator\"],PARAMETER[\"latitude_of_origin\",-41.2744444444");
     add_srs_wkt (p, 9,
-        "6667],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_ea");
+        "4444],PARAMETER[\"central_meridian\",173.2991666666667],");
     add_srs_wkt (p, 10,
-        "sting\",400000],PARAMETER[\"false_northing\",800000],UNI");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        ",400000],PARAMETER[\"false_northing\",800000],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2115\"]]");
-    p = add_epsg_def (filter, first, last, 2116, "epsg", 2116,
-        "NZGD2000 / Karamea 2000");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2115\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2116, "epsg", 2116,
+        "NZGD2000 / Karamea 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-41.28972222222222 +lon_0=172.1088888");
     add_proj4text (p, 1,
@@ -583,21 +683,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-41.289");
+        "AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "72222222222],PARAMETER[\"central_meridian\",172.10888888");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",-41.289722222");
     add_srs_wkt (p, 9,
-        "88889],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "22222],PARAMETER[\"central_meridian\",172.1088888888889]");
     add_srs_wkt (p, 10,
-        "asting\",400000],PARAMETER[\"false_northing\",800000],UN");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "\",400000],PARAMETER[\"false_northing\",800000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2116\"]]");
-    p = add_epsg_def (filter, first, last, 2117, "epsg", 2117,
-        "NZGD2000 / Buller 2000");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2116");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2117, "epsg", 2117,
+        "NZGD2000 / Buller 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-41.81055555555555 +lon_0=171.5811111");
     add_proj4text (p, 1,
@@ -617,21 +724,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-41.8105");
+        "UTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "5555555555],PARAMETER[\"central_meridian\",171.581111111");
+        "cator\"],PARAMETER[\"latitude_of_origin\",-41.8105555555");
     add_srs_wkt (p, 9,
-        "1111],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_ea");
+        "5555],PARAMETER[\"central_meridian\",171.5811111111111],");
     add_srs_wkt (p, 10,
-        "sting\",400000],PARAMETER[\"false_northing\",800000],UNI");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        ",400000],PARAMETER[\"false_northing\",800000],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2117\"]]");
-    p = add_epsg_def (filter, first, last, 2118, "epsg", 2118,
-        "NZGD2000 / Grey 2000");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2117\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2118, "epsg", 2118,
+        "NZGD2000 / Grey 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-42.33361111111111 +lon_0=171.5497222");
     add_proj4text (p, 1,
@@ -651,21 +765,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",-42.3336111");
+        "ORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "1111111],PARAMETER[\"central_meridian\",171.549722222222");
+        "or\"],PARAMETER[\"latitude_of_origin\",-42.3336111111111");
     add_srs_wkt (p, 9,
-        "2],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "1],PARAMETER[\"central_meridian\",171.5497222222222],PAR");
     add_srs_wkt (p, 10,
-        "ng\",400000],PARAMETER[\"false_northing\",800000],UNIT[\"");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "00000],PARAMETER[\"false_northing\",800000],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        "\",\"2118\"]]");
-    p = add_epsg_def (filter, first, last, 2119, "epsg", 2119,
-        "NZGD2000 / Amuri 2000");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2118\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2119, "epsg", 2119,
+        "NZGD2000 / Amuri 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-42.68888888888888 +lon_0=173.01 +k=1");
     add_proj4text (p, 1,
@@ -685,21 +804,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-42.688888");
+        "HORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "88888888],PARAMETER[\"central_meridian\",173.01],PARAMET");
+        "tor\"],PARAMETER[\"latitude_of_origin\",-42.688888888888");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",40000");
+        "88],PARAMETER[\"central_meridian\",173.01],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",800000],UNIT[\"metre\",1");
+        "cale_factor\",1],PARAMETER[\"false_easting\",400000],PAR");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2119");
+        "AMETER[\"false_northing\",800000],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2120, "epsg", 2120,
-        "NZGD2000 / Marlborough 2000");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Easting\",EAST],AUTHORITY[\"EPSG\",\"2119\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2120, "epsg", 2120,
+        "NZGD2000 / Marlborough 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-41.54444444444444 +lon_0=173.8019444");
     add_proj4text (p, 1,
@@ -719,21 +843,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-41.");
+        "T],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "54444444444444],PARAMETER[\"central_meridian\",173.80194");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-41.544444");
     add_srs_wkt (p, 9,
-        "44444444],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "44444444],PARAMETER[\"central_meridian\",173.80194444444");
     add_srs_wkt (p, 10,
-        "e_easting\",400000],PARAMETER[\"false_northing\",800000]");
+        "44],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORIT");
+        "ing\",400000],PARAMETER[\"false_northing\",800000],UNIT[");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2120\"]]");
-    p = add_epsg_def (filter, first, last, 2121, "epsg", 2121,
-        "NZGD2000 / Hokitika 2000");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northin");
+    add_srs_wkt (p, 13,
+        "g\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 14,
+        "120\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2121, "epsg", 2121,
+        "NZGD2000 / Hokitika 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-42.88611111111111 +lon_0=170.9797222");
     add_proj4text (p, 1,
@@ -753,21 +884,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-42.886");
+        "AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "11111111111],PARAMETER[\"central_meridian\",170.97972222");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",-42.886111111");
     add_srs_wkt (p, 9,
-        "22222],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "11111],PARAMETER[\"central_meridian\",170.9797222222222]");
     add_srs_wkt (p, 10,
-        "asting\",400000],PARAMETER[\"false_northing\",800000],UN");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "\",400000],PARAMETER[\"false_northing\",800000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2121\"]]");
-    p = add_epsg_def (filter, first, last, 2122, "epsg", 2122,
-        "NZGD2000 / Okarito 2000");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2121");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2122, "epsg", 2122,
+        "NZGD2000 / Okarito 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-43.11 +lon_0=170.2608333333333 +k=1 ");
     add_proj4text (p, 1,
@@ -787,21 +925,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-43.11]");
+        "AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",170.2608333333333],PARAM");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",-43.11],PARAM");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",400");
+        "ETER[\"central_meridian\",170.2608333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",800000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",400000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21");
+        "RAMETER[\"false_northing\",800000],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "22\"]]");
-    p = add_epsg_def (filter, first, last, 2123, "epsg", 2123,
-        "NZGD2000 / Jacksons Bay 2000");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2122\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2123, "epsg", 2123,
+        "NZGD2000 / Jacksons Bay 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-43.97777777777778 +lon_0=168.6061111");
     add_proj4text (p, 1,
@@ -821,21 +964,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-43.");
+        "T],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "97777777777778],PARAMETER[\"central_meridian\",168.60611");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-43.977777");
     add_srs_wkt (p, 9,
-        "11111111],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "77777778],PARAMETER[\"central_meridian\",168.60611111111");
     add_srs_wkt (p, 10,
-        "e_easting\",400000],PARAMETER[\"false_northing\",800000]");
+        "11],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORIT");
+        "ing\",400000],PARAMETER[\"false_northing\",800000],UNIT[");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2123\"]]");
-    p = add_epsg_def (filter, first, last, 2124, "epsg", 2124,
-        "NZGD2000 / Mount Pleasant 2000");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northin");
+    add_srs_wkt (p, 13,
+        "g\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 14,
+        "123\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2124, "epsg", 2124,
+        "NZGD2000 / Mount Pleasant 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-43.59055555555556 +lon_0=172.7269444");
     add_proj4text (p, 1,
@@ -855,21 +1005,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
+        "EAST],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "43.59055555555556],PARAMETER[\"central_meridian\",172.72");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-43.590");
     add_srs_wkt (p, 9,
-        "69444444445],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
+        "55555555556],PARAMETER[\"central_meridian\",172.72694444");
     add_srs_wkt (p, 10,
-        "alse_easting\",400000],PARAMETER[\"false_northing\",8000");
+        "44445],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "asting\",400000],PARAMETER[\"false_northing\",800000],UN");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"2124\"]]");
-    p = add_epsg_def (filter, first, last, 2125, "epsg", 2125,
-        "NZGD2000 / Gawler 2000");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Nort");
+    add_srs_wkt (p, 13,
+        "hing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"2124\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2125, "epsg", 2125,
+        "NZGD2000 / Gawler 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-43.74861111111111 +lon_0=171.3605555");
     add_proj4text (p, 1,
@@ -889,21 +1046,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-43.7486");
+        "UTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "1111111111],PARAMETER[\"central_meridian\",171.360555555");
+        "cator\"],PARAMETER[\"latitude_of_origin\",-43.7486111111");
     add_srs_wkt (p, 9,
-        "5555],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_ea");
+        "1111],PARAMETER[\"central_meridian\",171.3605555555555],");
     add_srs_wkt (p, 10,
-        "sting\",400000],PARAMETER[\"false_northing\",800000],UNI");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        ",400000],PARAMETER[\"false_northing\",800000],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2125\"]]");
-    p = add_epsg_def (filter, first, last, 2126, "epsg", 2126,
-        "NZGD2000 / Timaru 2000");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2125\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2126, "epsg", 2126,
+        "NZGD2000 / Timaru 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-44.40194444444445 +lon_0=171.0572222");
     add_proj4text (p, 1,
@@ -923,21 +1087,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-44.4019");
+        "UTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "4444444445],PARAMETER[\"central_meridian\",171.057222222");
+        "cator\"],PARAMETER[\"latitude_of_origin\",-44.4019444444");
     add_srs_wkt (p, 9,
-        "2222],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_ea");
+        "4445],PARAMETER[\"central_meridian\",171.0572222222222],");
     add_srs_wkt (p, 10,
-        "sting\",400000],PARAMETER[\"false_northing\",800000],UNI");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        ",400000],PARAMETER[\"false_northing\",800000],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2126\"]]");
-    p = add_epsg_def (filter, first, last, 2127, "epsg", 2127,
-        "NZGD2000 / Lindis Peak 2000");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2126\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2127, "epsg", 2127,
+        "NZGD2000 / Lindis Peak 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-44.735 +lon_0=169.4675 +k=1 +x_0=400");
     add_proj4text (p, 1,
@@ -957,21 +1128,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-44.");
+        "T],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "735],PARAMETER[\"central_meridian\",169.4675],PARAMETER[");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-44.735],P");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",400000],");
+        "ARAMETER[\"central_meridian\",169.4675],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",800000],UNIT[\"metre\",1,AU");
+        "e_factor\",1],PARAMETER[\"false_easting\",400000],PARAME");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2127\"]");
+        "TER[\"false_northing\",800000],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2128, "epsg", 2128,
-        "NZGD2000 / Mount Nicholas 2000");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Ea");
+    add_srs_wkt (p, 13,
+        "sting\",EAST],AUTHORITY[\"EPSG\",\"2127\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2128, "epsg", 2128,
+        "NZGD2000 / Mount Nicholas 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-45.13277777777778 +lon_0=168.3986111");
     add_proj4text (p, 1,
@@ -991,21 +1167,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
+        "EAST],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "45.13277777777778],PARAMETER[\"central_meridian\",168.39");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-45.132");
     add_srs_wkt (p, 9,
-        "86111111111],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
+        "77777777778],PARAMETER[\"central_meridian\",168.39861111");
     add_srs_wkt (p, 10,
-        "alse_easting\",400000],PARAMETER[\"false_northing\",8000");
+        "11111],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "asting\",400000],PARAMETER[\"false_northing\",800000],UN");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"2128\"]]");
-    p = add_epsg_def (filter, first, last, 2129, "epsg", 2129,
-        "NZGD2000 / Mount York 2000");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Nort");
+    add_srs_wkt (p, 13,
+        "hing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"2128\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2129, "epsg", 2129,
+        "NZGD2000 / Mount York 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-45.56361111111111 +lon_0=167.7386111");
     add_proj4text (p, 1,
@@ -1025,21 +1208,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",-45.5");
+        "],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "6361111111111],PARAMETER[\"central_meridian\",167.738611");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",-45.5636111");
     add_srs_wkt (p, 9,
-        "1111111],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
+        "1111111],PARAMETER[\"central_meridian\",167.738611111111");
     add_srs_wkt (p, 10,
-        "_easting\",400000],PARAMETER[\"false_northing\",800000],");
+        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY");
+        "ng\",400000],PARAMETER[\"false_northing\",800000],UNIT[\"");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"2129\"]]");
-    p = add_epsg_def (filter, first, last, 2130, "epsg", 2130,
-        "NZGD2000 / Observation Point 2000");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2129");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2130, "epsg", 2130,
+        "NZGD2000 / Observation Point 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-45.81611111111111 +lon_0=170.6283333");
     add_proj4text (p, 1,
@@ -1059,21 +1249,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",-45.81611111111111],PARAMETER[\"central_meridian\",170.");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-45.");
     add_srs_wkt (p, 9,
-        "6283333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "81611111111111],PARAMETER[\"central_meridian\",170.62833");
     add_srs_wkt (p, 10,
-        "false_easting\",400000],PARAMETER[\"false_northing\",800");
+        "33333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTH");
+        "e_easting\",400000],PARAMETER[\"false_northing\",800000]");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"2130\"]]");
-    p = add_epsg_def (filter, first, last, 2131, "epsg", 2131,
-        "NZGD2000 / North Taieri 2000");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"N");
+    add_srs_wkt (p, 13,
+        "orthing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"2130\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2131, "epsg", 2131,
+        "NZGD2000 / North Taieri 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-45.86138888888889 +lon_0=170.2825 +k");
     add_proj4text (p, 1,
@@ -1093,21 +1290,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-45.");
+        "T],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "86138888888889],PARAMETER[\"central_meridian\",170.2825]");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-45.861388");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.99996],PARAMETER[\"false_e");
+        "88888889],PARAMETER[\"central_meridian\",170.2825],PARAM");
     add_srs_wkt (p, 10,
-        "asting\",400000],PARAMETER[\"false_northing\",800000],UN");
+        "ETER[\"scale_factor\",0.99996],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "\",400000],PARAMETER[\"false_northing\",800000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2131\"]]");
-    p = add_epsg_def (filter, first, last, 2132, "epsg", 2132,
-        "NZGD2000 / Bluff 2000");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2131");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2132, "epsg", 2132,
+        "NZGD2000 / Bluff 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-46.6 +lon_0=168.3427777777778 +k=1 +");
     add_proj4text (p, 1,
@@ -1127,21 +1331,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-46.6],PAR");
+        "HORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",168.3427777777778],PARAMETER");
+        "tor\"],PARAMETER[\"latitude_of_origin\",-46.6],PARAMETER");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",400000]");
+        "[\"central_meridian\",168.3427777777778],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",800000],UNIT[\"metre\",1,A");
+        "le_factor\",1],PARAMETER[\"false_easting\",400000],PARAM");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2132\"");
+        "ETER[\"false_northing\",800000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2133, "epsg", 2133,
-        "NZGD2000 / UTM zone 58S");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AUTHORITY[\"EPSG\",\"2132\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2133, "epsg", 2133,
+        "NZGD2000 / UTM zone 58S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1159,21 +1368,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",165],PARAMETER[\"scale_factor");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "\"central_meridian\",165],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2133\"]]");
-    p = add_epsg_def (filter, first, last, 2134, "epsg", 2134,
-        "NZGD2000 / UTM zone 59S");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2133\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2134, "epsg", 2134,
+        "NZGD2000 / UTM zone 59S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1191,21 +1405,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",171],PARAMETER[\"scale_factor");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "\"central_meridian\",171],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2134\"]]");
-    p = add_epsg_def (filter, first, last, 2135, "epsg", 2135,
-        "NZGD2000 / UTM zone 60S");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2134\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2135, "epsg", 2135,
+        "NZGD2000 / UTM zone 60S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=60 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1223,21 +1442,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",177],PARAMETER[\"scale_factor");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "\"central_meridian\",177],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2135\"]]");
-    p = add_epsg_def (filter, first, last, 2136, "epsg", 2136,
-        "Accra / Ghana National Grid");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2135\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2136, "epsg", 2136,
+        "Accra / Ghana National Grid", 0, 0,
+        "War Office", "Greenwich",
+        "Accra", "Transverse_Mercator", "Gold Coast foot",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.9997");
     add_proj4text (p, 1,
@@ -1257,23 +1481,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4168\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4168\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",4.666666666666667],PARAMETER[\"cent");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-1],PARAMETER[\"scale_factor\",0.99975],P");
+        "ude_of_origin\",4.666666666666667],PARAMETER[\"central_m");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",900000],PARAMETER[\"false_nor");
+        "eridian\",-1],PARAMETER[\"scale_factor\",0.99975],PARAME");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"Gold Coast foot\",0.3047997101815088,A");
+        "TER[\"false_easting\",900000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9094\"]],AXIS[\"Easting\",EAST],AXIS");
+        "\",0],UNIT[\"Gold Coast foot\",0.3047997101815088,AUTHOR");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2136\"]]");
-    p = add_epsg_def (filter, first, last, 2137, "epsg", 2137,
-        "Accra / TM 1 NW");
+        "ITY[\"EPSG\",\"9094\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 13,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"2136\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2137, "epsg", 2137,
+        "Accra / TM 1 NW", 0, 0,
+        "War Office", "Greenwich",
+        "Accra", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-1 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -1291,21 +1520,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4168\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4168\"]],PROJECTIO");
     add_srs_wkt (p, 7,
-        "_origin\",0],PARAMETER[\"central_meridian\",-1],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 8,
-        "R[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",5");
+        "n\",0],PARAMETER[\"central_meridian\",-1],PARAMETER[\"sc");
     add_srs_wkt (p, 9,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "ale_factor\",0.9996],PARAMETER[\"false_easting\",500000]");
     add_srs_wkt (p, 10,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 11,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2137\"]]");
-    p = add_epsg_def (filter, first, last, 2138, "epsg", 2138,
-        "NAD27(CGQ77) / Quebec Lambert");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 12,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"2137\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2138, "epsg", 2138,
+        "NAD27(CGQ77) / Quebec Lambert", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
     add_proj4text (p, 1,
@@ -1315,7 +1549,7 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "CGQ77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHER");
     add_srs_wkt (p, 2,
-        "OID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORIT");
+        "OID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORIT");
     add_srs_wkt (p, 3,
         "Y[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIM");
     add_srs_wkt (p, 4,
@@ -1323,23 +1557,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",60");
+        "ORITY[\"EPSG\",\"4609\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",46],PARAMETER[\"lati");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",60],PARA");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",44],PARAMETER[\"central_meridian\",-68.");
+        "METER[\"standard_parallel_2\",46],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        "5],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nort");
+        "f_origin\",44],PARAMETER[\"central_meridian\",-68.5],PAR");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "2138\"]]");
-    p = add_epsg_def (filter, first, last, 2139, "epsg", 2139,
-        "NAD83(CSRS98) / SCoPQ zone 2 (deprecated)");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2138\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2139, "epsg", 2139,
+        "NAD83(CSRS98) / SCoPQ zone 2 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -1359,21 +1598,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",-55.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-55.");
     add_srs_wkt (p, 10,
-        "alse_easting\",304800],PARAMETER[\"false_northing\",0],U");
+        "5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "easting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2139\"]]");
-    p = add_epsg_def (filter, first, last, 2140, "epsg", 2140,
-        "NAD83(CSRS98) / MTM zone 3 (deprecated)");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2139\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2140, "epsg", 2140,
+        "NAD83(CSRS98) / MTM zone 3 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -1393,23 +1637,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "58.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-58.5]");
     add_srs_wkt (p, 10,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\"");
+        "sting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2140\"]");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2141, "epsg", 2141,
-        "NAD83(CSRS98) / MTM zone 4 (deprecated)");
+        "T],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2140\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2141, "epsg", 2141,
+        "NAD83(CSRS98) / MTM zone 4 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -1429,23 +1676,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "61.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-61.5]");
     add_srs_wkt (p, 10,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\"");
+        "sting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2141\"]");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2142, "epsg", 2142,
-        "NAD83(CSRS98) / MTM zone 5 (deprecated)");
+        "T],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2141\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2142, "epsg", 2142,
+        "NAD83(CSRS98) / MTM zone 5 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -1465,23 +1715,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "64.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-64.5]");
     add_srs_wkt (p, 10,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\"");
+        "sting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2142\"]");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2143, "epsg", 2143,
-        "NAD83(CSRS98) / MTM zone 6 (deprecated)");
+        "T],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2142\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2143, "epsg", 2143,
+        "NAD83(CSRS98) / MTM zone 6 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -1501,23 +1754,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "67.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-67.5]");
     add_srs_wkt (p, 10,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\"");
+        "sting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2143\"]");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2144, "epsg", 2144,
-        "NAD83(CSRS98) / MTM zone 7 (deprecated)");
+        "T],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2143\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2144, "epsg", 2144,
+        "NAD83(CSRS98) / MTM zone 7 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -1537,23 +1793,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "70.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-70.5]");
     add_srs_wkt (p, 10,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\"");
+        "sting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2144\"]");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2145, "epsg", 2145,
-        "NAD83(CSRS98) / MTM zone 8 (deprecated)");
+        "T],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2144\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2145, "epsg", 2145,
+        "NAD83(CSRS98) / MTM zone 8 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -1573,23 +1832,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "73.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-73.5]");
     add_srs_wkt (p, 10,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\"");
+        "sting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2145\"]");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2146, "epsg", 2146,
-        "NAD83(CSRS98) / MTM zone 9 (deprecated)");
+        "T],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2145\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2146, "epsg", 2146,
+        "NAD83(CSRS98) / MTM zone 9 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -1609,23 +1871,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "76.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-76.5]");
     add_srs_wkt (p, 10,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\"");
+        "sting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2146\"]");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2147, "epsg", 2147,
-        "NAD83(CSRS98) / MTM zone 10 (deprecated)");
+        "T],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2146\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2147, "epsg", 2147,
+        "NAD83(CSRS98) / MTM zone 10 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -1645,23 +1910,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "79.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-79.5]");
     add_srs_wkt (p, 10,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\"");
+        "sting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2147\"]");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2148, "epsg", 2148,
-        "NAD83(CSRS98) / UTM zone 21N (deprecated)");
+        "T],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2147\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2148, "epsg", 2148,
+        "NAD83(CSRS98) / UTM zone 21N (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1679,23 +1947,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-57]");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 13,
-        "2148\"]]");
-    p = add_epsg_def (filter, first, last, 2149, "epsg", 2149,
-        "NAD83(CSRS98) / UTM zone 18N (deprecated)");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2148");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2149, "epsg", 2149,
+        "NAD83(CSRS98) / UTM zone 18N (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1713,23 +1986,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-75]");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 13,
-        "2149\"]]");
-    p = add_epsg_def (filter, first, last, 2150, "epsg", 2150,
-        "NAD83(CSRS98) / UTM zone 17N (deprecated)");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2149");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2150, "epsg", 2150,
+        "NAD83(CSRS98) / UTM zone 17N (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1747,23 +2025,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-81]");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 13,
-        "2150\"]]");
-    p = add_epsg_def (filter, first, last, 2151, "epsg", 2151,
-        "NAD83(CSRS98) / UTM zone 13N (deprecated)");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2150");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2151, "epsg", 2151,
+        "NAD83(CSRS98) / UTM zone 13N (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1781,23 +2064,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",-105],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-105");
     add_srs_wkt (p, 10,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 13,
-        "\"2151\"]]");
-    p = add_epsg_def (filter, first, last, 2152, "epsg", 2152,
-        "NAD83(CSRS98) / UTM zone 12N (deprecated)");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"215");
+    add_srs_wkt (p, 14,
+        "1\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2152, "epsg", 2152,
+        "NAD83(CSRS98) / UTM zone 12N (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1815,23 +2103,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",-111],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-111");
     add_srs_wkt (p, 10,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 13,
-        "\"2152\"]]");
-    p = add_epsg_def (filter, first, last, 2153, "epsg", 2153,
-        "NAD83(CSRS98) / UTM zone 11N (deprecated)");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"215");
+    add_srs_wkt (p, 14,
+        "2\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2153, "epsg", 2153,
+        "NAD83(CSRS98) / UTM zone 11N (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1849,23 +2142,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4140\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4140");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",-117],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-117");
     add_srs_wkt (p, 10,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 13,
-        "\"2153\"]]");
-    p = add_epsg_def (filter, first, last, 2154, "epsg", 2154,
-        "RGF93 / Lambert-93");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"215");
+    add_srs_wkt (p, 14,
+        "3\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2154, "epsg", 2154,
+        "RGF93 / Lambert-93", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=");
     add_proj4text (p, 1,
@@ -1883,25 +2181,30 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conforma");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",49],PAR");
+        "[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",44],PARAMETER[\"latitude_");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",49],PARAMETER");
     add_srs_wkt (p, 9,
-        "of_origin\",46.5],PARAMETER[\"central_meridian\",3],PARA");
+        "[\"standard_parallel_2\",44],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",700000],PARAMETER[\"false_northi");
+        "gin\",46.5],PARAMETER[\"central_meridian\",3],PARAMETER[");
     add_srs_wkt (p, 11,
-        "ng\",6600000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "\"false_easting\",700000],PARAMETER[\"false_northing\",6");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "600000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 13,
-        "\",\"2154\"]]");
-    p = add_epsg_def (filter, first, last, 2155, "epsg", 2155,
-        "American Samoa 1962 / American Samoa Lambert (deprecated)");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 14,
+        "154\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2155, "epsg", 2155,
+        "American Samoa 1962 / American Samoa Lambert (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "American_Samoa_1962", "Lambert_Conformal_Conic_1SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.266666666");
     add_proj4text (p, 1,
@@ -1917,7 +2220,7 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ican_Samoa_1962\",SPHEROID[\"Clarke 1866\",6378206.4,294");
     add_srs_wkt (p, 3,
-        ".9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-11");
+        ".9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-11");
     add_srs_wkt (p, 4,
         "5,118,426,0,0,0,0],AUTHORITY[\"EPSG\",\"6169\"]],PRIMEM[");
     add_srs_wkt (p, 5,
@@ -1925,23 +2228,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 7,
-        "UTHORITY[\"EPSG\",\"4169\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 8,
-        "mal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",-14.26");
+        "TY[\"EPSG\",\"4169\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"central_meridian\",170],PARAME");
+        "nic_1SP\"],PARAMETER[\"latitude_of_origin\",-14.26666666");
     add_srs_wkt (p, 10,
-        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
+        "666667],PARAMETER[\"central_meridian\",170],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 12,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"215");
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 14,
-        "5\"]]");
-    p = add_epsg_def (filter, first, last, 2156, "epsg", 2156,
-        "NAD83(HARN) / UTM zone 59S (deprecated)");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2155\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2156, "epsg", 2156,
+        "NAD83(HARN) / UTM zone 59S (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1959,23 +2265,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",171]");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "of_origin\",0],PARAMETER[\"central_meridian\",171],PARAM");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        ",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 13,
-        ",\"2156\"]]");
-    p = add_epsg_def (filter, first, last, 2157, "epsg", 2157,
-        "IRENET95 / Irish Transverse Mercator");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2156");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2157, "epsg", 2157,
+        "IRENET95 / Irish Transverse Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "IRENET95", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=0.99982 +x_0=600000");
     add_proj4text (p, 1,
@@ -1993,23 +2304,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4173\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",53.5],PARAMETER[\"c");
+        "PSG\",\"4173\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-8],PARAMETER[\"scale_factor\",0.99982");
+        "AMETER[\"latitude_of_origin\",53.5],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",600000],PARAMETER[\"false_");
+        "meridian\",-8],PARAMETER[\"scale_factor\",0.99982],PARAM");
     add_srs_wkt (p, 10,
-        "northing\",750000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "ETER[\"false_easting\",600000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "g\",750000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"2157\"]]");
-    p = add_epsg_def (filter, first, last, 2158, "epsg", 2158,
-        "IRENET95 / UTM zone 29N");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2157\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2158, "epsg", 2158,
+        "IRENET95 / UTM zone 29N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "IRENET95", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2025,23 +2341,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4173\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "73\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",-9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-9");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "\"2158\"]]");
-    p = add_epsg_def (filter, first, last, 2159, "epsg", 2159,
-        "Sierra Leone 1924 / New Colony Grid");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"215");
+    add_srs_wkt (p, 13,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2159, "epsg", 2159,
+        "Sierra Leone 1924 / New Colony Grid", 0, 0,
+        "War Office", "Greenwich",
+        "Sierra_Leone_Colony_1924", "Transverse_Mercator", "Gold Coast foot",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1 +x_");
     add_proj4text (p, 1,
@@ -2059,23 +2380,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4174\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",6.666666666666667],PARAME");
+        ",\"4174\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "TER[\"central_meridian\",-12],PARAMETER[\"scale_factor\"");
+        "R[\"latitude_of_origin\",6.666666666666667],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "central_meridian\",-12],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"Gold Coast foot\",0.3047997101815");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "088,AUTHORITY[\"EPSG\",\"9094\"]],AXIS[\"Easting\",EAST]");
+        "hing\",0],UNIT[\"Gold Coast foot\",0.3047997101815088,AU");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2159\"]]");
-    p = add_epsg_def (filter, first, last, 2160, "epsg", 2160,
-        "Sierra Leone 1924 / New War Office Grid");
+        "THORITY[\"EPSG\",\"9094\"]],AXIS[\"Easting\",EAST],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2159\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2160, "epsg", 2160,
+        "Sierra Leone 1924 / New War Office Grid", 0, 0,
+        "War Office", "Greenwich",
+        "Sierra_Leone_Colony_1924", "Transverse_Mercator", "Gold Coast foot",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1 +x_");
     add_proj4text (p, 1,
@@ -2093,25 +2419,30 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4174\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",6.666666666666667],PA");
+        "SG\",\"4174\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-12],PARAMETER[\"scale_fact");
+        "METER[\"latitude_of_origin\",6.666666666666667],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",800000],PARAMETER[\"");
+        "R[\"central_meridian\",-12],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",600000],UNIT[\"Gold Coast foot\",0.3047");
+        "],PARAMETER[\"false_easting\",800000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "997101815088,AUTHORITY[\"EPSG\",\"9094\"]],AXIS[\"Eastin");
+        "northing\",600000],UNIT[\"Gold Coast foot\",0.3047997101");
     add_srs_wkt (p, 12,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "815088,AUTHORITY[\"EPSG\",\"9094\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "2160\"]]");
-    p = add_epsg_def (filter, first, last, 2161, "epsg", 2161,
-        "Sierra Leone 1968 / UTM zone 28N");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2160\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2161, "epsg", 2161,
+        "Sierra Leone 1968 / UTM zone 28N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Sierra_Leone_1968", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=clrk80 +towgs84=-88,4,101,0,0,");
     add_proj4text (p, 1,
@@ -2129,21 +2460,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4175\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4175\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",-15],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
+        ",0],PARAMETER[\"central_meridian\",-15],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2161\"]]");
-    p = add_epsg_def (filter, first, last, 2162, "epsg", 2162,
-        "Sierra Leone 1968 / UTM zone 29N");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 13,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2161\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2162, "epsg", 2162,
+        "Sierra Leone 1968 / UTM zone 29N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Sierra_Leone_1968", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-88,4,101,0,0,");
     add_proj4text (p, 1,
@@ -2161,21 +2497,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4175\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4175\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",-9],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        ",0],PARAMETER[\"central_meridian\",-9],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2162\"]]");
-    p = add_epsg_def (filter, first, last, 2163, "epsg", 2163,
-        "US National Atlas Equal Area");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2162\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2163, "epsg", 2163,
+        "US National Atlas Equal Area", 0, 0,
+        "Clarke 1866 Authalic Sphere", "Greenwich",
+        "Not_specified_based_on_Clarke_1866_Authalic_Sphere", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 +a=637099");
     add_proj4text (p, 1,
@@ -2195,19 +2536,24 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4052\"]],PROJECTION[\"Lamb");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 8,
-        "ert_Azimuthal_Equal_Area\"],PARAMETER[\"latitude_of_cent");
+        "T],AUTHORITY[\"EPSG\",\"4052\"]],PROJECTION[\"Lambert_Az");
     add_srs_wkt (p, 9,
-        "er\",45],PARAMETER[\"longitude_of_center\",-100],PARAMET");
+        "imuthal_Equal_Area\"],PARAMETER[\"latitude_of_center\",4");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
+        "5],PARAMETER[\"longitude_of_center\",-100],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "alse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2163\"]]");
-    p = add_epsg_def (filter, first, last, 2164, "epsg", 2164,
-        "Locodjo 1965 / TM 5 NW");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2163\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2164, "epsg", 2164,
+        "Locodjo 1965 / TM 5 NW", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Locodjo_1965", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2227,21 +2573,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4142\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ORITY[\"EPSG\",\"4142\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-5],PARAMETER[\"scale_factor\",0.");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "ntral_meridian\",-5],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"2164\"]]");
-    p = add_epsg_def (filter, first, last, 2165, "epsg", 2165,
-        "Abidjan 1987 / TM 5 NW");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2164\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2165, "epsg", 2165,
+        "Abidjan 1987 / TM 5 NW", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Abidjan_1987", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2261,21 +2612,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4143\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4143\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-5],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "R[\"central_meridian\",-5],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"2165\"]]");
-    p = add_epsg_def (filter, first, last, 2166, "epsg", 2166,
-        "Pulkovo 1942(83) / Gauss Kruger zone 3 (deprecated)");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2165\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2166, "epsg", 2166,
+        "Pulkovo 1942(83) / Gauss Kruger zone 3 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2295,21 +2651,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",9],P");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",9],PARAMET");
     add_srs_wkt (p, 10,
-        ",3500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",35000");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "66\"]]");
-    p = add_epsg_def (filter, first, last, 2167, "epsg", 2167,
-        "Pulkovo 1942(83) / Gauss Kruger zone 4 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2166\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2167, "epsg", 2167,
+        "Pulkovo 1942(83) / Gauss Kruger zone 4 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2329,21 +2690,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",12],");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",12],PARAME");
     add_srs_wkt (p, 10,
-        ",4500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",4500");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "67\"]]");
-    p = add_epsg_def (filter, first, last, 2168, "epsg", 2168,
-        "Pulkovo 1942(83) / Gauss Kruger zone 5 (deprecated)");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2167\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2168, "epsg", 2168,
+        "Pulkovo 1942(83) / Gauss Kruger zone 5 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2363,29 +2729,34 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",15],");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",15],PARAME");
     add_srs_wkt (p, 10,
-        ",5500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5500");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "68\"]]");
-    p = add_epsg_def (filter, first, last, 2169, "epsg", 2169,
-        "Luxembourg 1930 / Gauss");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2168\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2169, "epsg", 2169,
+        "Luxembourg 1930 / Gauss", 0, 1,
+        "International 1924", "Greenwich",
+        "Luxembourg_1930", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=49.83333333333334 +lon_0=6.1666666666");
     add_proj4text (p, 1,
         "66667 +k=1 +x_0=80000 +y_0=100000 +ellps=intl +towgs84=-");
     add_proj4text (p, 2,
-        "189.681,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0.459");
+        "189.6806,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0.45");
     add_proj4text (p, 3,
-        "8 +units=m +no_defs");
+        "98 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Luxembourg 1930 / Gauss\",GEOGCS[\"Luxembourg 1");
     add_srs_wkt (p, 1,
@@ -2393,31 +2764,40 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         " 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "4[-189.681,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0.");
+        "4[-189.6806,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0");
     add_srs_wkt (p, 4,
-        "4598],AUTHORITY[\"EPSG\",\"6181\"]],PRIMEM[\"Greenwich\"");
+        ".4598],AUTHORITY[\"EPSG\",\"6181\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4181\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",49.83333333333334],PARAMETE");
+        "4181\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "R[\"central_meridian\",6.166666666666667],PARAMETER[\"sc");
+        "latitude_of_origin\",49.83333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        "ale_factor\",1],PARAMETER[\"false_easting\",80000],PARAM");
+        "ral_meridian\",6.166666666666667],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",100000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",80000],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2169\"]]");
-    p = add_epsg_def (filter, first, last, 2170, "epsg", 2170,
-        "MGI / Slovenia Grid (deprecated)");
+        "alse_northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"2169\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2170, "epsg", 2170,
+        "MGI / Slovenia Grid (deprecated)", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "0=0 +datum=hermannskogel +units=m +no_defs");
+        "0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,");
+    add_proj4text (p, 2,
+        "1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"MGI / Slovenia Grid (deprecated)\",GEOGCS[\"MGI");
     add_srs_wkt (p, 1,
@@ -2431,21 +2811,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 6,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "TY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "l_meridian\",15],PARAMETER[\"scale_factor\",0.9999],PARA");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "idian\",15],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 11,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"2170\"]]");
-    p = add_epsg_def (filter, first, last, 2171, "epsg", 2171,
-        "Pulkovo 1942(58) / Poland zone I (deprecated)");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2170\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2171, "epsg", 2171,
+        "Pulkovo 1942(58) / Poland zone I (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Oblique_Stereographic", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0");
     add_proj4text (p, 1,
@@ -2467,23 +2854,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 6,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "TY[\"EPSG\",\"4179\"]],PROJECTION[\"Oblique_Stereographi");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "c\"],PARAMETER[\"latitude_of_origin\",50.625],PARAMETER[");
+        "PSG\",\"4179\"]],PROJECTION[\"Oblique_Stereographic\"],P");
     add_srs_wkt (p, 9,
-        "\"central_meridian\",21.08333333333333],PARAMETER[\"scal");
+        "ARAMETER[\"latitude_of_origin\",50.625],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        "e_factor\",0.9998],PARAMETER[\"false_easting\",4637000],");
+        "ral_meridian\",21.08333333333333],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_northing\",5647000],UNIT[\"metre\",1,A");
+        "or\",0.9998],PARAMETER[\"false_easting\",4637000],PARAME");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2171\"");
+        "TER[\"false_northing\",5647000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2172, "epsg", 2172,
-        "Pulkovo 1942(58) / Poland zone II");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"2171\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2172, "epsg", 2172,
+        "Pulkovo 1942(58) / Poland zone II", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Oblique_Stereographic", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=53.00194444444445 +lon_0=21.50277777");
     add_proj4text (p, 1,
@@ -2505,21 +2897,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4179\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4179\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",53.00194444444445],PARAMETER[\"c");
+        "]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "entral_meridian\",21.50277777777778],PARAMETER[\"scale_f");
+        "itude_of_origin\",53.00194444444445],PARAMETER[\"central");
     add_srs_wkt (p, 10,
-        "actor\",0.9998],PARAMETER[\"false_easting\",4603000],PAR");
+        "_meridian\",21.50277777777778],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",5806000],UNIT[\"metre\",1,AUTH");
+        ",0.9998],PARAMETER[\"false_easting\",4603000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2172\"]]");
-    p = add_epsg_def (filter, first, last, 2173, "epsg", 2173,
-        "Pulkovo 1942(58) / Poland zone III");
+        "\"false_northing\",5806000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"2172\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2173, "epsg", 2173,
+        "Pulkovo 1942(58) / Poland zone III", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Oblique_Stereographic", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=53.58333333333334 +lon_0=17.00833333");
     add_proj4text (p, 1,
@@ -2541,23 +2940,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4179\"]],PROJECTION[\"Oblique_Stereographic\"],PARAME");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"417");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",53.58333333333334],PARAMETER[");
+        "9\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "\"central_meridian\",17.00833333333333],PARAMETER[\"scal");
+        "latitude_of_origin\",53.58333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        "e_factor\",0.9998],PARAMETER[\"false_easting\",3501000],");
+        "ral_meridian\",17.00833333333333],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_northing\",5999000],UNIT[\"metre\",1,A");
+        "or\",0.9998],PARAMETER[\"false_easting\",3501000],PARAME");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2173\"");
+        "TER[\"false_northing\",5999000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2174, "epsg", 2174,
-        "Pulkovo 1942(58) / Poland zone IV");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"2173\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2174, "epsg", 2174,
+        "Pulkovo 1942(58) / Poland zone IV", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Oblique_Stereographic", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=51.67083333333333 +lon_0=16.67222222");
     add_proj4text (p, 1,
@@ -2579,21 +2983,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4179\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4179\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",51.67083333333333],PARAMETER[\"c");
+        "]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "entral_meridian\",16.67222222222222],PARAMETER[\"scale_f");
+        "itude_of_origin\",51.67083333333333],PARAMETER[\"central");
     add_srs_wkt (p, 10,
-        "actor\",0.9998],PARAMETER[\"false_easting\",3703000],PAR");
+        "_meridian\",16.67222222222222],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",5627000],UNIT[\"metre\",1,AUTH");
+        ",0.9998],PARAMETER[\"false_easting\",3703000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2174\"]]");
-    p = add_epsg_def (filter, first, last, 2175, "epsg", 2175,
-        "Pulkovo 1942(58) / Poland zone V");
+        "\"false_northing\",5627000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"2174\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2175, "epsg", 2175,
+        "Pulkovo 1942(58) / Poland zone V", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18.95833333333333 +k=0.99998");
     add_proj4text (p, 1,
@@ -2613,21 +3024,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4179\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4179\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "8.95833333333333],PARAMETER[\"scale_factor\",0.999983],P");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",18.958");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_easting\",237000],PARAMETER[\"false_nor");
+        "33333333333],PARAMETER[\"scale_factor\",0.999983],PARAME");
     add_srs_wkt (p, 11,
-        "thing\",-4700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "TER[\"false_easting\",237000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "9001\"]],AUTHORITY[\"EPSG\",\"2175\"]]");
-    p = add_epsg_def (filter, first, last, 2176, "epsg", 2176,
-        "ETRS89 / Poland CS2000 zone 5");
+        "\",-4700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 13,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"2175\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2176, "epsg", 2176,
+        "ETRS89 / Poland CS2000 zone 5", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.999923 +x_0=5500000 ");
     add_proj4text (p, 1,
@@ -2647,21 +3065,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",15],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999923],PARAMETER[\"false_easting\",5");
+        ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "_factor\",0.999923],PARAMETER[\"false_easting\",5500000]");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2176");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2177, "epsg", 2177,
-        "ETRS89 / Poland CS2000 zone 6");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"x\",NORTH],AXIS[\"y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"2176\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2177, "epsg", 2177,
+        "ETRS89 / Poland CS2000 zone 6", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.999923 +x_0=6500000 ");
     add_proj4text (p, 1,
@@ -2681,21 +3104,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",18],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999923],PARAMETER[\"false_easting\",6");
+        ",0],PARAMETER[\"central_meridian\",18],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "_factor\",0.999923],PARAMETER[\"false_easting\",6500000]");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2177");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2178, "epsg", 2178,
-        "ETRS89 / Poland CS2000 zone 7");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"x\",NORTH],AXIS[\"y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"2177\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2178, "epsg", 2178,
+        "ETRS89 / Poland CS2000 zone 7", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.999923 +x_0=7500000 ");
     add_proj4text (p, 1,
@@ -2715,21 +3143,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",21],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999923],PARAMETER[\"false_easting\",7");
+        ",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "_factor\",0.999923],PARAMETER[\"false_easting\",7500000]");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2178");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2179, "epsg", 2179,
-        "ETRS89 / Poland CS2000 zone 8");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"x\",NORTH],AXIS[\"y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"2178\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2179, "epsg", 2179,
+        "ETRS89 / Poland CS2000 zone 8", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.999923 +x_0=8500000 ");
     add_proj4text (p, 1,
@@ -2749,21 +3182,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",24],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999923],PARAMETER[\"false_easting\",8");
+        ",0],PARAMETER[\"central_meridian\",24],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "_factor\",0.999923],PARAMETER[\"false_easting\",8500000]");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2179");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2180, "epsg", 2180,
-        "ETRS89 / Poland CS92");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"x\",NORTH],AXIS[\"y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"2179\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2180, "epsg", 2180,
+        "ETRS89 / Poland CS92", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2783,19 +3221,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",19],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",0.9993],PARAMETER[\"false_easting\",500000],PARA");
+        "METER[\"central_meridian\",19],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",-5300000],UNIT[\"metre\",1,AUTH");
+        ",0.9993],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2180\"]]");
-    p = add_epsg_def (filter, first, last, 2188, "epsg", 2188,
-        "Azores Occidental 1939 / UTM zone 25N");
+        "false_northing\",-5300000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"x\",NORTH],AXIS[\"y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2180\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2188, "epsg", 2188,
+        "Azores Occidental 1939 / UTM zone 25N", 0, 0,
+        "International 1924", "Greenwich",
+        "Azores_Occidental_Islands_1939", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=25 +ellps=intl +towgs84=-425,-169,81,0,0");
     add_proj4text (p, 1,
@@ -2813,23 +3258,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4182\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "82\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "an\",-33],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-3");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 13,
-        ",\"2188\"]]");
-    p = add_epsg_def (filter, first, last, 2189, "epsg", 2189,
-        "Azores Central 1948 / UTM zone 26N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"218");
+    add_srs_wkt (p, 14,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2189, "epsg", 2189,
+        "Azores Central 1948 / UTM zone 26N", 0, 0,
+        "International 1924", "Greenwich",
+        "Azores_Central_Islands_1948", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +ellps=intl +towgs84=-104,167,-38,0,0");
     add_proj4text (p, 1,
@@ -2847,23 +3297,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4183");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4183\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-27]");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "of_origin\",0],PARAMETER[\"central_meridian\",-27],PARAM");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2189");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2190, "epsg", 2190,
-        "Azores Oriental 1940 / UTM zone 26N");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2189\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2190, "epsg", 2190,
+        "Azores Oriental 1940 / UTM zone 26N", 0, 0,
+        "International 1924", "Greenwich",
+        "Azores_Oriental_Islands_1940", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +ellps=intl +towgs84=-203,141,53,0,0,");
     add_proj4text (p, 1,
@@ -2881,23 +3334,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "84\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4184\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-2");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-27],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"219");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 2191, "epsg", 2191,
-        "Madeira 1936 / UTM zone 28N (deprecated)");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2190\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2191, "epsg", 2191,
+        "Madeira 1936 / UTM zone 28N (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Madeira_1936", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=intl +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2911,23 +3367,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4185\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4185\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",-15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
+        "15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
     add_srs_wkt (p, 12,
-        "G\",\"2191\"]]");
-    p = add_epsg_def (filter, first, last, 2192, "epsg", 2192,
-        "ED50 / France EuroLambert (deprecated)");
+        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 13,
+        "191\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2192, "epsg", 2192,
+        "ED50 / France EuroLambert (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.3372291666666");
     add_proj4text (p, 1,
@@ -2947,23 +3408,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"L");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_or");
+        "EAST],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "igin\",46.8],PARAMETER[\"central_meridian\",2.3372291666");
+        "_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "66667],PARAMETER[\"scale_factor\",0.99987742],PARAMETER[");
+        ",46.8],PARAMETER[\"central_meridian\",2.337229166666667]");
     add_srs_wkt (p, 10,
-        "\"false_easting\",600000],PARAMETER[\"false_northing\",2");
+        ",PARAMETER[\"scale_factor\",0.99987742],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "e_easting\",600000],PARAMETER[\"false_northing\",2200000");
     add_srs_wkt (p, 12,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        "192\"]]");
-    p = add_epsg_def (filter, first, last, 2193, "epsg", 2193,
-        "NZGD2000 / New Zealand Transverse Mercator 2000");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2192\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2193, "epsg", 2193,
+        "NZGD2000 / New Zealand Transverse Mercator 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=173 +k=0.9996 +x_0=1600000 +");
     add_proj4text (p, 1,
@@ -2983,21 +3449,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4167\"]],PR");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",173],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
+        "f_origin\",0],PARAMETER[\"central_meridian\",173],PARAME");
     add_srs_wkt (p, 10,
-        "ing\",1600000],PARAMETER[\"false_northing\",10000000],UN");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        ",1600000],PARAMETER[\"false_northing\",10000000],UNIT[\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2193\"]]");
-    p = add_epsg_def (filter, first, last, 2194, "epsg", 2194,
-        "American Samoa 1962 / American Samoa Lambert (deprecated)");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2193");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2194, "epsg", 2194,
+        "American Samoa 1962 / American Samoa Lambert (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "American_Samoa_1962", "Lambert_Conformal_Conic_1SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.266666666");
     add_proj4text (p, 1,
@@ -3013,7 +3486,7 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ican_Samoa_1962\",SPHEROID[\"Clarke 1866\",6378206.4,294");
     add_srs_wkt (p, 3,
-        ".9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-11");
+        ".9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-11");
     add_srs_wkt (p, 4,
         "5,118,426,0,0,0,0],AUTHORITY[\"EPSG\",\"6169\"]],PRIMEM[");
     add_srs_wkt (p, 5,
@@ -3021,23 +3494,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 7,
-        "UTHORITY[\"EPSG\",\"4169\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 8,
-        "mal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",-14.26");
+        "TY[\"EPSG\",\"4169\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"central_meridian\",-170],PARAM");
+        "nic_1SP\"],PARAMETER[\"latitude_of_origin\",-14.26666666");
     add_srs_wkt (p, 10,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "666667],PARAMETER[\"central_meridian\",-170],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 12,
-        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
+        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
     add_srs_wkt (p, 13,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"21");
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 14,
-        "94\"]]");
-    p = add_epsg_def (filter, first, last, 2195, "epsg", 2195,
-        "NAD83(HARN) / UTM zone 2S");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2194\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2195, "epsg", 2195,
+        "NAD83(HARN) / UTM zone 2S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=2 +south +ellps=GRS80 +towgs84=0,0,0,0,0");
     add_proj4text (p, 1,
@@ -3055,21 +3531,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",-171],PARAMETER[\"");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        ",PARAMETER[\"central_meridian\",-171],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2195\"]]");
-    p = add_epsg_def (filter, first, last, 2196, "epsg", 2196,
-        "ETRS89 / Kp2000 Jutland");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"2195\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2196, "epsg", 2196,
+        "ETRS89 / Kp2000 Jutland", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.99995 +x_0=200000 +");
     add_proj4text (p, 1,
@@ -3089,21 +3570,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",9.5],PARAMETER[\"scal");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "e_factor\",0.99995],PARAMETER[\"false_easting\",200000],");
+        "ARAMETER[\"central_meridian\",9.5],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "tor\",0.99995],PARAMETER[\"false_easting\",200000],PARAM");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"2196\"]]");
-    p = add_epsg_def (filter, first, last, 2197, "epsg", 2197,
-        "ETRS89 / Kp2000 Zealand");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2196\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2197, "epsg", 2197,
+        "ETRS89 / Kp2000 Zealand", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.99995 +x_0=500000 +y");
     add_proj4text (p, 1,
@@ -3123,21 +3609,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",12],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.99995],PARAMETER[\"false_easting\",500000],P");
+        "ARAMETER[\"central_meridian\",12],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "or\",0.99995],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2197\"]]");
-    p = add_epsg_def (filter, first, last, 2198, "epsg", 2198,
-        "ETRS89 / Kp2000 Bornholm");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2197\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2198, "epsg", 2198,
+        "ETRS89 / Kp2000 Bornholm", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=900000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3155,21 +3646,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",900000],PARAMET");
+        "ARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "or\",1],PARAMETER[\"false_easting\",900000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2198\"]]");
-    p = add_epsg_def (filter, first, last, 2199, "epsg", 2199,
-        "Albanian 1987 / Gauss Kruger zone 4 (deprecated)");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2198\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2199, "epsg", 2199,
+        "Albanian 1987 / Gauss Kruger zone 4 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Albanian_1987", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -3185,21 +3681,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4191\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4191\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",21],PARAMETER[\"scale_factor\",1],PARAMET");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ER[\"false_easting\",4500000],PARAMETER[\"false_northing");
+        "idian\",21],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "lse_easting\",4500000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"2199\"]]");
-    p = add_epsg_def (filter, first, last, 2200, "epsg", 2200,
-        "ATS77 / New Brunswick Stereographic (ATS77)");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2199\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2200, "epsg", 2200,
+        "ATS77 / New Brunswick Stereographic (ATS77)", 0, 1,
+        "Average Terrestrial System 1977", "Greenwich",
+        "Average_Terrestrial_System_1977", "Oblique_Stereographic", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=3");
     add_proj4text (p, 1,
@@ -3219,21 +3720,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4122\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Oblique_Stereographic\"],PARAMETER[\"latitude_of_origi");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4122\"]],PROJECTION[\"Obli");
     add_srs_wkt (p, 8,
-        "n\",46.5],PARAMETER[\"central_meridian\",-66.5],PARAMETE");
+        "que_Stereographic\"],PARAMETER[\"latitude_of_origin\",46");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.999912],PARAMETER[\"false_easting\"");
+        ".5],PARAMETER[\"central_meridian\",-66.5],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        ",300000],PARAMETER[\"false_northing\",800000],UNIT[\"met");
+        "ale_factor\",0.999912],PARAMETER[\"false_easting\",30000");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "0],PARAMETER[\"false_northing\",800000],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "\"2200\"]]");
-    p = add_epsg_def (filter, first, last, 2201, "epsg", 2201,
-        "REGVEN / UTM zone 18N");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2200\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2201, "epsg", 2201,
+        "REGVEN / UTM zone 18N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Red_Geodesica_Venezolana", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3249,23 +3755,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4189\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4189\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-75],PARAMETER[\"scale_factor\",0.9996],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"2201\"]]");
-    p = add_epsg_def (filter, first, last, 2202, "epsg", 2202,
-        "REGVEN / UTM zone 19N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"2201\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2202, "epsg", 2202,
+        "REGVEN / UTM zone 19N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Red_Geodesica_Venezolana", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3281,23 +3792,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4189\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4189\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-69],PARAMETER[\"scale_factor\",0.9996],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"2202\"]]");
-    p = add_epsg_def (filter, first, last, 2203, "epsg", 2203,
-        "REGVEN / UTM zone 20N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"2202\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2203, "epsg", 2203,
+        "REGVEN / UTM zone 20N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Red_Geodesica_Venezolana", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3313,23 +3829,28 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4189\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4189\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-63],PARAMETER[\"scale_factor\",0.9996],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"2203\"]]");
-    p = add_epsg_def (filter, first, last, 2204, "epsg", 2204,
-        "NAD27 / Tennessee");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"2203\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2204, "epsg", 2204,
+        "NAD27 / Tennessee", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=3");
     add_proj4text (p, 1,
@@ -3341,37 +3862,42 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "rth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",63782");
     add_srs_wkt (p, 2,
-        "06.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUT");
+        "06.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUT");
     add_srs_wkt (p, 3,
         "HORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]]");
     add_srs_wkt (p, 7,
-        "ETER[\"standard_parallel_1\",35.25],PARAMETER[\"standard");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "_parallel_2\",36.41666666666666],PARAMETER[\"latitude_of");
+        "standard_parallel_1\",35.25],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "_origin\",34.66666666666666],PARAMETER[\"central_meridia");
+        "el_2\",36.41666666666666],PARAMETER[\"latitude_of_origin");
     add_srs_wkt (p, 10,
-        "n\",-86],PARAMETER[\"false_easting\",2000000],PARAMETER[");
+        "\",34.66666666666666],PARAMETER[\"central_meridian\",-86");
     add_srs_wkt (p, 11,
-        "\"false_northing\",100000],UNIT[\"US survey foot\",0.304");
+        "],PARAMETER[\"false_easting\",2000000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "_northing\",100000],UNIT[\"US survey foot\",0.3048006096");
     add_srs_wkt (p, 13,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2204\"]]");
-    p = add_epsg_def (filter, first, last, 2205, "epsg", 2205,
-        "NAD83 / Kentucky North");
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2204\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2205, "epsg", 2205,
+        "NAD83 / Kentucky North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
     add_proj4text (p, 1,
-        "667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +datum=");
+        "667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=");
     add_proj4text (p, 2,
-        "NAD83 +units=m +no_defs");
+        "GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Kentucky North\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
@@ -3383,25 +3909,30 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.96666");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        "666666667],PARAMETER[\"standard_parallel_2\",38.96666666");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",37.96666666666");
     add_srs_wkt (p, 9,
-        "666667],PARAMETER[\"latitude_of_origin\",37.5],PARAMETER");
+        "667],PARAMETER[\"standard_parallel_2\",38.96666666666667");
     add_srs_wkt (p, 10,
-        "[\"central_meridian\",-84.25],PARAMETER[\"false_easting\"");
+        "],PARAMETER[\"latitude_of_origin\",37.5],PARAMETER[\"cen");
     add_srs_wkt (p, 11,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "tral_meridian\",-84.25],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 12,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2205\"]]");
-    p = add_epsg_def (filter, first, last, 2206, "epsg", 2206,
-        "ED50 / 3-degree Gauss-Kruger zone 9");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 14,
+        "ORTH],AUTHORITY[\"EPSG\",\"2205\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2206, "epsg", 2206,
+        "ED50 / 3-degree Gauss-Kruger zone 9", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -3421,19 +3952,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",27],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",9500000],PARAMETER[\"");
+        "ER[\"central_meridian\",27],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",9500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"2206\"]]");
-    p = add_epsg_def (filter, first, last, 2207, "epsg", 2207,
-        "ED50 / 3-degree Gauss-Kruger zone 10");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2206\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2207, "epsg", 2207,
+        "ED50 / 3-degree Gauss-Kruger zone 10", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3453,19 +3991,26 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",30],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",10500000],PARAMETER[");
+        "ER[\"central_meridian\",30],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",10500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"2207\"]]");
-    p = add_epsg_def (filter, first, last, 2208, "epsg", 2208,
-        "ED50 / 3-degree Gauss-Kruger zone 11");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"2207\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2208, "epsg", 2208,
+        "ED50 / 3-degree Gauss-Kruger zone 11", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3485,17 +4030,21 @@ initialize_epsg_01 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",33],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",11500000],PARAMETER[");
+        "ER[\"central_meridian\",33],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",11500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"2208\"]]");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"2208\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_02.c b/src/srsinit/epsg_inlined_02.c
index fc9ac22..16eb383 100644
--- a/src/srsinit/epsg_inlined_02.c
+++ b/src/srsinit/epsg_inlined_02.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 2209, "epsg", 2209,
-        "ED50 / 3-degree Gauss-Kruger zone 12");
+    p = add_epsg_def_ex (filter, first, last, 2209, "epsg", 2209,
+        "ED50 / 3-degree Gauss-Kruger zone 12", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0");
     add_proj4text (p, 1,
@@ -73,19 +78,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",36],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",12500000],PARAMETER[");
+        "ER[\"central_meridian\",36],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",12500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"2209\"]]");
-    p = add_epsg_def (filter, first, last, 2210, "epsg", 2210,
-        "ED50 / 3-degree Gauss-Kruger zone 13");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"2209\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2210, "epsg", 2210,
+        "ED50 / 3-degree Gauss-Kruger zone 13", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
@@ -105,19 +117,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",39],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",13500000],PARAMETER[");
+        "ER[\"central_meridian\",39],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",13500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"2210\"]]");
-    p = add_epsg_def (filter, first, last, 2211, "epsg", 2211,
-        "ED50 / 3-degree Gauss-Kruger zone 14");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"2210\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2211, "epsg", 2211,
+        "ED50 / 3-degree Gauss-Kruger zone 14", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0");
     add_proj4text (p, 1,
@@ -137,19 +156,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",42],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",14500000],PARAMETER[");
+        "ER[\"central_meridian\",42],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",14500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"2211\"]]");
-    p = add_epsg_def (filter, first, last, 2212, "epsg", 2212,
-        "ED50 / 3-degree Gauss-Kruger zone 15");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"2211\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2212, "epsg", 2212,
+        "ED50 / 3-degree Gauss-Kruger zone 15", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0");
     add_proj4text (p, 1,
@@ -169,19 +195,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",45],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",15500000],PARAMETER[");
+        "ER[\"central_meridian\",45],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",15500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"2212\"]]");
-    p = add_epsg_def (filter, first, last, 2213, "epsg", 2213,
-        "ETRS89 / TM 30 NE");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"2212\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2213, "epsg", 2213,
+        "ETRS89 / TM 30 NE", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -201,21 +234,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",30],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",30],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2213\"]]");
-    p = add_epsg_def (filter, first, last, 2214, "epsg", 2214,
-        "Douala 1948 / AOF west (deprecated)");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2213\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2214, "epsg", 2214,
+        "Douala 1948 / AOF west (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Douala_1948", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +");
     add_proj4text (p, 1,
@@ -235,21 +273,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4192\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4192\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",10.5],PARAMETER[\"sca");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "le_factor\",0.999],PARAMETER[\"false_easting\",1000000],");
+        "ARAMETER[\"central_meridian\",10.5],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,A");
+        "ctor\",0.999],PARAMETER[\"false_easting\",1000000],PARAM");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "ETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2214\"]]");
-    p = add_epsg_def (filter, first, last, 2215, "epsg", 2215,
-        "Manoca 1962 / UTM zone 32N");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 13,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"2214\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2215, "epsg", 2215,
+        "Manoca 1962 / UTM zone 32N", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Manoca_1962", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-70.");
     add_proj4text (p, 1,
@@ -259,7 +302,7 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "62\",DATUM[\"Manoca_1962\",SPHEROID[\"Clarke 1880 (IGN)\"");
     add_srs_wkt (p, 2,
-        ",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"");
+        ",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"");
     add_srs_wkt (p, 3,
         "]],TOWGS84[-70.9,-151.8,-41.4,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
@@ -267,21 +310,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4193\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4193\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"sc");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",500000]");
+        "],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"2215\"]]");
-    p = add_epsg_def (filter, first, last, 2216, "epsg", 2216,
-        "Qornoq 1927 / UTM zone 22N");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2215\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2216, "epsg", 2216,
+        "Qornoq 1927 / UTM zone 22N", 0, 0,
+        "International 1924", "Greenwich",
+        "Qornoq_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=22 +ellps=intl +towgs84=164,138,-189,0,0");
     add_proj4text (p, 1,
@@ -299,21 +347,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4194\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "TY[\"EPSG\",\"4194\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "central_meridian\",-51],PARAMETER[\"scale_factor\",0.999");
+        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "l_meridian\",-51],PARAMETER[\"scale_factor\",0.9996],PAR");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"2216\"]]");
-    p = add_epsg_def (filter, first, last, 2217, "epsg", 2217,
-        "Qornoq 1927 / UTM zone 23N");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"2216\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2217, "epsg", 2217,
+        "Qornoq 1927 / UTM zone 23N", 0, 0,
+        "International 1924", "Greenwich",
+        "Qornoq_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=23 +ellps=intl +towgs84=164,138,-189,0,0");
     add_proj4text (p, 1,
@@ -331,21 +384,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4194\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "TY[\"EPSG\",\"4194\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "central_meridian\",-45],PARAMETER[\"scale_factor\",0.999");
+        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "l_meridian\",-45],PARAMETER[\"scale_factor\",0.9996],PAR");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"2217\"]]");
-    p = add_epsg_def (filter, first, last, 2219, "epsg", 2219,
-        "ATS77 / UTM zone 19N");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"2217\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2219, "epsg", 2219,
+        "ATS77 / UTM zone 19N", 0, 0,
+        "Average Terrestrial System 1977", "Greenwich",
+        "Average_Terrestrial_System_1977", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +a=6378135 +b=6356750.304921594 +unit");
     add_proj4text (p, 1,
@@ -361,23 +419,28 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4122\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4122\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-69],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2219\"]]");
-    p = add_epsg_def (filter, first, last, 2220, "epsg", 2220,
-        "ATS77 / UTM zone 20N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2219\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2220, "epsg", 2220,
+        "ATS77 / UTM zone 20N", 0, 0,
+        "Average Terrestrial System 1977", "Greenwich",
+        "Average_Terrestrial_System_1977", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +a=6378135 +b=6356750.304921594 +unit");
     add_proj4text (p, 1,
@@ -393,27 +456,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4122\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4122\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-63],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2220\"]]");
-    p = add_epsg_def (filter, first, last, 2222, "epsg", 2222,
-        "NAD83 / Arizona East (ft)");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"2220\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2222, "epsg", 2222,
+        "NAD83 / Arizona East (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "9 +x_0=213360 +y_0=0 +datum=NAD83 +units=ft +no_defs");
+        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Arizona East (ft)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -427,25 +497,32 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-110.1666666666667],PARAMETER[\"sca");
+        "],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"centr");
     add_srs_wkt (p, 9,
-        "le_factor\",0.9999],PARAMETER[\"false_easting\",700000],");
+        "al_meridian\",-110.1666666666667],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUT");
+        "or\",0.9999],PARAMETER[\"false_easting\",700000],PARAMET");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "ER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"2222\"]]");
-    p = add_epsg_def (filter, first, last, 2223, "epsg", 2223,
-        "NAD83 / Arizona Central (ft)");
+        "\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2222\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2223, "epsg", 2223,
+        "NAD83 / Arizona Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
     add_proj4text (p, 1,
-        "9 +x_0=213360 +y_0=0 +datum=NAD83 +units=ft +no_defs");
+        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Arizona Central (ft)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -459,25 +536,32 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARAMET");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-111.9166666666667],PARAMETER[\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",70000");
+        "entral_meridian\",-111.9166666666667],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,");
+        "factor\",0.9999],PARAMETER[\"false_easting\",700000],PAR");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "AMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHOR");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2223\"]]");
-    p = add_epsg_def (filter, first, last, 2224, "epsg", 2224,
-        "NAD83 / Arizona West (ft)");
+        "ITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2223\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2224, "epsg", 2224,
+        "NAD83 / Arizona West (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
     add_proj4text (p, 1,
-        "=213360 +y_0=0 +datum=NAD83 +units=ft +no_defs");
+        "=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Arizona West (ft)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -491,27 +575,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-113.75],PARAMETER[\"scale_factor\"");
+        "],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"centr");
     add_srs_wkt (p, 9,
-        ",0.999933333],PARAMETER[\"false_easting\",700000],PARAME");
+        "al_meridian\",-113.75],PARAMETER[\"scale_factor\",0.9999");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY");
+        "33333],PARAMETER[\"false_easting\",700000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "alse_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"2224\"]]");
-    p = add_epsg_def (filter, first, last, 2225, "epsg", 2225,
-        "NAD83 / California zone 1 (ftUS)");
+        "\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"2224\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2225, "epsg", 2225,
+        "NAD83 / California zone 1 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
     add_proj4text (p, 1,
         "3333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=5000");
     add_proj4text (p, 2,
-        "00.0001016001 +datum=NAD83 +units=us-ft +no_defs");
+        "00.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units");
+    add_proj4text (p, 3,
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / California zone 1 (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
@@ -525,33 +616,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",41.66666666666666],PARAMETER[\"standard_parallel_2\",40");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.6");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",39.33333333333334],PA");
+        "6666666666666],PARAMETER[\"standard_parallel_2\",40],PAR");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-122],PARAMETER[\"false_eas");
+        "AMETER[\"latitude_of_origin\",39.33333333333334],PARAMET");
     add_srs_wkt (p, 11,
-        "ting\",6561666.667],PARAMETER[\"false_northing\",1640416");
+        "ER[\"central_meridian\",-122],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        ".667],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+        ",6561666.667],PARAMETER[\"false_northing\",1640416.667],");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 14,
-        "],AUTHORITY[\"EPSG\",\"2225\"]]");
-    p = add_epsg_def (filter, first, last, 2226, "epsg", 2226,
-        "NAD83 / California zone 2 (ftUS)");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"2225\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2226, "epsg", 2226,
+        "NAD83 / California zone 2 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
     add_proj4text (p, 1,
         "334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.00");
     add_proj4text (p, 2,
-        "01016 +y_0=500000.0001016001 +datum=NAD83 +units=us-ft +");
+        "01016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0");
     add_proj4text (p, 3,
-        "no_defs");
+        ",0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / California zone 2 (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
@@ -565,31 +661,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",39.83333333333334],PARAMETER[\"standard_parallel_2\",38");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.8");
     add_srs_wkt (p, 9,
-        ".33333333333334],PARAMETER[\"latitude_of_origin\",37.666");
+        "3333333333334],PARAMETER[\"standard_parallel_2\",38.3333");
     add_srs_wkt (p, 10,
-        "66666666666],PARAMETER[\"central_meridian\",-122],PARAME");
+        "3333333334],PARAMETER[\"latitude_of_origin\",37.66666666");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",6561666.667],PARAMETER[\"false_nor");
+        "666666],PARAMETER[\"central_meridian\",-122],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "thing\",1640416.667],UNIT[\"US survey foot\",0.304800609");
+        "false_easting\",6561666.667],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "6012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],A");
+        ",1640416.667],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 14,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2226\"]]");
-    p = add_epsg_def (filter, first, last, 2227, "epsg", 2227,
-        "NAD83 / California zone 3 (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 15,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2226\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2227, "epsg", 2227,
+        "NAD83 / California zone 3 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
     add_proj4text (p, 1,
         "667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=");
     add_proj4text (p, 2,
-        "500000.0001016001 +datum=NAD83 +units=us-ft +no_defs");
+        "500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
+    add_proj4text (p, 3,
+        "nits=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / California zone 3 (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
@@ -603,31 +706,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",38.43333333333333],PARAMETER[\"standard_parallel_2\",37");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.4");
     add_srs_wkt (p, 9,
-        ".06666666666667],PARAMETER[\"latitude_of_origin\",36.5],");
+        "3333333333333],PARAMETER[\"standard_parallel_2\",37.0666");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"false");
+        "6666666667],PARAMETER[\"latitude_of_origin\",36.5],PARAM");
     add_srs_wkt (p, 11,
-        "_easting\",6561666.667],PARAMETER[\"false_northing\",164");
+        "ETER[\"central_meridian\",-120.5],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "0416.667],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+        "ing\",6561666.667],PARAMETER[\"false_northing\",1640416.");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "667],UNIT[\"US survey foot\",0.3048006096012192,AUTHORIT");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"2227\"]]");
-    p = add_epsg_def (filter, first, last, 2228, "epsg", 2228,
-        "NAD83 / California zone 4 (ftUS)");
+        "Y[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 15,
+        ",AUTHORITY[\"EPSG\",\"2227\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2228, "epsg", 2228,
+        "NAD83 / California zone 4 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
     add_proj4text (p, 1,
         "4 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.000101600");
     add_proj4text (p, 2,
-        "1 +datum=NAD83 +units=us-ft +no_defs");
+        "1 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_d");
+    add_proj4text (p, 3,
+        "efs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / California zone 4 (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
@@ -641,31 +751,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",37.25],PARAMETER[\"standard_parallel_2\",36],PARAMETER[");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.2");
     add_srs_wkt (p, 9,
-        "\"latitude_of_origin\",35.33333333333334],PARAMETER[\"ce");
+        "5],PARAMETER[\"standard_parallel_2\",36],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "ntral_meridian\",-119],PARAMETER[\"false_easting\",65616");
+        "itude_of_origin\",35.33333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "66.667],PARAMETER[\"false_northing\",1640416.667],UNIT[\"");
+        "_meridian\",-119],PARAMETER[\"false_easting\",6561666.66");
     add_srs_wkt (p, 12,
-        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        "7],PARAMETER[\"false_northing\",1640416.667],UNIT[\"US s");
     add_srs_wkt (p, 13,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 14,
-        "EPSG\",\"2228\"]]");
-    p = add_epsg_def (filter, first, last, 2229, "epsg", 2229,
-        "NAD83 / California zone 5 (ftUS)");
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"2228\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2229, "epsg", 2229,
+        "NAD83 / California zone 5 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
     add_proj4text (p, 1,
         "333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=50");
     add_proj4text (p, 2,
-        "0000.0001016001 +datum=NAD83 +units=us-ft +no_defs");
+        "0000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 3,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / California zone 5 (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
@@ -679,33 +796,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",35.46666666666667],PARAMETER[\"standard_parallel_2\",34");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35.4");
     add_srs_wkt (p, 9,
-        ".03333333333333],PARAMETER[\"latitude_of_origin\",33.5],");
+        "6666666666667],PARAMETER[\"standard_parallel_2\",34.0333");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-118],PARAMETER[\"false_e");
+        "3333333333],PARAMETER[\"latitude_of_origin\",33.5],PARAM");
     add_srs_wkt (p, 11,
-        "asting\",6561666.667],PARAMETER[\"false_northing\",16404");
+        "ETER[\"central_meridian\",-118],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 12,
-        "16.667],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
+        "g\",6561666.667],PARAMETER[\"false_northing\",1640416.66");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "7],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"2229\"]]");
-    p = add_epsg_def (filter, first, last, 2230, "epsg", 2230,
-        "NAD83 / California zone 6 (ftUS)");
+        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"2229\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2230, "epsg", 2230,
+        "NAD83 / California zone 6 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
     add_proj4text (p, 1,
         "333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000");
     add_proj4text (p, 2,
-        ".0001016 +y_0=500000.0001016001 +datum=NAD83 +units=us-f");
+        ".0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,");
     add_proj4text (p, 3,
-        "t +no_defs");
+        "0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / California zone 6 (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
@@ -719,33 +841,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",33.88333333333333],PARAMETER[\"standard_parallel_2\",32");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",33.8");
     add_srs_wkt (p, 9,
-        ".78333333333333],PARAMETER[\"latitude_of_origin\",32.166");
+        "8333333333333],PARAMETER[\"standard_parallel_2\",32.7833");
     add_srs_wkt (p, 10,
-        "66666666666],PARAMETER[\"central_meridian\",-116.25],PAR");
+        "3333333333],PARAMETER[\"latitude_of_origin\",32.16666666");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",6561666.667],PARAMETER[\"false_");
+        "666666],PARAMETER[\"central_meridian\",-116.25],PARAMETE");
     add_srs_wkt (p, 12,
-        "northing\",1640416.667],UNIT[\"US survey foot\",0.304800");
+        "R[\"false_easting\",6561666.667],PARAMETER[\"false_north");
     add_srs_wkt (p, 13,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+        "ing\",1640416.667],UNIT[\"US survey foot\",0.30480060960");
     add_srs_wkt (p, 14,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2230\"]]");
-    p = add_epsg_def (filter, first, last, 2231, "epsg", 2231,
-        "NAD83 / Colorado North (ftUS)");
+        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 15,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2230\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2231, "epsg", 2231,
+        "NAD83 / Colorado North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
     add_proj4text (p, 1,
         "667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8");
     add_proj4text (p, 2,
-        "288036576 +y_0=304800.6096012192 +datum=NAD83 +units=us-");
+        "288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0");
     add_proj4text (p, 3,
-        "ft +no_defs");
+        ",0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Colorado North (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -759,31 +886,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".78333333333333],PARAMETER[\"standard_parallel_2\",39.71");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.78333");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"latitude_of_origin\",39.333333");
+        "333333333],PARAMETER[\"standard_parallel_2\",39.71666666");
     add_srs_wkt (p, 10,
-        "33333334],PARAMETER[\"central_meridian\",-105.5],PARAMET");
+        "666667],PARAMETER[\"latitude_of_origin\",39.333333333333");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",3000000],PARAMETER[\"false_northing");
+        "34],PARAMETER[\"central_meridian\",-105.5],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "\",1000000],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "alse_easting\",3000000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "0000],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2231\"]]");
-    p = add_epsg_def (filter, first, last, 2232, "epsg", 2232,
-        "NAD83 / Colorado Central (ftUS)");
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 15,
+        "],AUTHORITY[\"EPSG\",\"2231\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2232, "epsg", 2232,
+        "NAD83 / Colorado Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
     add_proj4text (p, 1,
         "3334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.60");
     add_proj4text (p, 2,
-        "96012192 +datum=NAD83 +units=us-ft +no_defs");
+        "96012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-f");
+    add_proj4text (p, 3,
+        "t +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Colorado Central (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
@@ -797,33 +931,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        ",39.75],PARAMETER[\"standard_parallel_2\",38.45],PARAMET");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.75");
     add_srs_wkt (p, 9,
-        "ER[\"latitude_of_origin\",37.83333333333334],PARAMETER[\"");
+        "],PARAMETER[\"standard_parallel_2\",38.45],PARAMETER[\"l");
     add_srs_wkt (p, 10,
-        "central_meridian\",-105.5],PARAMETER[\"false_easting\",3");
+        "atitude_of_origin\",37.83333333333334],PARAMETER[\"centr");
     add_srs_wkt (p, 11,
-        "000000],PARAMETER[\"false_northing\",1000000],UNIT[\"US ");
+        "al_meridian\",-105.5],PARAMETER[\"false_easting\",300000");
     add_srs_wkt (p, 12,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "0],PARAMETER[\"false_northing\",1000000],UNIT[\"US surve");
     add_srs_wkt (p, 13,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
     add_srs_wkt (p, 14,
-        "SG\",\"2232\"]]");
-    p = add_epsg_def (filter, first, last, 2233, "epsg", 2233,
-        "NAD83 / Colorado South (ftUS)");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 15,
+        "\"2232\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2233, "epsg", 2233,
+        "NAD83 / Colorado South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
     add_proj4text (p, 1,
         "333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8");
     add_proj4text (p, 2,
-        "288036576 +y_0=304800.6096012192 +datum=NAD83 +units=us-");
+        "288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0");
     add_proj4text (p, 3,
-        "ft +no_defs");
+        ",0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Colorado South (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -837,31 +976,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".43333333333333],PARAMETER[\"standard_parallel_2\",37.23");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.43333");
     add_srs_wkt (p, 9,
-        "333333333333],PARAMETER[\"latitude_of_origin\",36.666666");
+        "333333333],PARAMETER[\"standard_parallel_2\",37.23333333");
     add_srs_wkt (p, 10,
-        "66666666],PARAMETER[\"central_meridian\",-105.5],PARAMET");
+        "333333],PARAMETER[\"latitude_of_origin\",36.666666666666");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",3000000],PARAMETER[\"false_northing");
+        "66],PARAMETER[\"central_meridian\",-105.5],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "\",1000000],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "alse_easting\",3000000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "0000],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2233\"]]");
-    p = add_epsg_def (filter, first, last, 2234, "epsg", 2234,
-        "NAD83 / Connecticut (ftUS)");
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 15,
+        "],AUTHORITY[\"EPSG\",\"2233\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2234, "epsg", 2234,
+        "NAD83 / Connecticut (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
     add_proj4text (p, 1,
         ".83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_");
     add_proj4text (p, 2,
-        "0=152400.3048006096 +datum=NAD83 +units=us-ft +no_defs");
+        "0=152400.3048006096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+    add_proj4text (p, 3,
+        "+units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Connecticut (ftUS)\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
@@ -875,31 +1021,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.8");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"standard_parallel_2\",41.2],P");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",41.8666666");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"latitude_of_origin\",40.83333333333334],PARAM");
+        "6666667],PARAMETER[\"standard_parallel_2\",41.2],PARAMET");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-72.75],PARAMETER[\"false_east");
+        "ER[\"latitude_of_origin\",40.83333333333334],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ing\",1000000],PARAMETER[\"false_northing\",500000],UNIT");
+        "central_meridian\",-72.75],PARAMETER[\"false_easting\",1");
     add_srs_wkt (p, 12,
-        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "000000],PARAMETER[\"false_northing\",500000],UNIT[\"US s");
     add_srs_wkt (p, 13,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"2234\"]]");
-    p = add_epsg_def (filter, first, last, 2235, "epsg", 2235,
-        "NAD83 / Delaware (ftUS)");
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"2234\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2235, "epsg", 2235,
+        "NAD83 / Delaware (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "995 +x_0=200000.0001016002 +y_0=0 +datum=NAD83 +units=us");
+        "995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=");
     add_proj4text (p, 2,
-        "-ft +no_defs");
+        "0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Delaware (ftUS)\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
@@ -911,31 +1062,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "central_meridian\",-75.41666666666667],PARAMETER[\"scale");
+        ",PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "_factor\",0.999995],PARAMETER[\"false_easting\",656166.6");
+        "l_meridian\",-75.41666666666667],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "67],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+        "r\",0.999995],PARAMETER[\"false_easting\",656166.667],PA");
     add_srs_wkt (p, 11,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
     add_srs_wkt (p, 12,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"223");
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 13,
-        "5\"]]");
-    p = add_epsg_def (filter, first, last, 2236, "epsg", 2236,
-        "NAD83 / Florida East (ftUS)");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2235\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2236, "epsg", 2236,
+        "NAD83 / Florida East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
     add_proj4text (p, 1,
-        "941177 +x_0=200000.0001016002 +y_0=0 +datum=NAD83 +units");
+        "941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs");
     add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        "84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Florida East (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -949,29 +1103,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",24.3333333333");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "3333],PARAMETER[\"central_meridian\",-81],PARAMETER[\"sc");
+        "\"],PARAMETER[\"latitude_of_origin\",24.33333333333333],");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.999941177],PARAMETER[\"false_easting\",65");
+        "PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "6166.667],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "ctor\",0.999941177],PARAMETER[\"false_easting\",656166.6");
     add_srs_wkt (p, 11,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "67],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
     add_srs_wkt (p, 13,
-        ",\"2236\"]]");
-    p = add_epsg_def (filter, first, last, 2237, "epsg", 2237,
-        "NAD83 / Florida West (ftUS)");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"223");
+    add_srs_wkt (p, 14,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2237, "epsg", 2237,
+        "NAD83 / Florida West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
     add_proj4text (p, 1,
-        "941177 +x_0=200000.0001016002 +y_0=0 +datum=NAD83 +units");
+        "941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs");
     add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        "84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Florida West (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -985,29 +1144,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",24.3333333333");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "3333],PARAMETER[\"central_meridian\",-82],PARAMETER[\"sc");
+        "\"],PARAMETER[\"latitude_of_origin\",24.33333333333333],");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.999941177],PARAMETER[\"false_easting\",65");
+        "PARAMETER[\"central_meridian\",-82],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "6166.667],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "ctor\",0.999941177],PARAMETER[\"false_easting\",656166.6");
     add_srs_wkt (p, 11,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "67],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
     add_srs_wkt (p, 13,
-        ",\"2237\"]]");
-    p = add_epsg_def (filter, first, last, 2238, "epsg", 2238,
-        "NAD83 / Florida North (ftUS)");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"223");
+    add_srs_wkt (p, 14,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2238, "epsg", 2238,
+        "NAD83 / Florida North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
     add_proj4text (p, 1,
-        "9 +lon_0=-84.5 +x_0=600000 +y_0=0 +datum=NAD83 +units=us");
+        "9 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=");
     add_proj4text (p, 2,
-        "-ft +no_defs");
+        "0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Florida North (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -1021,31 +1185,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",30");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".75],PARAMETER[\"standard_parallel_2\",29.58333333333333");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",30.75],P");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",29],PARAMETER[\"centr");
+        "ARAMETER[\"standard_parallel_2\",29.58333333333333],PARA");
     add_srs_wkt (p, 10,
-        "al_meridian\",-84.5],PARAMETER[\"false_easting\",1968500");
+        "METER[\"latitude_of_origin\",29],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "idian\",-84.5],PARAMETER[\"false_easting\",1968500],PARA");
     add_srs_wkt (p, 12,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2238\"]");
+        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 2239, "epsg", 2239,
-        "NAD83 / Georgia East (ftUS)");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2238\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2239, "epsg", 2239,
+        "NAD83 / Georgia East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "9 +x_0=200000.0001016002 +y_0=0 +datum=NAD83 +units=us-f");
+        "9 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,");
     add_proj4text (p, 2,
-        "t +no_defs");
+        "0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Georgia East (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -1059,29 +1226,32 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",30],PARAMETER");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-82.16666666666667],PARAMETER[\"sc");
+        "\"],PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9999],PARAMETER[\"false_easting\",656166.");
+        "tral_meridian\",-82.16666666666667],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "667],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",656166.667],P");
     add_srs_wkt (p, 11,
-        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
+        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
     add_srs_wkt (p, 12,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22");
+        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
     add_srs_wkt (p, 13,
-        "39\"]]");
-    p = add_epsg_def (filter, first, last, 2240, "epsg", 2240,
-        "NAD83 / Georgia West (ftUS)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2239\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2240, "epsg", 2240,
+        "NAD83 / Georgia West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "9 +x_0=699999.9998983998 +y_0=0 +datum=NAD83 +units=us-f");
+        "9 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,");
     add_proj4text (p, 2,
-        "t +no_defs");
+        "0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Georgia West (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -1095,29 +1265,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",30],PARAMETER");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-84.16666666666667],PARAMETER[\"sc");
+        "\"],PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9999],PARAMETER[\"false_easting\",2296583");
+        "tral_meridian\",-84.16666666666667],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        ".333],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",2296583.333],");
     add_srs_wkt (p, 11,
-        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+        "PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",");
     add_srs_wkt (p, 12,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        "240\"]]");
-    p = add_epsg_def (filter, first, last, 2241, "epsg", 2241,
-        "NAD83 / Idaho East (ftUS)");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2240\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2241, "epsg", 2241,
+        "NAD83 / Idaho East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
     add_proj4text (p, 1,
         "666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0");
     add_proj4text (p, 2,
-        "=0 +datum=NAD83 +units=us-ft +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_");
+    add_proj4text (p, 3,
+        "defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Idaho East (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -1131,29 +1308,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",41.66666666666");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "666],PARAMETER[\"central_meridian\",-112.1666666666667],");
+        "],PARAMETER[\"latitude_of_origin\",41.66666666666666],PA");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.999947368],PARAMETER[\"fals");
+        "RAMETER[\"central_meridian\",-112.1666666666667],PARAMET");
     add_srs_wkt (p, 10,
-        "e_easting\",656166.667],PARAMETER[\"false_northing\",0],");
+        "ER[\"scale_factor\",0.999947368],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        "ng\",656166.667],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"2241\"]]");
-    p = add_epsg_def (filter, first, last, 2242, "epsg", 2242,
-        "NAD83 / Idaho Central (ftUS)");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"2241\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2242, "epsg", 2242,
+        "NAD83 / Idaho Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
     add_proj4text (p, 1,
-        "99473679999999 +x_0=500000.0001016001 +y_0=0 +datum=NAD8");
+        "99473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS8");
     add_proj4text (p, 2,
-        "3 +units=us-ft +no_defs");
+        "0 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Idaho Central (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -1167,29 +1349,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",41.66666666");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "666666],PARAMETER[\"central_meridian\",-114],PARAMETER[\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",41.66666666666666");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.999947368],PARAMETER[\"false_easting\",");
+        "],PARAMETER[\"central_meridian\",-114],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "1640416.667],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "_factor\",0.999947368],PARAMETER[\"false_easting\",16404");
     add_srs_wkt (p, 11,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "16.667],PARAMETER[\"false_northing\",0],UNIT[\"US survey");
     add_srs_wkt (p, 12,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 13,
-        "G\",\"2242\"]]");
-    p = add_epsg_def (filter, first, last, 2243, "epsg", 2243,
-        "NAD83 / Idaho West (ftUS)");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "2242\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2243, "epsg", 2243,
+        "NAD83 / Idaho West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
     add_proj4text (p, 1,
-        ".999933333 +x_0=800000.0001016001 +y_0=0 +datum=NAD83 +u");
+        ".999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "nits=us-ft +no_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Idaho West (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -1203,29 +1390,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",41.66666666666");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "666],PARAMETER[\"central_meridian\",-115.75],PARAMETER[\"");
+        "],PARAMETER[\"latitude_of_origin\",41.66666666666666],PA");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.999933333],PARAMETER[\"false_easting\",");
+        "RAMETER[\"central_meridian\",-115.75],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "2624666.667],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "factor\",0.999933333],PARAMETER[\"false_easting\",262466");
     add_srs_wkt (p, 11,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "6.667],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
     add_srs_wkt (p, 12,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 13,
-        "G\",\"2243\"]]");
-    p = add_epsg_def (filter, first, last, 2244, "epsg", 2244,
-        "NAD83 / Indiana East (ftUS) (deprecated)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "2243\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2244, "epsg", 2244,
+        "NAD83 / Indiana East (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
         "99966667 +x_0=99999.99989839978 +y_0=249364.9987299975 +");
     add_proj4text (p, 2,
-        "datum=NAD83 +units=us-ft +no_defs");
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Indiana East (ftUS) (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
@@ -1239,29 +1431,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "37.5],PARAMETER[\"central_meridian\",-85.66666666666667]");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",37.5],");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.999966667],PARAMETER[\"fal");
+        "PARAMETER[\"central_meridian\",-85.66666666666667],PARAM");
     add_srs_wkt (p, 10,
-        "se_easting\",328083.333],PARAMETER[\"false_northing\",81");
+        "ETER[\"scale_factor\",0.999966667],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "8125],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+        "ting\",328083.333],PARAMETER[\"false_northing\",818125],");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "],AUTHORITY[\"EPSG\",\"2244\"]]");
-    p = add_epsg_def (filter, first, last, 2245, "epsg", 2245,
-        "NAD83 / Indiana West (ftUS) (deprecated)");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 14,
+        "ORITY[\"EPSG\",\"2244\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2245, "epsg", 2245,
+        "NAD83 / Indiana West (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "99966667 +x_0=900000 +y_0=249364.9987299975 +datum=NAD83");
+        "99966667 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80");
     add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        " +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Indiana West (ftUS) (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
@@ -1275,29 +1472,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "37.5],PARAMETER[\"central_meridian\",-87.08333333333333]");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",37.5],");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.999966667],PARAMETER[\"fal");
+        "PARAMETER[\"central_meridian\",-87.08333333333333],PARAM");
     add_srs_wkt (p, 10,
-        "se_easting\",2952750],PARAMETER[\"false_northing\",81812");
+        "ETER[\"scale_factor\",0.999966667],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "5],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "ting\",2952750],PARAMETER[\"false_northing\",818125],UNI");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"2245\"]]");
-    p = add_epsg_def (filter, first, last, 2246, "epsg", 2246,
-        "NAD83 / Kentucky North (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"2245\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2246, "epsg", 2246,
+        "NAD83 / Kentucky North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
     add_proj4text (p, 1,
         "667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_");
     add_proj4text (p, 2,
-        "0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Kentucky North (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -1311,33 +1515,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".96666666666667],PARAMETER[\"standard_parallel_2\",38.96");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.96666");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"latitude_of_origin\",37.5],PAR");
+        "666666667],PARAMETER[\"standard_parallel_2\",38.96666666");
     add_srs_wkt (p, 10,
-        "AMETER[\"central_meridian\",-84.25],PARAMETER[\"false_ea");
+        "666667],PARAMETER[\"latitude_of_origin\",37.5],PARAMETER");
     add_srs_wkt (p, 11,
-        "sting\",1640416.667],PARAMETER[\"false_northing\",0],UNI");
+        "[\"central_meridian\",-84.25],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        ",1640416.667],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 13,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"2246\"]]");
-    p = add_epsg_def (filter, first, last, 2247, "epsg", 2247,
-        "NAD83 / Kentucky South (ftUS)");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 15,
+        "SG\",\"2246\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2247, "epsg", 2247,
+        "NAD83 / Kentucky South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
     add_proj4text (p, 1,
         "333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0");
     add_proj4text (p, 2,
-        "001016001 +y_0=500000.0001016001 +datum=NAD83 +units=us-");
+        "001016001 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0");
     add_proj4text (p, 3,
-        "ft +no_defs");
+        ",0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Kentucky South (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -1351,31 +1560,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".93333333333333],PARAMETER[\"standard_parallel_2\",36.73");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.93333");
     add_srs_wkt (p, 9,
-        "333333333333],PARAMETER[\"latitude_of_origin\",36.333333");
+        "333333333],PARAMETER[\"standard_parallel_2\",36.73333333");
     add_srs_wkt (p, 10,
-        "33333334],PARAMETER[\"central_meridian\",-85.75],PARAMET");
+        "333333],PARAMETER[\"latitude_of_origin\",36.333333333333");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",1640416.667],PARAMETER[\"false_nort");
+        "34],PARAMETER[\"central_meridian\",-85.75],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "hing\",1640416.667],UNIT[\"US survey foot\",0.3048006096");
+        "alse_easting\",1640416.667],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        ",1640416.667],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2247\"]]");
-    p = add_epsg_def (filter, first, last, 2248, "epsg", 2248,
-        "NAD83 / Maryland (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 15,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2247\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2248, "epsg", 2248,
+        "NAD83 / Maryland (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
     add_proj4text (p, 1,
-        "666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +datum=NAD8");
+        "666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS8");
     add_proj4text (p, 2,
-        "3 +units=us-ft +no_defs");
+        "0 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Maryland (ftUS)\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
@@ -1387,33 +1601,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.45],");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_2\",38.3],PARAMETER[\"lati");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",39.45],PARAME");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",37.66666666666666],PARAMETER[\"central_");
+        "TER[\"standard_parallel_2\",38.3],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        "meridian\",-77],PARAMETER[\"false_easting\",1312333.333]");
+        "f_origin\",37.66666666666666],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "an\",-77],PARAMETER[\"false_easting\",1312333.333],PARAM");
     add_srs_wkt (p, 12,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2248\"]");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 2249, "epsg", 2249,
-        "NAD83 / Massachusetts Mainland (ftUS)");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2248\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2249, "epsg", 2249,
+        "NAD83 / Massachusetts Mainland (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
     add_proj4text (p, 1,
         "667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=7");
     add_proj4text (p, 2,
-        "50000 +datum=NAD83 +units=us-ft +no_defs");
+        "50000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Massachusetts Mainland (ftUS)\",GEOGCS[");
     add_srs_wkt (p, 1,
@@ -1427,31 +1646,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lamb");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "_1\",42.68333333333333],PARAMETER[\"standard_parallel_2\"");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
     add_srs_wkt (p, 9,
-        ",41.71666666666667],PARAMETER[\"latitude_of_origin\",41]");
+        "2.68333333333333],PARAMETER[\"standard_parallel_2\",41.7");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-71.5],PARAMETER[\"false");
+        "1666666666667],PARAMETER[\"latitude_of_origin\",41],PARA");
     add_srs_wkt (p, 11,
-        "_easting\",656166.667],PARAMETER[\"false_northing\",2460");
+        "METER[\"central_meridian\",-71.5],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "625],UNIT[\"US survey foot\",0.3048006096012192,AUTHORIT");
+        "ing\",656166.667],PARAMETER[\"false_northing\",2460625],");
     add_srs_wkt (p, 13,
-        "Y[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 14,
-        ",AUTHORITY[\"EPSG\",\"2249\"]]");
-    p = add_epsg_def (filter, first, last, 2250, "epsg", 2250,
-        "NAD83 / Massachusetts Island (ftUS)");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"2249\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2250, "epsg", 2250,
+        "NAD83 / Massachusetts Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
     add_proj4text (p, 1,
         "333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0");
     add_proj4text (p, 2,
-        " +datum=NAD83 +units=us-ft +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_de");
+    add_proj4text (p, 3,
+        "fs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Massachusetts Island (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1465,31 +1691,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lamb");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "_1\",41.48333333333333],PARAMETER[\"standard_parallel_2\"");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
     add_srs_wkt (p, 9,
-        ",41.28333333333333],PARAMETER[\"latitude_of_origin\",41]");
+        "1.48333333333333],PARAMETER[\"standard_parallel_2\",41.2");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-70.5],PARAMETER[\"false");
+        "8333333333333],PARAMETER[\"latitude_of_origin\",41],PARA");
     add_srs_wkt (p, 11,
-        "_easting\",1640416.667],PARAMETER[\"false_northing\",0],");
+        "METER[\"central_meridian\",-70.5],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        "ing\",1640416.667],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 13,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"2250\"]]");
-    p = add_epsg_def (filter, first, last, 2251, "epsg", 2251,
-        "NAD83 / Michigan North (ft)");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"2250\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2251, "epsg", 2251,
+        "NAD83 / Michigan North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
     add_proj4text (p, 1,
         "333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999");
     add_proj4text (p, 2,
-        "968001 +y_0=0 +datum=NAD83 +units=ft +no_defs");
+        "968001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units");
+    add_proj4text (p, 3,
+        "=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Michigan North (ft)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -1503,31 +1736,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.0");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "8333333333334],PARAMETER[\"standard_parallel_2\",45.4833");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",47.0833333");
     add_srs_wkt (p, 9,
-        "3333333333],PARAMETER[\"latitude_of_origin\",44.78333333");
+        "3333334],PARAMETER[\"standard_parallel_2\",45.4833333333");
     add_srs_wkt (p, 10,
-        "333333],PARAMETER[\"central_meridian\",-87],PARAMETER[\"");
+        "3333],PARAMETER[\"latitude_of_origin\",44.78333333333333");
     add_srs_wkt (p, 11,
-        "false_easting\",26246719.16],PARAMETER[\"false_northing\"");
+        "],PARAMETER[\"central_meridian\",-87],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],A");
+        "easting\",26246719.16],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "NIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "251\"]]");
-    p = add_epsg_def (filter, first, last, 2252, "epsg", 2252,
-        "NAD83 / Michigan Central (ft)");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2251\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2252, "epsg", 2252,
+        "NAD83 / Michigan Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
     add_proj4text (p, 1,
         ".31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.9");
     add_proj4text (p, 2,
-        "99976001 +y_0=0 +datum=NAD83 +units=ft +no_defs");
+        "99976001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 3,
+        "ts=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Michigan Central (ft)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -1541,31 +1781,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".7],PARAMETER[\"standard_parallel_2\",44.18333333333333]");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.7],PA");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"latitude_of_origin\",43.31666666666667],PAR");
+        "RAMETER[\"standard_parallel_2\",44.18333333333333],PARAM");
     add_srs_wkt (p, 10,
-        "AMETER[\"central_meridian\",-84.36666666666666],PARAMETE");
+        "ETER[\"latitude_of_origin\",43.31666666666667],PARAMETER");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",19685039.37],PARAMETER[\"false_north");
+        "[\"central_meridian\",-84.36666666666666],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "ing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"");
+        "lse_easting\",19685039.37],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AX");
     add_srs_wkt (p, 14,
-        ",\"2252\"]]");
-    p = add_epsg_def (filter, first, last, 2253, "epsg", 2253,
-        "NAD83 / Michigan South (ft)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22");
+    add_srs_wkt (p, 15,
+        "52\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2253, "epsg", 2253,
+        "NAD83 / Michigan South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
     add_proj4text (p, 1,
         ".5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 ");
     add_proj4text (p, 2,
-        "+datum=NAD83 +units=ft +no_defs");
+        "+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Michigan South (ft)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -1579,29 +1824,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43.6");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "6666666666666],PARAMETER[\"standard_parallel_2\",42.1],P");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",43.6666666");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"latitude_of_origin\",41.5],PARAMETER[\"centra");
+        "6666666],PARAMETER[\"standard_parallel_2\",42.1],PARAMET");
     add_srs_wkt (p, 10,
-        "l_meridian\",-84.36666666666666],PARAMETER[\"false_easti");
+        "ER[\"latitude_of_origin\",41.5],PARAMETER[\"central_meri");
     add_srs_wkt (p, 11,
-        "ng\",13123359.58],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "dian\",-84.36666666666666],PARAMETER[\"false_easting\",1");
     add_srs_wkt (p, 12,
-        "foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",E");
+        "3123359.58],PARAMETER[\"false_northing\",0],UNIT[\"foot\"");
     add_srs_wkt (p, 13,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2253\"]]");
-    p = add_epsg_def (filter, first, last, 2254, "epsg", 2254,
-        "NAD83 / Mississippi East (ftUS)");
+        ",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2253\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2254, "epsg", 2254,
+        "NAD83 / Mississippi East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "9995 +x_0=300000.0000000001 +y_0=0 +datum=NAD83 +units=u");
+        "9995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Mississippi East (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
@@ -1615,29 +1865,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",29.5],PA");
+        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-88.83333333333333],PARAMET");
+        "cator\"],PARAMETER[\"latitude_of_origin\",29.5],PARAMETE");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.99995],PARAMETER[\"false_easting\"");
+        "R[\"central_meridian\",-88.83333333333333],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        ",984250.0000000002],PARAMETER[\"false_northing\",0],UNIT");
+        "cale_factor\",0.99995],PARAMETER[\"false_easting\",98425");
     add_srs_wkt (p, 11,
-        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "0.0000000002],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 12,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"2254\"]]");
-    p = add_epsg_def (filter, first, last, 2255, "epsg", 2255,
-        "NAD83 / Mississippi West (ftUS)");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"2254\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2255, "epsg", 2255,
+        "NAD83 / Mississippi West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "9995 +x_0=699999.9998983998 +y_0=0 +datum=NAD83 +units=u");
+        "9995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Mississippi West (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
@@ -1651,29 +1906,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",29.5],PA");
+        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-90.33333333333333],PARAMET");
+        "cator\"],PARAMETER[\"latitude_of_origin\",29.5],PARAMETE");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.99995],PARAMETER[\"false_easting\"");
+        "R[\"central_meridian\",-90.33333333333333],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        ",2296583.333],PARAMETER[\"false_northing\",0],UNIT[\"US ");
+        "cale_factor\",0.99995],PARAMETER[\"false_easting\",22965");
     add_srs_wkt (p, 11,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "83.333],PARAMETER[\"false_northing\",0],UNIT[\"US survey");
     add_srs_wkt (p, 12,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 13,
-        "SG\",\"2255\"]]");
-    p = add_epsg_def (filter, first, last, 2256, "epsg", 2256,
-        "NAD83 / Montana (ft)");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "2255\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2256, "epsg", 2256,
+        "NAD83 / Montana (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
     add_proj4text (p, 1,
-        " +x_0=599999.9999976 +y_0=0 +datum=NAD83 +units=ft +no_d");
+        " +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,");
     add_proj4text (p, 2,
-        "efs");
+        "0,0,0,0 +units=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Montana (ft)\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -1685,31 +1945,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",49],PARAMET");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",45],PARAMETER[\"latitude_of_o");
+        "P\"],PARAMETER[\"standard_parallel_1\",49],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "rigin\",44.25],PARAMETER[\"central_meridian\",-109.5],PA");
+        "tandard_parallel_2\",45],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",1968503.937],PARAMETER[\"false");
+        ",44.25],PARAMETER[\"central_meridian\",-109.5],PARAMETER");
     add_srs_wkt (p, 11,
-        "_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"");
+        "[\"false_easting\",1968503.937],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "ng\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"2256\"]]");
-    p = add_epsg_def (filter, first, last, 2257, "epsg", 2257,
-        "NAD83 / New Mexico East (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"2256\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2257, "epsg", 2257,
+        "NAD83 / New Mexico East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "909091 +x_0=165000 +y_0=0 +datum=NAD83 +units=us-ft +no_");
+        "909091 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 2,
-        "defs");
+        "0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / New Mexico East (ftUS)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
@@ -1723,27 +1988,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARAME");
+        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "TER[\"central_meridian\",-104.3333333333333],PARAMETER[\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.999909091],PARAMETER[\"false_easting\",");
+        "central_meridian\",-104.3333333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "541337.5],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "_factor\",0.999909091],PARAMETER[\"false_easting\",54133");
     add_srs_wkt (p, 11,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "7.5],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
     add_srs_wkt (p, 13,
-        ",\"2257\"]]");
-    p = add_epsg_def (filter, first, last, 2258, "epsg", 2258,
-        "NAD83 / New Mexico Central (ftUS)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22");
+    add_srs_wkt (p, 14,
+        "57\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2258, "epsg", 2258,
+        "NAD83 / New Mexico Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
     add_proj4text (p, 1,
-        "00.0001016001 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "00.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / New Mexico Central (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
@@ -1757,29 +2029,32 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PAR");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",-106.25],PARAMETER[\"scale_f");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER");
     add_srs_wkt (p, 9,
-        "actor\",0.9999],PARAMETER[\"false_easting\",1640416.667]");
+        "[\"central_meridian\",-106.25],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        ",0.9999],PARAMETER[\"false_easting\",1640416.667],PARAME");
     add_srs_wkt (p, 11,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2258\"]");
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2259, "epsg", 2259,
-        "NAD83 / New Mexico West (ftUS)");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2258\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2259, "epsg", 2259,
+        "NAD83 / New Mexico West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "916667 +x_0=830000.0001016001 +y_0=0 +datum=NAD83 +units");
+        "916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +towgs");
     add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        "84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / New Mexico West (ftUS)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
@@ -1793,29 +2068,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARAME");
+        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "TER[\"central_meridian\",-107.8333333333333],PARAMETER[\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.999916667],PARAMETER[\"false_easting\",");
+        "central_meridian\",-107.8333333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "2723091.667],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "_factor\",0.999916667],PARAMETER[\"false_easting\",27230");
     add_srs_wkt (p, 11,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "91.667],PARAMETER[\"false_northing\",0],UNIT[\"US survey");
     add_srs_wkt (p, 12,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 13,
-        "G\",\"2259\"]]");
-    p = add_epsg_def (filter, first, last, 2260, "epsg", 2260,
-        "NAD83 / New York East (ftUS)");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "2259\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2260, "epsg", 2260,
+        "NAD83 / New York East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
-        "999 +x_0=150000 +y_0=0 +datum=NAD83 +units=us-ft +no_def");
+        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
     add_proj4text (p, 2,
-        "s");
+        ",0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / New York East (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -1829,29 +2109,32 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",38.83333333");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "333334],PARAMETER[\"central_meridian\",-74.5],PARAMETER[");
+        "or\"],PARAMETER[\"latitude_of_origin\",38.83333333333334");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",492");
+        "],PARAMETER[\"central_meridian\",-74.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "125],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",492125],P");
     add_srs_wkt (p, 11,
-        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
+        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
     add_srs_wkt (p, 12,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22");
+        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
     add_srs_wkt (p, 13,
-        "60\"]]");
-    p = add_epsg_def (filter, first, last, 2261, "epsg", 2261,
-        "NAD83 / New York Central (ftUS)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2260\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2261, "epsg", 2261,
+        "NAD83 / New York Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "9375 +x_0=249999.9998983998 +y_0=0 +datum=NAD83 +units=u");
+        "9375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +towgs84");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / New York Central (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
@@ -1865,29 +2148,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",40],PARA");
+        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-76.58333333333333],PARAMETER");
+        "cator\"],PARAMETER[\"latitude_of_origin\",40],PARAMETER[");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9999375],PARAMETER[\"false_easting\"");
+        "\"central_meridian\",-76.58333333333333],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        ",820208.3330000002],PARAMETER[\"false_northing\",0],UNIT");
+        "le_factor\",0.9999375],PARAMETER[\"false_easting\",82020");
     add_srs_wkt (p, 11,
-        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "8.3330000002],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 12,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"2261\"]]");
-    p = add_epsg_def (filter, first, last, 2262, "epsg", 2262,
-        "NAD83 / New York West (ftUS)");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"2261\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2262, "epsg", 2262,
+        "NAD83 / New York West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "9375 +x_0=350000.0001016001 +y_0=0 +datum=NAD83 +units=u");
+        "9375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +towgs84");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / New York West (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -1901,29 +2189,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",40],PARAMET");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-78.58333333333333],PARAMETER[\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",40],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999375],PARAMETER[\"false_easting\",11");
+        "entral_meridian\",-78.58333333333333],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "48291.667],PARAMETER[\"false_northing\",0],UNIT[\"US sur");
+        "factor\",0.9999375],PARAMETER[\"false_easting\",1148291.");
     add_srs_wkt (p, 11,
-        "vey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "667],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
     add_srs_wkt (p, 13,
-        ",\"2262\"]]");
-    p = add_epsg_def (filter, first, last, 2263, "epsg", 2263,
-        "NAD83 / New York Long Island (ftUS)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22");
+    add_srs_wkt (p, 14,
+        "62\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2263, "epsg", 2263,
+        "NAD83 / New York Long Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
     add_proj4text (p, 1,
         "666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000");
     add_proj4text (p, 2,
-        "000001 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units");
+    add_proj4text (p, 3,
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / New York Long Island (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1937,31 +2232,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lamb");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "_1\",41.03333333333333],PARAMETER[\"standard_parallel_2\"");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
     add_srs_wkt (p, 9,
-        ",40.66666666666666],PARAMETER[\"latitude_of_origin\",40.");
+        "1.03333333333333],PARAMETER[\"standard_parallel_2\",40.6");
     add_srs_wkt (p, 10,
-        "16666666666666],PARAMETER[\"central_meridian\",-74],PARA");
+        "6666666666666],PARAMETER[\"latitude_of_origin\",40.16666");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",984250.0000000002],PARAMETER[\"f");
+        "666666666],PARAMETER[\"central_meridian\",-74],PARAMETER");
     add_srs_wkt (p, 12,
-        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
+        "[\"false_easting\",984250.0000000002],PARAMETER[\"false_");
     add_srs_wkt (p, 13,
-        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 14,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2263\"]]");
-    p = add_epsg_def (filter, first, last, 2264, "epsg", 2264,
-        "NAD83 / North Carolina (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 15,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2263\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2264, "epsg", 2264,
+        "NAD83 / North Carolina (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
     add_proj4text (p, 1,
         "334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=");
     add_proj4text (p, 2,
-        "0 +datum=NAD83 +units=us-ft +no_defs");
+        "0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_d");
+    add_proj4text (p, 3,
+        "efs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / North Carolina (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -1975,31 +2277,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".16666666666666],PARAMETER[\"standard_parallel_2\",34.33");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.16666");
     add_srs_wkt (p, 9,
-        "333333333334],PARAMETER[\"latitude_of_origin\",33.75],PA");
+        "666666666],PARAMETER[\"standard_parallel_2\",34.33333333");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-79],PARAMETER[\"false_east");
+        "333334],PARAMETER[\"latitude_of_origin\",33.75],PARAMETE");
     add_srs_wkt (p, 11,
-        "ing\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US");
+        "R[\"central_meridian\",-79],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+        "2000000],PARAMETER[\"false_northing\",0],UNIT[\"US surve");
     add_srs_wkt (p, 13,
-        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
     add_srs_wkt (p, 14,
-        "PSG\",\"2264\"]]");
-    p = add_epsg_def (filter, first, last, 2265, "epsg", 2265,
-        "NAD83 / North Dakota North (ft)");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 15,
+        "\"2264\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2265, "epsg", 2265,
+        "NAD83 / North Dakota North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
     add_proj4text (p, 1,
         "333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +");
     add_proj4text (p, 2,
-        "datum=NAD83 +units=ft +no_defs");
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / North Dakota North (ft)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
@@ -2013,31 +2320,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        ",48.73333333333333],PARAMETER[\"standard_parallel_2\",47");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",48.73");
     add_srs_wkt (p, 9,
-        ".43333333333333],PARAMETER[\"latitude_of_origin\",47],PA");
+        "333333333333],PARAMETER[\"standard_parallel_2\",47.43333");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-100.5],PARAMETER[\"false_e");
+        "333333333],PARAMETER[\"latitude_of_origin\",47],PARAMETE");
     add_srs_wkt (p, 11,
-        "asting\",1968503.937],PARAMETER[\"false_northing\",0],UN");
+        "R[\"central_meridian\",-100.5],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "IT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"");
+        "\",1968503.937],PARAMETER[\"false_northing\",0],UNIT[\"f");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2265\"]");
+        "oot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 2266, "epsg", 2266,
-        "NAD83 / North Dakota South (ft)");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2265\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2266, "epsg", 2266,
+        "NAD83 / North Dakota South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
     add_proj4text (p, 1,
         "333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9");
     add_proj4text (p, 2,
-        "999976 +y_0=0 +datum=NAD83 +units=ft +no_defs");
+        "999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units");
+    add_proj4text (p, 3,
+        "=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / North Dakota South (ft)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
@@ -2051,31 +2363,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        ",47.48333333333333],PARAMETER[\"standard_parallel_2\",46");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.48");
     add_srs_wkt (p, 9,
-        ".18333333333333],PARAMETER[\"latitude_of_origin\",45.666");
+        "333333333333],PARAMETER[\"standard_parallel_2\",46.18333");
     add_srs_wkt (p, 10,
-        "66666666666],PARAMETER[\"central_meridian\",-100.5],PARA");
+        "333333333],PARAMETER[\"latitude_of_origin\",45.666666666");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",1968503.937],PARAMETER[\"false_n");
+        "66666],PARAMETER[\"central_meridian\",-100.5],PARAMETER[");
     add_srs_wkt (p, 12,
-        "orthing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9");
+        "\"false_easting\",1968503.937],PARAMETER[\"false_northin");
     add_srs_wkt (p, 13,
-        "002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "g\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]");
     add_srs_wkt (p, 14,
-        "PSG\",\"2266\"]]");
-    p = add_epsg_def (filter, first, last, 2267, "epsg", 2267,
-        "NAD83 / Oklahoma North (ftUS)");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 15,
+        "\"2266\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2267, "epsg", 2267,
+        "NAD83 / Oklahoma North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
     add_proj4text (p, 1,
-        "667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +datum=NAD83");
+        "667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80");
     add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        " +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Oklahoma North (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -2089,31 +2406,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".76666666666667],PARAMETER[\"standard_parallel_2\",35.56");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.76666");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"latitude_of_origin\",35],PARAM");
+        "666666667],PARAMETER[\"standard_parallel_2\",35.56666666");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-98],PARAMETER[\"false_easting");
+        "666667],PARAMETER[\"latitude_of_origin\",35],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US su");
+        "central_meridian\",-98],PARAMETER[\"false_easting\",1968");
     add_srs_wkt (p, 12,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "500],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
     add_srs_wkt (p, 14,
-        "\",\"2267\"]]");
-    p = add_epsg_def (filter, first, last, 2268, "epsg", 2268,
-        "NAD83 / Oklahoma South (ftUS)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22");
+    add_srs_wkt (p, 15,
+        "67\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2268, "epsg", 2268,
+        "NAD83 / Oklahoma South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
     add_proj4text (p, 1,
         "333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0");
     add_proj4text (p, 2,
-        "=0 +datum=NAD83 +units=us-ft +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_");
+    add_proj4text (p, 3,
+        "defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Oklahoma South (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -2127,31 +2451,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".23333333333333],PARAMETER[\"standard_parallel_2\",33.93");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35.23333");
     add_srs_wkt (p, 9,
-        "333333333333],PARAMETER[\"latitude_of_origin\",33.333333");
+        "333333333],PARAMETER[\"standard_parallel_2\",33.93333333");
     add_srs_wkt (p, 10,
-        "33333334],PARAMETER[\"central_meridian\",-98],PARAMETER[");
+        "333333],PARAMETER[\"latitude_of_origin\",33.333333333333");
     add_srs_wkt (p, 11,
-        "\"false_easting\",1968500],PARAMETER[\"false_northing\",");
+        "34],PARAMETER[\"central_meridian\",-98],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "e_easting\",1968500],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 14,
-        "UTHORITY[\"EPSG\",\"2268\"]]");
-    p = add_epsg_def (filter, first, last, 2269, "epsg", 2269,
-        "NAD83 / Oregon North (ft)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"2268\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2269, "epsg", 2269,
+        "NAD83 / Oregon North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
     add_proj4text (p, 1,
         "6666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 ");
     add_proj4text (p, 2,
-        "+datum=NAD83 +units=ft +no_defs");
+        "+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Oregon North (ft)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -2165,29 +2494,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",46],P");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_2\",44.33333333333334],PARA");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",46],PARAMET");
     add_srs_wkt (p, 9,
-        "METER[\"latitude_of_origin\",43.66666666666666],PARAMETE");
+        "ER[\"standard_parallel_2\",44.33333333333334],PARAMETER[");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-120.5],PARAMETER[\"false_easting");
+        "\"latitude_of_origin\",43.66666666666666],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "\",8202099.738],PARAMETER[\"false_northing\",0],UNIT[\"f");
+        "ntral_meridian\",-120.5],PARAMETER[\"false_easting\",820");
     add_srs_wkt (p, 12,
-        "oot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EA");
+        "2099.738],PARAMETER[\"false_northing\",0],UNIT[\"foot\",");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2269\"]]");
-    p = add_epsg_def (filter, first, last, 2270, "epsg", 2270,
-        "NAD83 / Oregon South (ft)");
+        "0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2269\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2270, "epsg", 2270,
+        "NAD83 / Oregon South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
     add_proj4text (p, 1,
         "6666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 ");
     add_proj4text (p, 2,
-        "+datum=NAD83 +units=ft +no_defs");
+        "+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Oregon South (ft)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -2201,29 +2535,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44],P");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_2\",42.33333333333334],PARA");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",44],PARAMET");
     add_srs_wkt (p, 9,
-        "METER[\"latitude_of_origin\",41.66666666666666],PARAMETE");
+        "ER[\"standard_parallel_2\",42.33333333333334],PARAMETER[");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-120.5],PARAMETER[\"false_easting");
+        "\"latitude_of_origin\",41.66666666666666],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "\",4921259.843],PARAMETER[\"false_northing\",0],UNIT[\"f");
+        "ntral_meridian\",-120.5],PARAMETER[\"false_easting\",492");
     add_srs_wkt (p, 12,
-        "oot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EA");
+        "1259.843],PARAMETER[\"false_northing\",0],UNIT[\"foot\",");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2270\"]]");
-    p = add_epsg_def (filter, first, last, 2271, "epsg", 2271,
-        "NAD83 / Pennsylvania North (ftUS)");
+        "0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2270\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2271, "epsg", 2271,
+        "NAD83 / Pennsylvania North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
     add_proj4text (p, 1,
-        "0.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +datum");
+        "0.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps");
     add_proj4text (p, 2,
-        "=NAD83 +units=us-ft +no_defs");
+        "=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Pennsylvania North (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
@@ -2237,31 +2576,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",41.95],PARAMETER[\"standard_parallel_2\",40.88333333333");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.9");
     add_srs_wkt (p, 9,
-        "333],PARAMETER[\"latitude_of_origin\",40.16666666666666]");
+        "5],PARAMETER[\"standard_parallel_2\",40.88333333333333],");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-77.75],PARAMETER[\"fals");
+        "PARAMETER[\"latitude_of_origin\",40.16666666666666],PARA");
     add_srs_wkt (p, 11,
-        "e_easting\",1968500],PARAMETER[\"false_northing\",0],UNI");
+        "METER[\"central_meridian\",-77.75],PARAMETER[\"false_eas");
     add_srs_wkt (p, 12,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "ting\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"U");
     add_srs_wkt (p, 13,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"2271\"]]");
-    p = add_epsg_def (filter, first, last, 2272, "epsg", 2272,
-        "NAD83 / Pennsylvania South (ftUS)");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"2271\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2272, "epsg", 2272,
+        "NAD83 / Pennsylvania South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
     add_proj4text (p, 1,
         "333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +");
     add_proj4text (p, 2,
-        "y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Pennsylvania South (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
@@ -2275,31 +2621,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",40.96666666666667],PARAMETER[\"standard_parallel_2\",39");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.9");
     add_srs_wkt (p, 9,
-        ".93333333333333],PARAMETER[\"latitude_of_origin\",39.333");
+        "6666666666667],PARAMETER[\"standard_parallel_2\",39.9333");
     add_srs_wkt (p, 10,
-        "33333333334],PARAMETER[\"central_meridian\",-77.75],PARA");
+        "3333333333],PARAMETER[\"latitude_of_origin\",39.33333333");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",1968500],PARAMETER[\"false_north");
+        "333334],PARAMETER[\"central_meridian\",-77.75],PARAMETER");
     add_srs_wkt (p, 12,
-        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
+        "[\"false_easting\",1968500],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 14,
-        "RTH],AUTHORITY[\"EPSG\",\"2272\"]]");
-    p = add_epsg_def (filter, first, last, 2273, "epsg", 2273,
-        "NAD83 / South Carolina (ft)");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"2272\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2273, "epsg", 2273,
+        "NAD83 / South Carolina (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
     add_proj4text (p, 1,
-        ".83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +datum=NAD");
+        ".83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
-        "83 +units=ft +no_defs");
+        "80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / South Carolina (ft)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -2313,29 +2664,34 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",34.8");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "3333333333334],PARAMETER[\"standard_parallel_2\",32.5],P");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",34.8333333");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"latitude_of_origin\",31.83333333333333],PARAM");
+        "3333334],PARAMETER[\"standard_parallel_2\",32.5],PARAMET");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-81],PARAMETER[\"false_easting");
+        "ER[\"latitude_of_origin\",31.83333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"foot\"");
+        "central_meridian\",-81],PARAMETER[\"false_easting\",2000");
     add_srs_wkt (p, 12,
-        ",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],A");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.304");
     add_srs_wkt (p, 13,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2273\"]]");
-    p = add_epsg_def (filter, first, last, 2274, "epsg", 2274,
-        "NAD83 / Tennessee (ftUS)");
+        "8,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2273\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2274, "epsg", 2274,
+        "NAD83 / Tennessee (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
     add_proj4text (p, 1,
-        "4.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +datum=NA");
+        "4.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GR");
     add_proj4text (p, 2,
-        "D83 +units=us-ft +no_defs");
+        "S80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Tennessee (ftUS)\",GEOGCS[\"NAD83\",DAT");
     add_srs_wkt (p, 1,
@@ -2347,33 +2703,40 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.4166");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "6666666666],PARAMETER[\"standard_parallel_2\",35.25],PAR");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",36.4166666666");
     add_srs_wkt (p, 9,
-        "AMETER[\"latitude_of_origin\",34.33333333333334],PARAMET");
+        "6666],PARAMETER[\"standard_parallel_2\",35.25],PARAMETER");
     add_srs_wkt (p, 10,
-        "ER[\"central_meridian\",-86],PARAMETER[\"false_easting\"");
+        "[\"latitude_of_origin\",34.33333333333334],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        ",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "entral_meridian\",-86],PARAMETER[\"false_easting\",19685");
     add_srs_wkt (p, 12,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
     add_srs_wkt (p, 14,
-        ",\"2274\"]]");
-    p = add_epsg_def (filter, first, last, 2275, "epsg", 2275,
-        "NAD83 / Texas North (ftUS)");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"227");
+    add_srs_wkt (p, 15,
+        "4\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2275, "epsg", 2275,
+        "NAD83 / Texas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
     add_proj4text (p, 1,
         "4 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.99989");
     add_proj4text (p, 2,
-        "83998 +datum=NAD83 +units=us-ft +no_defs");
+        "83998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Texas North (ftUS)\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
@@ -2387,31 +2750,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.1");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "8333333333333],PARAMETER[\"standard_parallel_2\",34.65],");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",36.1833333");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",34],PARAMETER[\"central");
+        "3333333],PARAMETER[\"standard_parallel_2\",34.65],PARAME");
     add_srs_wkt (p, 10,
-        "_meridian\",-101.5],PARAMETER[\"false_easting\",656166.6");
+        "TER[\"latitude_of_origin\",34],PARAMETER[\"central_merid");
     add_srs_wkt (p, 11,
-        "67],PARAMETER[\"false_northing\",3280833.333],UNIT[\"US ");
+        "ian\",-101.5],PARAMETER[\"false_easting\",656166.667],PA");
     add_srs_wkt (p, 12,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "RAMETER[\"false_northing\",3280833.333],UNIT[\"US survey");
     add_srs_wkt (p, 13,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 14,
-        "SG\",\"2275\"]]");
-    p = add_epsg_def (filter, first, last, 2276, "epsg", 2276,
-        "NAD83 / Texas North Central (ftUS)");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "2275\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2276, "epsg", 2276,
+        "NAD83 / Texas North Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
     add_proj4text (p, 1,
         "333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y");
     add_proj4text (p, 2,
-        "_0=2000000.0001016 +datum=NAD83 +units=us-ft +no_defs");
+        "_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+    add_proj4text (p, 3,
+        "units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Texas North Central (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
@@ -2425,33 +2795,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambe");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "1\",33.96666666666667],PARAMETER[\"standard_parallel_2\"");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",33");
     add_srs_wkt (p, 9,
-        ",32.13333333333333],PARAMETER[\"latitude_of_origin\",31.");
+        ".96666666666667],PARAMETER[\"standard_parallel_2\",32.13");
     add_srs_wkt (p, 10,
-        "66666666666667],PARAMETER[\"central_meridian\",-98.5],PA");
+        "333333333333],PARAMETER[\"latitude_of_origin\",31.666666");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",1968500],PARAMETER[\"false_nor");
+        "66666667],PARAMETER[\"central_meridian\",-98.5],PARAMETE");
     add_srs_wkt (p, 12,
-        "thing\",6561666.667],UNIT[\"US survey foot\",0.304800609");
+        "R[\"false_easting\",1968500],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "6012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],A");
+        ",6561666.667],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 14,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2276\"]]");
-    p = add_epsg_def (filter, first, last, 2277, "epsg", 2277,
-        "NAD83 / Texas Central (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 15,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2276\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2277, "epsg", 2277,
+        "NAD83 / Texas Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
     add_proj4text (p, 1,
         "667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +");
     add_proj4text (p, 2,
-        "x_0=699999.9998983998 +y_0=3000000 +datum=NAD83 +units=u");
+        "x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +towgs84");
     add_proj4text (p, 3,
-        "s-ft +no_defs");
+        "=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Texas Central (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -2465,33 +2840,40 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",31");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".88333333333333],PARAMETER[\"standard_parallel_2\",30.11");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",31.88333");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"latitude_of_origin\",29.666666");
+        "333333333],PARAMETER[\"standard_parallel_2\",30.11666666");
     add_srs_wkt (p, 10,
-        "66666667],PARAMETER[\"central_meridian\",-100.3333333333");
+        "666667],PARAMETER[\"latitude_of_origin\",29.666666666666");
     add_srs_wkt (p, 11,
-        "333],PARAMETER[\"false_easting\",2296583.333],PARAMETER[");
+        "67],PARAMETER[\"central_meridian\",-100.3333333333333],P");
     add_srs_wkt (p, 12,
-        "\"false_northing\",9842500.000000002],UNIT[\"US survey f");
+        "ARAMETER[\"false_easting\",2296583.333],PARAMETER[\"fals");
     add_srs_wkt (p, 13,
-        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+        "e_northing\",9842500.000000002],UNIT[\"US survey foot\",");
     add_srs_wkt (p, 14,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
     add_srs_wkt (p, 15,
-        "277\"]]");
-    p = add_epsg_def (filter, first, last, 2278, "epsg", 2278,
-        "NAD83 / Texas South Central (ftUS)");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2277\"]");
+    add_srs_wkt (p, 16,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2278, "epsg", 2278,
+        "NAD83 / Texas South Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
     add_proj4text (p, 1,
         "333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0");
     add_proj4text (p, 2,
-        "=3999999.9998984 +datum=NAD83 +units=us-ft +no_defs");
+        "=3999999.9998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +un");
+    add_proj4text (p, 3,
+        "its=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Texas South Central (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
@@ -2505,33 +2887,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambe");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "1\",30.28333333333333],PARAMETER[\"standard_parallel_2\"");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",30");
     add_srs_wkt (p, 9,
-        ",28.38333333333333],PARAMETER[\"latitude_of_origin\",27.");
+        ".28333333333333],PARAMETER[\"standard_parallel_2\",28.38");
     add_srs_wkt (p, 10,
-        "83333333333333],PARAMETER[\"central_meridian\",-99],PARA");
+        "333333333333],PARAMETER[\"latitude_of_origin\",27.833333");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",1968500],PARAMETER[\"false_north");
+        "33333333],PARAMETER[\"central_meridian\",-99],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ing\",13123333.333],UNIT[\"US survey foot\",0.3048006096");
+        "\"false_easting\",1968500],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "13123333.333],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2278\"]]");
-    p = add_epsg_def (filter, first, last, 2279, "epsg", 2279,
-        "NAD83 / Texas South (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 15,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2278\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2279, "epsg", 2279,
+        "NAD83 / Texas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
         "667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.00");
     add_proj4text (p, 2,
-        "00000001 +y_0=5000000.0001016 +datum=NAD83 +units=us-ft ");
+        "00000001 +y_0=5000000.0001016 +ellps=GRS80 +towgs84=0,0,");
     add_proj4text (p, 3,
-        "+no_defs");
+        "0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Texas South (ftUS)\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
@@ -2545,33 +2932,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",27.8");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "3333333333333],PARAMETER[\"standard_parallel_2\",26.1666");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",27.8333333");
     add_srs_wkt (p, 9,
-        "6666666667],PARAMETER[\"latitude_of_origin\",25.66666666");
+        "3333333],PARAMETER[\"standard_parallel_2\",26.1666666666");
     add_srs_wkt (p, 10,
-        "666667],PARAMETER[\"central_meridian\",-98.5],PARAMETER[");
+        "6667],PARAMETER[\"latitude_of_origin\",25.66666666666667");
     add_srs_wkt (p, 11,
-        "\"false_easting\",984250.0000000002],PARAMETER[\"false_n");
+        "],PARAMETER[\"central_meridian\",-98.5],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "orthing\",16404166.667],UNIT[\"US survey foot\",0.304800");
+        "e_easting\",984250.0000000002],PARAMETER[\"false_northin");
     add_srs_wkt (p, 13,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+        "g\",16404166.667],UNIT[\"US survey foot\",0.304800609601");
     add_srs_wkt (p, 14,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2279\"]]");
-    p = add_epsg_def (filter, first, last, 2280, "epsg", 2280,
-        "NAD83 / Utah North (ft)");
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 15,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2279\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2280, "epsg", 2280,
+        "NAD83 / Utah North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
         "667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0");
     add_proj4text (p, 2,
-        "001504 +y_0=999999.9999960001 +datum=NAD83 +units=ft +no");
+        "001504 +y_0=999999.9999960001 +ellps=GRS80 +towgs84=0,0,");
     add_proj4text (p, 3,
-        "_defs");
+        "0,0,0,0,0 +units=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Utah North (ft)\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
@@ -2583,33 +2975,40 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.7833");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "3333333333],PARAMETER[\"standard_parallel_2\",40.7166666");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",41.7833333333");
     add_srs_wkt (p, 9,
-        "6666667],PARAMETER[\"latitude_of_origin\",40.33333333333");
+        "3333],PARAMETER[\"standard_parallel_2\",40.7166666666666");
     add_srs_wkt (p, 10,
-        "334],PARAMETER[\"central_meridian\",-111.5],PARAMETER[\"");
+        "7],PARAMETER[\"latitude_of_origin\",40.33333333333334],P");
     add_srs_wkt (p, 11,
-        "false_easting\",1640419.948],PARAMETER[\"false_northing\"");
+        "ARAMETER[\"central_meridian\",-111.5],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        ",3280839.895],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"");
+        "easting\",1640419.948],PARAMETER[\"false_northing\",3280");
     add_srs_wkt (p, 13,
-        "9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "839.895],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"2280\"]]");
-    p = add_epsg_def (filter, first, last, 2281, "epsg", 2281,
-        "NAD83 / Utah Central (ft)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"2280\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2281, "epsg", 2281,
+        "NAD83 / Utah Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
         "8.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=");
     add_proj4text (p, 2,
-        "1999999.999992 +datum=NAD83 +units=ft +no_defs");
+        "1999999.999992 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 3,
+        "s=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Utah Central (ft)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -2623,31 +3022,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.65");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",39.01666666666667],P");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",40.65],PARA");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"latitude_of_origin\",38.33333333333334],PARAM");
+        "METER[\"standard_parallel_2\",39.01666666666667],PARAMET");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-111.5],PARAMETER[\"false_east");
+        "ER[\"latitude_of_origin\",38.33333333333334],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ing\",1640419.948],PARAMETER[\"false_northing\",6561679.");
+        "central_meridian\",-111.5],PARAMETER[\"false_easting\",1");
     add_srs_wkt (p, 12,
-        "79],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],A");
+        "640419.948],PARAMETER[\"false_northing\",6561679.79],UNI");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "T[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X");
     add_srs_wkt (p, 14,
-        "281\"]]");
-    p = add_epsg_def (filter, first, last, 2282, "epsg", 2282,
-        "NAD83 / Utah South (ft)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2281\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2282, "epsg", 2282,
+        "NAD83 / Utah South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
         "6.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=");
     add_proj4text (p, 2,
-        "2999999.999988 +datum=NAD83 +units=ft +no_defs");
+        "2999999.999988 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 3,
+        "s=ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Utah South (ft)\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
@@ -2659,33 +3063,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.35],");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_2\",37.21666666666667],PAR");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",38.35],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"latitude_of_origin\",36.66666666666666],PARAMET");
+        "TER[\"standard_parallel_2\",37.21666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "ER[\"central_meridian\",-111.5],PARAMETER[\"false_eastin");
+        "[\"latitude_of_origin\",36.66666666666666],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "g\",1640419.948],PARAMETER[\"false_northing\",9842519.68");
+        "entral_meridian\",-111.5],PARAMETER[\"false_easting\",16");
     add_srs_wkt (p, 12,
-        "5],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AX");
+        "40419.948],PARAMETER[\"false_northing\",9842519.685],UNI");
     add_srs_wkt (p, 13,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22");
+        "T[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X");
     add_srs_wkt (p, 14,
-        "82\"]]");
-    p = add_epsg_def (filter, first, last, 2283, "epsg", 2283,
-        "NAD83 / Virginia North (ftUS)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2282\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2283, "epsg", 2283,
+        "NAD83 / Virginia North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
     add_proj4text (p, 1,
         ".66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2");
     add_proj4text (p, 2,
-        "000000.0001016 +datum=NAD83 +units=us-ft +no_defs");
+        "000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 3,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Virginia North (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -2699,33 +3108,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".2],PARAMETER[\"standard_parallel_2\",38.03333333333333]");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.2],PA");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"latitude_of_origin\",37.66666666666666],PAR");
+        "RAMETER[\"standard_parallel_2\",38.03333333333333],PARAM");
     add_srs_wkt (p, 10,
-        "AMETER[\"central_meridian\",-78.5],PARAMETER[\"false_eas");
+        "ETER[\"latitude_of_origin\",37.66666666666666],PARAMETER");
     add_srs_wkt (p, 11,
-        "ting\",11482916.667],PARAMETER[\"false_northing\",656166");
+        "[\"central_meridian\",-78.5],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "6.667],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+        ",11482916.667],PARAMETER[\"false_northing\",6561666.667]");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "H],AUTHORITY[\"EPSG\",\"2283\"]]");
-    p = add_epsg_def (filter, first, last, 2284, "epsg", 2284,
-        "NAD83 / Virginia South (ftUS)");
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"2283\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2284, "epsg", 2284,
+        "NAD83 / Virginia South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
     add_proj4text (p, 1,
         "667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0");
     add_proj4text (p, 2,
-        "001016 +y_0=999999.9998983998 +datum=NAD83 +units=us-ft ");
+        "001016 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,");
     add_proj4text (p, 3,
-        "+no_defs");
+        "0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Virginia South (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -2739,31 +3153,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".96666666666667],PARAMETER[\"standard_parallel_2\",36.76");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.96666");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"latitude_of_origin\",36.333333");
+        "666666667],PARAMETER[\"standard_parallel_2\",36.76666666");
     add_srs_wkt (p, 10,
-        "33333334],PARAMETER[\"central_meridian\",-78.5],PARAMETE");
+        "666667],PARAMETER[\"latitude_of_origin\",36.333333333333");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",11482916.667],PARAMETER[\"false_nort");
+        "34],PARAMETER[\"central_meridian\",-78.5],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "hing\",3280833.333],UNIT[\"US survey foot\",0.3048006096");
+        "lse_easting\",11482916.667],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        ",3280833.333],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2284\"]]");
-    p = add_epsg_def (filter, first, last, 2285, "epsg", 2285,
-        "NAD83 / Washington North (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 15,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2284\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2285, "epsg", 2285,
+        "NAD83 / Washington North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
     add_proj4text (p, 1,
         " +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0");
     add_proj4text (p, 2,
-        " +datum=NAD83 +units=us-ft +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_de");
+    add_proj4text (p, 3,
+        "fs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Washington North (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
@@ -2777,31 +3198,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        ",48.73333333333333],PARAMETER[\"standard_parallel_2\",47");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",48.73");
     add_srs_wkt (p, 9,
-        ".5],PARAMETER[\"latitude_of_origin\",47],PARAMETER[\"cen");
+        "333333333333],PARAMETER[\"standard_parallel_2\",47.5],PA");
     add_srs_wkt (p, 10,
-        "tral_meridian\",-120.8333333333333],PARAMETER[\"false_ea");
+        "RAMETER[\"latitude_of_origin\",47],PARAMETER[\"central_m");
     add_srs_wkt (p, 11,
-        "sting\",1640416.667],PARAMETER[\"false_northing\",0],UNI");
+        "eridian\",-120.8333333333333],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        ",1640416.667],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 13,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"2285\"]]");
-    p = add_epsg_def (filter, first, last, 2286, "epsg", 2286,
-        "NAD83 / Washington South (ftUS)");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 15,
+        "SG\",\"2285\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2286, "epsg", 2286,
+        "NAD83 / Washington South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
     add_proj4text (p, 1,
         "334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0");
     add_proj4text (p, 2,
-        "001016001 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +un");
+    add_proj4text (p, 3,
+        "its=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Washington South (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
@@ -2815,31 +3243,38 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        ",47.33333333333334],PARAMETER[\"standard_parallel_2\",45");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.33");
     add_srs_wkt (p, 9,
-        ".83333333333334],PARAMETER[\"latitude_of_origin\",45.333");
+        "333333333334],PARAMETER[\"standard_parallel_2\",45.83333");
     add_srs_wkt (p, 10,
-        "33333333334],PARAMETER[\"central_meridian\",-120.5],PARA");
+        "333333334],PARAMETER[\"latitude_of_origin\",45.333333333");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",1640416.667],PARAMETER[\"false_n");
+        "33334],PARAMETER[\"central_meridian\",-120.5],PARAMETER[");
     add_srs_wkt (p, 12,
-        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
+        "\"false_easting\",1640416.667],PARAMETER[\"false_northin");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "g\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2286\"]]");
-    p = add_epsg_def (filter, first, last, 2287, "epsg", 2287,
-        "NAD83 / Wisconsin North (ftUS)");
+        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 15,
+        "H],AUTHORITY[\"EPSG\",\"2286\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2287, "epsg", 2287,
+        "NAD83 / Wisconsin North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
     add_proj4text (p, 1,
         "667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0");
     add_proj4text (p, 2,
-        "=0 +datum=NAD83 +units=us-ft +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_");
+    add_proj4text (p, 3,
+        "defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Wisconsin North (ftUS)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
@@ -2853,31 +3288,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
+        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "6.76666666666667],PARAMETER[\"standard_parallel_2\",45.5");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",46.7666");
     add_srs_wkt (p, 9,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",45.16666");
+        "6666666667],PARAMETER[\"standard_parallel_2\",45.5666666");
     add_srs_wkt (p, 10,
-        "666666666],PARAMETER[\"central_meridian\",-90],PARAMETER");
+        "6666667],PARAMETER[\"latitude_of_origin\",45.16666666666");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",1968500],PARAMETER[\"false_northing\"");
+        "666],PARAMETER[\"central_meridian\",-90],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "se_easting\",1968500],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"2287\"]]");
-    p = add_epsg_def (filter, first, last, 2288, "epsg", 2288,
-        "NAD83 / Wisconsin Central (ftUS)");
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"2287\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2288, "epsg", 2288,
+        "NAD83 / Wisconsin Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
     add_proj4text (p, 1,
-        "334 +lon_0=-90 +x_0=600000 +y_0=0 +datum=NAD83 +units=us");
+        "334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=");
     add_proj4text (p, 2,
-        "-ft +no_defs");
+        "0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Wisconsin Central (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
@@ -2891,31 +3331,36 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",45.5],PARAMETER[\"standard_parallel_2\",44.25],PARAMETE");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.5");
     add_srs_wkt (p, 9,
-        "R[\"latitude_of_origin\",43.83333333333334],PARAMETER[\"");
+        "],PARAMETER[\"standard_parallel_2\",44.25],PARAMETER[\"l");
     add_srs_wkt (p, 10,
-        "central_meridian\",-90],PARAMETER[\"false_easting\",1968");
+        "atitude_of_origin\",43.83333333333334],PARAMETER[\"centr");
     add_srs_wkt (p, 11,
-        "500],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
+        "al_meridian\",-90],PARAMETER[\"false_easting\",1968500],");
     add_srs_wkt (p, 12,
-        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
+        "PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",");
     add_srs_wkt (p, 13,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22");
+        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "88\"]]");
-    p = add_epsg_def (filter, first, last, 2289, "epsg", 2289,
-        "NAD83 / Wisconsin South (ftUS)");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2288\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2289, "epsg", 2289,
+        "NAD83 / Wisconsin South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +datum=NAD83");
+        "333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80");
     add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        " +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Wisconsin South (ftUS)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
@@ -2929,25 +3374,30 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
+        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "4.06666666666667],PARAMETER[\"standard_parallel_2\",42.7");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44.0666");
     add_srs_wkt (p, 9,
-        "3333333333333],PARAMETER[\"latitude_of_origin\",42],PARA");
+        "6666666667],PARAMETER[\"standard_parallel_2\",42.7333333");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-90],PARAMETER[\"false_eastin");
+        "3333333],PARAMETER[\"latitude_of_origin\",42],PARAMETER[");
     add_srs_wkt (p, 11,
-        "g\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "\"central_meridian\",-90],PARAMETER[\"false_easting\",19");
     add_srs_wkt (p, 12,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "68500],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
     add_srs_wkt (p, 13,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 14,
-        "G\",\"2289\"]]");
-    p = add_epsg_def (filter, first, last, 2290, "epsg", 2290,
-        "ATS77 / Prince Edward Isl. Stereographic (ATS77)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "2289\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2290, "epsg", 2290,
+        "ATS77 / Prince Edward Isl. Stereographic (ATS77)", 0, 0,
+        "Average Terrestrial System 1977", "Greenwich",
+        "Average_Terrestrial_System_1977", "Oblique_Stereographic", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=70");
     add_proj4text (p, 1,
@@ -2967,21 +3417,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4122\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Oblique_Stereographic\"],PARAMETER[\"latitude_of");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4122\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "_origin\",47.25],PARAMETER[\"central_meridian\",-63],PAR");
+        "\"Oblique_Stereographic\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.999912],PARAMETER[\"false_east");
+        "n\",47.25],PARAMETER[\"central_meridian\",-63],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",700000],PARAMETER[\"false_northing\",400000],UNIT[");
+        "[\"scale_factor\",0.999912],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",");
+        "700000],PARAMETER[\"false_northing\",400000],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2290\"]]");
-    p = add_epsg_def (filter, first, last, 2291, "epsg", 2291,
-        "NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83) (deprecated)");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],");
+    add_srs_wkt (p, 13,
+        "AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2290\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2291, "epsg", 2291,
+        "NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83) (deprecated)", 0, 0,
+        "Average Terrestrial System 1977", "Greenwich",
+        "Average_Terrestrial_System_1977", "Oblique_Stereographic", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=40");
     add_proj4text (p, 1,
@@ -3001,23 +3456,28 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4122\"]],PROJECTION[\"Oblique_Stereographic\"],PA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",47.25],PARAMETER[\"centra");
+        "4122\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "l_meridian\",-63],PARAMETER[\"scale_factor\",0.999912],P");
+        "[\"latitude_of_origin\",47.25],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_easting\",400000],PARAMETER[\"false_nor");
+        "ian\",-63],PARAMETER[\"scale_factor\",0.999912],PARAMETE");
     add_srs_wkt (p, 11,
-        "thing\",800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "R[\"false_easting\",400000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORIT");
+        ",800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "Y[\"EPSG\",\"2291\"]]");
-    p = add_epsg_def (filter, first, last, 2292, "epsg", 2292,
-        "NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83) (deprecated)");
+        "AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"2291\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2292, "epsg", 2292,
+        "NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Oblique_Stereographic", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=40");
     add_proj4text (p, 1,
@@ -3039,21 +3499,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4140\"]],PROJECTION[\"Obli");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 8,
-        "que_Stereographic\"],PARAMETER[\"latitude_of_origin\",47");
+        "T],AUTHORITY[\"EPSG\",\"4140\"]],PROJECTION[\"Oblique_St");
     add_srs_wkt (p, 9,
-        ".25],PARAMETER[\"central_meridian\",-63],PARAMETER[\"sca");
+        "ereographic\"],PARAMETER[\"latitude_of_origin\",47.25],P");
     add_srs_wkt (p, 10,
-        "le_factor\",0.999912],PARAMETER[\"false_easting\",400000");
+        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_northing\",800000],UNIT[\"metre\",1,");
+        "tor\",0.999912],PARAMETER[\"false_easting\",400000],PARA");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"");
+        "METER[\"false_northing\",800000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2292\"]]");
-    p = add_epsg_def (filter, first, last, 2294, "epsg", 2294,
-        "ATS77 / MTM Nova Scotia zone 4");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2292\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2294, "epsg", 2294,
+        "ATS77 / MTM Nova Scotia zone 4", 0, 0,
+        "Average Terrestrial System 1977", "Greenwich",
+        "Average_Terrestrial_System_1977", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=4500000");
     add_proj4text (p, 1,
@@ -3073,21 +3538,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4122\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4122\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-61.5],PARAMETER[\"scale_factor\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",4500000],PARAMETER[");
+        "entral_meridian\",-61.5],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "99],PARAMETER[\"false_easting\",4500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"2294\"]]");
-    p = add_epsg_def (filter, first, last, 2295, "epsg", 2295,
-        "ATS77 / MTM Nova Scotia zone 5");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2294\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2295, "epsg", 2295,
+        "ATS77 / MTM Nova Scotia zone 5", 0, 0,
+        "Average Terrestrial System 1977", "Greenwich",
+        "Average_Terrestrial_System_1977", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=5500000");
     add_proj4text (p, 1,
@@ -3107,21 +3577,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4122\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4122\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-64.5],PARAMETER[\"scale_factor\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",5500000],PARAMETER[");
+        "entral_meridian\",-64.5],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "99],PARAMETER[\"false_easting\",5500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"2295\"]]");
-    p = add_epsg_def (filter, first, last, 2308, "epsg", 2308,
-        "Batavia / TM 109 SE");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2295\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2308, "epsg", 2308,
+        "Batavia / TM 109 SE", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Batavia", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=109 +k=0.9996 +x_0=500000 +y");
     add_proj4text (p, 1,
@@ -3139,23 +3614,28 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4211\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        ",\"4211\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "ridian\",109],PARAMETER[\"scale_factor\",0.9996],PARAMET");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 9,
-        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
+        "\",109],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "alse_easting\",500000],PARAMETER[\"false_northing\",1000");
     add_srs_wkt (p, 11,
-        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"2308\"]]");
-    p = add_epsg_def (filter, first, last, 2309, "epsg", 2309,
-        "WGS 84 / TM 116 SE");
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"2308\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2309, "epsg", 2309,
+        "WGS 84 / TM 116 SE", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=116 +k=0.9996 +x_0=500000 +y");
     add_proj4text (p, 1,
@@ -3171,21 +3651,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 5,
-        "22\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 6,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 7,
-        "AMETER[\"central_meridian\",116],PARAMETER[\"scale_facto");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 8,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "[\"central_meridian\",116],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 9,
-        "R[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORIT");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 11,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2309\"]]");
-    p = add_epsg_def (filter, first, last, 2310, "epsg", 2310,
-        "WGS 84 / TM 132 SE");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2309\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2310, "epsg", 2310,
+        "WGS 84 / TM 132 SE", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=0.9996 +x_0=500000 +y");
     add_proj4text (p, 1,
@@ -3201,21 +3686,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 5,
-        "22\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 6,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 7,
-        "AMETER[\"central_meridian\",132],PARAMETER[\"scale_facto");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 8,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "[\"central_meridian\",132],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 9,
-        "R[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORIT");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 11,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2310\"]]");
-    p = add_epsg_def (filter, first, last, 2311, "epsg", 2311,
-        "WGS 84 / TM 6 NE");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2310\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2311, "epsg", 2311,
+        "WGS 84 / TM 6 NE", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0");
     add_proj4text (p, 1,
@@ -3231,21 +3721,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 5,
-        "\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 6,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "UTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 7,
-        "ETER[\"central_meridian\",6],PARAMETER[\"scale_factor\",");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "central_meridian\",6],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 9,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 10,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 11,
-        "H],AUTHORITY[\"EPSG\",\"2311\"]]");
-    p = add_epsg_def (filter, first, last, 2312, "epsg", 2312,
-        "Garoua / UTM zone 33N");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 12,
+        "RITY[\"EPSG\",\"2311\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2312, "epsg", 2312,
+        "Garoua / UTM zone 33N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Garoua", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=33 +ellps=clrk80 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -3259,21 +3754,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4197\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 6,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4197\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 7,
-        "n\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"sc");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 8,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",500000]");
+        ",PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"2312\"]]");
-    p = add_epsg_def (filter, first, last, 2313, "epsg", 2313,
-        "Kousseri / UTM zone 33N");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2312\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2313, "epsg", 2313,
+        "Kousseri / UTM zone 33N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Kousseri", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=33 +ellps=clrk80 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -3287,21 +3787,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4198\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4198\"]],PROJECTIO");
     add_srs_wkt (p, 7,
-        "_origin\",0],PARAMETER[\"central_meridian\",15],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 8,
-        "R[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",5");
+        "n\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"sc");
     add_srs_wkt (p, 9,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "ale_factor\",0.9996],PARAMETER[\"false_easting\",500000]");
     add_srs_wkt (p, 10,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 11,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2313\"]]");
-    p = add_epsg_def (filter, first, last, 2314, "epsg", 2314,
-        "Trinidad 1903 / Trinidad Grid (ftCla)");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 12,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"2313\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2314, "epsg", 2314,
+        "Trinidad 1903 / Trinidad Grid (ftCla)", 0, 0,
+        "Clarke 1858", "Greenwich",
+        "Trinidad_1903", "Cassini_Soldner", "Clarke's foot",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.333333333");
     add_proj4text (p, 1,
@@ -3315,7 +3820,7 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"Trinidad 1903\",DATUM[\"Trinidad_1903\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1858\",6378293.645208759,294.2606763692569,AUTHORITY");
+        "rke 1858\",6378293.645208759,294.2606763692606,AUTHORITY");
     add_srs_wkt (p, 3,
         "[\"EPSG\",\"7007\"]],TOWGS84[-61.702,284.488,472.052,0,0");
     add_srs_wkt (p, 4,
@@ -3323,23 +3828,28 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4302\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETE");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",10.44166666666667],PARAMETER[\"");
+        "4302\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "central_meridian\",-61.33333333333334],PARAMETER[\"false");
+        "itude_of_origin\",10.44166666666667],PARAMETER[\"central");
     add_srs_wkt (p, 10,
-        "_easting\",283800],PARAMETER[\"false_northing\",214500],");
+        "_meridian\",-61.33333333333334],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "UNIT[\"Clarke's foot\",0.3047972654,AUTHORITY[\"EPSG\",\"");
+        "g\",283800],PARAMETER[\"false_northing\",214500],UNIT[\"");
     add_srs_wkt (p, 12,
-        "9005\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "Clarke's foot\",0.3047972654,AUTHORITY[\"EPSG\",\"9005\"");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"2314\"]]");
-    p = add_epsg_def (filter, first, last, 2315, "epsg", 2315,
-        "Campo Inchauspe / UTM zone 19S");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"2314\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2315, "epsg", 2315,
+        "Campo Inchauspe / UTM zone 19S", 0, 0,
+        "International 1924", "Greenwich",
+        "Campo_Inchauspe", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +south +ellps=intl +towgs84=-148,136,");
     add_proj4text (p, 1,
@@ -3357,21 +3867,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-69],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"2315\"]]");
-    p = add_epsg_def (filter, first, last, 2316, "epsg", 2316,
-        "Campo Inchauspe / UTM zone 20S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2315\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2316, "epsg", 2316,
+        "Campo Inchauspe / UTM zone 20S", 0, 0,
+        "International 1924", "Greenwich",
+        "Campo_Inchauspe", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +south +ellps=intl +towgs84=-148,136,");
     add_proj4text (p, 1,
@@ -3389,21 +3904,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-63],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"2316\"]]");
-    p = add_epsg_def (filter, first, last, 2317, "epsg", 2317,
-        "PSAD56 / ICN Regional");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2316\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2317, "epsg", 2317,
+        "PSAD56 / ICN Regional", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=9 +lat_2=3 +lat_0=6 +lon_0=-66 +x_0=100");
     add_proj4text (p, 1,
@@ -3423,23 +3943,28 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "rallel_1\",9],PARAMETER[\"standard_parallel_2\",3],PARAM");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "ETER[\"latitude_of_origin\",6],PARAMETER[\"central_merid");
+        "_1\",9],PARAMETER[\"standard_parallel_2\",3],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ian\",-66],PARAMETER[\"false_easting\",1000000],PARAMETE");
+        "latitude_of_origin\",6],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY");
+        "66],PARAMETER[\"false_easting\",1000000],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "se_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"2317\"]]");
-    p = add_epsg_def (filter, first, last, 2318, "epsg", 2318,
-        "Ain el Abd / Aramco Lambert");
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"2317\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2318, "epsg", 2318,
+        "Ain el Abd / Aramco Lambert", 0, 0,
+        "International 1924", "Greenwich",
+        "Ain_el_Abd_1970", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=17 +lat_2=33 +lat_0=25.08951 +lon_0=48 ");
     add_proj4text (p, 1,
@@ -3459,23 +3984,28 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4204\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",17");
+        "ORITY[\"EPSG\",\"4204\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",33],PARAMETER[\"lati");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",17],PARA");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",25.08951],PARAMETER[\"central_meridian\"");
+        "METER[\"standard_parallel_2\",33],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        ",48],PARAMETER[\"false_easting\",0],PARAMETER[\"false_no");
+        "f_origin\",25.08951],PARAMETER[\"central_meridian\",48],");
     add_srs_wkt (p, 11,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"2318\"]]");
-    p = add_epsg_def (filter, first, last, 2319, "epsg", 2319,
-        "ED50 / TM27");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"2318\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2319, "epsg", 2319,
+        "ED50 / TM27", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3493,21 +4023,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",27],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "PSG\",\"2319\"]]");
-    p = add_epsg_def (filter, first, last, 2320, "epsg", 2320,
-        "ED50 / TM30");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2319\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2320, "epsg", 2320,
+        "ED50 / TM30", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3525,21 +4060,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",30],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "PSG\",\"2320\"]]");
-    p = add_epsg_def (filter, first, last, 2321, "epsg", 2321,
-        "ED50 / TM33");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2320\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2321, "epsg", 2321,
+        "ED50 / TM33", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3557,21 +4097,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",33],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "PSG\",\"2321\"]]");
-    p = add_epsg_def (filter, first, last, 2322, "epsg", 2322,
-        "ED50 / TM36");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2321\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2322, "epsg", 2322,
+        "ED50 / TM36", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3589,21 +4134,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",36],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "PSG\",\"2322\"]]");
-    p = add_epsg_def (filter, first, last, 2323, "epsg", 2323,
-        "ED50 / TM39");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2322\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2323, "epsg", 2323,
+        "ED50 / TM39", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3621,21 +4171,26 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",39],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "PSG\",\"2323\"]]");
-    p = add_epsg_def (filter, first, last, 2324, "epsg", 2324,
-        "ED50 / TM42");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2323\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2324, "epsg", 2324,
+        "ED50 / TM42", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3653,19 +4208,21 @@ initialize_epsg_02 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",42],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "2],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "PSG\",\"2324\"]]");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2324\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_03.c b/src/srsinit/epsg_inlined_03.c
index 5c19b68..a350862 100644
--- a/src/srsinit/epsg_inlined_03.c
+++ b/src/srsinit/epsg_inlined_03.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 2325, "epsg", 2325,
-        "ED50 / TM45");
+    p = add_epsg_def_ex (filter, first, last, 2325, "epsg", 2325,
+        "ED50 / TM45", 0, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -71,29 +76,34 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",45],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "PSG\",\"2325\"]]");
-    p = add_epsg_def (filter, first, last, 2326, "epsg", 2326,
-        "Hong Kong 1980 Grid System");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2325\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2326, "epsg", 2326,
+        "Hong Kong 1980 Grid System", 0, 1,
+        "International 1924", "Greenwich",
+        "Hong_Kong_1980", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=22.31213333333334 +lon_0=114.17855555");
     add_proj4text (p, 1,
         "55556 +k=1 +x_0=836694.05 +y_0=819069.8 +ellps=intl +tow");
     add_proj4text (p, 2,
-        "gs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.158");
+        "gs84=-162.619,-276.959,-161.764,0.067753,-2.243649,-1.15");
     add_proj4text (p, 3,
-        "83,-1.09425 +units=m +no_defs");
+        "8827,-1.094246 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Hong Kong 1980 Grid System\",GEOGCS[\"Hong Kong");
     add_srs_wkt (p, 1,
@@ -101,29 +111,34 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "l 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "84[-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883");
+        "84[-162.619,-276.959,-161.764,0.067753,-2.243649,-1.1588");
     add_srs_wkt (p, 4,
-        ",-1.09425],AUTHORITY[\"EPSG\",\"6611\"]],PRIMEM[\"Greenw");
+        "27,-1.094246],AUTHORITY[\"EPSG\",\"6611\"]],PRIMEM[\"Gre");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4611\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",22.31213333333334],PAR");
+        "PSG\",\"4611\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "AMETER[\"central_meridian\",114.1785555555556],PARAMETER");
+        "AMETER[\"latitude_of_origin\",22.31213333333334],PARAMET");
     add_srs_wkt (p, 10,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",836694.");
+        "ER[\"central_meridian\",114.1785555555556],PARAMETER[\"s");
     add_srs_wkt (p, 11,
-        "05],PARAMETER[\"false_northing\",819069.8],UNIT[\"metre\"");
+        "cale_factor\",1],PARAMETER[\"false_easting\",836694.05],");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "PARAMETER[\"false_northing\",819069.8],UNIT[\"metre\",1,");
     add_srs_wkt (p, 13,
-        "26\"]]");
-    p = add_epsg_def (filter, first, last, 2327, "epsg", 2327,
-        "Xian 1980 / Gauss-Kruger zone 13");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2326\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2327, "epsg", 2327,
+        "Xian 1980 / Gauss-Kruger zone 13", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
@@ -139,19 +154,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",75],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",13500000");
+        ",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"scale");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "_factor\",1],PARAMETER[\"false_easting\",13500000],PARAM");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2327\"]]");
-    p = add_epsg_def (filter, first, last, 2328, "epsg", 2328,
-        "Xian 1980 / Gauss-Kruger zone 14");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2327\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2328, "epsg", 2328,
+        "Xian 1980 / Gauss-Kruger zone 14", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0");
     add_proj4text (p, 1,
@@ -167,19 +189,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",81],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",14500000");
+        ",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"scale");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "_factor\",1],PARAMETER[\"false_easting\",14500000],PARAM");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2328\"]]");
-    p = add_epsg_def (filter, first, last, 2329, "epsg", 2329,
-        "Xian 1980 / Gauss-Kruger zone 15");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2328\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2329, "epsg", 2329,
+        "Xian 1980 / Gauss-Kruger zone 15", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0");
     add_proj4text (p, 1,
@@ -195,19 +224,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",87],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",15500000");
+        ",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"scale");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "_factor\",1],PARAMETER[\"false_easting\",15500000],PARAM");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2329\"]]");
-    p = add_epsg_def (filter, first, last, 2330, "epsg", 2330,
-        "Xian 1980 / Gauss-Kruger zone 16");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2329\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2330, "epsg", 2330,
+        "Xian 1980 / Gauss-Kruger zone 16", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0");
     add_proj4text (p, 1,
@@ -223,19 +259,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",93],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",16500000");
+        ",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"scale");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "_factor\",1],PARAMETER[\"false_easting\",16500000],PARAM");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2330\"]]");
-    p = add_epsg_def (filter, first, last, 2331, "epsg", 2331,
-        "Xian 1980 / Gauss-Kruger zone 17");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2330\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2331, "epsg", 2331,
+        "Xian 1980 / Gauss-Kruger zone 17", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0");
     add_proj4text (p, 1,
@@ -251,19 +294,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",99],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",17500000");
+        ",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"scale");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "_factor\",1],PARAMETER[\"false_easting\",17500000],PARAM");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2331\"]]");
-    p = add_epsg_def (filter, first, last, 2332, "epsg", 2332,
-        "Xian 1980 / Gauss-Kruger zone 18");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2331\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2332, "epsg", 2332,
+        "Xian 1980 / Gauss-Kruger zone 18", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=");
     add_proj4text (p, 1,
@@ -279,19 +329,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",105],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",1850000");
+        ",0],PARAMETER[\"central_meridian\",105],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "e_factor\",1],PARAMETER[\"false_easting\",18500000],PARA");
     add_srs_wkt (p, 10,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2332\"]]");
-    p = add_epsg_def (filter, first, last, 2333, "epsg", 2333,
-        "Xian 1980 / Gauss-Kruger zone 19");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2332\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2333, "epsg", 2333,
+        "Xian 1980 / Gauss-Kruger zone 19", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=");
     add_proj4text (p, 1,
@@ -307,19 +364,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",111],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",1950000");
+        ",0],PARAMETER[\"central_meridian\",111],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "e_factor\",1],PARAMETER[\"false_easting\",19500000],PARA");
     add_srs_wkt (p, 10,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2333\"]]");
-    p = add_epsg_def (filter, first, last, 2334, "epsg", 2334,
-        "Xian 1980 / Gauss-Kruger zone 20");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2333\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2334, "epsg", 2334,
+        "Xian 1980 / Gauss-Kruger zone 20", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=");
     add_proj4text (p, 1,
@@ -335,19 +399,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",117],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",2050000");
+        ",0],PARAMETER[\"central_meridian\",117],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "e_factor\",1],PARAMETER[\"false_easting\",20500000],PARA");
     add_srs_wkt (p, 10,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2334\"]]");
-    p = add_epsg_def (filter, first, last, 2335, "epsg", 2335,
-        "Xian 1980 / Gauss-Kruger zone 21");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2334\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2335, "epsg", 2335,
+        "Xian 1980 / Gauss-Kruger zone 21", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=");
     add_proj4text (p, 1,
@@ -363,19 +434,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",123],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",2150000");
+        ",0],PARAMETER[\"central_meridian\",123],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "e_factor\",1],PARAMETER[\"false_easting\",21500000],PARA");
     add_srs_wkt (p, 10,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2335\"]]");
-    p = add_epsg_def (filter, first, last, 2336, "epsg", 2336,
-        "Xian 1980 / Gauss-Kruger zone 22");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2335\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2336, "epsg", 2336,
+        "Xian 1980 / Gauss-Kruger zone 22", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=");
     add_proj4text (p, 1,
@@ -391,19 +469,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",129],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",2250000");
+        ",0],PARAMETER[\"central_meridian\",129],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "e_factor\",1],PARAMETER[\"false_easting\",22500000],PARA");
     add_srs_wkt (p, 10,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2336\"]]");
-    p = add_epsg_def (filter, first, last, 2337, "epsg", 2337,
-        "Xian 1980 / Gauss-Kruger zone 23");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2336\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2337, "epsg", 2337,
+        "Xian 1980 / Gauss-Kruger zone 23", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=");
     add_proj4text (p, 1,
@@ -419,19 +504,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",135],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",2350000");
+        ",0],PARAMETER[\"central_meridian\",135],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "e_factor\",1],PARAMETER[\"false_easting\",23500000],PARA");
     add_srs_wkt (p, 10,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2337\"]]");
-    p = add_epsg_def (filter, first, last, 2338, "epsg", 2338,
-        "Xian 1980 / Gauss-Kruger CM 75E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 11,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"2337\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2338, "epsg", 2338,
+        "Xian 1980 / Gauss-Kruger CM 75E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -447,19 +539,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "igin\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 8,
-        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
+        "0],PARAMETER[\"central_meridian\",75],PARAMETER[\"scale_");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "factor\",1],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 10,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2338\"]]");
-    p = add_epsg_def (filter, first, last, 2339, "epsg", 2339,
-        "Xian 1980 / Gauss-Kruger CM 81E");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 11,
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
+    add_srs_wkt (p, 12,
+        "ITY[\"EPSG\",\"2338\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2339, "epsg", 2339,
+        "Xian 1980 / Gauss-Kruger CM 81E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -475,19 +574,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "igin\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 8,
-        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
+        "0],PARAMETER[\"central_meridian\",81],PARAMETER[\"scale_");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "factor\",1],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 10,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2339\"]]");
-    p = add_epsg_def (filter, first, last, 2340, "epsg", 2340,
-        "Xian 1980 / Gauss-Kruger CM 87E");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 11,
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
+    add_srs_wkt (p, 12,
+        "ITY[\"EPSG\",\"2339\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2340, "epsg", 2340,
+        "Xian 1980 / Gauss-Kruger CM 87E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -503,19 +609,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "igin\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 8,
-        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
+        "0],PARAMETER[\"central_meridian\",87],PARAMETER[\"scale_");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "factor\",1],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 10,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2340\"]]");
-    p = add_epsg_def (filter, first, last, 2341, "epsg", 2341,
-        "Xian 1980 / Gauss-Kruger CM 93E");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 11,
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
+    add_srs_wkt (p, 12,
+        "ITY[\"EPSG\",\"2340\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2341, "epsg", 2341,
+        "Xian 1980 / Gauss-Kruger CM 93E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -531,19 +644,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "igin\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 8,
-        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
+        "0],PARAMETER[\"central_meridian\",93],PARAMETER[\"scale_");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "factor\",1],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 10,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2341\"]]");
-    p = add_epsg_def (filter, first, last, 2342, "epsg", 2342,
-        "Xian 1980 / Gauss-Kruger CM 99E");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 11,
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
+    add_srs_wkt (p, 12,
+        "ITY[\"EPSG\",\"2341\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2342, "epsg", 2342,
+        "Xian 1980 / Gauss-Kruger CM 99E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -559,19 +679,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "igin\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 8,
-        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
+        "0],PARAMETER[\"central_meridian\",99],PARAMETER[\"scale_");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "factor\",1],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 10,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2342\"]]");
-    p = add_epsg_def (filter, first, last, 2343, "epsg", 2343,
-        "Xian 1980 / Gauss-Kruger CM 105E");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 11,
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
+    add_srs_wkt (p, 12,
+        "ITY[\"EPSG\",\"2342\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2343, "epsg", 2343,
+        "Xian 1980 / Gauss-Kruger CM 105E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -587,19 +714,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",105],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]");
+        ",0],PARAMETER[\"central_meridian\",105],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "e_factor\",1],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2343\"]]");
-    p = add_epsg_def (filter, first, last, 2344, "epsg", 2344,
-        "Xian 1980 / Gauss-Kruger CM 111E");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 11,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 12,
+        "ORITY[\"EPSG\",\"2343\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2344, "epsg", 2344,
+        "Xian 1980 / Gauss-Kruger CM 111E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -615,19 +749,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",111],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]");
+        ",0],PARAMETER[\"central_meridian\",111],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "e_factor\",1],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2344\"]]");
-    p = add_epsg_def (filter, first, last, 2345, "epsg", 2345,
-        "Xian 1980 / Gauss-Kruger CM 117E");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 11,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 12,
+        "ORITY[\"EPSG\",\"2344\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2345, "epsg", 2345,
+        "Xian 1980 / Gauss-Kruger CM 117E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -643,19 +784,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",117],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]");
+        ",0],PARAMETER[\"central_meridian\",117],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "e_factor\",1],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2345\"]]");
-    p = add_epsg_def (filter, first, last, 2346, "epsg", 2346,
-        "Xian 1980 / Gauss-Kruger CM 123E");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 11,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 12,
+        "ORITY[\"EPSG\",\"2345\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2346, "epsg", 2346,
+        "Xian 1980 / Gauss-Kruger CM 123E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -671,19 +819,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",123],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]");
+        ",0],PARAMETER[\"central_meridian\",123],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "e_factor\",1],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2346\"]]");
-    p = add_epsg_def (filter, first, last, 2347, "epsg", 2347,
-        "Xian 1980 / Gauss-Kruger CM 129E");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 11,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 12,
+        "ORITY[\"EPSG\",\"2346\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2347, "epsg", 2347,
+        "Xian 1980 / Gauss-Kruger CM 129E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -699,19 +854,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",129],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]");
+        ",0],PARAMETER[\"central_meridian\",129],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "e_factor\",1],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2347\"]]");
-    p = add_epsg_def (filter, first, last, 2348, "epsg", 2348,
-        "Xian 1980 / Gauss-Kruger CM 135E");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 11,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 12,
+        "ORITY[\"EPSG\",\"2347\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2348, "epsg", 2348,
+        "Xian 1980 / Gauss-Kruger CM 135E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -727,19 +889,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",135],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]");
+        ",0],PARAMETER[\"central_meridian\",135],PARAMETER[\"scal");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "e_factor\",1],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2348\"]]");
-    p = add_epsg_def (filter, first, last, 2349, "epsg", 2349,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 25");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 11,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 12,
+        "ORITY[\"EPSG\",\"2348\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2349, "epsg", 2349,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 25", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0");
     add_proj4text (p, 1,
@@ -755,21 +924,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",75],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",75],PARAMET");
     add_srs_wkt (p, 9,
-        "25500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",25500");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "49\"]]");
-    p = add_epsg_def (filter, first, last, 2350, "epsg", 2350,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 26");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2349\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2350, "epsg", 2350,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 26", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0");
     add_proj4text (p, 1,
@@ -785,21 +959,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",78],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",78],PARAMET");
     add_srs_wkt (p, 9,
-        "26500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",26500");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "50\"]]");
-    p = add_epsg_def (filter, first, last, 2351, "epsg", 2351,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 27");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2350\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2351, "epsg", 2351,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 27", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0");
     add_proj4text (p, 1,
@@ -815,21 +994,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",81],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",81],PARAMET");
     add_srs_wkt (p, 9,
-        "27500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",27500");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "51\"]]");
-    p = add_epsg_def (filter, first, last, 2352, "epsg", 2352,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 28");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2351\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2352, "epsg", 2352,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 28", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0");
     add_proj4text (p, 1,
@@ -845,21 +1029,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",84],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",84],PARAMET");
     add_srs_wkt (p, 9,
-        "28500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",28500");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "52\"]]");
-    p = add_epsg_def (filter, first, last, 2353, "epsg", 2353,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 29");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2352\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2353, "epsg", 2353,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 29", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0");
     add_proj4text (p, 1,
@@ -875,21 +1064,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",87],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",87],PARAMET");
     add_srs_wkt (p, 9,
-        "29500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",29500");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "53\"]]");
-    p = add_epsg_def (filter, first, last, 2354, "epsg", 2354,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 30");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2353\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2354, "epsg", 2354,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 30", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0");
     add_proj4text (p, 1,
@@ -905,21 +1099,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",90],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",90],PARAMET");
     add_srs_wkt (p, 9,
-        "30500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",30500");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "54\"]]");
-    p = add_epsg_def (filter, first, last, 2355, "epsg", 2355,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 31");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2354\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2355, "epsg", 2355,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 31", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0");
     add_proj4text (p, 1,
@@ -935,21 +1134,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",93],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",93],PARAMET");
     add_srs_wkt (p, 9,
-        "31500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",31500");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "55\"]]");
-    p = add_epsg_def (filter, first, last, 2356, "epsg", 2356,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 32");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2355\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2356, "epsg", 2356,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 32", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0");
     add_proj4text (p, 1,
@@ -965,21 +1169,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",96],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",96],PARAMET");
     add_srs_wkt (p, 9,
-        "32500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",32500");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "56\"]]");
-    p = add_epsg_def (filter, first, last, 2357, "epsg", 2357,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 33");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2356\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2357, "epsg", 2357,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 33", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0");
     add_proj4text (p, 1,
@@ -995,21 +1204,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",99],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",99],PARAMET");
     add_srs_wkt (p, 9,
-        "33500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",33500");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "57\"]]");
-    p = add_epsg_def (filter, first, last, 2358, "epsg", 2358,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 34");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2357\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2358, "epsg", 2358,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 34", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=");
     add_proj4text (p, 1,
@@ -1025,21 +1239,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",102],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",102],PARAME");
     add_srs_wkt (p, 9,
-        ",34500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",3450");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "58\"]]");
-    p = add_epsg_def (filter, first, last, 2359, "epsg", 2359,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 35");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2358\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2359, "epsg", 2359,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 35", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=");
     add_proj4text (p, 1,
@@ -1055,21 +1274,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",105],PARAME");
     add_srs_wkt (p, 9,
-        ",35500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",3550");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "59\"]]");
-    p = add_epsg_def (filter, first, last, 2360, "epsg", 2360,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 36");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2359\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2360, "epsg", 2360,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 36", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=");
     add_proj4text (p, 1,
@@ -1085,21 +1309,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",108],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",108],PARAME");
     add_srs_wkt (p, 9,
-        ",36500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",3650");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "60\"]]");
-    p = add_epsg_def (filter, first, last, 2361, "epsg", 2361,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 37");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2360\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2361, "epsg", 2361,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 37", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=");
     add_proj4text (p, 1,
@@ -1115,21 +1344,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",111],PARAME");
     add_srs_wkt (p, 9,
-        ",37500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",3750");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "61\"]]");
-    p = add_epsg_def (filter, first, last, 2362, "epsg", 2362,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 38");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2361\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2362, "epsg", 2362,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 38", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=");
     add_proj4text (p, 1,
@@ -1145,21 +1379,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",114],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",114],PARAME");
     add_srs_wkt (p, 9,
-        ",38500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",3850");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "62\"]]");
-    p = add_epsg_def (filter, first, last, 2363, "epsg", 2363,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 39");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2362\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2363, "epsg", 2363,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 39", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=");
     add_proj4text (p, 1,
@@ -1175,21 +1414,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",117],PARAME");
     add_srs_wkt (p, 9,
-        ",39500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",3950");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "63\"]]");
-    p = add_epsg_def (filter, first, last, 2364, "epsg", 2364,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 40");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2363\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2364, "epsg", 2364,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 40", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=");
     add_proj4text (p, 1,
@@ -1205,21 +1449,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",120],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",120],PARAME");
     add_srs_wkt (p, 9,
-        ",40500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",4050");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "64\"]]");
-    p = add_epsg_def (filter, first, last, 2365, "epsg", 2365,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 41");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2364\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2365, "epsg", 2365,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 41", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=");
     add_proj4text (p, 1,
@@ -1235,21 +1484,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",123],PARAME");
     add_srs_wkt (p, 9,
-        ",41500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",4150");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "65\"]]");
-    p = add_epsg_def (filter, first, last, 2366, "epsg", 2366,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 42");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2365\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2366, "epsg", 2366,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 42", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=");
     add_proj4text (p, 1,
@@ -1265,21 +1519,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",126],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",126],PARAME");
     add_srs_wkt (p, 9,
-        ",42500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",4250");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "66\"]]");
-    p = add_epsg_def (filter, first, last, 2367, "epsg", 2367,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 43");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2366\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2367, "epsg", 2367,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 43", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=");
     add_proj4text (p, 1,
@@ -1295,21 +1554,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",129],PARAME");
     add_srs_wkt (p, 9,
-        ",43500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",4350");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "67\"]]");
-    p = add_epsg_def (filter, first, last, 2368, "epsg", 2368,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 44");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2367\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2368, "epsg", 2368,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 44", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=");
     add_proj4text (p, 1,
@@ -1325,21 +1589,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",132],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",132],PARAME");
     add_srs_wkt (p, 9,
-        ",44500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",4450");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "68\"]]");
-    p = add_epsg_def (filter, first, last, 2369, "epsg", 2369,
-        "Xian 1980 / 3-degree Gauss-Kruger zone 45");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2368\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2369, "epsg", 2369,
+        "Xian 1980 / 3-degree Gauss-Kruger zone 45", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=");
     add_proj4text (p, 1,
@@ -1355,21 +1624,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",135],PARAME");
     add_srs_wkt (p, 9,
-        ",45500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",4550");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"23");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "69\"]]");
-    p = add_epsg_def (filter, first, last, 2370, "epsg", 2370,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 75E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"2369\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2370, "epsg", 2370,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 75E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1385,21 +1659,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PRO");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",75],PA");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "_origin\",0],PARAMETER[\"central_meridian\",75],PARAMETE");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2370");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2371, "epsg", 2371,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 78E");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"2370\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2371, "epsg", 2371,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 78E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1415,21 +1694,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PRO");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",78],PA");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "_origin\",0],PARAMETER[\"central_meridian\",78],PARAMETE");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2371");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2372, "epsg", 2372,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 81E");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"2371\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2372, "epsg", 2372,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 81E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1445,21 +1729,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PRO");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",81],PA");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "_origin\",0],PARAMETER[\"central_meridian\",81],PARAMETE");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2372");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2373, "epsg", 2373,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 84E");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"2372\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2373, "epsg", 2373,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 84E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1475,21 +1764,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PRO");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",84],PA");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "_origin\",0],PARAMETER[\"central_meridian\",84],PARAMETE");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2373");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2374, "epsg", 2374,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 87E");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"2373\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2374, "epsg", 2374,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 87E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1505,21 +1799,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PRO");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",87],PA");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "_origin\",0],PARAMETER[\"central_meridian\",87],PARAMETE");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2374");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2375, "epsg", 2375,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 90E");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"2374\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2375, "epsg", 2375,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 90E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1535,21 +1834,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PRO");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",90],PA");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "_origin\",0],PARAMETER[\"central_meridian\",90],PARAMETE");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2375");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2376, "epsg", 2376,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 93E");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"2375\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2376, "epsg", 2376,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 93E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1565,21 +1869,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PRO");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",93],PA");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "_origin\",0],PARAMETER[\"central_meridian\",93],PARAMETE");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2376");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2377, "epsg", 2377,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 96E");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"2376\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2377, "epsg", 2377,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 96E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1595,21 +1904,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PRO");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",96],PA");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "_origin\",0],PARAMETER[\"central_meridian\",96],PARAMETE");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2377");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2378, "epsg", 2378,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 99E");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"2377\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2378, "epsg", 2378,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 99E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1625,21 +1939,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PRO");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",99],PA");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "_origin\",0],PARAMETER[\"central_meridian\",99],PARAMETE");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2378");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2379, "epsg", 2379,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 102E");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"2378\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2379, "epsg", 2379,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 102E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1655,21 +1974,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",102],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",102],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"237");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 2380, "epsg", 2380,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 105E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2379\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2380, "epsg", 2380,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 105E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1685,21 +2009,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",105],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"238");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 2381, "epsg", 2381,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 108E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2380\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2381, "epsg", 2381,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 108E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1715,21 +2044,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",108],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",108],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"238");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 2382, "epsg", 2382,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 111E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2381\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2382, "epsg", 2382,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 111E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1745,21 +2079,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",111],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"238");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 2383, "epsg", 2383,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 114E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2382\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2383, "epsg", 2383,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 114E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1775,21 +2114,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",114],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",114],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"238");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 2384, "epsg", 2384,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 117E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2383\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2384, "epsg", 2384,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 117E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1805,21 +2149,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",117],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"238");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 2385, "epsg", 2385,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 120E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2384\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2385, "epsg", 2385,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 120E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1835,21 +2184,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",120],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",120],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"238");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "5\"]]");
-    p = add_epsg_def (filter, first, last, 2386, "epsg", 2386,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 123E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2385\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2386, "epsg", 2386,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 123E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1865,21 +2219,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",123],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"238");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "6\"]]");
-    p = add_epsg_def (filter, first, last, 2387, "epsg", 2387,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 126E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2386\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2387, "epsg", 2387,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 126E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1895,21 +2254,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",126],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",126],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"238");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "7\"]]");
-    p = add_epsg_def (filter, first, last, 2388, "epsg", 2388,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 129E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2387\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2388, "epsg", 2388,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 129E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1925,21 +2289,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",129],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"238");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "8\"]]");
-    p = add_epsg_def (filter, first, last, 2389, "epsg", 2389,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 132E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2388\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2389, "epsg", 2389,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 132E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1955,21 +2324,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",132],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",132],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"238");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 2390, "epsg", 2390,
-        "Xian 1980 / 3-degree Gauss-Kruger CM 135E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2389\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2390, "epsg", 2390,
+        "Xian 1980 / 3-degree Gauss-Kruger CM 135E", 0, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1985,21 +2359,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4610\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",135],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"239");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 2391, "epsg", 2391,
-        "KKJ / Finland zone 1");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"2390\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2391, "epsg", 2391,
+        "KKJ / Finland zone 1", 0, 1,
+        "International 1924", "Greenwich",
+        "Kartastokoordinaattijarjestelma_1966", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=1500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2019,21 +2398,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        ",\"4123\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "23\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "\",21],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",21");
     add_srs_wkt (p, 10,
-        "asting\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",\"2391\"]]");
-    p = add_epsg_def (filter, first, last, 2392, "epsg", 2392,
-        "KKJ / Finland zone 2");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2391\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2392, "epsg", 2392,
+        "KKJ / Finland zone 2", 0, 1,
+        "International 1924", "Greenwich",
+        "Kartastokoordinaattijarjestelma_1966", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=2500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2053,21 +2437,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        ",\"4123\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "23\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "\",24],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",24");
     add_srs_wkt (p, 10,
-        "asting\",2500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",2500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",\"2392\"]]");
-    p = add_epsg_def (filter, first, last, 2393, "epsg", 2393,
-        "KKJ / Finland Uniform Coordinate System");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2392\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2393, "epsg", 2393,
+        "KKJ / Finland Uniform Coordinate System", 0, 1,
+        "International 1924", "Greenwich",
+        "Kartastokoordinaattijarjestelma_1966", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2089,19 +2478,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4123\"]],PROJECTION[\"Transverse_M");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "RITY[\"EPSG\",\"4123\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",27],PARAMETER[\"scale_factor\",1],");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",3500000],PARAMETER[\"false_n");
+        "tral_meridian\",27],PARAMETER[\"scale_factor\",1],PARAME");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "TER[\"false_easting\",3500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "]],AUTHORITY[\"EPSG\",\"2393\"]]");
-    p = add_epsg_def (filter, first, last, 2394, "epsg", 2394,
-        "KKJ / Finland zone 4");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"23");
+    add_srs_wkt (p, 14,
+        "93\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2394, "epsg", 2394,
+        "KKJ / Finland zone 4", 0, 1,
+        "International 1924", "Greenwich",
+        "Kartastokoordinaattijarjestelma_1966", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2121,21 +2517,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        ",\"4123\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "23\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "\",30],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",30");
     add_srs_wkt (p, 10,
-        "asting\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",\"2394\"]]");
-    p = add_epsg_def (filter, first, last, 2395, "epsg", 2395,
-        "South Yemen / Gauss-Kruger zone 8");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2394\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2395, "epsg", 2395,
+        "South Yemen / Gauss-Kruger zone 8", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "South_Yemen", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2155,19 +2556,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4164\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4164\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",45],PARAMETER[\"scale_factor\",1");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",8500000],PARAMETER[\"false");
+        "entral_meridian\",45],PARAMETER[\"scale_factor\",1],PARA");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "METER[\"false_easting\",8500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "1\"]],AUTHORITY[\"EPSG\",\"2395\"]]");
-    p = add_epsg_def (filter, first, last, 2396, "epsg", 2396,
-        "South Yemen / Gauss-Kruger zone 9");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "2395\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2396, "epsg", 2396,
+        "South Yemen / Gauss-Kruger zone 9", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "South_Yemen", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2187,19 +2595,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4164\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4164\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",51],PARAMETER[\"scale_factor\",1");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",9500000],PARAMETER[\"false");
+        "entral_meridian\",51],PARAMETER[\"scale_factor\",1],PARA");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "METER[\"false_easting\",9500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "1\"]],AUTHORITY[\"EPSG\",\"2396\"]]");
-    p = add_epsg_def (filter, first, last, 2397, "epsg", 2397,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "2396\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2397, "epsg", 2397,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2219,21 +2634,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",9],PARAM");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",350");
+        "rigin\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",3500000],P");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2397\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2398, "epsg", 2398,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2397\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2398, "epsg", 2398,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2253,21 +2673,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",12],PARA");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",45");
+        "rigin\",0],PARAMETER[\"central_meridian\",12],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",4500000]");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2398\"");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2399, "epsg", 2399,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"2398\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2399, "epsg", 2399,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2287,21 +2712,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",15],PARA");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",55");
+        "rigin\",0],PARAMETER[\"central_meridian\",15],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",5500000]");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2399\"");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2400, "epsg", 2400,
-        "RT90 2.5 gon W (deprecated)");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"2399\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2400, "epsg", 2400,
+        "RT90 2.5 gon W (deprecated)", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Rikets_koordinatsystem_1990", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2321,21 +2751,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4124");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4124\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",15.8");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "0827777777778],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",15.8082777");
     add_srs_wkt (p, 10,
-        "false_easting\",1500000],PARAMETER[\"false_northing\",0]");
+        "7777778],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORIT");
+        "_easting\",1500000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"2400\"]]");
-    p = add_epsg_def (filter, first, last, 2401, "epsg", 2401,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 25");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2400\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2401, "epsg", 2401,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 25", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2355,19 +2790,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",75],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",255000");
+        "n\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ale_factor\",1],PARAMETER[\"false_easting\",25500000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2401\"]]");
-    p = add_epsg_def (filter, first, last, 2402, "epsg", 2402,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 26");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2401\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2402, "epsg", 2402,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 26", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2387,19 +2829,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",78],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",265000");
+        "n\",0],PARAMETER[\"central_meridian\",78],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ale_factor\",1],PARAMETER[\"false_easting\",26500000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2402\"]]");
-    p = add_epsg_def (filter, first, last, 2403, "epsg", 2403,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 27");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2402\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2403, "epsg", 2403,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 27", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2419,19 +2868,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",81],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",275000");
+        "n\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ale_factor\",1],PARAMETER[\"false_easting\",27500000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2403\"]]");
-    p = add_epsg_def (filter, first, last, 2404, "epsg", 2404,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 28");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2403\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2404, "epsg", 2404,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 28", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2451,19 +2907,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",84],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",285000");
+        "n\",0],PARAMETER[\"central_meridian\",84],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ale_factor\",1],PARAMETER[\"false_easting\",28500000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2404\"]]");
-    p = add_epsg_def (filter, first, last, 2405, "epsg", 2405,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 29");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2404\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2405, "epsg", 2405,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 29", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2483,19 +2946,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",87],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",295000");
+        "n\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ale_factor\",1],PARAMETER[\"false_easting\",29500000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2405\"]]");
-    p = add_epsg_def (filter, first, last, 2406, "epsg", 2406,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 30");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2405\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2406, "epsg", 2406,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 30", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2515,19 +2985,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",90],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",305000");
+        "n\",0],PARAMETER[\"central_meridian\",90],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ale_factor\",1],PARAMETER[\"false_easting\",30500000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2406\"]]");
-    p = add_epsg_def (filter, first, last, 2407, "epsg", 2407,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 31");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2406\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2407, "epsg", 2407,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 31", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2547,19 +3024,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",93],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",315000");
+        "n\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ale_factor\",1],PARAMETER[\"false_easting\",31500000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2407\"]]");
-    p = add_epsg_def (filter, first, last, 2408, "epsg", 2408,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 32");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2407\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2408, "epsg", 2408,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 32", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2579,19 +3063,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",96],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",325000");
+        "n\",0],PARAMETER[\"central_meridian\",96],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ale_factor\",1],PARAMETER[\"false_easting\",32500000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2408\"]]");
-    p = add_epsg_def (filter, first, last, 2409, "epsg", 2409,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 33");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2408\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2409, "epsg", 2409,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 33", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2611,19 +3102,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",99],PARAMETE");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",335000");
+        "n\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ale_factor\",1],PARAMETER[\"false_easting\",33500000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2409\"]]");
-    p = add_epsg_def (filter, first, last, 2410, "epsg", 2410,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 34");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2409\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2410, "epsg", 2410,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 34", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=");
     add_proj4text (p, 1,
@@ -2643,21 +3141,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",102],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",34500");
+        "n\",0],PARAMETER[\"central_meridian\",102],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",34500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2410\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2411, "epsg", 2411,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 35");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2410\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2411, "epsg", 2411,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 35", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=");
     add_proj4text (p, 1,
@@ -2677,21 +3180,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",105],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",35500");
+        "n\",0],PARAMETER[\"central_meridian\",105],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",35500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2411\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2412, "epsg", 2412,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 36");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2411\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2412, "epsg", 2412,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 36", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=");
     add_proj4text (p, 1,
@@ -2711,21 +3219,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",108],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",36500");
+        "n\",0],PARAMETER[\"central_meridian\",108],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",36500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2412\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2413, "epsg", 2413,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 37");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2412\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2413, "epsg", 2413,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 37", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=");
     add_proj4text (p, 1,
@@ -2745,21 +3258,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",111],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",37500");
+        "n\",0],PARAMETER[\"central_meridian\",111],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",37500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2413\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2414, "epsg", 2414,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 38");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2413\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2414, "epsg", 2414,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 38", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=");
     add_proj4text (p, 1,
@@ -2779,21 +3297,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",114],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",38500");
+        "n\",0],PARAMETER[\"central_meridian\",114],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",38500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2414\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2415, "epsg", 2415,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 39");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2414\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2415, "epsg", 2415,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 39", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=");
     add_proj4text (p, 1,
@@ -2813,21 +3336,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",117],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",39500");
+        "n\",0],PARAMETER[\"central_meridian\",117],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",39500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2415\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2416, "epsg", 2416,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 40");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2415\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2416, "epsg", 2416,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 40", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=");
     add_proj4text (p, 1,
@@ -2847,21 +3375,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",120],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",40500");
+        "n\",0],PARAMETER[\"central_meridian\",120],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",40500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2416\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2417, "epsg", 2417,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 41");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2416\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2417, "epsg", 2417,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 41", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=");
     add_proj4text (p, 1,
@@ -2881,21 +3414,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",123],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",41500");
+        "n\",0],PARAMETER[\"central_meridian\",123],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",41500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2417\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2418, "epsg", 2418,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 42");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2417\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2418, "epsg", 2418,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 42", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=");
     add_proj4text (p, 1,
@@ -2915,21 +3453,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",126],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",42500");
+        "n\",0],PARAMETER[\"central_meridian\",126],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",42500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2418\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2419, "epsg", 2419,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 43");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2418\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2419, "epsg", 2419,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 43", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=");
     add_proj4text (p, 1,
@@ -2949,21 +3492,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",129],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",43500");
+        "n\",0],PARAMETER[\"central_meridian\",129],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",43500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2419\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2420, "epsg", 2420,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 44");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2419\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2420, "epsg", 2420,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 44", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=");
     add_proj4text (p, 1,
@@ -2983,21 +3531,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",132],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",44500");
+        "n\",0],PARAMETER[\"central_meridian\",132],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",44500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2420\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2421, "epsg", 2421,
-        "Beijing 1954 / 3-degree Gauss-Kruger zone 45");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2420\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2421, "epsg", 2421,
+        "Beijing 1954 / 3-degree Gauss-Kruger zone 45", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=");
     add_proj4text (p, 1,
@@ -3017,21 +3570,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",135],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",45500");
+        "n\",0],PARAMETER[\"central_meridian\",135],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",45500000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2421\"]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2422, "epsg", 2422,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 75E");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2421\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2422, "epsg", 2422,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 75E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3051,19 +3609,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",75],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
+        ",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2422\"]]");
-    p = add_epsg_def (filter, first, last, 2423, "epsg", 2423,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 78E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2422\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2423, "epsg", 2423,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 78E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3083,19 +3648,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",78],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
+        ",0],PARAMETER[\"central_meridian\",78],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2423\"]]");
-    p = add_epsg_def (filter, first, last, 2424, "epsg", 2424,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 81E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2423\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2424, "epsg", 2424,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 81E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3115,19 +3687,26 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",81],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
+        ",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2424\"]]");
-    p = add_epsg_def (filter, first, last, 2425, "epsg", 2425,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 84E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2424\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2425, "epsg", 2425,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 84E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3147,17 +3726,21 @@ initialize_epsg_03 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",84],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
+        ",0],PARAMETER[\"central_meridian\",84],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2425\"]]");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2425\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_04.c b/src/srsinit/epsg_inlined_04.c
index e80e580..113f218 100644
--- a/src/srsinit/epsg_inlined_04.c
+++ b/src/srsinit/epsg_inlined_04.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 2426, "epsg", 2426,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 87E");
+    p = add_epsg_def_ex (filter, first, last, 2426, "epsg", 2426,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 87E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -73,19 +78,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",87],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
+        ",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2426\"]]");
-    p = add_epsg_def (filter, first, last, 2427, "epsg", 2427,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 90E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2426\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2427, "epsg", 2427,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 90E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -105,19 +117,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",90],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
+        ",0],PARAMETER[\"central_meridian\",90],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2427\"]]");
-    p = add_epsg_def (filter, first, last, 2428, "epsg", 2428,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 93E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2427\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2428, "epsg", 2428,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 93E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -137,19 +156,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",93],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
+        ",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2428\"]]");
-    p = add_epsg_def (filter, first, last, 2429, "epsg", 2429,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 96E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2428\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2429, "epsg", 2429,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 96E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -169,19 +195,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",96],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
+        ",0],PARAMETER[\"central_meridian\",96],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2429\"]]");
-    p = add_epsg_def (filter, first, last, 2430, "epsg", 2430,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 99E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2429\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2430, "epsg", 2430,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 99E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -201,19 +234,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",99],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
+        ",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2430\"]]");
-    p = add_epsg_def (filter, first, last, 2431, "epsg", 2431,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 102E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2430\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2431, "epsg", 2431,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 102E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -233,19 +273,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",102],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",102],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2431\"]]");
-    p = add_epsg_def (filter, first, last, 2432, "epsg", 2432,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 105E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2431\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2432, "epsg", 2432,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 105E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -265,19 +312,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",105],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",105],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2432\"]]");
-    p = add_epsg_def (filter, first, last, 2433, "epsg", 2433,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 108E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2432\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2433, "epsg", 2433,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 108E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -297,19 +351,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",108],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",108],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2433\"]]");
-    p = add_epsg_def (filter, first, last, 2434, "epsg", 2434,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 111E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2433\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2434, "epsg", 2434,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 111E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -329,19 +390,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",111],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",111],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2434\"]]");
-    p = add_epsg_def (filter, first, last, 2435, "epsg", 2435,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 114E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2434\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2435, "epsg", 2435,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 114E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -361,19 +429,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",114],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",114],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2435\"]]");
-    p = add_epsg_def (filter, first, last, 2436, "epsg", 2436,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 117E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2435\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2436, "epsg", 2436,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 117E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -393,19 +468,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",117],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",117],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2436\"]]");
-    p = add_epsg_def (filter, first, last, 2437, "epsg", 2437,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 120E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2436\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2437, "epsg", 2437,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 120E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -425,19 +507,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",120],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",120],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2437\"]]");
-    p = add_epsg_def (filter, first, last, 2438, "epsg", 2438,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 123E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2437\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2438, "epsg", 2438,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 123E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -457,19 +546,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",123],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",123],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2438\"]]");
-    p = add_epsg_def (filter, first, last, 2439, "epsg", 2439,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 126E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2438\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2439, "epsg", 2439,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 126E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -489,19 +585,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",126],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",126],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2439\"]]");
-    p = add_epsg_def (filter, first, last, 2440, "epsg", 2440,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 129E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2439\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2440, "epsg", 2440,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 129E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -521,19 +624,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",129],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",129],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2440\"]]");
-    p = add_epsg_def (filter, first, last, 2441, "epsg", 2441,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 132E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2440\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2441, "epsg", 2441,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 132E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -553,19 +663,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",132],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",132],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2441\"]]");
-    p = add_epsg_def (filter, first, last, 2442, "epsg", 2442,
-        "Beijing 1954 / 3-degree Gauss-Kruger CM 135E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2441\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2442, "epsg", 2442,
+        "Beijing 1954 / 3-degree Gauss-Kruger CM 135E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -585,19 +702,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",135],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",135],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2442\"]]");
-    p = add_epsg_def (filter, first, last, 2443, "epsg", 2443,
-        "JGD2000 / Japan Plane Rectangular CS I");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2442\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2443, "epsg", 2443,
+        "JGD2000 / Japan Plane Rectangular CS I", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
@@ -615,19 +739,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",33],PARAMETER[\"central_meridian\",129.5],PARAMETER[");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",33");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0],");
+        "],PARAMETER[\"central_meridian\",129.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAME");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2443\"]]");
-    p = add_epsg_def (filter, first, last, 2444, "epsg", 2444,
-        "JGD2000 / Japan Plane Rectangular CS II");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"2443\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2444, "epsg", 2444,
+        "JGD2000 / Japan Plane Rectangular CS II", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -645,19 +776,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",33],PARAMETER[\"central_meridian\",131],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",0],PA");
+        "3],PARAMETER[\"central_meridian\",131],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMET");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2444\"]]");
-    p = add_epsg_def (filter, first, last, 2445, "epsg", 2445,
-        "JGD2000 / Japan Plane Rectangular CS III");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2444\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2445, "epsg", 2445,
+        "JGD2000 / Japan Plane Rectangular CS III", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999");
     add_proj4text (p, 1,
@@ -677,21 +815,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",36],PARAMETER[\"central_meridian\",132.166666666666");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
+        "6],PARAMETER[\"central_meridian\",132.1666666666667],PAR");
     add_srs_wkt (p, 10,
-        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "AMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "2445\"]]");
-    p = add_epsg_def (filter, first, last, 2446, "epsg", 2446,
-        "JGD2000 / Japan Plane Rectangular CS IV");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2445\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2446, "epsg", 2446,
+        "JGD2000 / Japan Plane Rectangular CS IV", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
@@ -709,19 +852,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",33],PARAMETER[\"central_meridian\",133.5],PARAMETER");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0]");
+        "3],PARAMETER[\"central_meridian\",133.5],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2446\"]]");
-    p = add_epsg_def (filter, first, last, 2447, "epsg", 2447,
-        "JGD2000 / Japan Plane Rectangular CS V");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2446\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2447, "epsg", 2447,
+        "JGD2000 / Japan Plane Rectangular CS V", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999");
     add_proj4text (p, 1,
@@ -741,21 +891,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",36],PARAMETER[\"central_meridian\",134.3333333333333");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",36");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_e");
+        "],PARAMETER[\"central_meridian\",134.3333333333333],PARA");
     add_srs_wkt (p, 10,
-        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "METER[\"scale_factor\",0.9999],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2447\"]]");
-    p = add_epsg_def (filter, first, last, 2448, "epsg", 2448,
-        "JGD2000 / Japan Plane Rectangular CS VI");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2447\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2448, "epsg", 2448,
+        "JGD2000 / Japan Plane Rectangular CS VI", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -773,19 +928,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",36],PARAMETER[\"central_meridian\",136],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",0],PA");
+        "6],PARAMETER[\"central_meridian\",136],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMET");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2448\"]]");
-    p = add_epsg_def (filter, first, last, 2449, "epsg", 2449,
-        "JGD2000 / Japan Plane Rectangular CS VII");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2448\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2449, "epsg", 2449,
+        "JGD2000 / Japan Plane Rectangular CS VII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999");
     add_proj4text (p, 1,
@@ -805,21 +967,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",36],PARAMETER[\"central_meridian\",137.166666666666");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
+        "6],PARAMETER[\"central_meridian\",137.1666666666667],PAR");
     add_srs_wkt (p, 10,
-        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "AMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "2449\"]]");
-    p = add_epsg_def (filter, first, last, 2450, "epsg", 2450,
-        "JGD2000 / Japan Plane Rectangular CS VIII");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2449\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2450, "epsg", 2450,
+        "JGD2000 / Japan Plane Rectangular CS VIII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
@@ -837,19 +1004,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",36],PARAMETER[\"central_meridian\",138.5],PARAMET");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",");
+        "36],PARAMETER[\"central_meridian\",138.5],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",0.9999],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2450\"]]");
-    p = add_epsg_def (filter, first, last, 2451, "epsg", 2451,
-        "JGD2000 / Japan Plane Rectangular CS IX");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2450\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2451, "epsg", 2451,
+        "JGD2000 / Japan Plane Rectangular CS IX", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999");
     add_proj4text (p, 1,
@@ -869,21 +1043,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",36],PARAMETER[\"central_meridian\",139.833333333333");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
+        "6],PARAMETER[\"central_meridian\",139.8333333333333],PAR");
     add_srs_wkt (p, 10,
-        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "AMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "2451\"]]");
-    p = add_epsg_def (filter, first, last, 2452, "epsg", 2452,
-        "JGD2000 / Japan Plane Rectangular CS X");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2451\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2452, "epsg", 2452,
+        "JGD2000 / Japan Plane Rectangular CS X", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999");
     add_proj4text (p, 1,
@@ -903,21 +1082,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",40],PARAMETER[\"central_meridian\",140.8333333333333");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",40");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_e");
+        "],PARAMETER[\"central_meridian\",140.8333333333333],PARA");
     add_srs_wkt (p, 10,
-        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "METER[\"scale_factor\",0.9999],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2452\"]]");
-    p = add_epsg_def (filter, first, last, 2453, "epsg", 2453,
-        "JGD2000 / Japan Plane Rectangular CS XI");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2452\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2453, "epsg", 2453,
+        "JGD2000 / Japan Plane Rectangular CS XI", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_");
     add_proj4text (p, 1,
@@ -937,19 +1121,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",44],PARAMETER[\"central_meridian\",140.25],PARAMETE");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0");
+        "4],PARAMETER[\"central_meridian\",140.25],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "ale_factor\",0.9999],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2453\"]]");
-    p = add_epsg_def (filter, first, last, 2454, "epsg", 2454,
-        "JGD2000 / Japan Plane Rectangular CS XII");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2453\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2454, "epsg", 2454,
+        "JGD2000 / Japan Plane Rectangular CS XII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_");
     add_proj4text (p, 1,
@@ -969,19 +1160,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",44],PARAMETER[\"central_meridian\",142.25],PARAMETE");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0");
+        "4],PARAMETER[\"central_meridian\",142.25],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "ale_factor\",0.9999],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2454\"]]");
-    p = add_epsg_def (filter, first, last, 2455, "epsg", 2455,
-        "JGD2000 / Japan Plane Rectangular CS XIII");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2454\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2455, "epsg", 2455,
+        "JGD2000 / Japan Plane Rectangular CS XIII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_");
     add_proj4text (p, 1,
@@ -1001,19 +1199,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",44],PARAMETER[\"central_meridian\",144.25],PARAME");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
+        "44],PARAMETER[\"central_meridian\",144.25],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "cale_factor\",0.9999],PARAMETER[\"false_easting\",0],PAR");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2455\"]]");
-    p = add_epsg_def (filter, first, last, 2456, "epsg", 2456,
-        "JGD2000 / Japan Plane Rectangular CS XIV");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2455\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2456, "epsg", 2456,
+        "JGD2000 / Japan Plane Rectangular CS XIV", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1031,19 +1236,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",26],PARAMETER[\"central_meridian\",142],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",0],PA");
+        "6],PARAMETER[\"central_meridian\",142],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMET");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2456\"]]");
-    p = add_epsg_def (filter, first, last, 2457, "epsg", 2457,
-        "JGD2000 / Japan Plane Rectangular CS XV");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2456\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2457, "epsg", 2457,
+        "JGD2000 / Japan Plane Rectangular CS XV", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
@@ -1061,19 +1273,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",26],PARAMETER[\"central_meridian\",127.5],PARAMETER");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0]");
+        "6],PARAMETER[\"central_meridian\",127.5],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2457\"]]");
-    p = add_epsg_def (filter, first, last, 2458, "epsg", 2458,
-        "JGD2000 / Japan Plane Rectangular CS XVI");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2457\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2458, "epsg", 2458,
+        "JGD2000 / Japan Plane Rectangular CS XVI", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1091,19 +1310,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",26],PARAMETER[\"central_meridian\",124],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",0],PA");
+        "6],PARAMETER[\"central_meridian\",124],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMET");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2458\"]]");
-    p = add_epsg_def (filter, first, last, 2459, "epsg", 2459,
-        "JGD2000 / Japan Plane Rectangular CS XVII");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2458\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2459, "epsg", 2459,
+        "JGD2000 / Japan Plane Rectangular CS XVII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1121,19 +1347,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",26],PARAMETER[\"central_meridian\",131],PARAMETER");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0]");
+        "26],PARAMETER[\"central_meridian\",131],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAME");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2459\"]]");
-    p = add_epsg_def (filter, first, last, 2460, "epsg", 2460,
-        "JGD2000 / Japan Plane Rectangular CS XVIII");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"2459\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2460, "epsg", 2460,
+        "JGD2000 / Japan Plane Rectangular CS XVIII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1151,19 +1384,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",20],PARAMETER[\"central_meridian\",136],PARAMETE");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0");
+        ",20],PARAMETER[\"central_meridian\",136],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2460\"]]");
-    p = add_epsg_def (filter, first, last, 2461, "epsg", 2461,
-        "JGD2000 / Japan Plane Rectangular CS XIX");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2460\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2461, "epsg", 2461,
+        "JGD2000 / Japan Plane Rectangular CS XIX", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1181,19 +1421,26 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",26],PARAMETER[\"central_meridian\",154],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",0],PA");
+        "6],PARAMETER[\"central_meridian\",154],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMET");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2461\"]]");
-    p = add_epsg_def (filter, first, last, 2462, "epsg", 2462,
-        "Albanian 1987 / Gauss-Kruger zone 4");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2461\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2462, "epsg", 2462,
+        "Albanian 1987 / Gauss-Kruger zone 4", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Albanian_1987", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1209,27 +1456,32 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4191\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4191");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",21],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",21],");
     add_srs_wkt (p, 9,
-        "ting\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 10,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",4500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 11,
-        ",\"2462\"]]");
-    p = add_epsg_def (filter, first, last, 2463, "epsg", 2463,
-        "Pulkovo 1995 / Gauss-Kruger CM 21E");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2462\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2463, "epsg", 2463,
+        "Pulkovo 1995 / Gauss-Kruger CM 21E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 21E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1237,31 +1489,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",21],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2463\"]]");
-    p = add_epsg_def (filter, first, last, 2464, "epsg", 2464,
-        "Pulkovo 1995 / Gauss-Kruger CM 27E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2463\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2464, "epsg", 2464,
+        "Pulkovo 1995 / Gauss-Kruger CM 27E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 27E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1269,31 +1528,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",27],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2464\"]]");
-    p = add_epsg_def (filter, first, last, 2465, "epsg", 2465,
-        "Pulkovo 1995 / Gauss-Kruger CM 33E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2464\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2465, "epsg", 2465,
+        "Pulkovo 1995 / Gauss-Kruger CM 33E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 33E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1301,31 +1567,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",33],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2465\"]]");
-    p = add_epsg_def (filter, first, last, 2466, "epsg", 2466,
-        "Pulkovo 1995 / Gauss-Kruger CM 39E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2465\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2466, "epsg", 2466,
+        "Pulkovo 1995 / Gauss-Kruger CM 39E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 39E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1333,31 +1606,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",39],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2466\"]]");
-    p = add_epsg_def (filter, first, last, 2467, "epsg", 2467,
-        "Pulkovo 1995 / Gauss-Kruger CM 45E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2466\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2467, "epsg", 2467,
+        "Pulkovo 1995 / Gauss-Kruger CM 45E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 45E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1365,31 +1645,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",45],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2467\"]]");
-    p = add_epsg_def (filter, first, last, 2468, "epsg", 2468,
-        "Pulkovo 1995 / Gauss-Kruger CM 51E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2467\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2468, "epsg", 2468,
+        "Pulkovo 1995 / Gauss-Kruger CM 51E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 51E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1397,31 +1684,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",51],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2468\"]]");
-    p = add_epsg_def (filter, first, last, 2469, "epsg", 2469,
-        "Pulkovo 1995 / Gauss-Kruger CM 57E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2468\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2469, "epsg", 2469,
+        "Pulkovo 1995 / Gauss-Kruger CM 57E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 57E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1429,31 +1723,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",57],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2469\"]]");
-    p = add_epsg_def (filter, first, last, 2470, "epsg", 2470,
-        "Pulkovo 1995 / Gauss-Kruger CM 63E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2469\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2470, "epsg", 2470,
+        "Pulkovo 1995 / Gauss-Kruger CM 63E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 63E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1461,31 +1762,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",63],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2470\"]]");
-    p = add_epsg_def (filter, first, last, 2471, "epsg", 2471,
-        "Pulkovo 1995 / Gauss-Kruger CM 69E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2470\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2471, "epsg", 2471,
+        "Pulkovo 1995 / Gauss-Kruger CM 69E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 69E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1493,31 +1801,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",69],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2471\"]]");
-    p = add_epsg_def (filter, first, last, 2472, "epsg", 2472,
-        "Pulkovo 1995 / Gauss-Kruger CM 75E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2471\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2472, "epsg", 2472,
+        "Pulkovo 1995 / Gauss-Kruger CM 75E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 75E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1525,31 +1840,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",75],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2472\"]]");
-    p = add_epsg_def (filter, first, last, 2473, "epsg", 2473,
-        "Pulkovo 1995 / Gauss-Kruger CM 81E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2472\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2473, "epsg", 2473,
+        "Pulkovo 1995 / Gauss-Kruger CM 81E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 81E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1557,31 +1879,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",81],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2473\"]]");
-    p = add_epsg_def (filter, first, last, 2474, "epsg", 2474,
-        "Pulkovo 1995 / Gauss-Kruger CM 87E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2473\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2474, "epsg", 2474,
+        "Pulkovo 1995 / Gauss-Kruger CM 87E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 87E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1589,31 +1918,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",87],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2474\"]]");
-    p = add_epsg_def (filter, first, last, 2475, "epsg", 2475,
-        "Pulkovo 1995 / Gauss-Kruger CM 93E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2474\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2475, "epsg", 2475,
+        "Pulkovo 1995 / Gauss-Kruger CM 93E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 93E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1621,31 +1957,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",93],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2475\"]]");
-    p = add_epsg_def (filter, first, last, 2476, "epsg", 2476,
-        "Pulkovo 1995 / Gauss-Kruger CM 99E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2475\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2476, "epsg", 2476,
+        "Pulkovo 1995 / Gauss-Kruger CM 99E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 99E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -1653,31 +1996,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",99],PARAMET");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "n\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2476\"]]");
-    p = add_epsg_def (filter, first, last, 2477, "epsg", 2477,
-        "Pulkovo 1995 / Gauss-Kruger CM 105E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"2476\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2477, "epsg", 2477,
+        "Pulkovo 1995 / Gauss-Kruger CM 105E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 105E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1685,33 +2035,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",105],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",105],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2477\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2478, "epsg", 2478,
-        "Pulkovo 1995 / Gauss-Kruger CM 111E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2477\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2478, "epsg", 2478,
+        "Pulkovo 1995 / Gauss-Kruger CM 111E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 111E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1719,33 +2074,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",111],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",111],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2478\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2479, "epsg", 2479,
-        "Pulkovo 1995 / Gauss-Kruger CM 117E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2478\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2479, "epsg", 2479,
+        "Pulkovo 1995 / Gauss-Kruger CM 117E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 117E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1753,33 +2113,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",117],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",117],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2479\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2480, "epsg", 2480,
-        "Pulkovo 1995 / Gauss-Kruger CM 123E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2479\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2480, "epsg", 2480,
+        "Pulkovo 1995 / Gauss-Kruger CM 123E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 123E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1787,33 +2152,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",123],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",123],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2480\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2481, "epsg", 2481,
-        "Pulkovo 1995 / Gauss-Kruger CM 129E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2480\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2481, "epsg", 2481,
+        "Pulkovo 1995 / Gauss-Kruger CM 129E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 129E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1821,33 +2191,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",129],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",129],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2481\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2482, "epsg", 2482,
-        "Pulkovo 1995 / Gauss-Kruger CM 135E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2481\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2482, "epsg", 2482,
+        "Pulkovo 1995 / Gauss-Kruger CM 135E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 135E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1855,33 +2230,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",135],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",135],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2482\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2483, "epsg", 2483,
-        "Pulkovo 1995 / Gauss-Kruger CM 141E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2482\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2483, "epsg", 2483,
+        "Pulkovo 1995 / Gauss-Kruger CM 141E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 141E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1889,33 +2269,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",141],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",141],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2483\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2484, "epsg", 2484,
-        "Pulkovo 1995 / Gauss-Kruger CM 147E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2483\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2484, "epsg", 2484,
+        "Pulkovo 1995 / Gauss-Kruger CM 147E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 147E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1923,33 +2308,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",147],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",147],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2484\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2485, "epsg", 2485,
-        "Pulkovo 1995 / Gauss-Kruger CM 153E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2484\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2485, "epsg", 2485,
+        "Pulkovo 1995 / Gauss-Kruger CM 153E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 153E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1957,33 +2347,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",153],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",153],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2485\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2486, "epsg", 2486,
-        "Pulkovo 1995 / Gauss-Kruger CM 159E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2485\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2486, "epsg", 2486,
+        "Pulkovo 1995 / Gauss-Kruger CM 159E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 159E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1991,33 +2386,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",159],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",159],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2486\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2487, "epsg", 2487,
-        "Pulkovo 1995 / Gauss-Kruger CM 165E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2486\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2487, "epsg", 2487,
+        "Pulkovo 1995 / Gauss-Kruger CM 165E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 165E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2025,33 +2425,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",165],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",165],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2487\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2488, "epsg", 2488,
-        "Pulkovo 1995 / Gauss-Kruger CM 171E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2487\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2488, "epsg", 2488,
+        "Pulkovo 1995 / Gauss-Kruger CM 171E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 171E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2059,33 +2464,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",171],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",171],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2488\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2489, "epsg", 2489,
-        "Pulkovo 1995 / Gauss-Kruger CM 177E");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2488\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2489, "epsg", 2489,
+        "Pulkovo 1995 / Gauss-Kruger CM 177E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 177E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2093,33 +2503,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",177],PARA");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "in\",0],PARAMETER[\"central_meridian\",177],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2489\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2490, "epsg", 2490,
-        "Pulkovo 1995 / Gauss-Kruger CM 177W");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2489\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2490, "epsg", 2490,
+        "Pulkovo 1995 / Gauss-Kruger CM 177W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 177W\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2127,33 +2542,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",-177],PAR");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "in\",0],PARAMETER[\"central_meridian\",-177],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2490\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2491, "epsg", 2491,
-        "Pulkovo 1995 / Gauss-Kruger CM 171W");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2490\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2491, "epsg", 2491,
+        "Pulkovo 1995 / Gauss-Kruger CM 171W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 171W\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2161,33 +2581,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",-171],PAR");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "in\",0],PARAMETER[\"central_meridian\",-171],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2491\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2492, "epsg", 2492,
-        "Pulkovo 1942 / Gauss-Kruger CM 9E (deprecated)");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2491\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2492, "epsg", 2492,
+        "Pulkovo 1942 / Gauss-Kruger CM 9E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +e");
     add_proj4text (p, 1,
-        "llps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.");
+        "llps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.1");
     add_proj4text (p, 2,
-        "12 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 9E (deprecated)\"");
     add_srs_wkt (p, 1,
@@ -2195,33 +2620,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12]");
+        "7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AU");
+        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",9],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2492\"]]");
-    p = add_epsg_def (filter, first, last, 2493, "epsg", 2493,
-        "Pulkovo 1942 / Gauss-Kruger CM 15E (deprecated)");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2492\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2493, "epsg", 2493,
+        "Pulkovo 1942 / Gauss-Kruger CM 15E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 15E (deprecated)");
     add_srs_wkt (p, 1,
@@ -2229,33 +2659,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.1");
+        "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12");
     add_srs_wkt (p, 4,
-        "2],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,");
+        "],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"428");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "4\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",15]");
     add_srs_wkt (p, 10,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "\",\"2493\"]]");
-    p = add_epsg_def (filter, first, last, 2494, "epsg", 2494,
-        "Pulkovo 1942 / Gauss-Kruger CM 21E");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2493\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2494, "epsg", 2494,
+        "Pulkovo 1942 / Gauss-Kruger CM 21E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 21E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2263,33 +2698,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",21],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2494\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2495, "epsg", 2495,
-        "Pulkovo 1942 / Gauss-Kruger CM 27E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2494\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2495, "epsg", 2495,
+        "Pulkovo 1942 / Gauss-Kruger CM 27E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 27E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2297,33 +2737,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",27],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2495\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2496, "epsg", 2496,
-        "Pulkovo 1942 / Gauss-Kruger CM 33E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2495\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2496, "epsg", 2496,
+        "Pulkovo 1942 / Gauss-Kruger CM 33E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 33E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2331,33 +2776,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",33],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2496\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2497, "epsg", 2497,
-        "Pulkovo 1942 / Gauss-Kruger CM 39E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2496\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2497, "epsg", 2497,
+        "Pulkovo 1942 / Gauss-Kruger CM 39E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 39E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2365,33 +2815,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",39],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2497\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2498, "epsg", 2498,
-        "Pulkovo 1942 / Gauss-Kruger CM 45E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2497\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2498, "epsg", 2498,
+        "Pulkovo 1942 / Gauss-Kruger CM 45E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 45E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2399,33 +2854,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",45],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2498\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2499, "epsg", 2499,
-        "Pulkovo 1942 / Gauss-Kruger CM 51E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2498\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2499, "epsg", 2499,
+        "Pulkovo 1942 / Gauss-Kruger CM 51E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 51E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2433,33 +2893,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",51],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2499\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2500, "epsg", 2500,
-        "Pulkovo 1942 / Gauss-Kruger CM 57E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2499\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2500, "epsg", 2500,
+        "Pulkovo 1942 / Gauss-Kruger CM 57E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 57E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2467,33 +2932,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",57],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2500\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2501, "epsg", 2501,
-        "Pulkovo 1942 / Gauss-Kruger CM 63E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2500\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2501, "epsg", 2501,
+        "Pulkovo 1942 / Gauss-Kruger CM 63E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 63E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2501,33 +2971,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",63],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2501\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2502, "epsg", 2502,
-        "Pulkovo 1942 / Gauss-Kruger CM 69E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2501\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2502, "epsg", 2502,
+        "Pulkovo 1942 / Gauss-Kruger CM 69E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 69E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2535,33 +3010,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",69],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2502\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2503, "epsg", 2503,
-        "Pulkovo 1942 / Gauss-Kruger CM 75E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2502\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2503, "epsg", 2503,
+        "Pulkovo 1942 / Gauss-Kruger CM 75E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 75E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2569,33 +3049,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",75],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2503\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2504, "epsg", 2504,
-        "Pulkovo 1942 / Gauss-Kruger CM 81E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2503\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2504, "epsg", 2504,
+        "Pulkovo 1942 / Gauss-Kruger CM 81E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 81E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2603,33 +3088,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",81],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2504\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2505, "epsg", 2505,
-        "Pulkovo 1942 / Gauss-Kruger CM 87E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2504\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2505, "epsg", 2505,
+        "Pulkovo 1942 / Gauss-Kruger CM 87E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 87E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2637,33 +3127,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",87],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2505\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2506, "epsg", 2506,
-        "Pulkovo 1942 / Gauss-Kruger CM 93E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2505\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2506, "epsg", 2506,
+        "Pulkovo 1942 / Gauss-Kruger CM 93E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 93E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2671,33 +3166,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",93],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2506\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2507, "epsg", 2507,
-        "Pulkovo 1942 / Gauss-Kruger CM 99E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2506\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2507, "epsg", 2507,
+        "Pulkovo 1942 / Gauss-Kruger CM 99E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 99E\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
@@ -2705,33 +3205,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",99],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "in\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2507\"]");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 2508, "epsg", 2508,
-        "Pulkovo 1942 / Gauss-Kruger CM 105E");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"2507\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2508, "epsg", 2508,
+        "Pulkovo 1942 / Gauss-Kruger CM 105E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 105E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2739,33 +3244,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",105],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",105],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2508\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2509, "epsg", 2509,
-        "Pulkovo 1942 / Gauss-Kruger CM 111E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2508\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2509, "epsg", 2509,
+        "Pulkovo 1942 / Gauss-Kruger CM 111E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 111E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2773,33 +3283,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",111],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",111],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2509\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2510, "epsg", 2510,
-        "Pulkovo 1942 / Gauss-Kruger CM 117E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2509\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2510, "epsg", 2510,
+        "Pulkovo 1942 / Gauss-Kruger CM 117E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 117E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2807,33 +3322,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",117],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",117],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2510\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2511, "epsg", 2511,
-        "Pulkovo 1942 / Gauss-Kruger CM 123E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2510\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2511, "epsg", 2511,
+        "Pulkovo 1942 / Gauss-Kruger CM 123E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 123E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2841,33 +3361,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",123],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",123],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2511\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2512, "epsg", 2512,
-        "Pulkovo 1942 / Gauss-Kruger CM 129E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2511\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2512, "epsg", 2512,
+        "Pulkovo 1942 / Gauss-Kruger CM 129E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 129E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2875,33 +3400,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",129],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",129],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2512\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2513, "epsg", 2513,
-        "Pulkovo 1942 / Gauss-Kruger CM 135E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2512\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2513, "epsg", 2513,
+        "Pulkovo 1942 / Gauss-Kruger CM 135E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 135E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2909,33 +3439,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",135],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",135],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2513\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2514, "epsg", 2514,
-        "Pulkovo 1942 / Gauss-Kruger CM 141E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2513\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2514, "epsg", 2514,
+        "Pulkovo 1942 / Gauss-Kruger CM 141E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 141E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2943,33 +3478,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",141],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",141],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2514\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2515, "epsg", 2515,
-        "Pulkovo 1942 / Gauss-Kruger CM 147E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2514\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2515, "epsg", 2515,
+        "Pulkovo 1942 / Gauss-Kruger CM 147E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 147E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2977,33 +3517,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",147],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",147],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2515\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2516, "epsg", 2516,
-        "Pulkovo 1942 / Gauss-Kruger CM 153E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2515\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2516, "epsg", 2516,
+        "Pulkovo 1942 / Gauss-Kruger CM 153E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 153E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -3011,33 +3556,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",153],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",153],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2516\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2517, "epsg", 2517,
-        "Pulkovo 1942 / Gauss-Kruger CM 159E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2516\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2517, "epsg", 2517,
+        "Pulkovo 1942 / Gauss-Kruger CM 159E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 159E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -3045,33 +3595,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",159],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",159],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2517\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2518, "epsg", 2518,
-        "Pulkovo 1942 / Gauss-Kruger CM 165E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2517\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2518, "epsg", 2518,
+        "Pulkovo 1942 / Gauss-Kruger CM 165E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 165E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -3079,33 +3634,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",165],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",165],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2518\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2519, "epsg", 2519,
-        "Pulkovo 1942 / Gauss-Kruger CM 171E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2518\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2519, "epsg", 2519,
+        "Pulkovo 1942 / Gauss-Kruger CM 171E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 171E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -3113,33 +3673,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",171],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",171],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2519\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2520, "epsg", 2520,
-        "Pulkovo 1942 / Gauss-Kruger CM 177E");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2519\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2520, "epsg", 2520,
+        "Pulkovo 1942 / Gauss-Kruger CM 177E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 177E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -3147,33 +3712,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",177],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
+        "igin\",0],PARAMETER[\"central_meridian\",177],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2520\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2521, "epsg", 2521,
-        "Pulkovo 1942 / Gauss-Kruger CM 177W");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"2520\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2521, "epsg", 2521,
+        "Pulkovo 1942 / Gauss-Kruger CM 177W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 177W\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -3181,33 +3751,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",-177],PA");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "igin\",0],PARAMETER[\"central_meridian\",-177],PARAMETER");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2521");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2522, "epsg", 2522,
-        "Pulkovo 1942 / Gauss-Kruger CM 171W");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"2521\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2522, "epsg", 2522,
+        "Pulkovo 1942 / Gauss-Kruger CM 171W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 171W\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -3215,33 +3790,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",-171],PA");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "igin\",0],PARAMETER[\"central_meridian\",-171],PARAMETER");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2522");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2523, "epsg", 2523,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 7");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"2522\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2523, "epsg", 2523,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 7", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 7\",G");
     add_srs_wkt (p, 1,
@@ -3249,33 +3829,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",21],PARA");
     add_srs_wkt (p, 10,
-        "ng\",7500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",75");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2523\"]]");
-    p = add_epsg_def (filter, first, last, 2524, "epsg", 2524,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 8");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2523\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2524, "epsg", 2524,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 8", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 8\",G");
     add_srs_wkt (p, 1,
@@ -3283,33 +3868,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",24],PARA");
     add_srs_wkt (p, 10,
-        "ng\",8500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",85");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2524\"]]");
-    p = add_epsg_def (filter, first, last, 2525, "epsg", 2525,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 9");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2524\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2525, "epsg", 2525,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 9", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 9\",G");
     add_srs_wkt (p, 1,
@@ -3317,33 +3907,38 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",27],PARA");
     add_srs_wkt (p, 10,
-        "ng\",9500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",95");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2525\"]]");
-    p = add_epsg_def (filter, first, last, 2526, "epsg", 2526,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 10");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2525\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2526, "epsg", 2526,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 10", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 10\",");
     add_srs_wkt (p, 1,
@@ -3351,25 +3946,27 @@ initialize_epsg_04 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",30],PA");
     add_srs_wkt (p, 10,
-        "ng\",10500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "10500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2526\"]]");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2526\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_05.c b/src/srsinit/epsg_inlined_05.c
index bc7c0f3..25d6bd2 100644
--- a/src/srsinit/epsg_inlined_05.c
+++ b/src/srsinit/epsg_inlined_05.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,14 +54,17 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 2527, "epsg", 2527,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 11");
+    p = add_epsg_def_ex (filter, first, last, 2527, "epsg", 2527,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 11", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 11\",");
     add_srs_wkt (p, 1,
@@ -67,33 +72,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",33],PA");
     add_srs_wkt (p, 10,
-        "ng\",11500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "11500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2527\"]]");
-    p = add_epsg_def (filter, first, last, 2528, "epsg", 2528,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 12");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2527\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2528, "epsg", 2528,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 12", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 12\",");
     add_srs_wkt (p, 1,
@@ -101,33 +111,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",36],PA");
     add_srs_wkt (p, 10,
-        "ng\",12500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "12500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2528\"]]");
-    p = add_epsg_def (filter, first, last, 2529, "epsg", 2529,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 13");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2528\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2529, "epsg", 2529,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 13", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 13\",");
     add_srs_wkt (p, 1,
@@ -135,33 +150,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",39],PA");
     add_srs_wkt (p, 10,
-        "ng\",13500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "13500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2529\"]]");
-    p = add_epsg_def (filter, first, last, 2530, "epsg", 2530,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 14");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2529\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2530, "epsg", 2530,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 14", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 14\",");
     add_srs_wkt (p, 1,
@@ -169,33 +189,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "2],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",42],PA");
     add_srs_wkt (p, 10,
-        "ng\",14500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "14500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2530\"]]");
-    p = add_epsg_def (filter, first, last, 2531, "epsg", 2531,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 15");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2530\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2531, "epsg", 2531,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 15", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 15\",");
     add_srs_wkt (p, 1,
@@ -203,33 +228,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",45],PA");
     add_srs_wkt (p, 10,
-        "ng\",15500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "15500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2531\"]]");
-    p = add_epsg_def (filter, first, last, 2532, "epsg", 2532,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 16");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2531\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2532, "epsg", 2532,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 16", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 16\",");
     add_srs_wkt (p, 1,
@@ -237,33 +267,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "8],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",48],PA");
     add_srs_wkt (p, 10,
-        "ng\",16500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "16500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2532\"]]");
-    p = add_epsg_def (filter, first, last, 2533, "epsg", 2533,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 17");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2532\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2533, "epsg", 2533,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 17", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 17\",");
     add_srs_wkt (p, 1,
@@ -271,33 +306,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",51],PA");
     add_srs_wkt (p, 10,
-        "ng\",17500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "17500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2533\"]]");
-    p = add_epsg_def (filter, first, last, 2534, "epsg", 2534,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 18");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2533\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2534, "epsg", 2534,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 18", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 18\",");
     add_srs_wkt (p, 1,
@@ -305,33 +345,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",54],PA");
     add_srs_wkt (p, 10,
-        "ng\",18500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "18500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2534\"]]");
-    p = add_epsg_def (filter, first, last, 2535, "epsg", 2535,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 19");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2534\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2535, "epsg", 2535,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 19", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 19\",");
     add_srs_wkt (p, 1,
@@ -339,33 +384,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",57],PA");
     add_srs_wkt (p, 10,
-        "ng\",19500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "19500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2535\"]]");
-    p = add_epsg_def (filter, first, last, 2536, "epsg", 2536,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 20");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2535\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2536, "epsg", 2536,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 20", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 20\",");
     add_srs_wkt (p, 1,
@@ -373,33 +423,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",60],PA");
     add_srs_wkt (p, 10,
-        "ng\",20500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "20500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2536\"]]");
-    p = add_epsg_def (filter, first, last, 2537, "epsg", 2537,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 21");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2536\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2537, "epsg", 2537,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 21", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 21\",");
     add_srs_wkt (p, 1,
@@ -407,33 +462,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",63],PA");
     add_srs_wkt (p, 10,
-        "ng\",21500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "21500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2537\"]]");
-    p = add_epsg_def (filter, first, last, 2538, "epsg", 2538,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 22");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2537\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2538, "epsg", 2538,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 22", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 22\",");
     add_srs_wkt (p, 1,
@@ -441,33 +501,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",66],PA");
     add_srs_wkt (p, 10,
-        "ng\",22500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "22500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2538\"]]");
-    p = add_epsg_def (filter, first, last, 2539, "epsg", 2539,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 23");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2538\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2539, "epsg", 2539,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 23", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 23\",");
     add_srs_wkt (p, 1,
@@ -475,33 +540,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",69],PA");
     add_srs_wkt (p, 10,
-        "ng\",23500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "23500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2539\"]]");
-    p = add_epsg_def (filter, first, last, 2540, "epsg", 2540,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 24");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2539\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2540, "epsg", 2540,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 24", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 24\",");
     add_srs_wkt (p, 1,
@@ -509,33 +579,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "2],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",72],PA");
     add_srs_wkt (p, 10,
-        "ng\",24500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "24500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2540\"]]");
-    p = add_epsg_def (filter, first, last, 2541, "epsg", 2541,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 25");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2540\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2541, "epsg", 2541,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 25", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 25\",");
     add_srs_wkt (p, 1,
@@ -543,33 +618,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",75],PA");
     add_srs_wkt (p, 10,
-        "ng\",25500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "25500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2541\"]]");
-    p = add_epsg_def (filter, first, last, 2542, "epsg", 2542,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 26");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2541\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2542, "epsg", 2542,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 26", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 26\",");
     add_srs_wkt (p, 1,
@@ -577,33 +657,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "8],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",78],PA");
     add_srs_wkt (p, 10,
-        "ng\",26500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "26500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2542\"]]");
-    p = add_epsg_def (filter, first, last, 2543, "epsg", 2543,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 27");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2542\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2543, "epsg", 2543,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 27", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 27\",");
     add_srs_wkt (p, 1,
@@ -611,33 +696,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",81],PA");
     add_srs_wkt (p, 10,
-        "ng\",27500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "27500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2543\"]]");
-    p = add_epsg_def (filter, first, last, 2544, "epsg", 2544,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 28");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2543\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2544, "epsg", 2544,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 28", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 28\",");
     add_srs_wkt (p, 1,
@@ -645,33 +735,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",84],PA");
     add_srs_wkt (p, 10,
-        "ng\",28500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "28500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2544\"]]");
-    p = add_epsg_def (filter, first, last, 2545, "epsg", 2545,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 29");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2544\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2545, "epsg", 2545,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 29", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 29\",");
     add_srs_wkt (p, 1,
@@ -679,33 +774,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",87],PA");
     add_srs_wkt (p, 10,
-        "ng\",29500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "29500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2545\"]]");
-    p = add_epsg_def (filter, first, last, 2546, "epsg", 2546,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 30");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2545\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2546, "epsg", 2546,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 30", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 30\",");
     add_srs_wkt (p, 1,
@@ -713,33 +813,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",90],PA");
     add_srs_wkt (p, 10,
-        "ng\",30500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "30500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2546\"]]");
-    p = add_epsg_def (filter, first, last, 2547, "epsg", 2547,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 31");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2546\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2547, "epsg", 2547,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 31", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 31\",");
     add_srs_wkt (p, 1,
@@ -747,33 +852,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",93],PA");
     add_srs_wkt (p, 10,
-        "ng\",31500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "31500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2547\"]]");
-    p = add_epsg_def (filter, first, last, 2548, "epsg", 2548,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 32");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2547\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2548, "epsg", 2548,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 32", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 32\",");
     add_srs_wkt (p, 1,
@@ -781,33 +891,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",96],PA");
     add_srs_wkt (p, 10,
-        "ng\",32500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "32500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2548\"]]");
-    p = add_epsg_def (filter, first, last, 2549, "epsg", 2549,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 33");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2548\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2549, "epsg", 2549,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 33", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 33\",");
     add_srs_wkt (p, 1,
@@ -815,27 +930,32 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",99],PA");
     add_srs_wkt (p, 10,
-        "ng\",33500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "33500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2549\"]]");
-    p = add_epsg_def (filter, first, last, 2550, "epsg", 2550,
-        "Samboja / UTM zone 50S (deprecated)");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2549\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2550, "epsg", 2550,
+        "Samboja / UTM zone 50S (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Samboja", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=50 +south +ellps=bessel +towgs84=-404.78");
     add_proj4text (p, 1,
@@ -853,27 +973,32 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9108\"]],AUTHORITY[\"EPSG\",\"4125\"]],PROJECTION[\"T");
+        ",\"9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4125\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",117],PARAMETER[\"scale_");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "METER[\"central_meridian\",117],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"2550\"]]");
-    p = add_epsg_def (filter, first, last, 2551, "epsg", 2551,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 34");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2550\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2551, "epsg", 2551,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 34", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 34\",");
     add_srs_wkt (p, 1,
@@ -881,33 +1006,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "02],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",102],P");
     add_srs_wkt (p, 10,
-        "ing\",34500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",34500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2551\"]]");
-    p = add_epsg_def (filter, first, last, 2552, "epsg", 2552,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 35");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2551\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2552, "epsg", 2552,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 35", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 35\",");
     add_srs_wkt (p, 1,
@@ -915,33 +1045,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "05],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P");
     add_srs_wkt (p, 10,
-        "ing\",35500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",35500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2552\"]]");
-    p = add_epsg_def (filter, first, last, 2553, "epsg", 2553,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 36");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2552\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2553, "epsg", 2553,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 36", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 36\",");
     add_srs_wkt (p, 1,
@@ -949,33 +1084,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "08],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",108],P");
     add_srs_wkt (p, 10,
-        "ing\",36500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",36500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2553\"]]");
-    p = add_epsg_def (filter, first, last, 2554, "epsg", 2554,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 37");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2553\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2554, "epsg", 2554,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 37", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 37\",");
     add_srs_wkt (p, 1,
@@ -983,33 +1123,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P");
     add_srs_wkt (p, 10,
-        "ing\",37500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",37500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2554\"]]");
-    p = add_epsg_def (filter, first, last, 2555, "epsg", 2555,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 38");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2554\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2555, "epsg", 2555,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 38", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 38\",");
     add_srs_wkt (p, 1,
@@ -1017,33 +1162,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "14],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",114],P");
     add_srs_wkt (p, 10,
-        "ing\",38500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",38500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2555\"]]");
-    p = add_epsg_def (filter, first, last, 2556, "epsg", 2556,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 39");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2555\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2556, "epsg", 2556,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 39", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 39\",");
     add_srs_wkt (p, 1,
@@ -1051,33 +1201,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "17],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P");
     add_srs_wkt (p, 10,
-        "ing\",39500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",39500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2556\"]]");
-    p = add_epsg_def (filter, first, last, 2557, "epsg", 2557,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 40");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2556\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2557, "epsg", 2557,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 40", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 40\",");
     add_srs_wkt (p, 1,
@@ -1085,33 +1240,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "20],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",120],P");
     add_srs_wkt (p, 10,
-        "ing\",40500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",40500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2557\"]]");
-    p = add_epsg_def (filter, first, last, 2558, "epsg", 2558,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 41");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2557\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2558, "epsg", 2558,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 41", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 41\",");
     add_srs_wkt (p, 1,
@@ -1119,33 +1279,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "23],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P");
     add_srs_wkt (p, 10,
-        "ing\",41500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",41500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2558\"]]");
-    p = add_epsg_def (filter, first, last, 2559, "epsg", 2559,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 42");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2558\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2559, "epsg", 2559,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 42", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 42\",");
     add_srs_wkt (p, 1,
@@ -1153,33 +1318,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "26],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",126],P");
     add_srs_wkt (p, 10,
-        "ing\",42500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",42500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2559\"]]");
-    p = add_epsg_def (filter, first, last, 2560, "epsg", 2560,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 43");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2559\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2560, "epsg", 2560,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 43", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 43\",");
     add_srs_wkt (p, 1,
@@ -1187,33 +1357,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "29],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P");
     add_srs_wkt (p, 10,
-        "ing\",43500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",43500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2560\"]]");
-    p = add_epsg_def (filter, first, last, 2561, "epsg", 2561,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 44");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2560\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2561, "epsg", 2561,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 44", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 44\",");
     add_srs_wkt (p, 1,
@@ -1221,33 +1396,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "32],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",132],P");
     add_srs_wkt (p, 10,
-        "ing\",44500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",44500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2561\"]]");
-    p = add_epsg_def (filter, first, last, 2562, "epsg", 2562,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 45");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2561\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2562, "epsg", 2562,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 45", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 45\",");
     add_srs_wkt (p, 1,
@@ -1255,33 +1435,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "35],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P");
     add_srs_wkt (p, 10,
-        "ing\",45500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",45500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2562\"]]");
-    p = add_epsg_def (filter, first, last, 2563, "epsg", 2563,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 46");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2562\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2563, "epsg", 2563,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 46", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 46\",");
     add_srs_wkt (p, 1,
@@ -1289,33 +1474,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "38],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",138],P");
     add_srs_wkt (p, 10,
-        "ing\",46500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",46500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2563\"]]");
-    p = add_epsg_def (filter, first, last, 2564, "epsg", 2564,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 47");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2563\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2564, "epsg", 2564,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 47", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 47\",");
     add_srs_wkt (p, 1,
@@ -1323,33 +1513,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "41],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",141],P");
     add_srs_wkt (p, 10,
-        "ing\",47500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",47500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2564\"]]");
-    p = add_epsg_def (filter, first, last, 2565, "epsg", 2565,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 48");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2564\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2565, "epsg", 2565,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 48", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 48\",");
     add_srs_wkt (p, 1,
@@ -1357,33 +1552,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "44],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",144],P");
     add_srs_wkt (p, 10,
-        "ing\",48500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",48500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2565\"]]");
-    p = add_epsg_def (filter, first, last, 2566, "epsg", 2566,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 49");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2565\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2566, "epsg", 2566,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 49", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 49\",");
     add_srs_wkt (p, 1,
@@ -1391,33 +1591,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "47],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",147],P");
     add_srs_wkt (p, 10,
-        "ing\",49500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",49500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2566\"]]");
-    p = add_epsg_def (filter, first, last, 2567, "epsg", 2567,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 50");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2566\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2567, "epsg", 2567,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 50", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 50\",");
     add_srs_wkt (p, 1,
@@ -1425,33 +1630,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "50],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",150],P");
     add_srs_wkt (p, 10,
-        "ing\",50500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",50500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2567\"]]");
-    p = add_epsg_def (filter, first, last, 2568, "epsg", 2568,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 51");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2567\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2568, "epsg", 2568,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 51", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 51\",");
     add_srs_wkt (p, 1,
@@ -1459,33 +1669,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "53],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",153],P");
     add_srs_wkt (p, 10,
-        "ing\",51500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",51500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2568\"]]");
-    p = add_epsg_def (filter, first, last, 2569, "epsg", 2569,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 52");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2568\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2569, "epsg", 2569,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 52", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 52\",");
     add_srs_wkt (p, 1,
@@ -1493,33 +1708,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "56],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",156],P");
     add_srs_wkt (p, 10,
-        "ing\",52500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",52500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2569\"]]");
-    p = add_epsg_def (filter, first, last, 2570, "epsg", 2570,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 53");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2569\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2570, "epsg", 2570,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 53", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 53\",");
     add_srs_wkt (p, 1,
@@ -1527,33 +1747,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "59],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",159],P");
     add_srs_wkt (p, 10,
-        "ing\",53500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",53500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2570\"]]");
-    p = add_epsg_def (filter, first, last, 2571, "epsg", 2571,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 54");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2570\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2571, "epsg", 2571,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 54", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 54\",");
     add_srs_wkt (p, 1,
@@ -1561,33 +1786,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "62],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",162],P");
     add_srs_wkt (p, 10,
-        "ing\",54500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",54500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2571\"]]");
-    p = add_epsg_def (filter, first, last, 2572, "epsg", 2572,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 55");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2571\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2572, "epsg", 2572,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 55", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 55\",");
     add_srs_wkt (p, 1,
@@ -1595,33 +1825,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "65],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",165],P");
     add_srs_wkt (p, 10,
-        "ing\",55500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",55500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2572\"]]");
-    p = add_epsg_def (filter, first, last, 2573, "epsg", 2573,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 56");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2572\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2573, "epsg", 2573,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 56", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 56\",");
     add_srs_wkt (p, 1,
@@ -1629,33 +1864,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "68],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",168],P");
     add_srs_wkt (p, 10,
-        "ing\",56500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",56500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2573\"]]");
-    p = add_epsg_def (filter, first, last, 2574, "epsg", 2574,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 57");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2573\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2574, "epsg", 2574,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 57", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 57\",");
     add_srs_wkt (p, 1,
@@ -1663,33 +1903,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "71],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",171],P");
     add_srs_wkt (p, 10,
-        "ing\",57500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",57500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2574\"]]");
-    p = add_epsg_def (filter, first, last, 2575, "epsg", 2575,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 58");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2574\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2575, "epsg", 2575,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 58", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 58\",");
     add_srs_wkt (p, 1,
@@ -1697,33 +1942,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "74],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",174],P");
     add_srs_wkt (p, 10,
-        "ing\",58500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",58500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2575\"]]");
-    p = add_epsg_def (filter, first, last, 2576, "epsg", 2576,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 59");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2575\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2576, "epsg", 2576,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 59", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 59\",");
     add_srs_wkt (p, 1,
@@ -1731,33 +1981,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "77],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",177],P");
     add_srs_wkt (p, 10,
-        "ing\",59500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",59500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"2576\"]]");
-    p = add_epsg_def (filter, first, last, 2577, "epsg", 2577,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 60 (deprecated)");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2576\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2577, "epsg", 2577,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 60 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 60 (d");
     add_srs_wkt (p, 1,
@@ -1765,33 +2020,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "2\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35");
+        "[\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,");
     add_srs_wkt (p, 4,
-        ",0.82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Gree");
+        "0.82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 5,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "TY[\"EPSG\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "l_meridian\",180],PARAMETER[\"scale_factor\",1],PARAMETE");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",60000000],PARAMETER[\"false_northing");
+        "dian\",180],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "lse_easting\",60000000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"2577\"]]");
-    p = add_epsg_def (filter, first, last, 2578, "epsg", 2578,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 61");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2577\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2578, "epsg", 2578,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 61", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8");
+        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82");
     add_proj4text (p, 2,
-        "2,-0.12 +units=m +no_defs");
+        ",-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 61\",");
     add_srs_wkt (p, 1,
@@ -1799,33 +2059,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "177],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],");
     add_srs_wkt (p, 10,
-        "ting\",61500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        ",61500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "\",\"2578\"]]");
-    p = add_epsg_def (filter, first, last, 2579, "epsg", 2579,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 62");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2578\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2579, "epsg", 2579,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 62", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8");
+        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82");
     add_proj4text (p, 2,
-        "2,-0.12 +units=m +no_defs");
+        ",-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 62\",");
     add_srs_wkt (p, 1,
@@ -1833,33 +2098,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "174],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-174],");
     add_srs_wkt (p, 10,
-        "ting\",62500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        ",62500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "\",\"2579\"]]");
-    p = add_epsg_def (filter, first, last, 2580, "epsg", 2580,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 63");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2579\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2580, "epsg", 2580,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 63", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8");
+        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82");
     add_proj4text (p, 2,
-        "2,-0.12 +units=m +no_defs");
+        ",-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 63\",");
     add_srs_wkt (p, 1,
@@ -1867,33 +2137,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "171],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],");
     add_srs_wkt (p, 10,
-        "ting\",63500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        ",63500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "\",\"2580\"]]");
-    p = add_epsg_def (filter, first, last, 2581, "epsg", 2581,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 64");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2580\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2581, "epsg", 2581,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 64", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8");
+        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82");
     add_proj4text (p, 2,
-        "2,-0.12 +units=m +no_defs");
+        ",-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 64\",");
     add_srs_wkt (p, 1,
@@ -1901,33 +2176,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "168],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-168],");
     add_srs_wkt (p, 10,
-        "ting\",64500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        ",64500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "\",\"2581\"]]");
-    p = add_epsg_def (filter, first, last, 2582, "epsg", 2582,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 21E");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2581\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2582, "epsg", 2582,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 21E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 21E\",G");
     add_srs_wkt (p, 1,
@@ -1935,33 +2215,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",21],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2582\"]]");
-    p = add_epsg_def (filter, first, last, 2583, "epsg", 2583,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 24E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2582\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2583, "epsg", 2583,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 24E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 24E\",G");
     add_srs_wkt (p, 1,
@@ -1969,33 +2254,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",24],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2583\"]]");
-    p = add_epsg_def (filter, first, last, 2584, "epsg", 2584,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 27E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2583\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2584, "epsg", 2584,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 27E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 27E\",G");
     add_srs_wkt (p, 1,
@@ -2003,33 +2293,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",27],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2584\"]]");
-    p = add_epsg_def (filter, first, last, 2585, "epsg", 2585,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 30E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2584\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2585, "epsg", 2585,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 30E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 30E\",G");
     add_srs_wkt (p, 1,
@@ -2037,33 +2332,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",30],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2585\"]]");
-    p = add_epsg_def (filter, first, last, 2586, "epsg", 2586,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 33E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2585\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2586, "epsg", 2586,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 33E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 33E\",G");
     add_srs_wkt (p, 1,
@@ -2071,33 +2371,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",33],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2586\"]]");
-    p = add_epsg_def (filter, first, last, 2587, "epsg", 2587,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 36E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2586\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2587, "epsg", 2587,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 36E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 36E\",G");
     add_srs_wkt (p, 1,
@@ -2105,33 +2410,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",36],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2587\"]]");
-    p = add_epsg_def (filter, first, last, 2588, "epsg", 2588,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 39E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2587\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2588, "epsg", 2588,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 39E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 39E\",G");
     add_srs_wkt (p, 1,
@@ -2139,33 +2449,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",39],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2588\"]]");
-    p = add_epsg_def (filter, first, last, 2589, "epsg", 2589,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 42E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2588\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2589, "epsg", 2589,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 42E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 42E\",G");
     add_srs_wkt (p, 1,
@@ -2173,33 +2488,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "2],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",42],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2589\"]]");
-    p = add_epsg_def (filter, first, last, 2590, "epsg", 2590,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 45E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2589\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2590, "epsg", 2590,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 45E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 45E\",G");
     add_srs_wkt (p, 1,
@@ -2207,33 +2527,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",45],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2590\"]]");
-    p = add_epsg_def (filter, first, last, 2591, "epsg", 2591,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 48E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2590\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2591, "epsg", 2591,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 48E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 48E\",G");
     add_srs_wkt (p, 1,
@@ -2241,33 +2566,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "8],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",48],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2591\"]]");
-    p = add_epsg_def (filter, first, last, 2592, "epsg", 2592,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 51E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2591\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2592, "epsg", 2592,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 51E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 51E\",G");
     add_srs_wkt (p, 1,
@@ -2275,33 +2605,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",51],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2592\"]]");
-    p = add_epsg_def (filter, first, last, 2593, "epsg", 2593,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 54E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2592\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2593, "epsg", 2593,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 54E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 54E\",G");
     add_srs_wkt (p, 1,
@@ -2309,33 +2644,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",54],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2593\"]]");
-    p = add_epsg_def (filter, first, last, 2594, "epsg", 2594,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 57E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2593\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2594, "epsg", 2594,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 57E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 57E\",G");
     add_srs_wkt (p, 1,
@@ -2343,33 +2683,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",57],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2594\"]]");
-    p = add_epsg_def (filter, first, last, 2595, "epsg", 2595,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 60E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2594\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2595, "epsg", 2595,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 60E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 60E\",G");
     add_srs_wkt (p, 1,
@@ -2377,33 +2722,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",60],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2595\"]]");
-    p = add_epsg_def (filter, first, last, 2596, "epsg", 2596,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 63E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2595\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2596, "epsg", 2596,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 63E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 63E\",G");
     add_srs_wkt (p, 1,
@@ -2411,33 +2761,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",63],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2596\"]]");
-    p = add_epsg_def (filter, first, last, 2597, "epsg", 2597,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 66E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2596\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2597, "epsg", 2597,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 66E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 66E\",G");
     add_srs_wkt (p, 1,
@@ -2445,33 +2800,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",66],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2597\"]]");
-    p = add_epsg_def (filter, first, last, 2598, "epsg", 2598,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 69E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2597\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2598, "epsg", 2598,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 69E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 69E\",G");
     add_srs_wkt (p, 1,
@@ -2479,33 +2839,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",69],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2598\"]]");
-    p = add_epsg_def (filter, first, last, 2599, "epsg", 2599,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 72E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2598\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2599, "epsg", 2599,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 72E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 72E\",G");
     add_srs_wkt (p, 1,
@@ -2513,27 +2878,32 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "2],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",72],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2599\"]]");
-    p = add_epsg_def (filter, first, last, 2600, "epsg", 2600,
-        "Lietuvos Koordinoei Sistema 1994 (deprecated)");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2599\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2600, "epsg", 2600,
+        "Lietuvos Koordinoei Sistema 1994 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Lithuania_1994_ETRS89", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2553,25 +2923,32 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4669\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4669\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",24],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9998],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",24],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "or\",0.9998],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2600\"]]");
-    p = add_epsg_def (filter, first, last, 2601, "epsg", 2601,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 75E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2600\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2601, "epsg", 2601,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 75E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 75E\",G");
     add_srs_wkt (p, 1,
@@ -2579,33 +2956,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",75],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2601\"]]");
-    p = add_epsg_def (filter, first, last, 2602, "epsg", 2602,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 78E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2601\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2602, "epsg", 2602,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 78E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 78E\",G");
     add_srs_wkt (p, 1,
@@ -2613,33 +2995,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "8],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",78],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2602\"]]");
-    p = add_epsg_def (filter, first, last, 2603, "epsg", 2603,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 81E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2602\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2603, "epsg", 2603,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 81E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 81E\",G");
     add_srs_wkt (p, 1,
@@ -2647,33 +3034,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",81],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2603\"]]");
-    p = add_epsg_def (filter, first, last, 2604, "epsg", 2604,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 84E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2603\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2604, "epsg", 2604,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 84E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 84E\",G");
     add_srs_wkt (p, 1,
@@ -2681,33 +3073,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",84],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2604\"]]");
-    p = add_epsg_def (filter, first, last, 2605, "epsg", 2605,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 87E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2604\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2605, "epsg", 2605,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 87E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 87E\",G");
     add_srs_wkt (p, 1,
@@ -2715,33 +3112,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",87],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2605\"]]");
-    p = add_epsg_def (filter, first, last, 2606, "epsg", 2606,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 90E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2605\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2606, "epsg", 2606,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 90E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 90E\",G");
     add_srs_wkt (p, 1,
@@ -2749,33 +3151,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",90],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2606\"]]");
-    p = add_epsg_def (filter, first, last, 2607, "epsg", 2607,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 93E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2606\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2607, "epsg", 2607,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 93E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 93E\",G");
     add_srs_wkt (p, 1,
@@ -2783,33 +3190,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",93],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2607\"]]");
-    p = add_epsg_def (filter, first, last, 2608, "epsg", 2608,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 96E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2607\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2608, "epsg", 2608,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 96E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 96E\",G");
     add_srs_wkt (p, 1,
@@ -2817,33 +3229,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",96],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2608\"]]");
-    p = add_epsg_def (filter, first, last, 2609, "epsg", 2609,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 99E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2608\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2609, "epsg", 2609,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 99E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 99E\",G");
     add_srs_wkt (p, 1,
@@ -2851,33 +3268,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",99],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "2609\"]]");
-    p = add_epsg_def (filter, first, last, 2610, "epsg", 2610,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 102E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2609\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2610, "epsg", 2610,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 102E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 102E\",");
     add_srs_wkt (p, 1,
@@ -2885,33 +3307,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "02],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",102],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2610\"]]");
-    p = add_epsg_def (filter, first, last, 2611, "epsg", 2611,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 105E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2610\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2611, "epsg", 2611,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 105E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 105E\",");
     add_srs_wkt (p, 1,
@@ -2919,33 +3346,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "05],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2611\"]]");
-    p = add_epsg_def (filter, first, last, 2612, "epsg", 2612,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 108E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2611\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2612, "epsg", 2612,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 108E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 108E\",");
     add_srs_wkt (p, 1,
@@ -2953,33 +3385,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "08],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",108],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2612\"]]");
-    p = add_epsg_def (filter, first, last, 2613, "epsg", 2613,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 111E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2612\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2613, "epsg", 2613,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 111E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 111E\",");
     add_srs_wkt (p, 1,
@@ -2987,33 +3424,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2613\"]]");
-    p = add_epsg_def (filter, first, last, 2614, "epsg", 2614,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 114E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2613\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2614, "epsg", 2614,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 114E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 114E\",");
     add_srs_wkt (p, 1,
@@ -3021,33 +3463,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "14],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",114],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2614\"]]");
-    p = add_epsg_def (filter, first, last, 2615, "epsg", 2615,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 117E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2614\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2615, "epsg", 2615,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 117E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 117E\",");
     add_srs_wkt (p, 1,
@@ -3055,33 +3502,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "17],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2615\"]]");
-    p = add_epsg_def (filter, first, last, 2616, "epsg", 2616,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 120E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2615\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2616, "epsg", 2616,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 120E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 120E\",");
     add_srs_wkt (p, 1,
@@ -3089,33 +3541,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "20],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",120],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2616\"]]");
-    p = add_epsg_def (filter, first, last, 2617, "epsg", 2617,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 123E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2616\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2617, "epsg", 2617,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 123E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 123E\",");
     add_srs_wkt (p, 1,
@@ -3123,33 +3580,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "23],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2617\"]]");
-    p = add_epsg_def (filter, first, last, 2618, "epsg", 2618,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 126E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2617\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2618, "epsg", 2618,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 126E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 126E\",");
     add_srs_wkt (p, 1,
@@ -3157,33 +3619,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "26],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",126],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2618\"]]");
-    p = add_epsg_def (filter, first, last, 2619, "epsg", 2619,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 129E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2618\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2619, "epsg", 2619,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 129E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 129E\",");
     add_srs_wkt (p, 1,
@@ -3191,33 +3658,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "29],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2619\"]]");
-    p = add_epsg_def (filter, first, last, 2620, "epsg", 2620,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 132E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2619\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2620, "epsg", 2620,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 132E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 132E\",");
     add_srs_wkt (p, 1,
@@ -3225,33 +3697,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "32],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",132],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2620\"]]");
-    p = add_epsg_def (filter, first, last, 2621, "epsg", 2621,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 135E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2620\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2621, "epsg", 2621,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 135E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 135E\",");
     add_srs_wkt (p, 1,
@@ -3259,33 +3736,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "35],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2621\"]]");
-    p = add_epsg_def (filter, first, last, 2622, "epsg", 2622,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 138E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2621\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2622, "epsg", 2622,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 138E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 138E\",");
     add_srs_wkt (p, 1,
@@ -3293,33 +3775,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "38],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",138],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2622\"]]");
-    p = add_epsg_def (filter, first, last, 2623, "epsg", 2623,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 141E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2622\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2623, "epsg", 2623,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 141E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 141E\",");
     add_srs_wkt (p, 1,
@@ -3327,33 +3814,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "41],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",141],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2623\"]]");
-    p = add_epsg_def (filter, first, last, 2624, "epsg", 2624,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 144E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2623\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2624, "epsg", 2624,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 144E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 144E\",");
     add_srs_wkt (p, 1,
@@ -3361,33 +3853,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "44],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",144],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2624\"]]");
-    p = add_epsg_def (filter, first, last, 2625, "epsg", 2625,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 147E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2624\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2625, "epsg", 2625,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 147E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 147E\",");
     add_srs_wkt (p, 1,
@@ -3395,33 +3892,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "47],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",147],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2625\"]]");
-    p = add_epsg_def (filter, first, last, 2626, "epsg", 2626,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 150E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2625\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2626, "epsg", 2626,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 150E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 150E\",");
     add_srs_wkt (p, 1,
@@ -3429,33 +3931,38 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "50],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",150],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2626\"]]");
-    p = add_epsg_def (filter, first, last, 2627, "epsg", 2627,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 153E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2626\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2627, "epsg", 2627,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 153E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 153E\",");
     add_srs_wkt (p, 1,
@@ -3463,25 +3970,27 @@ initialize_epsg_05 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "53],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",153],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2627\"]]");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2627\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_06.c b/src/srsinit/epsg_inlined_06.c
index 43cd909..19ec259 100644
--- a/src/srsinit/epsg_inlined_06.c
+++ b/src/srsinit/epsg_inlined_06.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,14 +54,17 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 2628, "epsg", 2628,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 156E");
+    p = add_epsg_def_ex (filter, first, last, 2628, "epsg", 2628,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 156E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 156E\",");
     add_srs_wkt (p, 1,
@@ -67,33 +72,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "56],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",156],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2628\"]]");
-    p = add_epsg_def (filter, first, last, 2629, "epsg", 2629,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 159E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2628\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2629, "epsg", 2629,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 159E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 159E\",");
     add_srs_wkt (p, 1,
@@ -101,33 +111,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "59],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",159],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2629\"]]");
-    p = add_epsg_def (filter, first, last, 2630, "epsg", 2630,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 162E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2629\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2630, "epsg", 2630,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 162E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 162E\",");
     add_srs_wkt (p, 1,
@@ -135,33 +150,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "62],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",162],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2630\"]]");
-    p = add_epsg_def (filter, first, last, 2631, "epsg", 2631,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 165E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2630\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2631, "epsg", 2631,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 165E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 165E\",");
     add_srs_wkt (p, 1,
@@ -169,33 +189,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "65],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",165],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2631\"]]");
-    p = add_epsg_def (filter, first, last, 2632, "epsg", 2632,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 168E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2631\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2632, "epsg", 2632,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 168E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 168E\",");
     add_srs_wkt (p, 1,
@@ -203,33 +228,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "68],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",168],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2632\"]]");
-    p = add_epsg_def (filter, first, last, 2633, "epsg", 2633,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 171E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2632\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2633, "epsg", 2633,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 171E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 171E\",");
     add_srs_wkt (p, 1,
@@ -237,33 +267,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "71],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",171],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2633\"]]");
-    p = add_epsg_def (filter, first, last, 2634, "epsg", 2634,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 174E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2633\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2634, "epsg", 2634,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 174E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 174E\",");
     add_srs_wkt (p, 1,
@@ -271,33 +306,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "74],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",174],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2634\"]]");
-    p = add_epsg_def (filter, first, last, 2635, "epsg", 2635,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 177E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2634\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2635, "epsg", 2635,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 177E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 177E\",");
     add_srs_wkt (p, 1,
@@ -305,33 +345,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "77],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",177],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2635\"]]");
-    p = add_epsg_def (filter, first, last, 2636, "epsg", 2636,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 180E");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2635\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2636, "epsg", 2636,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 180E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 180E\",");
     add_srs_wkt (p, 1,
@@ -339,33 +384,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "80],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",180],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"2636\"]]");
-    p = add_epsg_def (filter, first, last, 2637, "epsg", 2637,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 177W");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2636\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2637, "epsg", 2637,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 177W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 177W\",");
     add_srs_wkt (p, 1,
@@ -373,33 +423,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "177],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2637\"]]");
-    p = add_epsg_def (filter, first, last, 2638, "epsg", 2638,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 174W");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2637\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2638, "epsg", 2638,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 174W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 174W\",");
     add_srs_wkt (p, 1,
@@ -407,33 +462,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "174],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-174],");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2638\"]]");
-    p = add_epsg_def (filter, first, last, 2639, "epsg", 2639,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 171W");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2638\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2639, "epsg", 2639,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 171W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 171W\",");
     add_srs_wkt (p, 1,
@@ -441,33 +501,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "171],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2639\"]]");
-    p = add_epsg_def (filter, first, last, 2640, "epsg", 2640,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 168W");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2639\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2640, "epsg", 2640,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 168W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 168W\",");
     add_srs_wkt (p, 1,
@@ -475,33 +540,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "168],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-168],");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2640\"]]");
-    p = add_epsg_def (filter, first, last, 2641, "epsg", 2641,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 7");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2640\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2641, "epsg", 2641,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 7", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 7\",G");
     add_srs_wkt (p, 1,
@@ -509,33 +579,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",21");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",21],PARAME");
     add_srs_wkt (p, 10,
-        "g\",7500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",7500");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "2641\"]]");
-    p = add_epsg_def (filter, first, last, 2642, "epsg", 2642,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 8");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2641\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2642, "epsg", 2642,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 8", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 8\",G");
     add_srs_wkt (p, 1,
@@ -543,33 +618,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",24");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",24],PARAME");
     add_srs_wkt (p, 10,
-        "g\",8500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",8500");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "2642\"]]");
-    p = add_epsg_def (filter, first, last, 2643, "epsg", 2643,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 9");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2642\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2643, "epsg", 2643,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 9", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 9\",G");
     add_srs_wkt (p, 1,
@@ -577,33 +657,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",27");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",27],PARAME");
     add_srs_wkt (p, 10,
-        "g\",9500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",9500");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "2643\"]]");
-    p = add_epsg_def (filter, first, last, 2644, "epsg", 2644,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 10");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"2643\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2644, "epsg", 2644,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 10", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 10\",");
     add_srs_wkt (p, 1,
@@ -611,33 +696,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",30],PARA");
     add_srs_wkt (p, 10,
-        "ng\",10500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",10");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2644\"]]");
-    p = add_epsg_def (filter, first, last, 2645, "epsg", 2645,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 11");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2644\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2645, "epsg", 2645,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 11", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 11\",");
     add_srs_wkt (p, 1,
@@ -645,33 +735,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",33],PARA");
     add_srs_wkt (p, 10,
-        "ng\",11500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",11");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2645\"]]");
-    p = add_epsg_def (filter, first, last, 2646, "epsg", 2646,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 12");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2645\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2646, "epsg", 2646,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 12", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 12\",");
     add_srs_wkt (p, 1,
@@ -679,33 +774,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",36],PARA");
     add_srs_wkt (p, 10,
-        "ng\",12500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",12");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2646\"]]");
-    p = add_epsg_def (filter, first, last, 2647, "epsg", 2647,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 13");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2646\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2647, "epsg", 2647,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 13", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 13\",");
     add_srs_wkt (p, 1,
@@ -713,33 +813,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",39],PARA");
     add_srs_wkt (p, 10,
-        "ng\",13500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",13");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2647\"]]");
-    p = add_epsg_def (filter, first, last, 2648, "epsg", 2648,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 14");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2647\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2648, "epsg", 2648,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 14", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 14\",");
     add_srs_wkt (p, 1,
@@ -747,33 +852,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "2],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",42],PARA");
     add_srs_wkt (p, 10,
-        "ng\",14500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",14");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2648\"]]");
-    p = add_epsg_def (filter, first, last, 2649, "epsg", 2649,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 15");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2648\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2649, "epsg", 2649,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 15", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 15\",");
     add_srs_wkt (p, 1,
@@ -781,33 +891,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",45],PARA");
     add_srs_wkt (p, 10,
-        "ng\",15500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2649\"]]");
-    p = add_epsg_def (filter, first, last, 2650, "epsg", 2650,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 16");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2649\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2650, "epsg", 2650,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 16", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 16\",");
     add_srs_wkt (p, 1,
@@ -815,33 +930,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "8],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",48],PARA");
     add_srs_wkt (p, 10,
-        "ng\",16500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",16");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2650\"]]");
-    p = add_epsg_def (filter, first, last, 2651, "epsg", 2651,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 17");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2650\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2651, "epsg", 2651,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 17", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 17\",");
     add_srs_wkt (p, 1,
@@ -849,33 +969,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",51],PARA");
     add_srs_wkt (p, 10,
-        "ng\",17500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",17");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2651\"]]");
-    p = add_epsg_def (filter, first, last, 2652, "epsg", 2652,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 18");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2651\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2652, "epsg", 2652,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 18", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 18\",");
     add_srs_wkt (p, 1,
@@ -883,33 +1008,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",54],PARA");
     add_srs_wkt (p, 10,
-        "ng\",18500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",18");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2652\"]]");
-    p = add_epsg_def (filter, first, last, 2653, "epsg", 2653,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 19");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2652\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2653, "epsg", 2653,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 19", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 19\",");
     add_srs_wkt (p, 1,
@@ -917,33 +1047,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",57],PARA");
     add_srs_wkt (p, 10,
-        "ng\",19500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",19");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2653\"]]");
-    p = add_epsg_def (filter, first, last, 2654, "epsg", 2654,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 20");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2653\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2654, "epsg", 2654,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 20", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 20\",");
     add_srs_wkt (p, 1,
@@ -951,33 +1086,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",60],PARA");
     add_srs_wkt (p, 10,
-        "ng\",20500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",20");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2654\"]]");
-    p = add_epsg_def (filter, first, last, 2655, "epsg", 2655,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 21");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2654\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2655, "epsg", 2655,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 21", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 21\",");
     add_srs_wkt (p, 1,
@@ -985,33 +1125,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",63],PARA");
     add_srs_wkt (p, 10,
-        "ng\",21500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",21");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2655\"]]");
-    p = add_epsg_def (filter, first, last, 2656, "epsg", 2656,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 22");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2655\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2656, "epsg", 2656,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 22", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 22\",");
     add_srs_wkt (p, 1,
@@ -1019,33 +1164,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",66],PARA");
     add_srs_wkt (p, 10,
-        "ng\",22500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",22");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2656\"]]");
-    p = add_epsg_def (filter, first, last, 2657, "epsg", 2657,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 23");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2656\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2657, "epsg", 2657,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 23", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 23\",");
     add_srs_wkt (p, 1,
@@ -1053,33 +1203,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",69],PARA");
     add_srs_wkt (p, 10,
-        "ng\",23500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",23");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2657\"]]");
-    p = add_epsg_def (filter, first, last, 2658, "epsg", 2658,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 24");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2657\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2658, "epsg", 2658,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 24", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 24\",");
     add_srs_wkt (p, 1,
@@ -1087,33 +1242,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "2],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",72],PARA");
     add_srs_wkt (p, 10,
-        "ng\",24500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",24");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2658\"]]");
-    p = add_epsg_def (filter, first, last, 2659, "epsg", 2659,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 25");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2658\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2659, "epsg", 2659,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 25", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 25\",");
     add_srs_wkt (p, 1,
@@ -1121,33 +1281,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",75],PARA");
     add_srs_wkt (p, 10,
-        "ng\",25500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",25");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2659\"]]");
-    p = add_epsg_def (filter, first, last, 2660, "epsg", 2660,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 26");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2659\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2660, "epsg", 2660,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 26", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 26\",");
     add_srs_wkt (p, 1,
@@ -1155,33 +1320,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "8],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",78],PARA");
     add_srs_wkt (p, 10,
-        "ng\",26500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",26");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2660\"]]");
-    p = add_epsg_def (filter, first, last, 2661, "epsg", 2661,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 27");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2660\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2661, "epsg", 2661,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 27", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 27\",");
     add_srs_wkt (p, 1,
@@ -1189,33 +1359,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",81],PARA");
     add_srs_wkt (p, 10,
-        "ng\",27500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",27");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2661\"]]");
-    p = add_epsg_def (filter, first, last, 2662, "epsg", 2662,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 28");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2661\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2662, "epsg", 2662,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 28", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 28\",");
     add_srs_wkt (p, 1,
@@ -1223,33 +1398,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",84],PARA");
     add_srs_wkt (p, 10,
-        "ng\",28500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",28");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2662\"]]");
-    p = add_epsg_def (filter, first, last, 2663, "epsg", 2663,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 29");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2662\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2663, "epsg", 2663,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 29", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 29\",");
     add_srs_wkt (p, 1,
@@ -1257,33 +1437,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",87],PARA");
     add_srs_wkt (p, 10,
-        "ng\",29500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",29");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2663\"]]");
-    p = add_epsg_def (filter, first, last, 2664, "epsg", 2664,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 30");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2663\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2664, "epsg", 2664,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 30", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 30\",");
     add_srs_wkt (p, 1,
@@ -1291,33 +1476,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",90],PARA");
     add_srs_wkt (p, 10,
-        "ng\",30500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",30");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2664\"]]");
-    p = add_epsg_def (filter, first, last, 2665, "epsg", 2665,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 31");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2664\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2665, "epsg", 2665,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 31", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 31\",");
     add_srs_wkt (p, 1,
@@ -1325,33 +1515,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",93],PARA");
     add_srs_wkt (p, 10,
-        "ng\",31500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",31");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2665\"]]");
-    p = add_epsg_def (filter, first, last, 2666, "epsg", 2666,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 32");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2665\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2666, "epsg", 2666,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 32", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 32\",");
     add_srs_wkt (p, 1,
@@ -1359,33 +1554,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",96],PARA");
     add_srs_wkt (p, 10,
-        "ng\",32500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",32");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2666\"]]");
-    p = add_epsg_def (filter, first, last, 2667, "epsg", 2667,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 33");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2666\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2667, "epsg", 2667,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 33", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 33\",");
     add_srs_wkt (p, 1,
@@ -1393,33 +1593,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",99],PARA");
     add_srs_wkt (p, 10,
-        "ng\",33500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",33");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2667\"]]");
-    p = add_epsg_def (filter, first, last, 2668, "epsg", 2668,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 34");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2667\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2668, "epsg", 2668,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 34", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 34\",");
     add_srs_wkt (p, 1,
@@ -1427,33 +1632,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "02],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",102],PAR");
     add_srs_wkt (p, 10,
-        "ing\",34500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "4500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2668\"]]");
-    p = add_epsg_def (filter, first, last, 2669, "epsg", 2669,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 35");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2668\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2669, "epsg", 2669,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 35", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 35\",");
     add_srs_wkt (p, 1,
@@ -1461,33 +1671,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "05],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",105],PAR");
     add_srs_wkt (p, 10,
-        "ing\",35500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "5500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2669\"]]");
-    p = add_epsg_def (filter, first, last, 2670, "epsg", 2670,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 36");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2669\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2670, "epsg", 2670,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 36", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 36\",");
     add_srs_wkt (p, 1,
@@ -1495,33 +1710,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "08],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",108],PAR");
     add_srs_wkt (p, 10,
-        "ing\",36500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "6500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2670\"]]");
-    p = add_epsg_def (filter, first, last, 2671, "epsg", 2671,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 37");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2670\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2671, "epsg", 2671,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 37", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 37\",");
     add_srs_wkt (p, 1,
@@ -1529,33 +1749,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",111],PAR");
     add_srs_wkt (p, 10,
-        "ing\",37500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "7500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2671\"]]");
-    p = add_epsg_def (filter, first, last, 2672, "epsg", 2672,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 38");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2671\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2672, "epsg", 2672,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 38", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 38\",");
     add_srs_wkt (p, 1,
@@ -1563,33 +1788,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "14],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",114],PAR");
     add_srs_wkt (p, 10,
-        "ing\",38500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "8500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2672\"]]");
-    p = add_epsg_def (filter, first, last, 2673, "epsg", 2673,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 39");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2672\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2673, "epsg", 2673,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 39", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 39\",");
     add_srs_wkt (p, 1,
@@ -1597,33 +1827,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "17],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",117],PAR");
     add_srs_wkt (p, 10,
-        "ing\",39500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "9500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2673\"]]");
-    p = add_epsg_def (filter, first, last, 2674, "epsg", 2674,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 40");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2673\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2674, "epsg", 2674,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 40", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 40\",");
     add_srs_wkt (p, 1,
@@ -1631,33 +1866,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "20],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",120],PAR");
     add_srs_wkt (p, 10,
-        "ing\",40500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "0500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2674\"]]");
-    p = add_epsg_def (filter, first, last, 2675, "epsg", 2675,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 41");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2674\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2675, "epsg", 2675,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 41", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 41\",");
     add_srs_wkt (p, 1,
@@ -1665,33 +1905,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "23],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",123],PAR");
     add_srs_wkt (p, 10,
-        "ing\",41500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "1500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2675\"]]");
-    p = add_epsg_def (filter, first, last, 2676, "epsg", 2676,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 42");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2675\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2676, "epsg", 2676,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 42", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 42\",");
     add_srs_wkt (p, 1,
@@ -1699,33 +1944,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "26],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",126],PAR");
     add_srs_wkt (p, 10,
-        "ing\",42500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "2500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2676\"]]");
-    p = add_epsg_def (filter, first, last, 2677, "epsg", 2677,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 43");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2676\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2677, "epsg", 2677,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 43", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 43\",");
     add_srs_wkt (p, 1,
@@ -1733,33 +1983,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "29],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",129],PAR");
     add_srs_wkt (p, 10,
-        "ing\",43500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "3500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2677\"]]");
-    p = add_epsg_def (filter, first, last, 2678, "epsg", 2678,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 44");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2677\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2678, "epsg", 2678,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 44", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 44\",");
     add_srs_wkt (p, 1,
@@ -1767,33 +2022,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "32],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",132],PAR");
     add_srs_wkt (p, 10,
-        "ing\",44500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "4500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2678\"]]");
-    p = add_epsg_def (filter, first, last, 2679, "epsg", 2679,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 45");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2678\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2679, "epsg", 2679,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 45", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 45\",");
     add_srs_wkt (p, 1,
@@ -1801,33 +2061,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "35],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",135],PAR");
     add_srs_wkt (p, 10,
-        "ing\",45500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "5500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2679\"]]");
-    p = add_epsg_def (filter, first, last, 2680, "epsg", 2680,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 46");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2679\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2680, "epsg", 2680,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 46", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 46\",");
     add_srs_wkt (p, 1,
@@ -1835,33 +2100,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "38],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",138],PAR");
     add_srs_wkt (p, 10,
-        "ing\",46500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "6500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2680\"]]");
-    p = add_epsg_def (filter, first, last, 2681, "epsg", 2681,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 47");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2680\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2681, "epsg", 2681,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 47", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 47\",");
     add_srs_wkt (p, 1,
@@ -1869,33 +2139,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "41],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",141],PAR");
     add_srs_wkt (p, 10,
-        "ing\",47500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "7500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2681\"]]");
-    p = add_epsg_def (filter, first, last, 2682, "epsg", 2682,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 48");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2681\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2682, "epsg", 2682,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 48", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 48\",");
     add_srs_wkt (p, 1,
@@ -1903,33 +2178,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "44],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",144],PAR");
     add_srs_wkt (p, 10,
-        "ing\",48500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "8500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2682\"]]");
-    p = add_epsg_def (filter, first, last, 2683, "epsg", 2683,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 49");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2682\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2683, "epsg", 2683,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 49", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 49\",");
     add_srs_wkt (p, 1,
@@ -1937,33 +2217,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "47],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",147],PAR");
     add_srs_wkt (p, 10,
-        "ing\",49500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "9500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2683\"]]");
-    p = add_epsg_def (filter, first, last, 2684, "epsg", 2684,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 50");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2683\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2684, "epsg", 2684,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 50", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 50\",");
     add_srs_wkt (p, 1,
@@ -1971,33 +2256,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "50],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",150],PAR");
     add_srs_wkt (p, 10,
-        "ing\",50500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "0500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2684\"]]");
-    p = add_epsg_def (filter, first, last, 2685, "epsg", 2685,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 51");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2684\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2685, "epsg", 2685,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 51", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 51\",");
     add_srs_wkt (p, 1,
@@ -2005,33 +2295,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "53],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",153],PAR");
     add_srs_wkt (p, 10,
-        "ing\",51500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "1500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2685\"]]");
-    p = add_epsg_def (filter, first, last, 2686, "epsg", 2686,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 52");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2685\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2686, "epsg", 2686,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 52", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 52\",");
     add_srs_wkt (p, 1,
@@ -2039,33 +2334,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "56],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",156],PAR");
     add_srs_wkt (p, 10,
-        "ing\",52500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "2500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2686\"]]");
-    p = add_epsg_def (filter, first, last, 2687, "epsg", 2687,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 53");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2686\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2687, "epsg", 2687,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 53", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 53\",");
     add_srs_wkt (p, 1,
@@ -2073,33 +2373,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "59],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",159],PAR");
     add_srs_wkt (p, 10,
-        "ing\",53500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "3500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2687\"]]");
-    p = add_epsg_def (filter, first, last, 2688, "epsg", 2688,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 54");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2687\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2688, "epsg", 2688,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 54", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 54\",");
     add_srs_wkt (p, 1,
@@ -2107,33 +2412,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "62],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",162],PAR");
     add_srs_wkt (p, 10,
-        "ing\",54500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "4500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2688\"]]");
-    p = add_epsg_def (filter, first, last, 2689, "epsg", 2689,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 55");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2688\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2689, "epsg", 2689,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 55", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 55\",");
     add_srs_wkt (p, 1,
@@ -2141,33 +2451,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "65],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",165],PAR");
     add_srs_wkt (p, 10,
-        "ing\",55500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "5500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2689\"]]");
-    p = add_epsg_def (filter, first, last, 2690, "epsg", 2690,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 56");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2689\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2690, "epsg", 2690,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 56", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 56\",");
     add_srs_wkt (p, 1,
@@ -2175,33 +2490,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "68],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",168],PAR");
     add_srs_wkt (p, 10,
-        "ing\",56500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "6500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2690\"]]");
-    p = add_epsg_def (filter, first, last, 2691, "epsg", 2691,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 57");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2690\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2691, "epsg", 2691,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 57", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 57\",");
     add_srs_wkt (p, 1,
@@ -2209,33 +2529,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "71],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",171],PAR");
     add_srs_wkt (p, 10,
-        "ing\",57500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "7500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2691\"]]");
-    p = add_epsg_def (filter, first, last, 2692, "epsg", 2692,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 58");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2691\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2692, "epsg", 2692,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 58", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 58\",");
     add_srs_wkt (p, 1,
@@ -2243,33 +2568,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "74],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",174],PAR");
     add_srs_wkt (p, 10,
-        "ing\",58500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "8500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2692\"]]");
-    p = add_epsg_def (filter, first, last, 2693, "epsg", 2693,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 59");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2692\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2693, "epsg", 2693,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 59", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 59\",");
     add_srs_wkt (p, 1,
@@ -2277,33 +2607,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "77],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",177],PAR");
     add_srs_wkt (p, 10,
-        "ing\",59500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "9500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"2693\"]]");
-    p = add_epsg_def (filter, first, last, 2694, "epsg", 2694,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 60 (deprecated)");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2693\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2694, "epsg", 2694,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 60 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 60 (d");
     add_srs_wkt (p, 1,
@@ -2311,33 +2646,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "5\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,");
+        "[\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.");
     add_srs_wkt (p, 4,
-        "0.13,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Green");
+        "13,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4200\"]],PROJECTION[\"Transverse_Mercator\"");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "\",\"4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "l_meridian\",180],PARAMETER[\"scale_factor\",1],PARAMETE");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",60000000],PARAMETER[\"false_northing");
+        "an\",180],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "e_easting\",60000000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"2694\"]]");
-    p = add_epsg_def (filter, first, last, 2695, "epsg", 2695,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 61");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2694\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2695, "epsg", 2695,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 61", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13");
+        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-");
     add_proj4text (p, 2,
-        ",-0.22 +units=m +no_defs");
+        "0.22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 61\",");
     add_srs_wkt (p, 1,
@@ -2345,33 +2685,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "177],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-177],PA");
     add_srs_wkt (p, 10,
-        "ting\",61500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "61500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "\",\"2695\"]]");
-    p = add_epsg_def (filter, first, last, 2696, "epsg", 2696,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 62");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2695\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2696, "epsg", 2696,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 62", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13");
+        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-");
     add_proj4text (p, 2,
-        ",-0.22 +units=m +no_defs");
+        "0.22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 62\",");
     add_srs_wkt (p, 1,
@@ -2379,33 +2724,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "174],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-174],PA");
     add_srs_wkt (p, 10,
-        "ting\",62500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "62500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "\",\"2696\"]]");
-    p = add_epsg_def (filter, first, last, 2697, "epsg", 2697,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 63");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2696\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2697, "epsg", 2697,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 63", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13");
+        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-");
     add_proj4text (p, 2,
-        ",-0.22 +units=m +no_defs");
+        "0.22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 63\",");
     add_srs_wkt (p, 1,
@@ -2413,33 +2763,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "171],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-171],PA");
     add_srs_wkt (p, 10,
-        "ting\",63500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "63500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "\",\"2697\"]]");
-    p = add_epsg_def (filter, first, last, 2698, "epsg", 2698,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 64");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2697\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2698, "epsg", 2698,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 64", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13");
+        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-");
     add_proj4text (p, 2,
-        ",-0.22 +units=m +no_defs");
+        "0.22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 64\",");
     add_srs_wkt (p, 1,
@@ -2447,33 +2802,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "168],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-168],PA");
     add_srs_wkt (p, 10,
-        "ting\",64500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "64500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "\",\"2698\"]]");
-    p = add_epsg_def (filter, first, last, 2699, "epsg", 2699,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 21E");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2698\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2699, "epsg", 2699,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 21E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 21E\",G");
     add_srs_wkt (p, 1,
@@ -2481,33 +2841,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",21");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",21],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2699\"]]");
-    p = add_epsg_def (filter, first, last, 2700, "epsg", 2700,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 24E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2699\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2700, "epsg", 2700,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 24E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 24E\",G");
     add_srs_wkt (p, 1,
@@ -2515,33 +2880,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",24");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",24],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2700\"]]");
-    p = add_epsg_def (filter, first, last, 2701, "epsg", 2701,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 27E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2700\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2701, "epsg", 2701,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 27E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 27E\",G");
     add_srs_wkt (p, 1,
@@ -2549,33 +2919,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",27");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",27],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2701\"]]");
-    p = add_epsg_def (filter, first, last, 2702, "epsg", 2702,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 30E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2701\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2702, "epsg", 2702,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 30E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 30E\",G");
     add_srs_wkt (p, 1,
@@ -2583,33 +2958,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",30");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",30],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2702\"]]");
-    p = add_epsg_def (filter, first, last, 2703, "epsg", 2703,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 33E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2702\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2703, "epsg", 2703,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 33E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 33E\",G");
     add_srs_wkt (p, 1,
@@ -2617,33 +2997,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",33");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",33],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2703\"]]");
-    p = add_epsg_def (filter, first, last, 2704, "epsg", 2704,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 36E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2703\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2704, "epsg", 2704,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 36E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 36E\",G");
     add_srs_wkt (p, 1,
@@ -2651,33 +3036,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",36");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",36],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2704\"]]");
-    p = add_epsg_def (filter, first, last, 2705, "epsg", 2705,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 39E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2704\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2705, "epsg", 2705,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 39E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 39E\",G");
     add_srs_wkt (p, 1,
@@ -2685,33 +3075,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",39");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",39],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2705\"]]");
-    p = add_epsg_def (filter, first, last, 2706, "epsg", 2706,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 42E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2705\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2706, "epsg", 2706,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 42E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 42E\",G");
     add_srs_wkt (p, 1,
@@ -2719,33 +3114,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",42");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",42],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2706\"]]");
-    p = add_epsg_def (filter, first, last, 2707, "epsg", 2707,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 45E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2706\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2707, "epsg", 2707,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 45E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 45E\",G");
     add_srs_wkt (p, 1,
@@ -2753,33 +3153,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",45");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",45],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2707\"]]");
-    p = add_epsg_def (filter, first, last, 2708, "epsg", 2708,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 48E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2707\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2708, "epsg", 2708,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 48E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 48E\",G");
     add_srs_wkt (p, 1,
@@ -2787,33 +3192,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",48");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",48],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2708\"]]");
-    p = add_epsg_def (filter, first, last, 2709, "epsg", 2709,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 51E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2708\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2709, "epsg", 2709,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 51E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 51E\",G");
     add_srs_wkt (p, 1,
@@ -2821,33 +3231,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",51");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",51],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2709\"]]");
-    p = add_epsg_def (filter, first, last, 2710, "epsg", 2710,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 54E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2709\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2710, "epsg", 2710,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 54E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 54E\",G");
     add_srs_wkt (p, 1,
@@ -2855,33 +3270,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",54");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",54],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2710\"]]");
-    p = add_epsg_def (filter, first, last, 2711, "epsg", 2711,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 57E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2710\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2711, "epsg", 2711,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 57E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 57E\",G");
     add_srs_wkt (p, 1,
@@ -2889,33 +3309,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",57");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",57],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2711\"]]");
-    p = add_epsg_def (filter, first, last, 2712, "epsg", 2712,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 60E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2711\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2712, "epsg", 2712,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 60E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 60E\",G");
     add_srs_wkt (p, 1,
@@ -2923,33 +3348,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",60");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",60],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2712\"]]");
-    p = add_epsg_def (filter, first, last, 2713, "epsg", 2713,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 63E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2712\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2713, "epsg", 2713,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 63E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 63E\",G");
     add_srs_wkt (p, 1,
@@ -2957,33 +3387,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",63");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",63],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2713\"]]");
-    p = add_epsg_def (filter, first, last, 2714, "epsg", 2714,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 66E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2713\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2714, "epsg", 2714,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 66E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 66E\",G");
     add_srs_wkt (p, 1,
@@ -2991,33 +3426,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",66");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",66],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2714\"]]");
-    p = add_epsg_def (filter, first, last, 2715, "epsg", 2715,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 69E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2714\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2715, "epsg", 2715,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 69E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 69E\",G");
     add_srs_wkt (p, 1,
@@ -3025,33 +3465,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",69");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",69],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2715\"]]");
-    p = add_epsg_def (filter, first, last, 2716, "epsg", 2716,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 72E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2715\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2716, "epsg", 2716,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 72E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 72E\",G");
     add_srs_wkt (p, 1,
@@ -3059,33 +3504,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",72");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",72],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2716\"]]");
-    p = add_epsg_def (filter, first, last, 2717, "epsg", 2717,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 75E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2716\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2717, "epsg", 2717,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 75E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 75E\",G");
     add_srs_wkt (p, 1,
@@ -3093,33 +3543,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",75");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",75],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2717\"]]");
-    p = add_epsg_def (filter, first, last, 2718, "epsg", 2718,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 78E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2717\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2718, "epsg", 2718,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 78E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 78E\",G");
     add_srs_wkt (p, 1,
@@ -3127,33 +3582,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",78");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",78],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2718\"]]");
-    p = add_epsg_def (filter, first, last, 2719, "epsg", 2719,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 81E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2718\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2719, "epsg", 2719,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 81E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 81E\",G");
     add_srs_wkt (p, 1,
@@ -3161,33 +3621,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",81");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",81],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2719\"]]");
-    p = add_epsg_def (filter, first, last, 2720, "epsg", 2720,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 84E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2719\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2720, "epsg", 2720,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 84E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 84E\",G");
     add_srs_wkt (p, 1,
@@ -3195,33 +3660,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",84");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",84],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2720\"]]");
-    p = add_epsg_def (filter, first, last, 2721, "epsg", 2721,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 87E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2720\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2721, "epsg", 2721,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 87E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 87E\",G");
     add_srs_wkt (p, 1,
@@ -3229,33 +3699,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",87");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",87],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2721\"]]");
-    p = add_epsg_def (filter, first, last, 2722, "epsg", 2722,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 90E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2721\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2722, "epsg", 2722,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 90E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 90E\",G");
     add_srs_wkt (p, 1,
@@ -3263,33 +3738,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",90");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",90],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2722\"]]");
-    p = add_epsg_def (filter, first, last, 2723, "epsg", 2723,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 93E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2722\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2723, "epsg", 2723,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 93E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 93E\",G");
     add_srs_wkt (p, 1,
@@ -3297,33 +3777,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",93");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",93],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2723\"]]");
-    p = add_epsg_def (filter, first, last, 2724, "epsg", 2724,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 96E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2723\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2724, "epsg", 2724,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 96E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 96E\",G");
     add_srs_wkt (p, 1,
@@ -3331,33 +3816,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",96");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",96],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2724\"]]");
-    p = add_epsg_def (filter, first, last, 2725, "epsg", 2725,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 99E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2724\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2725, "epsg", 2725,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 99E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 99E\",G");
     add_srs_wkt (p, 1,
@@ -3365,33 +3855,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",99");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "of_origin\",0],PARAMETER[\"central_meridian\",99],PARAME");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2725\"]]");
-    p = add_epsg_def (filter, first, last, 2726, "epsg", 2726,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 102E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"2725\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2726, "epsg", 2726,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 102E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 102E\",");
     add_srs_wkt (p, 1,
@@ -3399,33 +3894,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "02],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",102],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2726\"]]");
-    p = add_epsg_def (filter, first, last, 2727, "epsg", 2727,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 105E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2726\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2727, "epsg", 2727,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 105E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 105E\",");
     add_srs_wkt (p, 1,
@@ -3433,33 +3933,38 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "05],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",105],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2727\"]]");
-    p = add_epsg_def (filter, first, last, 2728, "epsg", 2728,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 108E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2727\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2728, "epsg", 2728,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 108E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 108E\",");
     add_srs_wkt (p, 1,
@@ -3467,25 +3972,27 @@ initialize_epsg_06 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "08],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",108],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2728\"]]");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2728\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_07.c b/src/srsinit/epsg_inlined_07.c
index e1cda86..e4b6de1 100644
--- a/src/srsinit/epsg_inlined_07.c
+++ b/src/srsinit/epsg_inlined_07.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,14 +54,17 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 2729, "epsg", 2729,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 111E");
+    p = add_epsg_def_ex (filter, first, last, 2729, "epsg", 2729,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 111E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 111E\",");
     add_srs_wkt (p, 1,
@@ -67,33 +72,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",111],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2729\"]]");
-    p = add_epsg_def (filter, first, last, 2730, "epsg", 2730,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 114E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2729\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2730, "epsg", 2730,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 114E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 114E\",");
     add_srs_wkt (p, 1,
@@ -101,33 +111,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "14],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",114],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2730\"]]");
-    p = add_epsg_def (filter, first, last, 2731, "epsg", 2731,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 117E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2730\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2731, "epsg", 2731,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 117E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 117E\",");
     add_srs_wkt (p, 1,
@@ -135,33 +150,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "17],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",117],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2731\"]]");
-    p = add_epsg_def (filter, first, last, 2732, "epsg", 2732,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 120E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2731\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2732, "epsg", 2732,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 120E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 120E\",");
     add_srs_wkt (p, 1,
@@ -169,33 +189,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "20],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",120],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2732\"]]");
-    p = add_epsg_def (filter, first, last, 2733, "epsg", 2733,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 123E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2732\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2733, "epsg", 2733,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 123E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 123E\",");
     add_srs_wkt (p, 1,
@@ -203,33 +228,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "23],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",123],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2733\"]]");
-    p = add_epsg_def (filter, first, last, 2734, "epsg", 2734,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 126E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2733\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2734, "epsg", 2734,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 126E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 126E\",");
     add_srs_wkt (p, 1,
@@ -237,33 +267,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "26],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",126],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2734\"]]");
-    p = add_epsg_def (filter, first, last, 2735, "epsg", 2735,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 129E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2734\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2735, "epsg", 2735,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 129E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 129E\",");
     add_srs_wkt (p, 1,
@@ -271,27 +306,32 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "29],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",129],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2735\"]]");
-    p = add_epsg_def (filter, first, last, 2736, "epsg", 2736,
-        "Tete / UTM zone 36S");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2735\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2736, "epsg", 2736,
+        "Tete / UTM zone 36S", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Tete", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=36 +south +ellps=clrk66 +towgs84=-73.472");
     add_proj4text (p, 1,
@@ -301,9 +341,9 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "PROJCS[\"Tete / UTM zone 36S\",GEOGCS[\"Tete\",DATUM[\"T");
     add_srs_wkt (p, 1,
-        "ete\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821390");
+        "ete\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821389");
     add_srs_wkt (p, 2,
-        "06,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-73.472,-51.66,");
+        "82,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-73.472,-51.66,");
     add_srs_wkt (p, 3,
         "-112.482,0.953,4.6,-2.368,0.586],AUTHORITY[\"EPSG\",\"61");
     add_srs_wkt (p, 4,
@@ -311,21 +351,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4127\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4127\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",33],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "METER[\"central_meridian\",33],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"2736\"]]");
-    p = add_epsg_def (filter, first, last, 2737, "epsg", 2737,
-        "Tete / UTM zone 37S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2736\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2737, "epsg", 2737,
+        "Tete / UTM zone 37S", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Tete", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=37 +south +ellps=clrk66 +towgs84=-73.472");
     add_proj4text (p, 1,
@@ -335,9 +380,9 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "PROJCS[\"Tete / UTM zone 37S\",GEOGCS[\"Tete\",DATUM[\"T");
     add_srs_wkt (p, 1,
-        "ete\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821390");
+        "ete\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821389");
     add_srs_wkt (p, 2,
-        "06,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-73.472,-51.66,");
+        "82,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-73.472,-51.66,");
     add_srs_wkt (p, 3,
         "-112.482,0.953,4.6,-2.368,0.586],AUTHORITY[\"EPSG\",\"61");
     add_srs_wkt (p, 4,
@@ -345,27 +390,32 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4127\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4127\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",39],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "METER[\"central_meridian\",39],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"2737\"]]");
-    p = add_epsg_def (filter, first, last, 2738, "epsg", 2738,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 132E");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2737\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2738, "epsg", 2738,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 132E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 132E\",");
     add_srs_wkt (p, 1,
@@ -373,33 +423,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "32],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",132],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2738\"]]");
-    p = add_epsg_def (filter, first, last, 2739, "epsg", 2739,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 135E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2738\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2739, "epsg", 2739,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 135E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 135E\",");
     add_srs_wkt (p, 1,
@@ -407,33 +462,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "35],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",135],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2739\"]]");
-    p = add_epsg_def (filter, first, last, 2740, "epsg", 2740,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 138E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2739\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2740, "epsg", 2740,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 138E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 138E\",");
     add_srs_wkt (p, 1,
@@ -441,33 +501,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "38],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",138],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2740\"]]");
-    p = add_epsg_def (filter, first, last, 2741, "epsg", 2741,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 141E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2740\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2741, "epsg", 2741,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 141E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 141E\",");
     add_srs_wkt (p, 1,
@@ -475,33 +540,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "41],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",141],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2741\"]]");
-    p = add_epsg_def (filter, first, last, 2742, "epsg", 2742,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 144E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2741\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2742, "epsg", 2742,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 144E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 144E\",");
     add_srs_wkt (p, 1,
@@ -509,33 +579,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "44],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",144],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2742\"]]");
-    p = add_epsg_def (filter, first, last, 2743, "epsg", 2743,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 147E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2742\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2743, "epsg", 2743,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 147E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 147E\",");
     add_srs_wkt (p, 1,
@@ -543,33 +618,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "47],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",147],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2743\"]]");
-    p = add_epsg_def (filter, first, last, 2744, "epsg", 2744,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 150E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2743\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2744, "epsg", 2744,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 150E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 150E\",");
     add_srs_wkt (p, 1,
@@ -577,33 +657,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "50],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",150],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2744\"]]");
-    p = add_epsg_def (filter, first, last, 2745, "epsg", 2745,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 153E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2744\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2745, "epsg", 2745,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 153E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 153E\",");
     add_srs_wkt (p, 1,
@@ -611,33 +696,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "53],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",153],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2745\"]]");
-    p = add_epsg_def (filter, first, last, 2746, "epsg", 2746,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 156E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2745\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2746, "epsg", 2746,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 156E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 156E\",");
     add_srs_wkt (p, 1,
@@ -645,33 +735,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "56],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",156],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2746\"]]");
-    p = add_epsg_def (filter, first, last, 2747, "epsg", 2747,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 159E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2746\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2747, "epsg", 2747,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 159E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 159E\",");
     add_srs_wkt (p, 1,
@@ -679,33 +774,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "59],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",159],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2747\"]]");
-    p = add_epsg_def (filter, first, last, 2748, "epsg", 2748,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 162E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2747\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2748, "epsg", 2748,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 162E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 162E\",");
     add_srs_wkt (p, 1,
@@ -713,33 +813,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "62],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",162],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2748\"]]");
-    p = add_epsg_def (filter, first, last, 2749, "epsg", 2749,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 165E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2748\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2749, "epsg", 2749,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 165E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 165E\",");
     add_srs_wkt (p, 1,
@@ -747,33 +852,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "65],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",165],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2749\"]]");
-    p = add_epsg_def (filter, first, last, 2750, "epsg", 2750,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 168E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2749\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2750, "epsg", 2750,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 168E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 168E\",");
     add_srs_wkt (p, 1,
@@ -781,33 +891,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "68],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",168],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2750\"]]");
-    p = add_epsg_def (filter, first, last, 2751, "epsg", 2751,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 171E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2750\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2751, "epsg", 2751,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 171E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 171E\",");
     add_srs_wkt (p, 1,
@@ -815,33 +930,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "71],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",171],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2751\"]]");
-    p = add_epsg_def (filter, first, last, 2752, "epsg", 2752,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 174E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2751\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2752, "epsg", 2752,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 174E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 174E\",");
     add_srs_wkt (p, 1,
@@ -849,33 +969,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "74],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",174],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2752\"]]");
-    p = add_epsg_def (filter, first, last, 2753, "epsg", 2753,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 177E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2752\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2753, "epsg", 2753,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 177E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 177E\",");
     add_srs_wkt (p, 1,
@@ -883,33 +1008,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "77],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",177],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2753\"]]");
-    p = add_epsg_def (filter, first, last, 2754, "epsg", 2754,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 180E");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2753\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2754, "epsg", 2754,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 180E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 180E\",");
     add_srs_wkt (p, 1,
@@ -917,33 +1047,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "80],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",180],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"2754\"]]");
-    p = add_epsg_def (filter, first, last, 2755, "epsg", 2755,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 177W");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"2754\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2755, "epsg", 2755,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 177W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 177W\",");
     add_srs_wkt (p, 1,
@@ -951,33 +1086,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "177],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-177],PA");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2755\"]]");
-    p = add_epsg_def (filter, first, last, 2756, "epsg", 2756,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 174W");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2755\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2756, "epsg", 2756,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 174W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 174W\",");
     add_srs_wkt (p, 1,
@@ -985,33 +1125,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "174],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-174],PA");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2756\"]]");
-    p = add_epsg_def (filter, first, last, 2757, "epsg", 2757,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 171W");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2756\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2757, "epsg", 2757,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 171W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 171W\",");
     add_srs_wkt (p, 1,
@@ -1019,33 +1164,38 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "171],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-171],PA");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2757\"]]");
-    p = add_epsg_def (filter, first, last, 2758, "epsg", 2758,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 168W");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2757\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2758, "epsg", 2758,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 168W", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 168W\",");
     add_srs_wkt (p, 1,
@@ -1053,27 +1203,32 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "168],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-168],PA");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",\"2758\"]]");
-    p = add_epsg_def (filter, first, last, 2759, "epsg", 2759,
-        "NAD83(HARN) / Alabama East");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"2758\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2759, "epsg", 2759,
+        "NAD83(HARN) / Alabama East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -1093,21 +1248,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",30.5],PARAMETER[\"central_meridian\",-85.8333333333");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "3333],PARAMETER[\"scale_factor\",0.99996],PARAMETER[\"fa");
+        "0.5],PARAMETER[\"central_meridian\",-85.83333333333333],");
     add_srs_wkt (p, 10,
-        "lse_easting\",200000],PARAMETER[\"false_northing\",0],UN");
+        "PARAMETER[\"scale_factor\",0.99996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "sting\",200000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2759\"]]");
-    p = add_epsg_def (filter, first, last, 2760, "epsg", 2760,
-        "NAD83(HARN) / Alabama West");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 13,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2759\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2760, "epsg", 2760,
+        "NAD83(HARN) / Alabama West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=6");
     add_proj4text (p, 1,
@@ -1127,21 +1287,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",30],PARAMETER[\"central_meridian\",-87.5],PARAMETER");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.999933333],PARAMETER[\"false_easting");
+        "0],PARAMETER[\"central_meridian\",-87.5],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "\",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "le_factor\",0.999933333],PARAMETER[\"false_easting\",600");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2760\"]]");
-    p = add_epsg_def (filter, first, last, 2761, "epsg", 2761,
-        "NAD83(HARN) / Arizona East");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2760\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2761, "epsg", 2761,
+        "NAD83(HARN) / Arizona East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1161,21 +1326,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",31],PARAMETER[\"central_meridian\",-110.16666666666");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "67],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false");
+        "1],PARAMETER[\"central_meridian\",-110.1666666666667],PA");
     add_srs_wkt (p, 10,
-        "_easting\",213360],PARAMETER[\"false_northing\",0],UNIT[");
+        "RAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "ng\",213360],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2761\"]]");
-    p = add_epsg_def (filter, first, last, 2762, "epsg", 2762,
-        "NAD83(HARN) / Arizona Central");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2761\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2762, "epsg", 2762,
+        "NAD83(HARN) / Arizona Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1195,21 +1365,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",31],PARAMETER[\"central_meridian\",-111.91666666");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "66667],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fa");
+        ",31],PARAMETER[\"central_meridian\",-111.9166666666667],");
     add_srs_wkt (p, 10,
-        "lse_easting\",213360],PARAMETER[\"false_northing\",0],UN");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "ting\",213360],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2762\"]]");
-    p = add_epsg_def (filter, first, last, 2763, "epsg", 2763,
-        "NAD83(HARN) / Arizona West");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2762\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2763, "epsg", 2763,
+        "NAD83(HARN) / Arizona West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
     add_proj4text (p, 1,
@@ -1229,21 +1404,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",31],PARAMETER[\"central_meridian\",-113.75],PARAMET");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.999933333],PARAMETER[\"false_easti");
+        "1],PARAMETER[\"central_meridian\",-113.75],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "ng\",213360],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "cale_factor\",0.999933333],PARAMETER[\"false_easting\",2");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "13360],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2763\"]]");
-    p = add_epsg_def (filter, first, last, 2764, "epsg", 2764,
-        "NAD83(HARN) / Arkansas North");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2763\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2764, "epsg", 2764,
+        "NAD83(HARN) / Arkansas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
     add_proj4text (p, 1,
@@ -1263,25 +1443,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",36.23333333333333],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",34.93333333333333],PARAMETER[\"latitude_of_");
+        "llel_1\",36.23333333333333],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "origin\",34.33333333333334],PARAMETER[\"central_meridian");
+        "l_2\",34.93333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "\",-92],PARAMETER[\"false_easting\",400000],PARAMETER[\"");
+        ",34.33333333333334],PARAMETER[\"central_meridian\",-92],");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "PARAMETER[\"false_easting\",400000],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"2764\"]]");
-    p = add_epsg_def (filter, first, last, 2765, "epsg", 2765,
-        "NAD83(HARN) / Arkansas South");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"2764\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2765, "epsg", 2765,
+        "NAD83(HARN) / Arkansas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
     add_proj4text (p, 1,
@@ -1301,25 +1486,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",34.76666666666667],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",33.3],PARAMETER[\"latitude_of_origin\",32.6");
+        "llel_1\",34.76666666666667],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "6666666666666],PARAMETER[\"central_meridian\",-92],PARAM");
+        "l_2\",33.3],PARAMETER[\"latitude_of_origin\",32.66666666");
     add_srs_wkt (p, 11,
-        "ETER[\"false_easting\",400000],PARAMETER[\"false_northin");
+        "666666],PARAMETER[\"central_meridian\",-92],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "g\",400000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "false_easting\",400000],PARAMETER[\"false_northing\",400");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
     add_srs_wkt (p, 14,
-        ",\"2765\"]]");
-    p = add_epsg_def (filter, first, last, 2766, "epsg", 2766,
-        "NAD83(HARN) / California zone 1");
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2765");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2766, "epsg", 2766,
+        "NAD83(HARN) / California zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
     add_proj4text (p, 1,
@@ -1339,25 +1529,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",41.66666666666666],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",40],PARAMETER[\"latitude_of_origin\",39.33");
+        "rallel_1\",41.66666666666666],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "333333333334],PARAMETER[\"central_meridian\",-122],PARAM");
+        "lel_2\",40],PARAMETER[\"latitude_of_origin\",39.33333333");
     add_srs_wkt (p, 11,
-        "ETER[\"false_easting\",2000000],PARAMETER[\"false_northi");
+        "333334],PARAMETER[\"central_meridian\",-122],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "ng\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "false_easting\",2000000],PARAMETER[\"false_northing\",50");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 14,
-        ",\"2766\"]]");
-    p = add_epsg_def (filter, first, last, 2767, "epsg", 2767,
-        "NAD83(HARN) / California zone 2");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"276");
+    add_srs_wkt (p, 15,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2767, "epsg", 2767,
+        "NAD83(HARN) / California zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
     add_proj4text (p, 1,
@@ -1379,25 +1574,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",39.83333333333334],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",38.33333333333334],PARAMETER[\"latitude_of");
+        "rallel_1\",39.83333333333334],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",37.66666666666666],PARAMETER[\"central_meridia");
+        "lel_2\",38.33333333333334],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "n\",-122],PARAMETER[\"false_easting\",2000000],PARAMETER");
+        "n\",37.66666666666666],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 12,
-        "[\"false_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "22],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fal");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "se_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"2767\"]]");
-    p = add_epsg_def (filter, first, last, 2768, "epsg", 2768,
-        "NAD83(HARN) / California zone 3");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"2767\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2768, "epsg", 2768,
+        "NAD83(HARN) / California zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
     add_proj4text (p, 1,
@@ -1417,25 +1617,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",38.43333333333333],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",37.06666666666667],PARAMETER[\"latitude_of");
+        "rallel_1\",38.43333333333333],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",36.5],PARAMETER[\"central_meridian\",-120.5],P");
+        "lel_2\",37.06666666666667],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",2000000],PARAMETER[\"false_no");
+        "n\",36.5],PARAMETER[\"central_meridian\",-120.5],PARAMET");
     add_srs_wkt (p, 12,
-        "rthing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ER[\"false_easting\",2000000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 13,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 14,
-        "PSG\",\"2768\"]]");
-    p = add_epsg_def (filter, first, last, 2769, "epsg", 2769,
-        "NAD83(HARN) / California zone 4");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 15,
+        "\"2768\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2769, "epsg", 2769,
+        "NAD83(HARN) / California zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
     add_proj4text (p, 1,
@@ -1455,23 +1660,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",37.25],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",36],PARAMETER[\"latitude_of_origin\",35.33333333333334]");
+        "rallel_1\",37.25],PARAMETER[\"standard_parallel_2\",36],");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-119],PARAMETER[\"false_");
+        "PARAMETER[\"latitude_of_origin\",35.33333333333334],PARA");
     add_srs_wkt (p, 11,
-        "easting\",2000000],PARAMETER[\"false_northing\",500000],");
+        "METER[\"central_meridian\",-119],PARAMETER[\"false_easti");
     add_srs_wkt (p, 12,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "ng\",2000000],PARAMETER[\"false_northing\",500000],UNIT[");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2769\"]]");
-    p = add_epsg_def (filter, first, last, 2770, "epsg", 2770,
-        "NAD83(HARN) / California zone 5");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2769\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2770, "epsg", 2770,
+        "NAD83(HARN) / California zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
     add_proj4text (p, 1,
@@ -1491,25 +1701,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",35.46666666666667],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",34.03333333333333],PARAMETER[\"latitude_of");
+        "rallel_1\",35.46666666666667],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",33.5],PARAMETER[\"central_meridian\",-118],PAR");
+        "lel_2\",34.03333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",2000000],PARAMETER[\"false_nort");
+        "n\",33.5],PARAMETER[\"central_meridian\",-118],PARAMETER");
     add_srs_wkt (p, 12,
-        "hing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "[\"false_easting\",2000000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        ",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 14,
-        "G\",\"2770\"]]");
-    p = add_epsg_def (filter, first, last, 2771, "epsg", 2771,
-        "NAD83(HARN) / California zone 6");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "2770\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2771, "epsg", 2771,
+        "NAD83(HARN) / California zone 6", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
     add_proj4text (p, 1,
@@ -1531,25 +1746,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",33.88333333333333],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",32.78333333333333],PARAMETER[\"latitude_of");
+        "rallel_1\",33.88333333333333],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",32.16666666666666],PARAMETER[\"central_meridia");
+        "lel_2\",32.78333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "n\",-116.25],PARAMETER[\"false_easting\",2000000],PARAME");
+        "n\",32.16666666666666],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",500000],UNIT[\"metre\",1,AUTHORIT");
+        "16.25],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "false_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        ",AUTHORITY[\"EPSG\",\"2771\"]]");
-    p = add_epsg_def (filter, first, last, 2772, "epsg", 2772,
-        "NAD83(HARN) / Colorado North");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 15,
+        "RITY[\"EPSG\",\"2771\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2772, "epsg", 2772,
+        "NAD83(HARN) / Colorado North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
     add_proj4text (p, 1,
@@ -1571,25 +1791,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",40.78333333333333],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",39.71666666666667],PARAMETER[\"latitude_of_");
+        "llel_1\",40.78333333333333],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "origin\",39.33333333333334],PARAMETER[\"central_meridian");
+        "l_2\",39.71666666666667],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "\",-105.5],PARAMETER[\"false_easting\",914401.8289],PARA");
+        ",39.33333333333334],PARAMETER[\"central_meridian\",-105.");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",304800.6096],UNIT[\"metre\",1,A");
+        "5],PARAMETER[\"false_easting\",914401.8289],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "false_northing\",304800.6096],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2772\"]]");
-    p = add_epsg_def (filter, first, last, 2773, "epsg", 2773,
-        "NAD83(HARN) / Colorado Central");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"2772\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2773, "epsg", 2773,
+        "NAD83(HARN) / Colorado Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
     add_proj4text (p, 1,
@@ -1609,25 +1834,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",39.75],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",38.45],PARAMETER[\"latitude_of_origin\",37.833333333333");
+        "rallel_1\",39.75],PARAMETER[\"standard_parallel_2\",38.4");
     add_srs_wkt (p, 10,
-        "34],PARAMETER[\"central_meridian\",-105.5],PARAMETER[\"f");
+        "5],PARAMETER[\"latitude_of_origin\",37.83333333333334],P");
     add_srs_wkt (p, 11,
-        "alse_easting\",914401.8289],PARAMETER[\"false_northing\"");
+        "ARAMETER[\"central_meridian\",-105.5],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        ",304800.6096],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "easting\",914401.8289],PARAMETER[\"false_northing\",3048");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "00.6096],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 14,
-        "\",\"2773\"]]");
-    p = add_epsg_def (filter, first, last, 2774, "epsg", 2774,
-        "NAD83(HARN) / Colorado South");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "2773\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2774, "epsg", 2774,
+        "NAD83(HARN) / Colorado South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
     add_proj4text (p, 1,
@@ -1649,25 +1879,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",38.43333333333333],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",37.23333333333333],PARAMETER[\"latitude_of_");
+        "llel_1\",38.43333333333333],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "origin\",36.66666666666666],PARAMETER[\"central_meridian");
+        "l_2\",37.23333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "\",-105.5],PARAMETER[\"false_easting\",914401.8289],PARA");
+        ",36.66666666666666],PARAMETER[\"central_meridian\",-105.");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",304800.6096],UNIT[\"metre\",1,A");
+        "5],PARAMETER[\"false_easting\",914401.8289],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "false_northing\",304800.6096],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2774\"]]");
-    p = add_epsg_def (filter, first, last, 2775, "epsg", 2775,
-        "NAD83(HARN) / Connecticut");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"2774\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2775, "epsg", 2775,
+        "NAD83(HARN) / Connecticut", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
     add_proj4text (p, 1,
@@ -1689,25 +1924,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "parallel_1\",41.86666666666667],PARAMETER[\"standard_par");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "allel_2\",41.2],PARAMETER[\"latitude_of_origin\",40.8333");
+        "el_1\",41.86666666666667],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "3333333334],PARAMETER[\"central_meridian\",-72.75],PARAM");
+        "2\",41.2],PARAMETER[\"latitude_of_origin\",40.8333333333");
     add_srs_wkt (p, 11,
-        "ETER[\"false_easting\",304800.6096],PARAMETER[\"false_no");
+        "3334],PARAMETER[\"central_meridian\",-72.75],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "rthing\",152400.3048],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "false_easting\",304800.6096],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        ",152400.3048],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"2775\"]]");
-    p = add_epsg_def (filter, first, last, 2776, "epsg", 2776,
-        "NAD83(HARN) / Delaware");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 15,
+        "\",\"2775\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2776, "epsg", 2776,
+        "NAD83(HARN) / Delaware", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1727,21 +1967,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "38],PARAMETER[\"central_meridian\",-75.41666666666667],P");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",38],PA");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.999995],PARAMETER[\"false_ea");
+        "RAMETER[\"central_meridian\",-75.41666666666667],PARAMET");
     add_srs_wkt (p, 10,
-        "sting\",200000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ER[\"scale_factor\",0.999995],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+        ",200000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2776\"]]");
-    p = add_epsg_def (filter, first, last, 2777, "epsg", 2777,
-        "NAD83(HARN) / Florida East");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2776\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2777, "epsg", 2777,
+        "NAD83(HARN) / Florida East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
     add_proj4text (p, 1,
@@ -1761,21 +2006,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",24.33333333333333],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "81],PARAMETER[\"scale_factor\",0.999941177],PARAMETER[\"");
+        "4.33333333333333],PARAMETER[\"central_meridian\",-81],PA");
     add_srs_wkt (p, 10,
-        "false_easting\",200000],PARAMETER[\"false_northing\",0],");
+        "RAMETER[\"scale_factor\",0.999941177],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "easting\",200000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2777\"]]");
-    p = add_epsg_def (filter, first, last, 2778, "epsg", 2778,
-        "NAD83(HARN) / Florida West");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2777\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2778, "epsg", 2778,
+        "NAD83(HARN) / Florida West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
     add_proj4text (p, 1,
@@ -1795,21 +2045,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",24.33333333333333],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "82],PARAMETER[\"scale_factor\",0.999941177],PARAMETER[\"");
+        "4.33333333333333],PARAMETER[\"central_meridian\",-82],PA");
     add_srs_wkt (p, 10,
-        "false_easting\",200000],PARAMETER[\"false_northing\",0],");
+        "RAMETER[\"scale_factor\",0.999941177],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "easting\",200000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2778\"]]");
-    p = add_epsg_def (filter, first, last, 2779, "epsg", 2779,
-        "NAD83(HARN) / Florida North");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2778\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2779, "epsg", 2779,
+        "NAD83(HARN) / Florida North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
     add_proj4text (p, 1,
@@ -1829,23 +2084,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",30.75],PARAMETER[\"standard_parallel_2\",2");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "9.58333333333333],PARAMETER[\"latitude_of_origin\",29],P");
+        "lel_1\",30.75],PARAMETER[\"standard_parallel_2\",29.5833");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"central_meridian\",-84.5],PARAMETER[\"false_e");
+        "3333333333],PARAMETER[\"latitude_of_origin\",29],PARAMET");
     add_srs_wkt (p, 11,
-        "asting\",600000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "ER[\"central_meridian\",-84.5],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "\",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 13,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2779\"]]");
-    p = add_epsg_def (filter, first, last, 2780, "epsg", 2780,
-        "NAD83(HARN) / Georgia East");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2779\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2780, "epsg", 2780,
+        "NAD83(HARN) / Georgia East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1865,21 +2125,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",30],PARAMETER[\"central_meridian\",-82.166666666666");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "67],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false");
+        "0],PARAMETER[\"central_meridian\",-82.16666666666667],PA");
     add_srs_wkt (p, 10,
-        "_easting\",200000],PARAMETER[\"false_northing\",0],UNIT[");
+        "RAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "ng\",200000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2780\"]]");
-    p = add_epsg_def (filter, first, last, 2781, "epsg", 2781,
-        "NAD83(HARN) / Georgia West");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2780\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2781, "epsg", 2781,
+        "NAD83(HARN) / Georgia West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1899,21 +2164,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",30],PARAMETER[\"central_meridian\",-84.166666666666");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "67],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false");
+        "0],PARAMETER[\"central_meridian\",-84.16666666666667],PA");
     add_srs_wkt (p, 10,
-        "_easting\",700000],PARAMETER[\"false_northing\",0],UNIT[");
+        "RAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "ng\",700000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2781\"]]");
-    p = add_epsg_def (filter, first, last, 2782, "epsg", 2782,
-        "NAD83(HARN) / Hawaii zone 1");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2781\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2782, "epsg", 2782,
+        "NAD83(HARN) / Hawaii zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.");
     add_proj4text (p, 1,
@@ -1933,23 +2203,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",18.83333333333333],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",1");
     add_srs_wkt (p, 9,
-        "155.5],PARAMETER[\"scale_factor\",0.999966667],PARAMETER");
+        "8.83333333333333],PARAMETER[\"central_meridian\",-155.5]");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        ",PARAMETER[\"scale_factor\",0.999966667],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2782\"]");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2783, "epsg", 2783,
-        "NAD83(HARN) / Hawaii zone 2");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2782\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2783, "epsg", 2783,
+        "NAD83(HARN) / Hawaii zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666");
     add_proj4text (p, 1,
@@ -1969,23 +2242,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",20.33333333333333],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "156.6666666666667],PARAMETER[\"scale_factor\",0.99996666");
+        "0.33333333333333],PARAMETER[\"central_meridian\",-156.66");
     add_srs_wkt (p, 10,
-        "7],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "66666666667],PARAMETER[\"scale_factor\",0.999966667],PAR");
     add_srs_wkt (p, 11,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "G\",\"2783\"]]");
-    p = add_epsg_def (filter, first, last, 2784, "epsg", 2784,
-        "NAD83(HARN) / Hawaii zone 3");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "2783\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2784, "epsg", 2784,
+        "NAD83(HARN) / Hawaii zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99");
     add_proj4text (p, 1,
@@ -2005,21 +2283,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",21.16666666666667],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "158],PARAMETER[\"scale_factor\",0.99999],PARAMETER[\"fal");
+        "1.16666666666667],PARAMETER[\"central_meridian\",-158],P");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "ARAMETER[\"scale_factor\",0.99999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2784\"]]");
-    p = add_epsg_def (filter, first, last, 2785, "epsg", 2785,
-        "NAD83(HARN) / Hawaii zone 4");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2784\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2785, "epsg", 2785,
+        "NAD83(HARN) / Hawaii zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.");
     add_proj4text (p, 1,
@@ -2039,21 +2322,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",21.83333333333333],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "159.5],PARAMETER[\"scale_factor\",0.99999],PARAMETER[\"f");
+        "1.83333333333333],PARAMETER[\"central_meridian\",-159.5]");
     add_srs_wkt (p, 10,
-        "alse_easting\",500000],PARAMETER[\"false_northing\",0],U");
+        ",PARAMETER[\"scale_factor\",0.99999],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2785\"]]");
-    p = add_epsg_def (filter, first, last, 2786, "epsg", 2786,
-        "NAD83(HARN) / Hawaii zone 5");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2785\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2786, "epsg", 2786,
+        "NAD83(HARN) / Hawaii zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666");
     add_proj4text (p, 1,
@@ -2073,23 +2361,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",21.66666666666667],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "160.1666666666667],PARAMETER[\"scale_factor\",1],PARAMET");
+        "1.66666666666667],PARAMETER[\"central_meridian\",-160.16");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
+        "66666666667],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "alse_easting\",500000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2786\"");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2787, "epsg", 2787,
-        "NAD83(HARN) / Idaho East");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2786\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2787, "epsg", 2787,
+        "NAD83(HARN) / Idaho East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
     add_proj4text (p, 1,
@@ -2109,23 +2400,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",41.66666666666666],PARAMETER[\"central_meridian\",-112.");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",41.6");
     add_srs_wkt (p, 9,
-        "1666666666667],PARAMETER[\"scale_factor\",0.999947368],P");
+        "6666666666666],PARAMETER[\"central_meridian\",-112.16666");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_easting\",200000],PARAMETER[\"false_nor");
+        "66666667],PARAMETER[\"scale_factor\",0.999947368],PARAME");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "TER[\"false_easting\",200000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 13,
-        "\"2787\"]]");
-    p = add_epsg_def (filter, first, last, 2788, "epsg", 2788,
-        "NAD83(HARN) / Idaho Central");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"278");
+    add_srs_wkt (p, 14,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2788, "epsg", 2788,
+        "NAD83(HARN) / Idaho Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
     add_proj4text (p, 1,
@@ -2145,21 +2441,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",41.66666666666666],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 9,
-        "114],PARAMETER[\"scale_factor\",0.999947368],PARAMETER[\"");
+        "1.66666666666666],PARAMETER[\"central_meridian\",-114],P");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "ARAMETER[\"scale_factor\",0.999947368],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2788\"]]");
-    p = add_epsg_def (filter, first, last, 2789, "epsg", 2789,
-        "NAD83(HARN) / Idaho West");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2788\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2789, "epsg", 2789,
+        "NAD83(HARN) / Idaho West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
     add_proj4text (p, 1,
@@ -2179,21 +2480,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",41.66666666666666],PARAMETER[\"central_meridian\",-115.");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",41.6");
     add_srs_wkt (p, 9,
-        "75],PARAMETER[\"scale_factor\",0.999933333],PARAMETER[\"");
+        "6666666666666],PARAMETER[\"central_meridian\",-115.75],P");
     add_srs_wkt (p, 10,
-        "false_easting\",800000],PARAMETER[\"false_northing\",0],");
+        "ARAMETER[\"scale_factor\",0.999933333],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "_easting\",800000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2789\"]]");
-    p = add_epsg_def (filter, first, last, 2790, "epsg", 2790,
-        "NAD83(HARN) / Illinois East");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2789\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2790, "epsg", 2790,
+        "NAD83(HARN) / Illinois East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
     add_proj4text (p, 1,
@@ -2213,23 +2519,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",36.66666666666666],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "88.33333333333333],PARAMETER[\"scale_factor\",0.999975],");
+        "6.66666666666666],PARAMETER[\"central_meridian\",-88.333");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no");
+        "33333333333],PARAMETER[\"scale_factor\",0.999975],PARAME");
     add_srs_wkt (p, 11,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "TER[\"false_easting\",300000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 13,
-        ",\"2790\"]]");
-    p = add_epsg_def (filter, first, last, 2791, "epsg", 2791,
-        "NAD83(HARN) / Illinois West");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"279");
+    add_srs_wkt (p, 14,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2791, "epsg", 2791,
+        "NAD83(HARN) / Illinois West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
     add_proj4text (p, 1,
@@ -2249,23 +2560,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",36.66666666666666],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "90.16666666666667],PARAMETER[\"scale_factor\",0.99994117");
+        "6.66666666666666],PARAMETER[\"central_meridian\",-90.166");
     add_srs_wkt (p, 10,
-        "7],PARAMETER[\"false_easting\",700000],PARAMETER[\"false");
+        "66666666667],PARAMETER[\"scale_factor\",0.999941177],PAR");
     add_srs_wkt (p, 11,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",700000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "G\",\"2791\"]]");
-    p = add_epsg_def (filter, first, last, 2792, "epsg", 2792,
-        "NAD83(HARN) / Indiana East");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "2791\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2792, "epsg", 2792,
+        "NAD83(HARN) / Indiana East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -2285,23 +2601,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",37.5],PARAMETER[\"central_meridian\",-85.6666666666");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "6667],PARAMETER[\"scale_factor\",0.999966667],PARAMETER[");
+        "7.5],PARAMETER[\"central_meridian\",-85.66666666666667],");
     add_srs_wkt (p, 10,
-        "\"false_easting\",100000],PARAMETER[\"false_northing\",2");
+        "PARAMETER[\"scale_factor\",0.999966667],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "50000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "e_easting\",100000],PARAMETER[\"false_northing\",250000]");
     add_srs_wkt (p, 12,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"27");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
     add_srs_wkt (p, 13,
-        "92\"]]");
-    p = add_epsg_def (filter, first, last, 2793, "epsg", 2793,
-        "NAD83(HARN) / Indiana West");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2792\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2793, "epsg", 2793,
+        "NAD83(HARN) / Indiana West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -2321,23 +2640,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",37.5],PARAMETER[\"central_meridian\",-87.0833333333");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "3333],PARAMETER[\"scale_factor\",0.999966667],PARAMETER[");
+        "7.5],PARAMETER[\"central_meridian\",-87.08333333333333],");
     add_srs_wkt (p, 10,
-        "\"false_easting\",900000],PARAMETER[\"false_northing\",2");
+        "PARAMETER[\"scale_factor\",0.999966667],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "50000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "e_easting\",900000],PARAMETER[\"false_northing\",250000]");
     add_srs_wkt (p, 12,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"27");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
     add_srs_wkt (p, 13,
-        "93\"]]");
-    p = add_epsg_def (filter, first, last, 2794, "epsg", 2794,
-        "NAD83(HARN) / Iowa North");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2793\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2794, "epsg", 2794,
+        "NAD83(HARN) / Iowa North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
     add_proj4text (p, 1,
@@ -2357,25 +2679,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "rallel_1\",43.26666666666667],PARAMETER[\"standard_paral");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "lel_2\",42.06666666666667],PARAMETER[\"latitude_of_origi");
+        "_1\",43.26666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "n\",41.5],PARAMETER[\"central_meridian\",-93.5],PARAMETE");
+        ",42.06666666666667],PARAMETER[\"latitude_of_origin\",41.");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",1500000],PARAMETER[\"false_northing\"");
+        "5],PARAMETER[\"central_meridian\",-93.5],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        ",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "se_easting\",1500000],PARAMETER[\"false_northing\",10000");
     add_srs_wkt (p, 13,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 14,
-        "2794\"]]");
-    p = add_epsg_def (filter, first, last, 2795, "epsg", 2795,
-        "NAD83(HARN) / Iowa South");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2794\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2795, "epsg", 2795,
+        "NAD83(HARN) / Iowa South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
     add_proj4text (p, 1,
@@ -2395,25 +2722,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "rallel_1\",41.78333333333333],PARAMETER[\"standard_paral");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "lel_2\",40.61666666666667],PARAMETER[\"latitude_of_origi");
+        "_1\",41.78333333333333],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "n\",40],PARAMETER[\"central_meridian\",-93.5],PARAMETER[");
+        ",40.61666666666667],PARAMETER[\"latitude_of_origin\",40]");
     add_srs_wkt (p, 11,
-        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
+        ",PARAMETER[\"central_meridian\",-93.5],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2795\"]");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 2796, "epsg", 2796,
-        "NAD83(HARN) / Kansas North");
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2795\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2796, "epsg", 2796,
+        "NAD83(HARN) / Kansas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
     add_proj4text (p, 1,
@@ -2433,25 +2763,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",39.78333333333333],PARAMETER[\"standard_pa");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "rallel_2\",38.71666666666667],PARAMETER[\"latitude_of_or");
+        "lel_1\",39.78333333333333],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "igin\",38.33333333333334],PARAMETER[\"central_meridian\"");
+        "_2\",38.71666666666667],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        ",-98],PARAMETER[\"false_easting\",400000],PARAMETER[\"fa");
+        ",38.33333333333334],PARAMETER[\"central_meridian\",-98],");
     add_srs_wkt (p, 12,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",400000],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"2796\"]]");
-    p = add_epsg_def (filter, first, last, 2797, "epsg", 2797,
-        "NAD83(HARN) / Kansas South");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"2796\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2797, "epsg", 2797,
+        "NAD83(HARN) / Kansas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
     add_proj4text (p, 1,
@@ -2473,25 +2808,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",38.56666666666667],PARAMETER[\"standard_pa");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "rallel_2\",37.26666666666667],PARAMETER[\"latitude_of_or");
+        "lel_1\",38.56666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "igin\",36.66666666666666],PARAMETER[\"central_meridian\"");
+        "_2\",37.26666666666667],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        ",-98.5],PARAMETER[\"false_easting\",400000],PARAMETER[\"");
+        ",36.66666666666666],PARAMETER[\"central_meridian\",-98.5");
     add_srs_wkt (p, 12,
-        "false_northing\",400000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "],PARAMETER[\"false_easting\",400000],PARAMETER[\"false_");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "northing\",400000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"2797\"]]");
-    p = add_epsg_def (filter, first, last, 2798, "epsg", 2798,
-        "NAD83(HARN) / Kentucky North");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"2797\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2798, "epsg", 2798,
+        "NAD83(HARN) / Kentucky North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
     add_proj4text (p, 1,
@@ -2511,25 +2851,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",37.96666666666667],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",38.96666666666667],PARAMETER[\"latitude_of_");
+        "llel_1\",37.96666666666667],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "origin\",37.5],PARAMETER[\"central_meridian\",-84.25],PA");
+        "l_2\",38.96666666666667],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        ",37.5],PARAMETER[\"central_meridian\",-84.25],PARAMETER[");
     add_srs_wkt (p, 12,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 13,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "2798\"]]");
-    p = add_epsg_def (filter, first, last, 2799, "epsg", 2799,
-        "NAD83(HARN) / Kentucky South");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2798\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2799, "epsg", 2799,
+        "NAD83(HARN) / Kentucky South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
     add_proj4text (p, 1,
@@ -2551,25 +2896,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",37.93333333333333],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",36.73333333333333],PARAMETER[\"latitude_of_");
+        "llel_1\",37.93333333333333],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "origin\",36.33333333333334],PARAMETER[\"central_meridian");
+        "l_2\",36.73333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "\",-85.75],PARAMETER[\"false_easting\",500000],PARAMETER");
+        ",36.33333333333334],PARAMETER[\"central_meridian\",-85.7");
     add_srs_wkt (p, 12,
-        "[\"false_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "5],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"2799\"]]");
-    p = add_epsg_def (filter, first, last, 2800, "epsg", 2800,
-        "NAD83(HARN) / Louisiana North");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"2799\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2800, "epsg", 2800,
+        "NAD83(HARN) / Louisiana North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
     add_proj4text (p, 1,
@@ -2589,25 +2939,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",32.66666666666666],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",31.16666666666667],PARAMETER[\"latitude_of");
+        "rallel_1\",32.66666666666666],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",30.5],PARAMETER[\"central_meridian\",-92.5],PA");
+        "lel_2\",31.16666666666667],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",1000000],PARAMETER[\"false_nor");
+        "n\",30.5],PARAMETER[\"central_meridian\",-92.5],PARAMETE");
     add_srs_wkt (p, 12,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "R[\"false_easting\",1000000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 14,
-        "\"2800\"]]");
-    p = add_epsg_def (filter, first, last, 2801, "epsg", 2801,
-        "NAD83(HARN) / Louisiana South");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2800\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2801, "epsg", 2801,
+        "NAD83(HARN) / Louisiana South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
     add_proj4text (p, 1,
@@ -2627,23 +2982,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",30.7],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",29.3],PARAMETER[\"latitude_of_origin\",28.5],PARAMETER[");
+        "rallel_1\",30.7],PARAMETER[\"standard_parallel_2\",29.3]");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-91.33333333333333],PARAMETER[\"fal");
+        ",PARAMETER[\"latitude_of_origin\",28.5],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "se_easting\",1000000],PARAMETER[\"false_northing\",0],UN");
+        "ral_meridian\",-91.33333333333333],PARAMETER[\"false_eas");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "ting\",1000000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2801\"]]");
-    p = add_epsg_def (filter, first, last, 2802, "epsg", 2802,
-        "NAD83(HARN) / Maine East");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2801\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2802, "epsg", 2802,
+        "NAD83(HARN) / Maine East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
@@ -2663,21 +3023,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",43.66666666666666],PARAMETER[\"central_meridian\",-68.5");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",43.6");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_e");
+        "6666666666666],PARAMETER[\"central_meridian\",-68.5],PAR");
     add_srs_wkt (p, 10,
-        "asting\",300000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "g\",300000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2802\"]]");
-    p = add_epsg_def (filter, first, last, 2803, "epsg", 2803,
-        "NAD83(HARN) / Maine West");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2802\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2803, "epsg", 2803,
+        "NAD83(HARN) / Maine West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
@@ -2697,23 +3062,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",42.83333333333334],PARAMETER[\"central_meridian\",-70.1");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",42.8");
     add_srs_wkt (p, 9,
-        "6666666666667],PARAMETER[\"scale_factor\",0.999966667],P");
+        "3333333333334],PARAMETER[\"central_meridian\",-70.166666");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_easting\",900000],PARAMETER[\"false_nor");
+        "66666667],PARAMETER[\"scale_factor\",0.999966667],PARAME");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "TER[\"false_easting\",900000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 13,
-        "\"2803\"]]");
-    p = add_epsg_def (filter, first, last, 2804, "epsg", 2804,
-        "NAD83(HARN) / Maryland");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"280");
+    add_srs_wkt (p, 14,
+        "3\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2804, "epsg", 2804,
+        "NAD83(HARN) / Maryland", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
     add_proj4text (p, 1,
@@ -2733,23 +3103,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "llel_1\",39.45],PARAMETER[\"standard_parallel_2\",38.3],");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",37.66666666666666],PARA");
+        "\",39.45],PARAMETER[\"standard_parallel_2\",38.3],PARAME");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-77],PARAMETER[\"false_eastin");
+        "TER[\"latitude_of_origin\",37.66666666666666],PARAMETER[");
     add_srs_wkt (p, 11,
-        "g\",400000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "\"central_meridian\",-77],PARAMETER[\"false_easting\",40");
     add_srs_wkt (p, 12,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2804\"]]");
-    p = add_epsg_def (filter, first, last, 2805, "epsg", 2805,
-        "NAD83(HARN) / Massachusetts Mainland");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2804\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2805, "epsg", 2805,
+        "NAD83(HARN) / Massachusetts Mainland", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
     add_proj4text (p, 1,
@@ -2769,25 +3144,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",42.68333333333333],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",41.71666666666667],PARAMETER[\"latitu");
+        "ard_parallel_1\",42.68333333333333],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",41],PARAMETER[\"central_meridian\",-71.5]");
+        "_parallel_2\",41.71666666666667],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_easting\",200000],PARAMETER[\"false_n");
+        "_origin\",41],PARAMETER[\"central_meridian\",-71.5],PARA");
     add_srs_wkt (p, 12,
-        "orthing\",750000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "METER[\"false_easting\",200000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 13,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "ng\",750000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"2805\"]]");
-    p = add_epsg_def (filter, first, last, 2806, "epsg", 2806,
-        "NAD83(HARN) / Massachusetts Island");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"2805\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2806, "epsg", 2806,
+        "NAD83(HARN) / Massachusetts Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
     add_proj4text (p, 1,
@@ -2807,25 +3187,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",41.48333333333333],PARAMETER[\"sta");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",41.28333333333333],PARAMETER[\"latitu");
+        "rd_parallel_1\",41.48333333333333],PARAMETER[\"standard_");
     add_srs_wkt (p, 10,
-        "de_of_origin\",41],PARAMETER[\"central_meridian\",-70.5]");
+        "parallel_2\",41.28333333333333],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "origin\",41],PARAMETER[\"central_meridian\",-70.5],PARAM");
     add_srs_wkt (p, 12,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 14,
-        ",\"2806\"]]");
-    p = add_epsg_def (filter, first, last, 2807, "epsg", 2807,
-        "NAD83(HARN) / Michigan North");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28");
+    add_srs_wkt (p, 15,
+        "06\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2807, "epsg", 2807,
+        "NAD83(HARN) / Michigan North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
     add_proj4text (p, 1,
@@ -2847,25 +3232,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",47.08333333333334],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",45.48333333333333],PARAMETER[\"latitude_of_");
+        "llel_1\",47.08333333333334],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "origin\",44.78333333333333],PARAMETER[\"central_meridian");
+        "l_2\",45.48333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "\",-87],PARAMETER[\"false_easting\",8000000],PARAMETER[\"");
+        ",44.78333333333333],PARAMETER[\"central_meridian\",-87],");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "PARAMETER[\"false_easting\",8000000],PARAMETER[\"false_n");
     add_srs_wkt (p, 13,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"2807\"]]");
-    p = add_epsg_def (filter, first, last, 2808, "epsg", 2808,
-        "NAD83(HARN) / Michigan Central");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"2807\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2808, "epsg", 2808,
+        "NAD83(HARN) / Michigan Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
     add_proj4text (p, 1,
@@ -2887,25 +3277,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",45.7],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",44.18333333333333],PARAMETER[\"latitude_of_origin\",43.");
+        "rallel_1\",45.7],PARAMETER[\"standard_parallel_2\",44.18");
     add_srs_wkt (p, 10,
-        "31666666666667],PARAMETER[\"central_meridian\",-84.36666");
+        "333333333333],PARAMETER[\"latitude_of_origin\",43.316666");
     add_srs_wkt (p, 11,
-        "666666666],PARAMETER[\"false_easting\",6000000],PARAMETE");
+        "66666667],PARAMETER[\"central_meridian\",-84.36666666666");
     add_srs_wkt (p, 12,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "666],PARAMETER[\"false_easting\",6000000],PARAMETER[\"fa");
     add_srs_wkt (p, 13,
-        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"2808\"]]");
-    p = add_epsg_def (filter, first, last, 2809, "epsg", 2809,
-        "NAD83(HARN) / Michigan South");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"2808\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2809, "epsg", 2809,
+        "NAD83(HARN) / Michigan South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
     add_proj4text (p, 1,
@@ -2925,25 +3320,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",43.66666666666666],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",42.1],PARAMETER[\"latitude_of_origin\",41.5");
+        "llel_1\",43.66666666666666],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"central_meridian\",-84.36666666666666],PAR");
+        "l_2\",42.1],PARAMETER[\"latitude_of_origin\",41.5],PARAM");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",4000000],PARAMETER[\"false_nort");
+        "ETER[\"central_meridian\",-84.36666666666666],PARAMETER[");
     add_srs_wkt (p, 12,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\"false_easting\",4000000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "2809\"]]");
-    p = add_epsg_def (filter, first, last, 2810, "epsg", 2810,
-        "NAD83(HARN) / Minnesota North");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2809\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2810, "epsg", 2810,
+        "NAD83(HARN) / Minnesota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
@@ -2965,25 +3365,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",48.63333333333333],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",47.03333333333333],PARAMETER[\"latitude_of");
+        "rallel_1\",48.63333333333333],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",46.5],PARAMETER[\"central_meridian\",-93.1],PA");
+        "lel_2\",47.03333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",800000],PARAMETER[\"false_nort");
+        "n\",46.5],PARAMETER[\"central_meridian\",-93.1],PARAMETE");
     add_srs_wkt (p, 12,
-        "hing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "R[\"false_easting\",800000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        ",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 14,
-        "G\",\"2810\"]]");
-    p = add_epsg_def (filter, first, last, 2811, "epsg", 2811,
-        "NAD83(HARN) / Minnesota Central");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "2810\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2811, "epsg", 2811,
+        "NAD83(HARN) / Minnesota Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
@@ -3003,23 +3408,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",47.05],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",45.61666666666667],PARAMETER[\"latitude_of_origin\",45]");
+        "rallel_1\",47.05],PARAMETER[\"standard_parallel_2\",45.6");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-94.25],PARAMETER[\"fals");
+        "1666666666667],PARAMETER[\"latitude_of_origin\",45],PARA");
     add_srs_wkt (p, 11,
-        "e_easting\",800000],PARAMETER[\"false_northing\",100000]");
+        "METER[\"central_meridian\",-94.25],PARAMETER[\"false_eas");
     add_srs_wkt (p, 12,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+        "ting\",800000],PARAMETER[\"false_northing\",100000],UNIT");
     add_srs_wkt (p, 13,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2811\"]]");
-    p = add_epsg_def (filter, first, last, 2812, "epsg", 2812,
-        "NAD83(HARN) / Minnesota South");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 14,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2811\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2812, "epsg", 2812,
+        "NAD83(HARN) / Minnesota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
@@ -3039,25 +3449,30 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",45.21666666666667],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",43.78333333333333],PARAMETER[\"latitude_of");
+        "rallel_1\",45.21666666666667],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",43],PARAMETER[\"central_meridian\",-94],PARAME");
+        "lel_2\",43.78333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",800000],PARAMETER[\"false_northing");
+        "n\",43],PARAMETER[\"central_meridian\",-94],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "false_easting\",800000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
     add_srs_wkt (p, 14,
-        "\"2812\"]]");
-    p = add_epsg_def (filter, first, last, 2813, "epsg", 2813,
-        "NAD83(HARN) / Mississippi East");
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2812");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2813, "epsg", 2813,
+        "NAD83(HARN) / Mississippi East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -3077,21 +3492,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",29.5],PARAMETER[\"central_meridian\",-88.8333333");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "3333333],PARAMETER[\"scale_factor\",0.99995],PARAMETER[\"");
+        ",29.5],PARAMETER[\"central_meridian\",-88.83333333333333");
     add_srs_wkt (p, 10,
-        "false_easting\",300000],PARAMETER[\"false_northing\",0],");
+        "],PARAMETER[\"scale_factor\",0.99995],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "easting\",300000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2813\"]]");
-    p = add_epsg_def (filter, first, last, 2814, "epsg", 2814,
-        "NAD83(HARN) / Mississippi West");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2813\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2814, "epsg", 2814,
+        "NAD83(HARN) / Mississippi West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -3111,21 +3531,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",29.5],PARAMETER[\"central_meridian\",-90.3333333");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "3333333],PARAMETER[\"scale_factor\",0.99995],PARAMETER[\"");
+        ",29.5],PARAMETER[\"central_meridian\",-90.33333333333333");
     add_srs_wkt (p, 10,
-        "false_easting\",700000],PARAMETER[\"false_northing\",0],");
+        "],PARAMETER[\"scale_factor\",0.99995],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "easting\",700000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2814\"]]");
-    p = add_epsg_def (filter, first, last, 2815, "epsg", 2815,
-        "NAD83(HARN) / Missouri East");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2814\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2815, "epsg", 2815,
+        "NAD83(HARN) / Missouri East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9");
     add_proj4text (p, 1,
@@ -3145,23 +3570,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",35.83333333333334],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "90.5],PARAMETER[\"scale_factor\",0.999933333],PARAMETER[");
+        "5.83333333333334],PARAMETER[\"central_meridian\",-90.5],");
     add_srs_wkt (p, 10,
-        "\"false_easting\",250000],PARAMETER[\"false_northing\",0");
+        "PARAMETER[\"scale_factor\",0.999933333],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "e_easting\",250000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2815\"]");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2816, "epsg", 2816,
-        "NAD83(HARN) / Missouri Central");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2815\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2816, "epsg", 2816,
+        "NAD83(HARN) / Missouri Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9");
     add_proj4text (p, 1,
@@ -3181,23 +3609,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",35.83333333333334],PARAMETER[\"central_meridian\"");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        ",-92.5],PARAMETER[\"scale_factor\",0.999933333],PARAMETE");
+        ",35.83333333333334],PARAMETER[\"central_meridian\",-92.5");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
+        "],PARAMETER[\"scale_factor\",0.999933333],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2816\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2817, "epsg", 2817,
-        "NAD83(HARN) / Missouri West");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2816\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2817, "epsg", 2817,
+        "NAD83(HARN) / Missouri West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9");
     add_proj4text (p, 1,
@@ -3217,23 +3648,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",36.16666666666666],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "94.5],PARAMETER[\"scale_factor\",0.999941177],PARAMETER[");
+        "6.16666666666666],PARAMETER[\"central_meridian\",-94.5],");
     add_srs_wkt (p, 10,
-        "\"false_easting\",850000],PARAMETER[\"false_northing\",0");
+        "PARAMETER[\"scale_factor\",0.999941177],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "e_easting\",850000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2817\"]");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2818, "epsg", 2818,
-        "NAD83(HARN) / Montana");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2817\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2818, "epsg", 2818,
+        "NAD83(HARN) / Montana", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
     add_proj4text (p, 1,
@@ -3253,23 +3687,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"L");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
+        "EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "lel_1\",49],PARAMETER[\"standard_parallel_2\",45],PARAME");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",44.25],PARAMETER[\"central_me");
+        ",49],PARAMETER[\"standard_parallel_2\",45],PARAMETER[\"l");
     add_srs_wkt (p, 10,
-        "ridian\",-109.5],PARAMETER[\"false_easting\",600000],PAR");
+        "atitude_of_origin\",44.25],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        ",-109.5],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"2818\"]]");
-    p = add_epsg_def (filter, first, last, 2819, "epsg", 2819,
-        "NAD83(HARN) / Nebraska");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"2818\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2819, "epsg", 2819,
+        "NAD83(HARN) / Nebraska", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
@@ -3289,23 +3728,28 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "llel_1\",43],PARAMETER[\"standard_parallel_2\",40],PARAM");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "ETER[\"latitude_of_origin\",39.83333333333334],PARAMETER");
+        "\",43],PARAMETER[\"standard_parallel_2\",40],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"central_meridian\",-100],PARAMETER[\"false_easting\",");
+        "latitude_of_origin\",39.83333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "ral_meridian\",-100],PARAMETER[\"false_easting\",500000]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2819\"]]");
-    p = add_epsg_def (filter, first, last, 2820, "epsg", 2820,
-        "NAD83(HARN) / Nevada East");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"2819\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2820, "epsg", 2820,
+        "NAD83(HARN) / Nevada East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
     add_proj4text (p, 1,
@@ -3325,23 +3769,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",34.75],PARAMETER[\"central_meridian\",-115.583333333");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",34");
     add_srs_wkt (p, 9,
-        "3333],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        ".75],PARAMETER[\"central_meridian\",-115.5833333333333],");
     add_srs_wkt (p, 10,
-        "se_easting\",200000],PARAMETER[\"false_northing\",800000");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ting\",200000],PARAMETER[\"false_northing\",8000000],UNI");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2820\"]");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2821, "epsg", 2821,
-        "NAD83(HARN) / Nevada Central");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2820\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2821, "epsg", 2821,
+        "NAD83(HARN) / Nevada Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
     add_proj4text (p, 1,
@@ -3361,23 +3808,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",34.75],PARAMETER[\"central_meridian\",-116.666666");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "6666667],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "34.75],PARAMETER[\"central_meridian\",-116.6666666666667");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",600");
+        "],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        "asting\",500000],PARAMETER[\"false_northing\",6000000],U");
     add_srs_wkt (p, 12,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"282");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 13,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 2822, "epsg", 2822,
-        "NAD83(HARN) / Nevada West");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2821\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2822, "epsg", 2822,
+        "NAD83(HARN) / Nevada West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
     add_proj4text (p, 1,
@@ -3397,23 +3847,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",34.75],PARAMETER[\"central_meridian\",-118.583333333");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",34");
     add_srs_wkt (p, 9,
-        "3333],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        ".75],PARAMETER[\"central_meridian\",-118.5833333333333],");
     add_srs_wkt (p, 10,
-        "se_easting\",800000],PARAMETER[\"false_northing\",400000");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ting\",800000],PARAMETER[\"false_northing\",4000000],UNI");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2822\"]");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2823, "epsg", 2823,
-        "NAD83(HARN) / New Hampshire");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2822\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2823, "epsg", 2823,
+        "NAD83(HARN) / New Hampshire", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -3433,23 +3886,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",42.5],PARAMETER[\"central_meridian\",-71.6666666666");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 9,
-        "6667],PARAMETER[\"scale_factor\",0.999966667],PARAMETER[");
+        "2.5],PARAMETER[\"central_meridian\",-71.66666666666667],");
     add_srs_wkt (p, 10,
-        "\"false_easting\",300000],PARAMETER[\"false_northing\",0");
+        "PARAMETER[\"scale_factor\",0.999966667],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "e_easting\",300000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2823\"]");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2824, "epsg", 2824,
-        "NAD83(HARN) / New Jersey");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2823\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2824, "epsg", 2824,
+        "NAD83(HARN) / New Jersey", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
@@ -3469,21 +3925,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",38.83333333333334],PARAMETER[\"central_meridian\",-74.5");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",38.8");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_e");
+        "3333333333334],PARAMETER[\"central_meridian\",-74.5],PAR");
     add_srs_wkt (p, 10,
-        "asting\",150000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "g\",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2824\"]]");
-    p = add_epsg_def (filter, first, last, 2825, "epsg", 2825,
-        "NAD83(HARN) / New Mexico East");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2824\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2825, "epsg", 2825,
+        "NAD83(HARN) / New Mexico East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -3503,23 +3964,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",31],PARAMETER[\"central_meridian\",-104.33333333");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "33333],PARAMETER[\"scale_factor\",0.999909091],PARAMETER");
+        ",31],PARAMETER[\"central_meridian\",-104.3333333333333],");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",165000],PARAMETER[\"false_northing\",");
+        "PARAMETER[\"scale_factor\",0.999909091],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "e_easting\",165000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2825\"]");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2826, "epsg", 2826,
-        "NAD83(HARN) / New Mexico Central");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2825\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2826, "epsg", 2826,
+        "NAD83(HARN) / New Mexico Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
     add_proj4text (p, 1,
@@ -3539,21 +4003,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",31],PARAMETER[\"central_meridian\",-106.25],P");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_east");
+        "in\",31],PARAMETER[\"central_meridian\",-106.25],PARAMET");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2826\"]]");
-    p = add_epsg_def (filter, first, last, 2827, "epsg", 2827,
-        "NAD83(HARN) / New Mexico West");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2826\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2827, "epsg", 2827,
+        "NAD83(HARN) / New Mexico West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -3573,23 +4042,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",31],PARAMETER[\"central_meridian\",-107.83333333");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "33333],PARAMETER[\"scale_factor\",0.999916667],PARAMETER");
+        ",31],PARAMETER[\"central_meridian\",-107.8333333333333],");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",830000],PARAMETER[\"false_northing\",");
+        "PARAMETER[\"scale_factor\",0.999916667],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "e_easting\",830000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2827\"]");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2828, "epsg", 2828,
-        "NAD83(HARN) / New York East");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2827\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2828, "epsg", 2828,
+        "NAD83(HARN) / New York East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
@@ -3609,21 +4081,26 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",38.83333333333334],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 9,
-        "74.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "8.83333333333334],PARAMETER[\"central_meridian\",-74.5],");
     add_srs_wkt (p, 10,
-        "se_easting\",150000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",150000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2828\"]]");
-    p = add_epsg_def (filter, first, last, 2829, "epsg", 2829,
-        "NAD83(HARN) / New York Central");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2828\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2829, "epsg", 2829,
+        "NAD83(HARN) / New York Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -3643,19 +4120,21 @@ initialize_epsg_07 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",40],PARAMETER[\"central_meridian\",-76.583333333");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "33333],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"");
+        ",40],PARAMETER[\"central_meridian\",-76.58333333333333],");
     add_srs_wkt (p, 10,
-        "false_easting\",250000],PARAMETER[\"false_northing\",0],");
+        "PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "easting\",250000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2829\"]]");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2829\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_08.c b/src/srsinit/epsg_inlined_08.c
index 431dc41..06ab28c 100644
--- a/src/srsinit/epsg_inlined_08.c
+++ b/src/srsinit/epsg_inlined_08.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 2830, "epsg", 2830,
-        "NAD83(HARN) / New York West");
+    p = add_epsg_def_ex (filter, first, last, 2830, "epsg", 2830,
+        "NAD83(HARN) / New York West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -73,21 +78,26 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",40],PARAMETER[\"central_meridian\",-78.583333333333");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 9,
-        "33],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"fa");
+        "0],PARAMETER[\"central_meridian\",-78.58333333333333],PA");
     add_srs_wkt (p, 10,
-        "lse_easting\",350000],PARAMETER[\"false_northing\",0],UN");
+        "RAMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "sting\",350000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2830\"]]");
-    p = add_epsg_def (filter, first, last, 2831, "epsg", 2831,
-        "NAD83(HARN) / New York Long Island");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 13,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2830\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2831, "epsg", 2831,
+        "NAD83(HARN) / New York Long Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
     add_proj4text (p, 1,
@@ -107,25 +117,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",41.03333333333333],PARAMETER[\"sta");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",40.66666666666666],PARAMETER[\"latitu");
+        "rd_parallel_1\",41.03333333333333],PARAMETER[\"standard_");
     add_srs_wkt (p, 10,
-        "de_of_origin\",40.16666666666666],PARAMETER[\"central_me");
+        "parallel_2\",40.66666666666666],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        "ridian\",-74],PARAMETER[\"false_easting\",300000],PARAME");
+        "origin\",40.16666666666666],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "\",-74],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"2831\"]]");
-    p = add_epsg_def (filter, first, last, 2832, "epsg", 2832,
-        "NAD83(HARN) / North Dakota North");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"2831\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2832, "epsg", 2832,
+        "NAD83(HARN) / North Dakota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
     add_proj4text (p, 1,
@@ -145,25 +160,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",48.73333333333333],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",47.43333333333333],PARAMETER[\"latitude");
+        "_parallel_1\",48.73333333333333],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",47],PARAMETER[\"central_meridian\",-100.5],");
+        "rallel_2\",47.43333333333333],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_easting\",600000],PARAMETER[\"false_no");
+        "igin\",47],PARAMETER[\"central_meridian\",-100.5],PARAME");
     add_srs_wkt (p, 12,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "TER[\"false_easting\",600000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 14,
-        ",\"2832\"]]");
-    p = add_epsg_def (filter, first, last, 2833, "epsg", 2833,
-        "NAD83(HARN) / North Dakota South");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"283");
+    add_srs_wkt (p, 15,
+        "2\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2833, "epsg", 2833,
+        "NAD83(HARN) / North Dakota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
     add_proj4text (p, 1,
@@ -185,25 +205,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",47.48333333333333],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",46.18333333333333],PARAMETER[\"latitude");
+        "_parallel_1\",47.48333333333333],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",45.66666666666666],PARAMETER[\"central_meri");
+        "rallel_2\",46.18333333333333],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "dian\",-100.5],PARAMETER[\"false_easting\",600000],PARAM");
+        "igin\",45.66666666666666],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",-100.5],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"2833\"]]");
-    p = add_epsg_def (filter, first, last, 2834, "epsg", 2834,
-        "NAD83(HARN) / Ohio North");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"2833\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2834, "epsg", 2834,
+        "NAD83(HARN) / Ohio North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
     add_proj4text (p, 1,
@@ -223,25 +248,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "rallel_1\",41.7],PARAMETER[\"standard_parallel_2\",40.43");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "333333333333],PARAMETER[\"latitude_of_origin\",39.666666");
+        "_1\",41.7],PARAMETER[\"standard_parallel_2\",40.43333333");
     add_srs_wkt (p, 10,
-        "66666666],PARAMETER[\"central_meridian\",-82.5],PARAMETE");
+        "333333],PARAMETER[\"latitude_of_origin\",39.666666666666");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",600000],PARAMETER[\"false_northing\"");
+        "66],PARAMETER[\"central_meridian\",-82.5],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "lse_easting\",600000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 13,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2834\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2835, "epsg", 2835,
-        "NAD83(HARN) / Ohio South");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2834\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2835, "epsg", 2835,
+        "NAD83(HARN) / Ohio South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
     add_proj4text (p, 1,
@@ -261,25 +289,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "rallel_1\",40.03333333333333],PARAMETER[\"standard_paral");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "lel_2\",38.73333333333333],PARAMETER[\"latitude_of_origi");
+        "_1\",40.03333333333333],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "n\",38],PARAMETER[\"central_meridian\",-82.5],PARAMETER[");
+        ",38.73333333333333],PARAMETER[\"latitude_of_origin\",38]");
     add_srs_wkt (p, 11,
-        "\"false_easting\",600000],PARAMETER[\"false_northing\",0");
+        ",PARAMETER[\"central_meridian\",-82.5],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "_easting\",600000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2835\"]");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 2836, "epsg", 2836,
-        "NAD83(HARN) / Oklahoma North");
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2835\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2836, "epsg", 2836,
+        "NAD83(HARN) / Oklahoma North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
     add_proj4text (p, 1,
@@ -299,25 +330,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",36.76666666666667],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",35.56666666666667],PARAMETER[\"latitude_of_");
+        "llel_1\",36.76666666666667],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "origin\",35],PARAMETER[\"central_meridian\",-98],PARAMET");
+        "l_2\",35.56666666666667],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",600000],PARAMETER[\"false_northing\"");
+        ",35],PARAMETER[\"central_meridian\",-98],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "se_easting\",600000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 13,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2836\"");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2837, "epsg", 2837,
-        "NAD83(HARN) / Oklahoma South");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2836\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2837, "epsg", 2837,
+        "NAD83(HARN) / Oklahoma South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
     add_proj4text (p, 1,
@@ -337,25 +371,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",35.23333333333333],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",33.93333333333333],PARAMETER[\"latitude_of_");
+        "llel_1\",35.23333333333333],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "origin\",33.33333333333334],PARAMETER[\"central_meridian");
+        "l_2\",33.93333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "\",-98],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+        ",33.33333333333334],PARAMETER[\"central_meridian\",-98],");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "PARAMETER[\"false_easting\",600000],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"2837\"]]");
-    p = add_epsg_def (filter, first, last, 2838, "epsg", 2838,
-        "NAD83(HARN) / Oregon North");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"2837\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2838, "epsg", 2838,
+        "NAD83(HARN) / Oregon North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
     add_proj4text (p, 1,
@@ -375,25 +414,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",46],PARAMETER[\"standard_parallel_2\",44.3");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "3333333333334],PARAMETER[\"latitude_of_origin\",43.66666");
+        "lel_1\",46],PARAMETER[\"standard_parallel_2\",44.3333333");
     add_srs_wkt (p, 10,
-        "666666666],PARAMETER[\"central_meridian\",-120.5],PARAME");
+        "3333334],PARAMETER[\"latitude_of_origin\",43.66666666666");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",2500000],PARAMETER[\"false_northin");
+        "666],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "false_easting\",2500000],PARAMETER[\"false_northing\",0]");
     add_srs_wkt (p, 13,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
     add_srs_wkt (p, 14,
-        "38\"]]");
-    p = add_epsg_def (filter, first, last, 2839, "epsg", 2839,
-        "NAD83(HARN) / Oregon South");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2838\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2839, "epsg", 2839,
+        "NAD83(HARN) / Oregon South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
     add_proj4text (p, 1,
@@ -413,25 +455,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",44],PARAMETER[\"standard_parallel_2\",42.3");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "3333333333334],PARAMETER[\"latitude_of_origin\",41.66666");
+        "lel_1\",44],PARAMETER[\"standard_parallel_2\",42.3333333");
     add_srs_wkt (p, 10,
-        "666666666],PARAMETER[\"central_meridian\",-120.5],PARAME");
+        "3333334],PARAMETER[\"latitude_of_origin\",41.66666666666");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",1500000],PARAMETER[\"false_northin");
+        "666],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "false_easting\",1500000],PARAMETER[\"false_northing\",0]");
     add_srs_wkt (p, 13,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
     add_srs_wkt (p, 14,
-        "39\"]]");
-    p = add_epsg_def (filter, first, last, 2840, "epsg", 2840,
-        "NAD83(HARN) / Rhode Island");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2839\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2840, "epsg", 2840,
+        "NAD83(HARN) / Rhode Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
     add_proj4text (p, 1,
@@ -451,21 +496,26 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",41.08333333333334],PARAMETER[\"central_meridian\",-");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 9,
-        "71.5],PARAMETER[\"scale_factor\",0.99999375],PARAMETER[\"");
+        "1.08333333333334],PARAMETER[\"central_meridian\",-71.5],");
     add_srs_wkt (p, 10,
-        "false_easting\",100000],PARAMETER[\"false_northing\",0],");
+        "PARAMETER[\"scale_factor\",0.99999375],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "_easting\",100000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2840\"]]");
-    p = add_epsg_def (filter, first, last, 2841, "epsg", 2841,
-        "NAD83(HARN) / South Dakota North");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2840\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2841, "epsg", 2841,
+        "NAD83(HARN) / South Dakota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
     add_proj4text (p, 1,
@@ -487,25 +537,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",45.68333333333333],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",44.41666666666666],PARAMETER[\"latitude");
+        "_parallel_1\",45.68333333333333],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",43.83333333333334],PARAMETER[\"central_meri");
+        "rallel_2\",44.41666666666666],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "dian\",-100],PARAMETER[\"false_easting\",600000],PARAMET");
+        "igin\",43.83333333333334],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ",-100],PARAMETER[\"false_easting\",600000],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"2841\"]]");
-    p = add_epsg_def (filter, first, last, 2842, "epsg", 2842,
-        "NAD83(HARN) / South Dakota South");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"2841\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2842, "epsg", 2842,
+        "NAD83(HARN) / South Dakota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
     add_proj4text (p, 1,
@@ -527,25 +582,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",44.4],PARAMETER[\"standard_parallel_");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "2\",42.83333333333334],PARAMETER[\"latitude_of_origin\",");
+        "_parallel_1\",44.4],PARAMETER[\"standard_parallel_2\",42");
     add_srs_wkt (p, 10,
-        "42.33333333333334],PARAMETER[\"central_meridian\",-100.3");
+        ".83333333333334],PARAMETER[\"latitude_of_origin\",42.333");
     add_srs_wkt (p, 11,
-        "333333333333],PARAMETER[\"false_easting\",600000],PARAME");
+        "33333333334],PARAMETER[\"central_meridian\",-100.3333333");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "333333],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"2842\"]]");
-    p = add_epsg_def (filter, first, last, 2843, "epsg", 2843,
-        "NAD83(HARN) / Tennessee");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"2842\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2843, "epsg", 2843,
+        "NAD83(HARN) / Tennessee", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
     add_proj4text (p, 1,
@@ -565,23 +625,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "llel_1\",36.41666666666666],PARAMETER[\"standard_paralle");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "l_2\",35.25],PARAMETER[\"latitude_of_origin\",34.3333333");
+        "\",36.41666666666666],PARAMETER[\"standard_parallel_2\",");
     add_srs_wkt (p, 10,
-        "3333334],PARAMETER[\"central_meridian\",-86],PARAMETER[\"");
+        "35.25],PARAMETER[\"latitude_of_origin\",34.3333333333333");
     add_srs_wkt (p, 11,
-        "false_easting\",600000],PARAMETER[\"false_northing\",0],");
+        "4],PARAMETER[\"central_meridian\",-86],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "_easting\",600000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2843\"]]");
-    p = add_epsg_def (filter, first, last, 2844, "epsg", 2844,
-        "NAD83(HARN) / Texas North");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2843\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2844, "epsg", 2844,
+        "NAD83(HARN) / Texas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
     add_proj4text (p, 1,
@@ -601,23 +666,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "parallel_1\",36.18333333333333],PARAMETER[\"standard_par");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "allel_2\",34.65],PARAMETER[\"latitude_of_origin\",34],PA");
+        "el_1\",36.18333333333333],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-101.5],PARAMETER[\"false_e");
+        "2\",34.65],PARAMETER[\"latitude_of_origin\",34],PARAMETE");
     add_srs_wkt (p, 11,
-        "asting\",200000],PARAMETER[\"false_northing\",1000000],U");
+        "R[\"central_meridian\",-101.5],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "\",200000],PARAMETER[\"false_northing\",1000000],UNIT[\"");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2844\"]]");
-    p = add_epsg_def (filter, first, last, 2845, "epsg", 2845,
-        "NAD83(HARN) / Texas North Central");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2844\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2845, "epsg", 2845,
+        "NAD83(HARN) / Texas North Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
     add_proj4text (p, 1,
@@ -639,25 +709,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",33.96666666666667],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",32.13333333333333],PARAMETER[\"latitude");
+        "_parallel_1\",33.96666666666667],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",31.66666666666667],PARAMETER[\"central_meri");
+        "rallel_2\",32.13333333333333],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "dian\",-98.5],PARAMETER[\"false_easting\",600000],PARAME");
+        "igin\",31.66666666666667],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",2000000],UNIT[\"metre\",1,AUTHORI");
+        ",-98.5],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "false_northing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 14,
-        "],AUTHORITY[\"EPSG\",\"2845\"]]");
-    p = add_epsg_def (filter, first, last, 2846, "epsg", 2846,
-        "NAD83(HARN) / Texas Central");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"2845\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2846, "epsg", 2846,
+        "NAD83(HARN) / Texas Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
     add_proj4text (p, 1,
@@ -679,25 +754,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",31.88333333333333],PARAMETER[\"standard_pa");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "rallel_2\",30.11666666666667],PARAMETER[\"latitude_of_or");
+        "lel_1\",31.88333333333333],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "igin\",29.66666666666667],PARAMETER[\"central_meridian\"");
+        "_2\",30.11666666666667],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        ",-100.3333333333333],PARAMETER[\"false_easting\",700000]");
+        ",29.66666666666667],PARAMETER[\"central_meridian\",-100.");
     add_srs_wkt (p, 12,
-        ",PARAMETER[\"false_northing\",3000000],UNIT[\"metre\",1,");
+        "3333333333333],PARAMETER[\"false_easting\",700000],PARAM");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "ETER[\"false_northing\",3000000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2846\"]]");
-    p = add_epsg_def (filter, first, last, 2847, "epsg", 2847,
-        "NAD83(HARN) / Texas South Central");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 15,
+        "H],AUTHORITY[\"EPSG\",\"2846\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2847, "epsg", 2847,
+        "NAD83(HARN) / Texas South Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
     add_proj4text (p, 1,
@@ -719,25 +799,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",30.28333333333333],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",28.38333333333333],PARAMETER[\"latitude");
+        "_parallel_1\",30.28333333333333],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",27.83333333333333],PARAMETER[\"central_meri");
+        "rallel_2\",28.38333333333333],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "dian\",-99],PARAMETER[\"false_easting\",600000],PARAMETE");
+        "igin\",27.83333333333333],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "R[\"false_northing\",4000000],UNIT[\"metre\",1,AUTHORITY");
+        ",-99],PARAMETER[\"false_easting\",600000],PARAMETER[\"fa");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "lse_northing\",4000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"2847\"]]");
-    p = add_epsg_def (filter, first, last, 2848, "epsg", 2848,
-        "NAD83(HARN) / Texas South");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"2847\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2848, "epsg", 2848,
+        "NAD83(HARN) / Texas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
@@ -759,25 +844,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "parallel_1\",27.83333333333333],PARAMETER[\"standard_par");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "allel_2\",26.16666666666667],PARAMETER[\"latitude_of_ori");
+        "el_1\",27.83333333333333],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "gin\",25.66666666666667],PARAMETER[\"central_meridian\",");
+        "2\",26.16666666666667],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        "-98.5],PARAMETER[\"false_easting\",300000],PARAMETER[\"f");
+        "25.66666666666667],PARAMETER[\"central_meridian\",-98.5]");
     add_srs_wkt (p, 12,
-        "alse_northing\",5000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ",PARAMETER[\"false_easting\",300000],PARAMETER[\"false_n");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "orthing\",5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"2848\"]]");
-    p = add_epsg_def (filter, first, last, 2849, "epsg", 2849,
-        "NAD83(HARN) / Utah North");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"2848\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2849, "epsg", 2849,
+        "NAD83(HARN) / Utah North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
@@ -799,25 +889,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "rallel_1\",41.78333333333333],PARAMETER[\"standard_paral");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "lel_2\",40.71666666666667],PARAMETER[\"latitude_of_origi");
+        "_1\",41.78333333333333],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "n\",40.33333333333334],PARAMETER[\"central_meridian\",-1");
+        ",40.71666666666667],PARAMETER[\"latitude_of_origin\",40.");
     add_srs_wkt (p, 11,
-        "11.5],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "33333333333334],PARAMETER[\"central_meridian\",-111.5],P");
     add_srs_wkt (p, 12,
-        "lse_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 13,
-        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "thing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"2849\"]]");
-    p = add_epsg_def (filter, first, last, 2850, "epsg", 2850,
-        "NAD83(HARN) / Utah Central");
+        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"2849\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2850, "epsg", 2850,
+        "NAD83(HARN) / Utah Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -837,25 +932,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",40.65],PARAMETER[\"standard_parallel_2\",3");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "9.01666666666667],PARAMETER[\"latitude_of_origin\",38.33");
+        "lel_1\",40.65],PARAMETER[\"standard_parallel_2\",39.0166");
     add_srs_wkt (p, 10,
-        "333333333334],PARAMETER[\"central_meridian\",-111.5],PAR");
+        "6666666667],PARAMETER[\"latitude_of_origin\",38.33333333");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "333334],PARAMETER[\"central_meridian\",-111.5],PARAMETER");
     add_srs_wkt (p, 12,
-        "ing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "2000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 14,
-        "G\",\"2850\"]]");
-    p = add_epsg_def (filter, first, last, 2851, "epsg", 2851,
-        "NAD83(HARN) / Utah South");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "2850\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2851, "epsg", 2851,
+        "NAD83(HARN) / Utah South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -875,25 +975,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "rallel_1\",38.35],PARAMETER[\"standard_parallel_2\",37.2");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "1666666666667],PARAMETER[\"latitude_of_origin\",36.66666");
+        "_1\",38.35],PARAMETER[\"standard_parallel_2\",37.2166666");
     add_srs_wkt (p, 10,
-        "666666666],PARAMETER[\"central_meridian\",-111.5],PARAME");
+        "6666667],PARAMETER[\"latitude_of_origin\",36.66666666666");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
+        "666],PARAMETER[\"central_meridian\",-111.5],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "\",3000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "false_easting\",500000],PARAMETER[\"false_northing\",300");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 14,
-        ",\"2851\"]]");
-    p = add_epsg_def (filter, first, last, 2852, "epsg", 2852,
-        "NAD83(HARN) / Vermont");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"285");
+    add_srs_wkt (p, 15,
+        "1\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2852, "epsg", 2852,
+        "NAD83(HARN) / Vermont", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
     add_proj4text (p, 1,
@@ -913,21 +1018,26 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
+        "EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "2.5],PARAMETER[\"central_meridian\",-72.5],PARAMETER[\"s");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",42.5],P");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.999964286],PARAMETER[\"false_easting\",5");
+        "ARAMETER[\"central_meridian\",-72.5],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "actor\",0.999964286],PARAMETER[\"false_easting\",500000]");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2852\"]]");
-    p = add_epsg_def (filter, first, last, 2853, "epsg", 2853,
-        "NAD83(HARN) / Virginia North");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2852\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2853, "epsg", 2853,
+        "NAD83(HARN) / Virginia North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
     add_proj4text (p, 1,
@@ -947,25 +1057,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",39.2],PARAMETER[\"standard_parallel_2\",");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "38.03333333333333],PARAMETER[\"latitude_of_origin\",37.6");
+        "llel_1\",39.2],PARAMETER[\"standard_parallel_2\",38.0333");
     add_srs_wkt (p, 10,
-        "6666666666666],PARAMETER[\"central_meridian\",-78.5],PAR");
+        "3333333333],PARAMETER[\"latitude_of_origin\",37.66666666");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",3500000],PARAMETER[\"false_nort");
+        "666666],PARAMETER[\"central_meridian\",-78.5],PARAMETER[");
     add_srs_wkt (p, 12,
-        "hing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "\"false_easting\",3500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "2000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 14,
-        "SG\",\"2853\"]]");
-    p = add_epsg_def (filter, first, last, 2854, "epsg", 2854,
-        "NAD83(HARN) / Virginia South");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "2853\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2854, "epsg", 2854,
+        "NAD83(HARN) / Virginia South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
     add_proj4text (p, 1,
@@ -987,25 +1102,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",37.96666666666667],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",36.76666666666667],PARAMETER[\"latitude_of_");
+        "llel_1\",37.96666666666667],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "origin\",36.33333333333334],PARAMETER[\"central_meridian");
+        "l_2\",36.76666666666667],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "\",-78.5],PARAMETER[\"false_easting\",3500000],PARAMETER");
+        ",36.33333333333334],PARAMETER[\"central_meridian\",-78.5");
     add_srs_wkt (p, 12,
-        "[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[");
+        "],PARAMETER[\"false_easting\",3500000],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "UTHORITY[\"EPSG\",\"2854\"]]");
-    p = add_epsg_def (filter, first, last, 2855, "epsg", 2855,
-        "NAD83(HARN) / Washington North");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"2854\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2855, "epsg", 2855,
+        "NAD83(HARN) / Washington North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
     add_proj4text (p, 1,
@@ -1025,25 +1145,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",48.73333333333333],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",47.5],PARAMETER[\"latitude_of_origin\",47]");
+        "rallel_1\",48.73333333333333],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-120.8333333333333],PARA");
+        "lel_2\",47.5],PARAMETER[\"latitude_of_origin\",47],PARAM");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "ETER[\"central_meridian\",-120.8333333333333],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "855\"]]");
-    p = add_epsg_def (filter, first, last, 2856, "epsg", 2856,
-        "NAD83(HARN) / Washington South");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2855\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2856, "epsg", 2856,
+        "NAD83(HARN) / Washington South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
     add_proj4text (p, 1,
@@ -1065,25 +1190,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",47.33333333333334],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",45.83333333333334],PARAMETER[\"latitude_of");
+        "rallel_1\",47.33333333333334],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",45.33333333333334],PARAMETER[\"central_meridia");
+        "lel_2\",45.83333333333334],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "n\",-120.5],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "n\",45.33333333333334],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 12,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "20.5],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 13,
-        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"2856\"]]");
-    p = add_epsg_def (filter, first, last, 2857, "epsg", 2857,
-        "NAD83(HARN) / West Virginia North");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"2856\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2857, "epsg", 2857,
+        "NAD83(HARN) / West Virginia North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
@@ -1103,23 +1233,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",40.25],PARAMETER[\"standard_parallel");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "_2\",39],PARAMETER[\"latitude_of_origin\",38.5],PARAMETE");
+        "_parallel_1\",40.25],PARAMETER[\"standard_parallel_2\",3");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-79.5],PARAMETER[\"false_easting\"");
+        "9],PARAMETER[\"latitude_of_origin\",38.5],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        ",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "ntral_meridian\",-79.5],PARAMETER[\"false_easting\",6000");
     add_srs_wkt (p, 12,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2857\"]]");
-    p = add_epsg_def (filter, first, last, 2858, "epsg", 2858,
-        "NAD83(HARN) / West Virginia South");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 14,
+        "ORTH],AUTHORITY[\"EPSG\",\"2857\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2858, "epsg", 2858,
+        "NAD83(HARN) / West Virginia South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
@@ -1139,25 +1274,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",38.88333333333333],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",37.48333333333333],PARAMETER[\"latitude");
+        "_parallel_1\",38.88333333333333],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",37],PARAMETER[\"central_meridian\",-81],PAR");
+        "rallel_2\",37.48333333333333],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",600000],PARAMETER[\"false_north");
+        "igin\",37],PARAMETER[\"central_meridian\",-81],PARAMETER");
     add_srs_wkt (p, 12,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",600000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "2858\"]]");
-    p = add_epsg_def (filter, first, last, 2859, "epsg", 2859,
-        "NAD83(HARN) / Wisconsin North");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2858\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 2859, "epsg", 2859,
+        "NAD83(HARN) / Wisconsin North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
     add_proj4text (p, 1,
@@ -1177,25 +1317,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",46.76666666666667],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",45.56666666666667],PARAMETER[\"latitude_of");
+        "rallel_1\",46.76666666666667],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",45.16666666666666],PARAMETER[\"central_meridia");
+        "lel_2\",45.56666666666667],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "n\",-90],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+        "n\",45.16666666666666],PARAMETER[\"central_meridian\",-9");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "0],PARAMETER[\"false_easting\",600000],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"2859\"]]");
-    p = add_epsg_def (filter, first, last, 2860, "epsg", 2860,
-        "NAD83(HARN) / Wisconsin Central");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"2859\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2860, "epsg", 2860,
+        "NAD83(HARN) / Wisconsin Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
     add_proj4text (p, 1,
@@ -1215,23 +1360,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",45.5],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",44.25],PARAMETER[\"latitude_of_origin\",43.833333333333");
+        "rallel_1\",45.5],PARAMETER[\"standard_parallel_2\",44.25");
     add_srs_wkt (p, 10,
-        "34],PARAMETER[\"central_meridian\",-90],PARAMETER[\"fals");
+        "],PARAMETER[\"latitude_of_origin\",43.83333333333334],PA");
     add_srs_wkt (p, 11,
-        "e_easting\",600000],PARAMETER[\"false_northing\",0],UNIT");
+        "RAMETER[\"central_meridian\",-90],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        "ing\",600000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2860\"]]");
-    p = add_epsg_def (filter, first, last, 2861, "epsg", 2861,
-        "NAD83(HARN) / Wisconsin South");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2860\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2861, "epsg", 2861,
+        "NAD83(HARN) / Wisconsin South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
     add_proj4text (p, 1,
@@ -1251,25 +1401,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",44.06666666666667],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",42.73333333333333],PARAMETER[\"latitude_of");
+        "rallel_1\",44.06666666666667],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",42],PARAMETER[\"central_meridian\",-90],PARAME");
+        "lel_2\",42.73333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",600000],PARAMETER[\"false_northing");
+        "n\",42],PARAMETER[\"central_meridian\",-90],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        "false_easting\",600000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"286");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 14,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 2862, "epsg", 2862,
-        "NAD83(HARN) / Wyoming East");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2861\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2862, "epsg", 2862,
+        "NAD83(HARN) / Wyoming East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -1289,21 +1442,26 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",40.5],PARAMETER[\"central_meridian\",-105.166666666");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 9,
-        "6667],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"");
+        "0.5],PARAMETER[\"central_meridian\",-105.1666666666667],");
     add_srs_wkt (p, 10,
-        "false_easting\",200000],PARAMETER[\"false_northing\",0],");
+        "PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "easting\",200000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2862\"]]");
-    p = add_epsg_def (filter, first, last, 2863, "epsg", 2863,
-        "NAD83(HARN) / Wyoming East Central");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2862\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2863, "epsg", 2863,
+        "NAD83(HARN) / Wyoming East Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -1323,23 +1481,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",40.5],PARAMETER[\"central_meridian\",-107.3");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "333333333333],PARAMETER[\"scale_factor\",0.9999375],PARA");
+        "igin\",40.5],PARAMETER[\"central_meridian\",-107.3333333");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",400000],PARAMETER[\"false_northi");
+        "333333],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[");
     add_srs_wkt (p, 11,
-        "ng\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "\"false_easting\",400000],PARAMETER[\"false_northing\",1");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        ",\"2863\"]]");
-    p = add_epsg_def (filter, first, last, 2864, "epsg", 2864,
-        "NAD83(HARN) / Wyoming West Central");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28");
+    add_srs_wkt (p, 14,
+        "63\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2864, "epsg", 2864,
+        "NAD83(HARN) / Wyoming West Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
     add_proj4text (p, 1,
@@ -1359,21 +1522,26 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",40.5],PARAMETER[\"central_meridian\",-108.7");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"fal");
+        "igin\",40.5],PARAMETER[\"central_meridian\",-108.75],PAR");
     add_srs_wkt (p, 10,
-        "se_easting\",600000],PARAMETER[\"false_northing\",0],UNI");
+        "AMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",600000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2864\"]]");
-    p = add_epsg_def (filter, first, last, 2865, "epsg", 2865,
-        "NAD83(HARN) / Wyoming West");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2864\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2865, "epsg", 2865,
+        "NAD83(HARN) / Wyoming West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -1393,23 +1561,26 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",40.5],PARAMETER[\"central_meridian\",-110.083333333");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 9,
-        "3333],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"");
+        "0.5],PARAMETER[\"central_meridian\",-110.0833333333333],");
     add_srs_wkt (p, 10,
-        "false_easting\",800000],PARAMETER[\"false_northing\",100");
+        "PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "easting\",800000],PARAMETER[\"false_northing\",100000],U");
     add_srs_wkt (p, 12,
-        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2865");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 2866, "epsg", 2866,
-        "NAD83(HARN) / Puerto Rico and Virgin Is.");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2865\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2866, "epsg", 2866,
+        "NAD83(HARN) / Puerto Rico and Virgin Is.", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333");
     add_proj4text (p, 1,
@@ -1431,25 +1602,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"415");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "2\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_1\",18.43333333333333],PARAMETER");
+        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",18.03333333333333],PARAMETER[\"");
+        "standard_parallel_1\",18.43333333333333],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",17.83333333333333],PARAMETER[\"cent");
+        "ndard_parallel_2\",18.03333333333333],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "ral_meridian\",-66.43333333333334],PARAMETER[\"false_eas");
+        "de_of_origin\",17.83333333333333],PARAMETER[\"central_me");
     add_srs_wkt (p, 12,
-        "ting\",200000],PARAMETER[\"false_northing\",200000],UNIT");
+        "ridian\",-66.43333333333334],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 13,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        ",200000],PARAMETER[\"false_northing\",200000],UNIT[\"met");
     add_srs_wkt (p, 14,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2866\"]]");
-    p = add_epsg_def (filter, first, last, 2867, "epsg", 2867,
-        "NAD83(HARN) / Arizona East (ft)");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 15,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2866\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2867, "epsg", 2867,
+        "NAD83(HARN) / Arizona East (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1469,23 +1645,26 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",31],PARAMETER[\"central_meridian\",-110.16666666");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "66667],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fa");
+        ",31],PARAMETER[\"central_meridian\",-110.1666666666667],");
     add_srs_wkt (p, 10,
-        "lse_easting\",700000],PARAMETER[\"false_northing\",0],UN");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "IT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"");
+        "ting\",700000],PARAMETER[\"false_northing\",0],UNIT[\"fo");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2867\"]");
+        "ot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 2868, "epsg", 2868,
-        "NAD83(HARN) / Arizona Central (ft)");
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2867\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2868, "epsg", 2868,
+        "NAD83(HARN) / Arizona Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1505,23 +1684,26 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",31],PARAMETER[\"central_meridian\",-111.916");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "6666666667],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
+        "igin\",31],PARAMETER[\"central_meridian\",-111.916666666");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",700000],PARAMETER[\"false_northing\",");
+        "6667],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AX");
+        "se_easting\",700000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 12,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28");
+        "T[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X");
     add_srs_wkt (p, 13,
-        "68\"]]");
-    p = add_epsg_def (filter, first, last, 2869, "epsg", 2869,
-        "NAD83(HARN) / Arizona West (ft)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2868\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2869, "epsg", 2869,
+        "NAD83(HARN) / Arizona West (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
     add_proj4text (p, 1,
@@ -1541,21 +1723,26 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",31],PARAMETER[\"central_meridian\",-113.75],PARA");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.999933333],PARAMETER[\"false_ea");
+        ",31],PARAMETER[\"central_meridian\",-113.75],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "sting\",700000],PARAMETER[\"false_northing\",0],UNIT[\"f");
+        "scale_factor\",0.999933333],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "oot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EA");
+        "700000],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.");
     add_srs_wkt (p, 12,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2869\"]]");
-    p = add_epsg_def (filter, first, last, 2870, "epsg", 2870,
-        "NAD83(HARN) / California zone 1 (ftUS)");
+        "3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2869\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2870, "epsg", 2870,
+        "NAD83(HARN) / California zone 1 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
     add_proj4text (p, 1,
@@ -1577,25 +1764,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PR");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",41.66666666666666],PARAMETER[\"");
+        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",40],PARAMETER[\"latitude_of_origin");
+        "andard_parallel_1\",41.66666666666666],PARAMETER[\"stand");
     add_srs_wkt (p, 10,
-        "\",39.33333333333334],PARAMETER[\"central_meridian\",-12");
+        "ard_parallel_2\",40],PARAMETER[\"latitude_of_origin\",39");
     add_srs_wkt (p, 11,
-        "2],PARAMETER[\"false_easting\",6561666.667],PARAMETER[\"");
+        ".33333333333334],PARAMETER[\"central_meridian\",-122],PA");
     add_srs_wkt (p, 12,
-        "false_northing\",1640416.667],UNIT[\"US survey foot\",0.");
+        "RAMETER[\"false_easting\",6561666.667],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "_northing\",1640416.667],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2870\"]]");
-    p = add_epsg_def (filter, first, last, 2871, "epsg", 2871,
-        "NAD83(HARN) / California zone 2 (ftUS)");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 15,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2870\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2871, "epsg", 2871,
+        "NAD83(HARN) / California zone 2 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
     add_proj4text (p, 1,
@@ -1617,27 +1809,32 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PR");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",39.83333333333334],PARAMETER[\"");
+        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",38.33333333333334],PARAMETER[\"lat");
+        "andard_parallel_1\",39.83333333333334],PARAMETER[\"stand");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",37.66666666666666],PARAMETER[\"central");
+        "ard_parallel_2\",38.33333333333334],PARAMETER[\"latitude");
     add_srs_wkt (p, 11,
-        "_meridian\",-122],PARAMETER[\"false_easting\",6561666.66");
+        "_of_origin\",37.66666666666666],PARAMETER[\"central_meri");
     add_srs_wkt (p, 12,
-        "7],PARAMETER[\"false_northing\",1640416.667],UNIT[\"US s");
+        "dian\",-122],PARAMETER[\"false_easting\",6561666.667],PA");
     add_srs_wkt (p, 13,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "RAMETER[\"false_northing\",1640416.667],UNIT[\"US survey");
     add_srs_wkt (p, 14,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 15,
-        "G\",\"2871\"]]");
-    p = add_epsg_def (filter, first, last, 2872, "epsg", 2872,
-        "NAD83(HARN) / California zone 3 (ftUS)");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "2871\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2872, "epsg", 2872,
+        "NAD83(HARN) / California zone 3 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
     add_proj4text (p, 1,
@@ -1659,27 +1856,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PR");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",38.43333333333333],PARAMETER[\"");
+        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",37.06666666666667],PARAMETER[\"lat");
+        "andard_parallel_1\",38.43333333333333],PARAMETER[\"stand");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",36.5],PARAMETER[\"central_meridian\",-");
+        "ard_parallel_2\",37.06666666666667],PARAMETER[\"latitude");
     add_srs_wkt (p, 11,
-        "120.5],PARAMETER[\"false_easting\",6561666.667],PARAMETE");
+        "_of_origin\",36.5],PARAMETER[\"central_meridian\",-120.5");
     add_srs_wkt (p, 12,
-        "R[\"false_northing\",1640416.667],UNIT[\"US survey foot\"");
+        "],PARAMETER[\"false_easting\",6561666.667],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "alse_northing\",1640416.667],UNIT[\"US survey foot\",0.3");
     add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2872\"]");
+        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 15,
-        "]");
-    p = add_epsg_def (filter, first, last, 2873, "epsg", 2873,
-        "NAD83(HARN) / California zone 4 (ftUS)");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2872\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2873, "epsg", 2873,
+        "NAD83(HARN) / California zone 4 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
     add_proj4text (p, 1,
@@ -1701,25 +1901,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PR");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",37.25],PARAMETER[\"standard_par");
+        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "allel_2\",36],PARAMETER[\"latitude_of_origin\",35.333333");
+        "andard_parallel_1\",37.25],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "33333334],PARAMETER[\"central_meridian\",-119],PARAMETER");
+        "_2\",36],PARAMETER[\"latitude_of_origin\",35.33333333333");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",6561666.667],PARAMETER[\"false_northi");
+        "334],PARAMETER[\"central_meridian\",-119],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "ng\",1640416.667],UNIT[\"US survey foot\",0.304800609601");
+        "lse_easting\",6561666.667],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "1640416.667],UNIT[\"US survey foot\",0.3048006096012192,");
     add_srs_wkt (p, 14,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2873\"]]");
-    p = add_epsg_def (filter, first, last, 2874, "epsg", 2874,
-        "NAD83(HARN) / California zone 5 (ftUS)");
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2873\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2874, "epsg", 2874,
+        "NAD83(HARN) / California zone 5 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
     add_proj4text (p, 1,
@@ -1741,27 +1946,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PR");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",35.46666666666667],PARAMETER[\"");
+        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",34.03333333333333],PARAMETER[\"lat");
+        "andard_parallel_1\",35.46666666666667],PARAMETER[\"stand");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",33.5],PARAMETER[\"central_meridian\",-");
+        "ard_parallel_2\",34.03333333333333],PARAMETER[\"latitude");
     add_srs_wkt (p, 11,
-        "118],PARAMETER[\"false_easting\",6561666.667],PARAMETER[");
+        "_of_origin\",33.5],PARAMETER[\"central_meridian\",-118],");
     add_srs_wkt (p, 12,
-        "\"false_northing\",1640416.667],UNIT[\"US survey foot\",");
+        "PARAMETER[\"false_easting\",6561666.667],PARAMETER[\"fal");
     add_srs_wkt (p, 13,
-        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "se_northing\",1640416.667],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2874\"]");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 15,
-        "]");
-    p = add_epsg_def (filter, first, last, 2875, "epsg", 2875,
-        "NAD83(HARN) / California zone 6 (ftUS)");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2874\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2875, "epsg", 2875,
+        "NAD83(HARN) / California zone 6 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
     add_proj4text (p, 1,
@@ -1783,27 +1991,32 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PR");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",33.88333333333333],PARAMETER[\"");
+        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",32.78333333333333],PARAMETER[\"lat");
+        "andard_parallel_1\",33.88333333333333],PARAMETER[\"stand");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",32.16666666666666],PARAMETER[\"central");
+        "ard_parallel_2\",32.78333333333333],PARAMETER[\"latitude");
     add_srs_wkt (p, 11,
-        "_meridian\",-116.25],PARAMETER[\"false_easting\",6561666");
+        "_of_origin\",32.16666666666666],PARAMETER[\"central_meri");
     add_srs_wkt (p, 12,
-        ".667],PARAMETER[\"false_northing\",1640416.667],UNIT[\"U");
+        "dian\",-116.25],PARAMETER[\"false_easting\",6561666.667]");
     add_srs_wkt (p, 13,
-        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_northing\",1640416.667],UNIT[\"US sur");
     add_srs_wkt (p, 14,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "vey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
     add_srs_wkt (p, 15,
-        "EPSG\",\"2875\"]]");
-    p = add_epsg_def (filter, first, last, 2876, "epsg", 2876,
-        "NAD83(HARN) / Colorado North (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"2875\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2876, "epsg", 2876,
+        "NAD83(HARN) / Colorado North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
     add_proj4text (p, 1,
@@ -1825,27 +2038,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",40.78333333333333],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",39.71666666666667],PARAMETER[\"latitu");
+        "ard_parallel_1\",40.78333333333333],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",39.33333333333334],PARAMETER[\"central_me");
+        "_parallel_2\",39.71666666666667],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "ridian\",-105.5],PARAMETER[\"false_easting\",3000000],PA");
+        "_origin\",39.33333333333334],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 12,
-        "RAMETER[\"false_northing\",1000000],UNIT[\"US survey foo");
+        "n\",-105.5],PARAMETER[\"false_easting\",3000000],PARAMET");
     add_srs_wkt (p, 13,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "ER[\"false_northing\",1000000],UNIT[\"US survey foot\",0");
     add_srs_wkt (p, 14,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"287");
+        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
     add_srs_wkt (p, 15,
-        "6\"]]");
-    p = add_epsg_def (filter, first, last, 2877, "epsg", 2877,
-        "NAD83(HARN) / Colorado Central (ftUS)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2876\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2877, "epsg", 2877,
+        "NAD83(HARN) / Colorado Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
     add_proj4text (p, 1,
@@ -1867,25 +2083,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PRO");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",39.75],PARAMETER[\"standard_par");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "allel_2\",38.45],PARAMETER[\"latitude_of_origin\",37.833");
+        "ndard_parallel_1\",39.75],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "33333333334],PARAMETER[\"central_meridian\",-105.5],PARA");
+        "2\",38.45],PARAMETER[\"latitude_of_origin\",37.833333333");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",3000000],PARAMETER[\"false_north");
+        "33334],PARAMETER[\"central_meridian\",-105.5],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ing\",1000000],UNIT[\"US survey foot\",0.304800609601219");
+        "\"false_easting\",3000000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "1000000],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2877\"]]");
-    p = add_epsg_def (filter, first, last, 2878, "epsg", 2878,
-        "NAD83(HARN) / Colorado South (ftUS)");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"2877\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2878, "epsg", 2878,
+        "NAD83(HARN) / Colorado South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
     add_proj4text (p, 1,
@@ -1907,27 +2128,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",38.43333333333333],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",37.23333333333333],PARAMETER[\"latitu");
+        "ard_parallel_1\",38.43333333333333],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",36.66666666666666],PARAMETER[\"central_me");
+        "_parallel_2\",37.23333333333333],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "ridian\",-105.5],PARAMETER[\"false_easting\",3000000],PA");
+        "_origin\",36.66666666666666],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 12,
-        "RAMETER[\"false_northing\",1000000],UNIT[\"US survey foo");
+        "n\",-105.5],PARAMETER[\"false_easting\",3000000],PARAMET");
     add_srs_wkt (p, 13,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "ER[\"false_northing\",1000000],UNIT[\"US survey foot\",0");
     add_srs_wkt (p, 14,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"287");
+        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
     add_srs_wkt (p, 15,
-        "8\"]]");
-    p = add_epsg_def (filter, first, last, 2879, "epsg", 2879,
-        "NAD83(HARN) / Connecticut (ftUS)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2878\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2879, "epsg", 2879,
+        "NAD83(HARN) / Connecticut (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
     add_proj4text (p, 1,
@@ -1949,25 +2173,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",41.86666666666667],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",41.2],PARAMETER[\"latitude_of_origin\",");
+        "_parallel_1\",41.86666666666667],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "40.83333333333334],PARAMETER[\"central_meridian\",-72.75");
+        "rallel_2\",41.2],PARAMETER[\"latitude_of_origin\",40.833");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",1000000],PARAMETER[\"false");
+        "33333333334],PARAMETER[\"central_meridian\",-72.75],PARA");
     add_srs_wkt (p, 12,
-        "_northing\",500000],UNIT[\"US survey foot\",0.3048006096");
+        "METER[\"false_easting\",1000000],PARAMETER[\"false_north");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "ing\",500000],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2879\"]]");
-    p = add_epsg_def (filter, first, last, 2880, "epsg", 2880,
-        "NAD83(HARN) / Delaware (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 15,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2879\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2880, "epsg", 2880,
+        "NAD83(HARN) / Delaware (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1987,23 +2216,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",38],PARAMETER[\"central_meridian\",-75.416666666");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "66667],PARAMETER[\"scale_factor\",0.999995],PARAMETER[\"");
+        ",38],PARAMETER[\"central_meridian\",-75.41666666666667],");
     add_srs_wkt (p, 10,
-        "false_easting\",656166.667],PARAMETER[\"false_northing\"");
+        "PARAMETER[\"scale_factor\",0.999995],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "asting\",656166.667],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"2880\"]]");
-    p = add_epsg_def (filter, first, last, 2881, "epsg", 2881,
-        "NAD83(HARN) / Florida East (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"2880\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2881, "epsg", 2881,
+        "NAD83(HARN) / Florida East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
     add_proj4text (p, 1,
@@ -2023,23 +2257,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",24.33333333333333],PARAMETER[\"central_meridi");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "an\",-81],PARAMETER[\"scale_factor\",0.999941177],PARAME");
+        "in\",24.33333333333333],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",656166.667],PARAMETER[\"false_nort");
+        "81],PARAMETER[\"scale_factor\",0.999941177],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+        "false_easting\",656166.667],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"2881\"]]");
-    p = add_epsg_def (filter, first, last, 2882, "epsg", 2882,
-        "NAD83(HARN) / Florida West (ftUS)");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"2881\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2882, "epsg", 2882,
+        "NAD83(HARN) / Florida West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
     add_proj4text (p, 1,
@@ -2059,23 +2298,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",24.33333333333333],PARAMETER[\"central_meridi");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "an\",-82],PARAMETER[\"scale_factor\",0.999941177],PARAME");
+        "in\",24.33333333333333],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",656166.667],PARAMETER[\"false_nort");
+        "82],PARAMETER[\"scale_factor\",0.999941177],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+        "false_easting\",656166.667],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"2882\"]]");
-    p = add_epsg_def (filter, first, last, 2883, "epsg", 2883,
-        "NAD83(HARN) / Florida North (ftUS)");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"2882\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2883, "epsg", 2883,
+        "NAD83(HARN) / Florida North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
     add_proj4text (p, 1,
@@ -2095,25 +2339,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",30.75],PARAMETER[\"standard_parall");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 9,
-        "el_2\",29.58333333333333],PARAMETER[\"latitude_of_origin");
+        "rd_parallel_1\",30.75],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "\",29],PARAMETER[\"central_meridian\",-84.5],PARAMETER[\"");
+        ",29.58333333333333],PARAMETER[\"latitude_of_origin\",29]");
     add_srs_wkt (p, 11,
-        "false_easting\",1968500],PARAMETER[\"false_northing\",0]");
+        ",PARAMETER[\"central_meridian\",-84.5],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "_easting\",1968500],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"2883\"]]");
-    p = add_epsg_def (filter, first, last, 2884, "epsg", 2884,
-        "NAD83(HARN) / Georgia East (ftUS)");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"2883\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2884, "epsg", 2884,
+        "NAD83(HARN) / Georgia East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -2133,23 +2382,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",30],PARAMETER[\"central_meridian\",-82.166666");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "66666667],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "in\",30],PARAMETER[\"central_meridian\",-82.166666666666");
     add_srs_wkt (p, 10,
-        "false_easting\",656166.667],PARAMETER[\"false_northing\"");
+        "67],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "_easting\",656166.667],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "NIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"2884\"]]");
-    p = add_epsg_def (filter, first, last, 2885, "epsg", 2885,
-        "NAD83(HARN) / Georgia West (ftUS)");
+        "SG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"2884\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2885, "epsg", 2885,
+        "NAD83(HARN) / Georgia West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -2169,23 +2423,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",30],PARAMETER[\"central_meridian\",-84.166666");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "66666667],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "in\",30],PARAMETER[\"central_meridian\",-84.166666666666");
     add_srs_wkt (p, 10,
-        "false_easting\",2296583.333],PARAMETER[\"false_northing\"");
+        "67],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "_easting\",2296583.333],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"2885\"]]");
-    p = add_epsg_def (filter, first, last, 2886, "epsg", 2886,
-        "NAD83(HARN) / Idaho East (ftUS)");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 14,
+        "ORITY[\"EPSG\",\"2885\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2886, "epsg", 2886,
+        "NAD83(HARN) / Idaho East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
     add_proj4text (p, 1,
@@ -2207,23 +2466,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",41.66666666666666],PARAMETER[\"central_meridian\"");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        ",-112.1666666666667],PARAMETER[\"scale_factor\",0.999947");
+        ",41.66666666666666],PARAMETER[\"central_meridian\",-112.");
     add_srs_wkt (p, 10,
-        "368],PARAMETER[\"false_easting\",656166.667],PARAMETER[\"");
+        "1666666666667],PARAMETER[\"scale_factor\",0.999947368],P");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "ARAMETER[\"false_easting\",656166.667],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2886\"]]");
-    p = add_epsg_def (filter, first, last, 2887, "epsg", 2887,
-        "NAD83(HARN) / Idaho Central (ftUS)");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2886\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2887, "epsg", 2887,
+        "NAD83(HARN) / Idaho Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
     add_proj4text (p, 1,
@@ -2243,23 +2507,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",41.66666666666666],PARAMETER[\"central_meri");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "dian\",-114],PARAMETER[\"scale_factor\",0.999947368],PAR");
+        "igin\",41.66666666666666],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",1640416.667],PARAMETER[\"false_");
+        ",-114],PARAMETER[\"scale_factor\",0.999947368],PARAMETER");
     add_srs_wkt (p, 11,
-        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
+        "[\"false_easting\",1640416.667],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2887\"]]");
-    p = add_epsg_def (filter, first, last, 2888, "epsg", 2888,
-        "NAD83(HARN) / Idaho West (ftUS)");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"2887\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2888, "epsg", 2888,
+        "NAD83(HARN) / Idaho West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
     add_proj4text (p, 1,
@@ -2279,23 +2548,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",41.66666666666666],PARAMETER[\"central_meridian\"");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        ",-115.75],PARAMETER[\"scale_factor\",0.999933333],PARAME");
+        ",41.66666666666666],PARAMETER[\"central_meridian\",-115.");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",2624666.667],PARAMETER[\"false_nor");
+        "75],PARAMETER[\"scale_factor\",0.999933333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "false_easting\",2624666.667],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 13,
-        "NORTH],AUTHORITY[\"EPSG\",\"2888\"]]");
-    p = add_epsg_def (filter, first, last, 2889, "epsg", 2889,
-        "NAD83(HARN) / Indiana East (ftUS) (deprecated)");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"2888\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2889, "epsg", 2889,
+        "NAD83(HARN) / Indiana East (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -2315,23 +2589,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4152\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",37.5],PARAMETER[\"central_meridi");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "an\",-85.66666666666667],PARAMETER[\"scale_factor\",0.99");
+        "itude_of_origin\",37.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "9966667],PARAMETER[\"false_easting\",328083.333],PARAMET");
+        "85.66666666666667],PARAMETER[\"scale_factor\",0.99996666");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",818125],UNIT[\"US survey foot\",0.");
+        "7],PARAMETER[\"false_easting\",328083.333],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "alse_northing\",818125],UNIT[\"US survey foot\",0.304800");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2889\"]]");
-    p = add_epsg_def (filter, first, last, 2890, "epsg", 2890,
-        "NAD83(HARN) / Indiana West (ftUS) (deprecated)");
+        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 14,
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2889\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2890, "epsg", 2890,
+        "NAD83(HARN) / Indiana West (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -2351,23 +2630,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4152\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",37.5],PARAMETER[\"central_meridi");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "an\",-87.08333333333333],PARAMETER[\"scale_factor\",0.99");
+        "itude_of_origin\",37.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "9966667],PARAMETER[\"false_easting\",2952750],PARAMETER[");
+        "87.08333333333333],PARAMETER[\"scale_factor\",0.99996666");
     add_srs_wkt (p, 11,
-        "\"false_northing\",818125],UNIT[\"US survey foot\",0.304");
+        "7],PARAMETER[\"false_easting\",2952750],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "e_northing\",818125],UNIT[\"US survey foot\",0.304800609");
     add_srs_wkt (p, 13,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2890\"]]");
-    p = add_epsg_def (filter, first, last, 2891, "epsg", 2891,
-        "NAD83(HARN) / Kentucky North (ftUS)");
+        "6012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2890\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2891, "epsg", 2891,
+        "NAD83(HARN) / Kentucky North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
     add_proj4text (p, 1,
@@ -2389,25 +2673,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",37.96666666666667],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",38.96666666666667],PARAMETER[\"latitu");
+        "ard_parallel_1\",37.96666666666667],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",37.5],PARAMETER[\"central_meridian\",-84.");
+        "_parallel_2\",38.96666666666667],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "25],PARAMETER[\"false_easting\",1640416.667],PARAMETER[\"");
+        "_origin\",37.5],PARAMETER[\"central_meridian\",-84.25],P");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "ARAMETER[\"false_easting\",1640416.667],PARAMETER[\"fals");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2891\"]]");
-    p = add_epsg_def (filter, first, last, 2892, "epsg", 2892,
-        "NAD83(HARN) / Kentucky South (ftUS)");
+        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2891\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2892, "epsg", 2892,
+        "NAD83(HARN) / Kentucky South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
     add_proj4text (p, 1,
@@ -2429,27 +2718,32 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",37.93333333333333],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",36.73333333333333],PARAMETER[\"latitu");
+        "ard_parallel_1\",37.93333333333333],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",36.33333333333334],PARAMETER[\"central_me");
+        "_parallel_2\",36.73333333333333],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "ridian\",-85.75],PARAMETER[\"false_easting\",1640416.667");
+        "_origin\",36.33333333333334],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 12,
-        "],PARAMETER[\"false_northing\",1640416.667],UNIT[\"US su");
+        "n\",-85.75],PARAMETER[\"false_easting\",1640416.667],PAR");
     add_srs_wkt (p, 13,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "AMETER[\"false_northing\",1640416.667],UNIT[\"US survey ");
     add_srs_wkt (p, 14,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 15,
-        "\",\"2892\"]]");
-    p = add_epsg_def (filter, first, last, 2893, "epsg", 2893,
-        "NAD83(HARN) / Maryland (ftUS)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "2892\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2893, "epsg", 2893,
+        "NAD83(HARN) / Maryland (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
     add_proj4text (p, 1,
@@ -2469,25 +2763,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",39.45],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",38.3],PARAMETER[\"latitude_of_origin\",37.6666666666666");
+        "rallel_1\",39.45],PARAMETER[\"standard_parallel_2\",38.3");
     add_srs_wkt (p, 10,
-        "6],PARAMETER[\"central_meridian\",-77],PARAMETER[\"false");
+        "],PARAMETER[\"latitude_of_origin\",37.66666666666666],PA");
     add_srs_wkt (p, 11,
-        "_easting\",1312333.333],PARAMETER[\"false_northing\",0],");
+        "RAMETER[\"central_meridian\",-77],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        "ing\",1312333.333],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 13,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"2893\"]]");
-    p = add_epsg_def (filter, first, last, 2894, "epsg", 2894,
-        "NAD83(HARN) / Massachusetts Mainland (ftUS)");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"2893\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2894, "epsg", 2894,
+        "NAD83(HARN) / Massachusetts Mainland (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
     add_proj4text (p, 1,
@@ -2509,27 +2808,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",42.68333333333333],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",41.71666666666667],PARAMETER");
+        "[\"standard_parallel_1\",42.68333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",41],PARAMETER[\"central_meridian");
+        "standard_parallel_2\",41.71666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "\",-71.5],PARAMETER[\"false_easting\",656166.667],PARAME");
+        "itude_of_origin\",41],PARAMETER[\"central_meridian\",-71");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",2460625],UNIT[\"US survey foot\",");
+        ".5],PARAMETER[\"false_easting\",656166.667],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "false_northing\",2460625],UNIT[\"US survey foot\",0.3048");
     add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2894\"]");
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 15,
-        "]");
-    p = add_epsg_def (filter, first, last, 2895, "epsg", 2895,
-        "NAD83(HARN) / Massachusetts Island (ftUS)");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2894\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2895, "epsg", 2895,
+        "NAD83(HARN) / Massachusetts Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
     add_proj4text (p, 1,
@@ -2551,25 +2853,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "52\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",41.48333333333333],PARAMETE");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "R[\"standard_parallel_2\",41.28333333333333],PARAMETER[\"");
+        "standard_parallel_1\",41.48333333333333],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",41],PARAMETER[\"central_meridian\",");
+        "ndard_parallel_2\",41.28333333333333],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "-70.5],PARAMETER[\"false_easting\",1640416.667],PARAMETE");
+        "de_of_origin\",41],PARAMETER[\"central_meridian\",-70.5]");
     add_srs_wkt (p, 12,
-        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+        ",PARAMETER[\"false_easting\",1640416.667],PARAMETER[\"fa");
     add_srs_wkt (p, 13,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
     add_srs_wkt (p, 14,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2895\"]]");
-    p = add_epsg_def (filter, first, last, 2896, "epsg", 2896,
-        "NAD83(HARN) / Michigan North (ft)");
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 15,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2895\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2896, "epsg", 2896,
+        "NAD83(HARN) / Michigan North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
     add_proj4text (p, 1,
@@ -2591,25 +2898,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",47.08333333333334],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",45.48333333333333],PARAMETER[\"latitude");
+        "_parallel_1\",47.08333333333334],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",44.78333333333333],PARAMETER[\"central_meri");
+        "rallel_2\",45.48333333333333],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "dian\",-87],PARAMETER[\"false_easting\",26246719.16],PAR");
+        "igin\",44.78333333333333],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "AMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHOR");
+        ",-87],PARAMETER[\"false_easting\",26246719.16],PARAMETER");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "H],AUTHORITY[\"EPSG\",\"2896\"]]");
-    p = add_epsg_def (filter, first, last, 2897, "epsg", 2897,
-        "NAD83(HARN) / Michigan Central (ft)");
+        "EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"2896\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2897, "epsg", 2897,
+        "NAD83(HARN) / Michigan Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
     add_proj4text (p, 1,
@@ -2631,25 +2943,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",45.7],PARAMETER[\"standard_paralle");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "l_2\",44.18333333333333],PARAMETER[\"latitude_of_origin\"");
+        "ard_parallel_1\",45.7],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        ",43.31666666666667],PARAMETER[\"central_meridian\",-84.3");
+        ",44.18333333333333],PARAMETER[\"latitude_of_origin\",43.");
     add_srs_wkt (p, 11,
-        "6666666666666],PARAMETER[\"false_easting\",19685039.37],");
+        "31666666666667],PARAMETER[\"central_meridian\",-84.36666");
     add_srs_wkt (p, 12,
-        "PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUT");
+        "666666666],PARAMETER[\"false_easting\",19685039.37],PARA");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "METER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORI");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"2897\"]]");
-    p = add_epsg_def (filter, first, last, 2898, "epsg", 2898,
-        "NAD83(HARN) / Michigan South (ft)");
+        "TY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 15,
+        "],AUTHORITY[\"EPSG\",\"2897\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2898, "epsg", 2898,
+        "NAD83(HARN) / Michigan South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
     add_proj4text (p, 1,
@@ -2669,25 +2986,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",43.66666666666666],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",42.1],PARAMETER[\"latitude_of_origin\",");
+        "_parallel_1\",43.66666666666666],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "41.5],PARAMETER[\"central_meridian\",-84.36666666666666]");
+        "rallel_2\",42.1],PARAMETER[\"latitude_of_origin\",41.5],");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_easting\",13123359.58],PARAMETER[\"fa");
+        "PARAMETER[\"central_meridian\",-84.36666666666666],PARAM");
     add_srs_wkt (p, 12,
-        "lse_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\"");
+        "ETER[\"false_easting\",13123359.58],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        ",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "rthing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"2898\"]]");
-    p = add_epsg_def (filter, first, last, 2899, "epsg", 2899,
-        "NAD83(HARN) / Mississippi East (ftUS)");
+        "02\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 15,
+        "SG\",\"2898\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2899, "epsg", 2899,
+        "NAD83(HARN) / Mississippi East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -2707,23 +3029,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PRO");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",29.5],PARAMETER[\"central_meridian\",-88");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        ".83333333333333],PARAMETER[\"scale_factor\",0.99995],PAR");
+        "_origin\",29.5],PARAMETER[\"central_meridian\",-88.83333");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",984250.0000000002],PARAMETER[\"");
+        "333333333],PARAMETER[\"scale_factor\",0.99995],PARAMETER");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "[\"false_easting\",984250.0000000002],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2899\"]]");
-    p = add_epsg_def (filter, first, last, 2900, "epsg", 2900,
-        "NAD83(HARN) / Mississippi West (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2899\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2900, "epsg", 2900,
+        "NAD83(HARN) / Mississippi West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -2743,23 +3070,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PRO");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",29.5],PARAMETER[\"central_meridian\",-90");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        ".33333333333333],PARAMETER[\"scale_factor\",0.99995],PAR");
+        "_origin\",29.5],PARAMETER[\"central_meridian\",-90.33333");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",2296583.333],PARAMETER[\"false_");
+        "333333333],PARAMETER[\"scale_factor\",0.99995],PARAMETER");
     add_srs_wkt (p, 11,
-        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
+        "[\"false_easting\",2296583.333],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2900\"]]");
-    p = add_epsg_def (filter, first, last, 2901, "epsg", 2901,
-        "NAD83(HARN) / Montana (ft)");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"2900\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2901, "epsg", 2901,
+        "NAD83(HARN) / Montana (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
     add_proj4text (p, 1,
@@ -2779,23 +3111,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",49],PARAMETER[\"standard_parallel_2\",45],");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",44.25],PARAMETER[\"cent");
+        "lel_1\",49],PARAMETER[\"standard_parallel_2\",45],PARAME");
     add_srs_wkt (p, 10,
-        "ral_meridian\",-109.5],PARAMETER[\"false_easting\",19685");
+        "TER[\"latitude_of_origin\",44.25],PARAMETER[\"central_me");
     add_srs_wkt (p, 11,
-        "03.937],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.");
+        "ridian\",-109.5],PARAMETER[\"false_easting\",1968503.937");
     add_srs_wkt (p, 12,
-        "3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,A");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2901\"]]");
-    p = add_epsg_def (filter, first, last, 2902, "epsg", 2902,
-        "NAD83(HARN) / New Mexico East (ftUS)");
+        "UTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2901\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2902, "epsg", 2902,
+        "NAD83(HARN) / New Mexico East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -2815,23 +3152,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",31],PARAMETER[\"central_meridian\",-104.33");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "33333333333],PARAMETER[\"scale_factor\",0.999909091],PAR");
+        "rigin\",31],PARAMETER[\"central_meridian\",-104.33333333");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",541337.5],PARAMETER[\"false_nor");
+        "33333],PARAMETER[\"scale_factor\",0.999909091],PARAMETER");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "[\"false_easting\",541337.5],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 13,
-        "NORTH],AUTHORITY[\"EPSG\",\"2902\"]]");
-    p = add_epsg_def (filter, first, last, 2903, "epsg", 2903,
-        "NAD83(HARN) / New Mexico Central (ftUS)");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"2902\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2903, "epsg", 2903,
+        "NAD83(HARN) / New Mexico Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
     add_proj4text (p, 1,
@@ -2851,23 +3193,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",31],PARAMETER[\"central_meridian\",-10");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "6.25],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "of_origin\",31],PARAMETER[\"central_meridian\",-106.25],");
     add_srs_wkt (p, 10,
-        "se_easting\",1640416.667],PARAMETER[\"false_northing\",0");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "ting\",1640416.667],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"2903\"]]");
-    p = add_epsg_def (filter, first, last, 2904, "epsg", 2904,
-        "NAD83(HARN) / New Mexico West (ftUS)");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"2903\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2904, "epsg", 2904,
+        "NAD83(HARN) / New Mexico West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -2887,23 +3234,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",31],PARAMETER[\"central_meridian\",-107.83");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "33333333333],PARAMETER[\"scale_factor\",0.999916667],PAR");
+        "rigin\",31],PARAMETER[\"central_meridian\",-107.83333333");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",2723091.667],PARAMETER[\"false_");
+        "33333],PARAMETER[\"scale_factor\",0.999916667],PARAMETER");
     add_srs_wkt (p, 11,
-        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
+        "[\"false_easting\",2723091.667],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2904\"]]");
-    p = add_epsg_def (filter, first, last, 2905, "epsg", 2905,
-        "NAD83(HARN) / New York East (ftUS)");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"2904\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2905, "epsg", 2905,
+        "NAD83(HARN) / New York East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
@@ -2923,23 +3275,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",38.83333333333334],PARAMETER[\"central_meri");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "dian\",-74.5],PARAMETER[\"scale_factor\",0.9999],PARAMET");
+        "igin\",38.83333333333334],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",492125],PARAMETER[\"false_northing\"");
+        ",-74.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "alse_easting\",492125],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "NIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"2905\"]]");
-    p = add_epsg_def (filter, first, last, 2906, "epsg", 2906,
-        "NAD83(HARN) / New York Central (ftUS)");
+        "SG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"2905\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2906, "epsg", 2906,
+        "NAD83(HARN) / New York Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -2959,23 +3316,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PRO");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",40],PARAMETER[\"central_meridian\",-76.5");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        "8333333333333],PARAMETER[\"scale_factor\",0.9999375],PAR");
+        "_origin\",40],PARAMETER[\"central_meridian\",-76.5833333");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",820208.3330000002],PARAMETER[\"");
+        "3333333],PARAMETER[\"scale_factor\",0.9999375],PARAMETER");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "[\"false_easting\",820208.3330000002],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2906\"]]");
-    p = add_epsg_def (filter, first, last, 2907, "epsg", 2907,
-        "NAD83(HARN) / New York West (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2906\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2907, "epsg", 2907,
+        "NAD83(HARN) / New York West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -2995,23 +3357,28 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",40],PARAMETER[\"central_meridian\",-78.5833");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "3333333333],PARAMETER[\"scale_factor\",0.9999375],PARAME");
+        "igin\",40],PARAMETER[\"central_meridian\",-78.5833333333");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",1148291.667],PARAMETER[\"false_nor");
+        "3333],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "false_easting\",1148291.667],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 13,
-        "NORTH],AUTHORITY[\"EPSG\",\"2907\"]]");
-    p = add_epsg_def (filter, first, last, 2908, "epsg", 2908,
-        "NAD83(HARN) / New York Long Island (ftUS)");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"2907\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2908, "epsg", 2908,
+        "NAD83(HARN) / New York Long Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
     add_proj4text (p, 1,
@@ -3033,27 +3400,32 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "52\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",41.03333333333333],PARAMETE");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "R[\"standard_parallel_2\",40.66666666666666],PARAMETER[\"");
+        "standard_parallel_1\",41.03333333333333],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",40.16666666666666],PARAMETER[\"cent");
+        "ndard_parallel_2\",40.66666666666666],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "ral_meridian\",-74],PARAMETER[\"false_easting\",984250.0");
+        "de_of_origin\",40.16666666666666],PARAMETER[\"central_me");
     add_srs_wkt (p, 12,
-        "000000002],PARAMETER[\"false_northing\",0],UNIT[\"US sur");
+        "ridian\",-74],PARAMETER[\"false_easting\",984250.0000000");
     add_srs_wkt (p, 13,
-        "vey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "002],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
     add_srs_wkt (p, 14,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
     add_srs_wkt (p, 15,
-        ",\"2908\"]]");
-    p = add_epsg_def (filter, first, last, 2909, "epsg", 2909,
-        "NAD83(HARN) / North Dakota North (ft)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"29");
+    add_srs_wkt (p, 16,
+        "08\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2909, "epsg", 2909,
+        "NAD83(HARN) / North Dakota North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
     add_proj4text (p, 1,
@@ -3073,25 +3445,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PRO");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",48.73333333333333],PARAMETER[\"");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",47.43333333333333],PARAMETER[\"lat");
+        "ndard_parallel_1\",48.73333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",47],PARAMETER[\"central_meridian\",-10");
+        "rd_parallel_2\",47.43333333333333],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "0.5],PARAMETER[\"false_easting\",1968503.937],PARAMETER[");
+        "of_origin\",47],PARAMETER[\"central_meridian\",-100.5],P");
     add_srs_wkt (p, 12,
-        "\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"E");
+        "ARAMETER[\"false_easting\",1968503.937],PARAMETER[\"fals");
     add_srs_wkt (p, 13,
-        "PSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "e_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"2909\"]]");
-    p = add_epsg_def (filter, first, last, 2910, "epsg", 2910,
-        "NAD83(HARN) / North Dakota South (ft)");
+        "\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"2909\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2910, "epsg", 2910,
+        "NAD83(HARN) / North Dakota South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
     add_proj4text (p, 1,
@@ -3113,25 +3490,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PRO");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",47.48333333333333],PARAMETER[\"");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",46.18333333333333],PARAMETER[\"lat");
+        "ndard_parallel_1\",47.48333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",45.66666666666666],PARAMETER[\"central");
+        "rd_parallel_2\",46.18333333333333],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "_meridian\",-100.5],PARAMETER[\"false_easting\",1968503.");
+        "of_origin\",45.66666666666666],PARAMETER[\"central_merid");
     add_srs_wkt (p, 12,
-        "937],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.304");
+        "ian\",-100.5],PARAMETER[\"false_easting\",1968503.937],P");
     add_srs_wkt (p, 13,
-        "8,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTH");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2910\"]]");
-    p = add_epsg_def (filter, first, last, 2911, "epsg", 2911,
-        "NAD83(HARN) / Oklahoma North (ftUS)");
+        "ORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"2910\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2911, "epsg", 2911,
+        "NAD83(HARN) / Oklahoma North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
     add_proj4text (p, 1,
@@ -3151,25 +3533,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",36.76666666666667],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",35.56666666666667],PARAMETER[\"latitu");
+        "ard_parallel_1\",36.76666666666667],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",35],PARAMETER[\"central_meridian\",-98],P");
+        "_parallel_2\",35.56666666666667],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",1968500],PARAMETER[\"false_no");
+        "_origin\",35],PARAMETER[\"central_meridian\",-98],PARAME");
     add_srs_wkt (p, 12,
-        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "TER[\"false_easting\",1968500],PARAMETER[\"false_northin");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "g\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2911\"]]");
-    p = add_epsg_def (filter, first, last, 2912, "epsg", 2912,
-        "NAD83(HARN) / Oklahoma South (ftUS)");
+        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 15,
+        "H],AUTHORITY[\"EPSG\",\"2911\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2912, "epsg", 2912,
+        "NAD83(HARN) / Oklahoma South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
     add_proj4text (p, 1,
@@ -3191,25 +3578,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",35.23333333333333],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",33.93333333333333],PARAMETER[\"latitu");
+        "ard_parallel_1\",35.23333333333333],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",33.33333333333334],PARAMETER[\"central_me");
+        "_parallel_2\",33.93333333333333],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "ridian\",-98],PARAMETER[\"false_easting\",1968500],PARAM");
+        "_origin\",33.33333333333334],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 12,
-        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
+        "n\",-98],PARAMETER[\"false_easting\",1968500],PARAMETER[");
     add_srs_wkt (p, 13,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2912\"]]");
-    p = add_epsg_def (filter, first, last, 2913, "epsg", 2913,
-        "NAD83(HARN) / Oregon North (ft)");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2912\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2913, "epsg", 2913,
+        "NAD83(HARN) / Oregon North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
     add_proj4text (p, 1,
@@ -3229,25 +3621,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",46],PARAMETER[\"standard_parallel_2\",4");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "4.33333333333334],PARAMETER[\"latitude_of_origin\",43.66");
+        "rallel_1\",46],PARAMETER[\"standard_parallel_2\",44.3333");
     add_srs_wkt (p, 10,
-        "666666666666],PARAMETER[\"central_meridian\",-120.5],PAR");
+        "3333333334],PARAMETER[\"latitude_of_origin\",43.66666666");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",8202099.738],PARAMETER[\"false_");
+        "666666],PARAMETER[\"central_meridian\",-120.5],PARAMETER");
     add_srs_wkt (p, 12,
-        "northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"");
+        "[\"false_easting\",8202099.738],PARAMETER[\"false_northi");
     add_srs_wkt (p, 13,
-        "9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "ng\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"2913\"]]");
-    p = add_epsg_def (filter, first, last, 2914, "epsg", 2914,
-        "NAD83(HARN) / Oregon South (ft)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"2913\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2914, "epsg", 2914,
+        "NAD83(HARN) / Oregon South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
     add_proj4text (p, 1,
@@ -3267,25 +3664,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",44],PARAMETER[\"standard_parallel_2\",4");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "2.33333333333334],PARAMETER[\"latitude_of_origin\",41.66");
+        "rallel_1\",44],PARAMETER[\"standard_parallel_2\",42.3333");
     add_srs_wkt (p, 10,
-        "666666666666],PARAMETER[\"central_meridian\",-120.5],PAR");
+        "3333333334],PARAMETER[\"latitude_of_origin\",41.66666666");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",4921259.843],PARAMETER[\"false_");
+        "666666],PARAMETER[\"central_meridian\",-120.5],PARAMETER");
     add_srs_wkt (p, 12,
-        "northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"");
+        "[\"false_easting\",4921259.843],PARAMETER[\"false_northi");
     add_srs_wkt (p, 13,
-        "9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "ng\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"2914\"]]");
-    p = add_epsg_def (filter, first, last, 2915, "epsg", 2915,
-        "NAD83(HARN) / Tennessee (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"2914\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2915, "epsg", 2915,
+        "NAD83(HARN) / Tennessee (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
     add_proj4text (p, 1,
@@ -3305,25 +3707,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",36.41666666666666],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",35.25],PARAMETER[\"latitude_of_origin\",34");
+        "rallel_1\",36.41666666666666],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        ".33333333333334],PARAMETER[\"central_meridian\",-86],PAR");
+        "lel_2\",35.25],PARAMETER[\"latitude_of_origin\",34.33333");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",1968500],PARAMETER[\"false_nort");
+        "333333334],PARAMETER[\"central_meridian\",-86],PARAMETER");
     add_srs_wkt (p, 12,
-        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+        "[\"false_easting\",1968500],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"2915\"]]");
-    p = add_epsg_def (filter, first, last, 2916, "epsg", 2916,
-        "NAD83(HARN) / Texas North (ftUS)");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"2915\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2916, "epsg", 2916,
+        "NAD83(HARN) / Texas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
     add_proj4text (p, 1,
@@ -3345,25 +3752,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",36.18333333333333],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",34.65],PARAMETER[\"latitude_of_origin\"");
+        "_parallel_1\",36.18333333333333],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        ",34],PARAMETER[\"central_meridian\",-101.5],PARAMETER[\"");
+        "rallel_2\",34.65],PARAMETER[\"latitude_of_origin\",34],P");
     add_srs_wkt (p, 11,
-        "false_easting\",656166.667],PARAMETER[\"false_northing\"");
+        "ARAMETER[\"central_meridian\",-101.5],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        ",3280833.333],UNIT[\"US survey foot\",0.3048006096012192");
+        "easting\",656166.667],PARAMETER[\"false_northing\",32808");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "33.333],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2916\"]]");
-    p = add_epsg_def (filter, first, last, 2917, "epsg", 2917,
-        "NAD83(HARN) / Texas North Central (ftUS)");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"2916\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2917, "epsg", 2917,
+        "NAD83(HARN) / Texas North Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
     add_proj4text (p, 1,
@@ -3385,27 +3797,32 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"415");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "2\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_1\",33.96666666666667],PARAMETER");
+        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",32.13333333333333],PARAMETER[\"");
+        "standard_parallel_1\",33.96666666666667],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",31.66666666666667],PARAMETER[\"cent");
+        "ndard_parallel_2\",32.13333333333333],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "ral_meridian\",-98.5],PARAMETER[\"false_easting\",196850");
+        "de_of_origin\",31.66666666666667],PARAMETER[\"central_me");
     add_srs_wkt (p, 12,
-        "0],PARAMETER[\"false_northing\",6561666.667],UNIT[\"US s");
+        "ridian\",-98.5],PARAMETER[\"false_easting\",1968500],PAR");
     add_srs_wkt (p, 13,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_northing\",6561666.667],UNIT[\"US survey ");
     add_srs_wkt (p, 14,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 15,
-        "G\",\"2917\"]]");
-    p = add_epsg_def (filter, first, last, 2918, "epsg", 2918,
-        "NAD83(HARN) / Texas Central (ftUS)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "2917\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2918, "epsg", 2918,
+        "NAD83(HARN) / Texas Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
     add_proj4text (p, 1,
@@ -3427,27 +3844,32 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",31.88333333333333],PARAMETER[\"sta");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",30.11666666666667],PARAMETER[\"latitu");
+        "rd_parallel_1\",31.88333333333333],PARAMETER[\"standard_");
     add_srs_wkt (p, 10,
-        "de_of_origin\",29.66666666666667],PARAMETER[\"central_me");
+        "parallel_2\",30.11666666666667],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        "ridian\",-100.3333333333333],PARAMETER[\"false_easting\"");
+        "origin\",29.66666666666667],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        ",2296583.333],PARAMETER[\"false_northing\",9842500.00000");
+        "\",-100.3333333333333],PARAMETER[\"false_easting\",22965");
     add_srs_wkt (p, 13,
-        "0002],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+        "83.333],PARAMETER[\"false_northing\",9842500.000000002],");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 15,
-        "],AUTHORITY[\"EPSG\",\"2918\"]]");
-    p = add_epsg_def (filter, first, last, 2919, "epsg", 2919,
-        "NAD83(HARN) / Texas South Central (ftUS)");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 16,
+        "ORITY[\"EPSG\",\"2918\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2919, "epsg", 2919,
+        "NAD83(HARN) / Texas South Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
     add_proj4text (p, 1,
@@ -3469,27 +3891,32 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"415");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "2\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_1\",30.28333333333333],PARAMETER");
+        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",28.38333333333333],PARAMETER[\"");
+        "standard_parallel_1\",30.28333333333333],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",27.83333333333333],PARAMETER[\"cent");
+        "ndard_parallel_2\",28.38333333333333],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "ral_meridian\",-99],PARAMETER[\"false_easting\",1968500]");
+        "de_of_origin\",27.83333333333333],PARAMETER[\"central_me");
     add_srs_wkt (p, 12,
-        ",PARAMETER[\"false_northing\",13123333.333],UNIT[\"US su");
+        "ridian\",-99],PARAMETER[\"false_easting\",1968500],PARAM");
     add_srs_wkt (p, 13,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "ETER[\"false_northing\",13123333.333],UNIT[\"US survey f");
     add_srs_wkt (p, 14,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
     add_srs_wkt (p, 15,
-        "\",\"2919\"]]");
-    p = add_epsg_def (filter, first, last, 2920, "epsg", 2920,
-        "NAD83(HARN) / Texas South (ftUS)");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 16,
+        "919\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2920, "epsg", 2920,
+        "NAD83(HARN) / Texas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
@@ -3511,27 +3938,32 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",27.83333333333333],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",26.16666666666667],PARAMETER[\"latitude");
+        "_parallel_1\",27.83333333333333],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",25.66666666666667],PARAMETER[\"central_meri");
+        "rallel_2\",26.16666666666667],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "dian\",-98.5],PARAMETER[\"false_easting\",984250.0000000");
+        "igin\",25.66666666666667],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "002],PARAMETER[\"false_northing\",16404166.667],UNIT[\"U");
+        ",-98.5],PARAMETER[\"false_easting\",984250.0000000002],P");
     add_srs_wkt (p, 13,
-        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        "ARAMETER[\"false_northing\",16404166.667],UNIT[\"US surv");
     add_srs_wkt (p, 14,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
     add_srs_wkt (p, 15,
-        "EPSG\",\"2920\"]]");
-    p = add_epsg_def (filter, first, last, 2921, "epsg", 2921,
-        "NAD83(HARN) / Utah North (ft)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"2920\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2921, "epsg", 2921,
+        "NAD83(HARN) / Utah North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
@@ -3553,25 +3985,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",41.78333333333333],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",40.71666666666667],PARAMETER[\"latitude_of");
+        "rallel_1\",41.78333333333333],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",40.33333333333334],PARAMETER[\"central_meridia");
+        "lel_2\",40.71666666666667],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "n\",-111.5],PARAMETER[\"false_easting\",1640419.948],PAR");
+        "n\",40.33333333333334],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 12,
-        "AMETER[\"false_northing\",3280839.895],UNIT[\"foot\",0.3");
+        "11.5],PARAMETER[\"false_easting\",1640419.948],PARAMETER");
     add_srs_wkt (p, 13,
-        "048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[");
+        "[\"false_northing\",3280839.895],UNIT[\"foot\",0.3048,AU");
     add_srs_wkt (p, 14,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2921\"]]");
-    p = add_epsg_def (filter, first, last, 2922, "epsg", 2922,
-        "NAD83(HARN) / Utah Central (ft)");
+        "THORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 15,
+        "NORTH],AUTHORITY[\"EPSG\",\"2921\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2922, "epsg", 2922,
+        "NAD83(HARN) / Utah Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -3593,25 +4030,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",40.65],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",39.01666666666667],PARAMETER[\"latitude_of_origin\",38.");
+        "rallel_1\",40.65],PARAMETER[\"standard_parallel_2\",39.0");
     add_srs_wkt (p, 10,
-        "33333333333334],PARAMETER[\"central_meridian\",-111.5],P");
+        "1666666666667],PARAMETER[\"latitude_of_origin\",38.33333");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",1640419.948],PARAMETER[\"fals");
+        "333333334],PARAMETER[\"central_meridian\",-111.5],PARAME");
     add_srs_wkt (p, 12,
-        "e_northing\",6561679.79],UNIT[\"foot\",0.3048,AUTHORITY[");
+        "TER[\"false_easting\",1640419.948],PARAMETER[\"false_nor");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "thing\",6561679.79],UNIT[\"foot\",0.3048,AUTHORITY[\"EPS");
     add_srs_wkt (p, 14,
-        "UTHORITY[\"EPSG\",\"2922\"]]");
-    p = add_epsg_def (filter, first, last, 2923, "epsg", 2923,
-        "NAD83(HARN) / Utah South (ft)");
+        "G\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"2922\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2923, "epsg", 2923,
+        "NAD83(HARN) / Utah South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -3633,25 +4075,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",38.35],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",37.21666666666667],PARAMETER[\"latitude_of_origin\",36.");
+        "rallel_1\",38.35],PARAMETER[\"standard_parallel_2\",37.2");
     add_srs_wkt (p, 10,
-        "66666666666666],PARAMETER[\"central_meridian\",-111.5],P");
+        "1666666666667],PARAMETER[\"latitude_of_origin\",36.66666");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",1640419.948],PARAMETER[\"fals");
+        "666666666],PARAMETER[\"central_meridian\",-111.5],PARAME");
     add_srs_wkt (p, 12,
-        "e_northing\",9842519.685],UNIT[\"foot\",0.3048,AUTHORITY");
+        "TER[\"false_easting\",1640419.948],PARAMETER[\"false_nor");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "thing\",9842519.685],UNIT[\"foot\",0.3048,AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"2923\"]]");
-    p = add_epsg_def (filter, first, last, 2924, "epsg", 2924,
-        "NAD83(HARN) / Virginia North (ftUS)");
+        "SG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 15,
+        "RITY[\"EPSG\",\"2923\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2924, "epsg", 2924,
+        "NAD83(HARN) / Virginia North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
     add_proj4text (p, 1,
@@ -3673,25 +4120,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",39.2],PARAMETER[\"standard_paralle");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "l_2\",38.03333333333333],PARAMETER[\"latitude_of_origin\"");
+        "ard_parallel_1\",39.2],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        ",37.66666666666666],PARAMETER[\"central_meridian\",-78.5");
+        ",38.03333333333333],PARAMETER[\"latitude_of_origin\",37.");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",11482916.667],PARAMETER[\"");
+        "66666666666666],PARAMETER[\"central_meridian\",-78.5],PA");
     add_srs_wkt (p, 12,
-        "false_northing\",6561666.667],UNIT[\"US survey foot\",0.");
+        "RAMETER[\"false_easting\",11482916.667],PARAMETER[\"fals");
     add_srs_wkt (p, 13,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "e_northing\",6561666.667],UNIT[\"US survey foot\",0.3048");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2924\"]]");
-    p = add_epsg_def (filter, first, last, 2925, "epsg", 2925,
-        "NAD83(HARN) / Virginia South (ftUS)");
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 15,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2924\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2925, "epsg", 2925,
+        "NAD83(HARN) / Virginia South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
     add_proj4text (p, 1,
@@ -3713,27 +4165,32 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",37.96666666666667],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",36.76666666666667],PARAMETER[\"latitu");
+        "ard_parallel_1\",37.96666666666667],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",36.33333333333334],PARAMETER[\"central_me");
+        "_parallel_2\",36.76666666666667],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "ridian\",-78.5],PARAMETER[\"false_easting\",11482916.667");
+        "_origin\",36.33333333333334],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 12,
-        "],PARAMETER[\"false_northing\",3280833.333],UNIT[\"US su");
+        "n\",-78.5],PARAMETER[\"false_easting\",11482916.667],PAR");
     add_srs_wkt (p, 13,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "AMETER[\"false_northing\",3280833.333],UNIT[\"US survey ");
     add_srs_wkt (p, 14,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 15,
-        "\",\"2925\"]]");
-    p = add_epsg_def (filter, first, last, 2926, "epsg", 2926,
-        "NAD83(HARN) / Washington North (ftUS)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "2925\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2926, "epsg", 2926,
+        "NAD83(HARN) / Washington North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
     add_proj4text (p, 1,
@@ -3755,25 +4212,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PRO");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",48.73333333333333],PARAMETER[\"");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",47.5],PARAMETER[\"latitude_of_orig");
+        "ndard_parallel_1\",48.73333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "in\",47],PARAMETER[\"central_meridian\",-120.83333333333");
+        "rd_parallel_2\",47.5],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 11,
-        "33],PARAMETER[\"false_easting\",1640416.667],PARAMETER[\"");
+        "7],PARAMETER[\"central_meridian\",-120.8333333333333],PA");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "RAMETER[\"false_easting\",1640416.667],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2926\"]]");
-    p = add_epsg_def (filter, first, last, 2927, "epsg", 2927,
-        "NAD83(HARN) / Washington South (ftUS)");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"2926\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2927, "epsg", 2927,
+        "NAD83(HARN) / Washington South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
     add_proj4text (p, 1,
@@ -3795,27 +4257,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PRO");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",47.33333333333334],PARAMETER[\"");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",45.83333333333334],PARAMETER[\"lat");
+        "ndard_parallel_1\",47.33333333333334],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",45.33333333333334],PARAMETER[\"central");
+        "rd_parallel_2\",45.83333333333334],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "_meridian\",-120.5],PARAMETER[\"false_easting\",1640416.");
+        "of_origin\",45.33333333333334],PARAMETER[\"central_merid");
     add_srs_wkt (p, 12,
-        "667],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
+        "ian\",-120.5],PARAMETER[\"false_easting\",1640416.667],P");
     add_srs_wkt (p, 13,
-        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
+        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
     add_srs_wkt (p, 14,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"29");
+        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
     add_srs_wkt (p, 15,
-        "27\"]]");
-    p = add_epsg_def (filter, first, last, 2928, "epsg", 2928,
-        "NAD83(HARN) / Wisconsin North (ftUS)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2927\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2928, "epsg", 2928,
+        "NAD83(HARN) / Wisconsin North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
     add_proj4text (p, 1,
@@ -3837,25 +4302,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",46.76666666666667],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",45.56666666666667],PARAMETER[\"latitu");
+        "ard_parallel_1\",46.76666666666667],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",45.16666666666666],PARAMETER[\"central_me");
+        "_parallel_2\",45.56666666666667],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "ridian\",-90],PARAMETER[\"false_easting\",1968500],PARAM");
+        "_origin\",45.16666666666666],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 12,
-        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
+        "n\",-90],PARAMETER[\"false_easting\",1968500],PARAMETER[");
     add_srs_wkt (p, 13,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2928\"]]");
-    p = add_epsg_def (filter, first, last, 2929, "epsg", 2929,
-        "NAD83(HARN) / Wisconsin Central (ftUS)");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2928\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2929, "epsg", 2929,
+        "NAD83(HARN) / Wisconsin Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
     add_proj4text (p, 1,
@@ -3875,25 +4345,30 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PR");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",45.5],PARAMETER[\"standard_para");
+        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "llel_2\",44.25],PARAMETER[\"latitude_of_origin\",43.8333");
+        "andard_parallel_1\",45.5],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "3333333334],PARAMETER[\"central_meridian\",-90],PARAMETE");
+        "2\",44.25],PARAMETER[\"latitude_of_origin\",43.833333333");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",1968500],PARAMETER[\"false_northing\"");
+        "33334],PARAMETER[\"central_meridian\",-90],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "alse_easting\",1968500],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"2929\"]]");
-    p = add_epsg_def (filter, first, last, 2930, "epsg", 2930,
-        "NAD83(HARN) / Wisconsin South (ftUS)");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"2929\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2930, "epsg", 2930,
+        "NAD83(HARN) / Wisconsin South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
     add_proj4text (p, 1,
@@ -3913,23 +4388,25 @@ initialize_epsg_08 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",44.06666666666667],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",42.73333333333333],PARAMETER[\"latitu");
+        "ard_parallel_1\",44.06666666666667],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",42],PARAMETER[\"central_meridian\",-90],P");
+        "_parallel_2\",42.73333333333333],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",1968500],PARAMETER[\"false_no");
+        "_origin\",42],PARAMETER[\"central_meridian\",-90],PARAME");
     add_srs_wkt (p, 12,
-        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "TER[\"false_easting\",1968500],PARAMETER[\"false_northin");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "g\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2930\"]]");
+        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 15,
+        "H],AUTHORITY[\"EPSG\",\"2930\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_09.c b/src/srsinit/epsg_inlined_09.c
index 1a02152..3d80485 100644
--- a/src/srsinit/epsg_inlined_09.c
+++ b/src/srsinit/epsg_inlined_09.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 2931, "epsg", 2931,
-        "Beduaram / TM 13 NE");
+    p = add_epsg_def_ex (filter, first, last, 2931, "epsg", 2931,
+        "Beduaram / TM 13 NE", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Beduaram", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -65,7 +70,7 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "[\"Beduaram\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,2");
     add_srs_wkt (p, 2,
-        "93.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-");
+        "93.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
         "106,-87,188,0,0,0,0],AUTHORITY[\"EPSG\",\"6213\"]],PRIME");
     add_srs_wkt (p, 4,
@@ -73,29 +78,34 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4213\"]],PROJECTION[\"Transverse_M");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "RITY[\"EPSG\",\"4213\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",13],PARAMETER[\"scale_factor\",0.9");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "tral_meridian\",13],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "PSG\",\"2931\"]]");
-    p = add_epsg_def (filter, first, last, 2932, "epsg", 2932,
-        "QND95 / Qatar National Grid");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"2931\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2932, "epsg", 2932,
+        "QND95 / Qatar National Grid", 0, 0,
+        "International 1924", "Greenwich",
+        "Qatar_National_Datum_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.9");
     add_proj4text (p, 1,
         "9999 +x_0=200000 +y_0=300000 +ellps=intl +towgs84=-119.4");
     add_proj4text (p, 2,
-        "25,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +un");
+        "248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.65");
     add_proj4text (p, 3,
-        "its=m +no_defs");
+        "7065 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"QND95 / Qatar National Grid\",GEOGCS[\"QND95\",");
     add_srs_wkt (p, 1,
@@ -103,29 +113,34 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "onal 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TO");
     add_srs_wkt (p, 3,
-        "WGS84[-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626");
+        "WGS84[-119.4248,-303.65872,-11.00061,1.164298,0.174458,1");
     add_srs_wkt (p, 4,
-        ",3.65706],AUTHORITY[\"EPSG\",\"6614\"]],PRIMEM[\"Greenwi");
+        ".096259,3.657065],AUTHORITY[\"EPSG\",\"6614\"]],PRIMEM[\"");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4614\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",24.45],PARAMETER[\"cent");
+        "[\"EPSG\",\"4614\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 9,
-        "ral_meridian\",51.21666666666667],PARAMETER[\"scale_fact");
+        ",PARAMETER[\"latitude_of_origin\",24.45],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "or\",0.99999],PARAMETER[\"false_easting\",200000],PARAME");
+        "tral_meridian\",51.21666666666667],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",300000],UNIT[\"metre\",1,AUTHORIT");
+        "tor\",0.99999],PARAMETER[\"false_easting\",200000],PARAM");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "ETER[\"false_northing\",300000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 13,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2932\"]]");
-    p = add_epsg_def (filter, first, last, 2933, "epsg", 2933,
-        "Segara / UTM zone 50S");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 14,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"2932\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2933, "epsg", 2933,
+        "Segara / UTM zone 50S", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Gunung_Segara", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=50 +south +ellps=bessel +towgs84=-403,68");
     add_proj4text (p, 1,
@@ -141,23 +156,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4613\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4613\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",117],PARAMETER[\"scale_factor\",0.9996],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",117],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"2933\"]]");
-    p = add_epsg_def (filter, first, last, 2934, "epsg", 2934,
-        "Segara (Jakarta) / NEIEZ (deprecated)");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"2933\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2934, "epsg", 2934,
+        "Segara (Jakarta) / NEIEZ (deprecated)", 0, 0,
+        "Bessel 1841", "Jakarta",
+        "Gunung_Segara_Jakarta", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 ");
     add_proj4text (p, 1,
@@ -177,27 +197,32 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "444,AUTHORITY[\"EPSG\",\"8908\"]],UNIT[\"degree\",0.0174");
     add_srs_wkt (p, 6,
-        "532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"E");
+        "532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitu");
     add_srs_wkt (p, 7,
-        "PSG\",\"4820\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER[");
+        "de\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",110],PARAMETER[\"scale_factor\",0.9");
+        "\"4820\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "97],PARAMETER[\"false_easting\",3900000],PARAMETER[\"fal");
+        "ral_meridian\",110],PARAMETER[\"scale_factor\",0.997],PA");
     add_srs_wkt (p, 10,
-        "se_northing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "RAMETER[\"false_easting\",3900000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "thing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"2934\"]]");
-    p = add_epsg_def (filter, first, last, 2935, "epsg", 2935,
-        "Pulkovo 1942 / CS63 zone A1");
+        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"2934\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2935, "epsg", 2935,
+        "Pulkovo 1942 / CS63 zone A1", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333");
     add_proj4text (p, 1,
         "333333 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +towgs84=23");
     add_proj4text (p, 2,
-        ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs");
+        ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / CS63 zone A1\",GEOGCS[\"Pulkovo ");
     add_srs_wkt (p, 1,
@@ -205,33 +230,38 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2");
     add_srs_wkt (p, 3,
-        "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
+        "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
         ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0.1166666666666667],PARAMETER[\"central_meridian\",");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "41.53333333333333],PARAMETER[\"scale_factor\",1],PARAMET");
+        ".1166666666666667],PARAMETER[\"central_meridian\",41.533");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",1300000],PARAMETER[\"false_northing");
+        "33333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "alse_easting\",1300000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"2935\"]]");
-    p = add_epsg_def (filter, first, last, 2936, "epsg", 2936,
-        "Pulkovo 1942 / CS63 zone A2");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2935\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2936, "epsg", 2936,
+        "Pulkovo 1942 / CS63 zone A2", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333");
     add_proj4text (p, 1,
         "333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +towgs84=23");
     add_proj4text (p, 2,
-        ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs");
+        ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / CS63 zone A2\",GEOGCS[\"Pulkovo ");
     add_srs_wkt (p, 1,
@@ -239,33 +269,38 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2");
     add_srs_wkt (p, 3,
-        "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
+        "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
         ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0.1166666666666667],PARAMETER[\"central_meridian\",");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "44.53333333333333],PARAMETER[\"scale_factor\",1],PARAMET");
+        ".1166666666666667],PARAMETER[\"central_meridian\",44.533");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",2300000],PARAMETER[\"false_northing");
+        "33333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "alse_easting\",2300000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"2936\"]]");
-    p = add_epsg_def (filter, first, last, 2937, "epsg", 2937,
-        "Pulkovo 1942 / CS63 zone A3");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2936\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2937, "epsg", 2937,
+        "Pulkovo 1942 / CS63 zone A3", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333");
     add_proj4text (p, 1,
         "333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +towgs84=23");
     add_proj4text (p, 2,
-        ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs");
+        ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / CS63 zone A3\",GEOGCS[\"Pulkovo ");
     add_srs_wkt (p, 1,
@@ -273,33 +308,38 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2");
     add_srs_wkt (p, 3,
-        "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
+        "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
         ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0.1166666666666667],PARAMETER[\"central_meridian\",");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "47.53333333333333],PARAMETER[\"scale_factor\",1],PARAMET");
+        ".1166666666666667],PARAMETER[\"central_meridian\",47.533");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",3300000],PARAMETER[\"false_northing");
+        "33333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "alse_easting\",3300000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"2937\"]]");
-    p = add_epsg_def (filter, first, last, 2938, "epsg", 2938,
-        "Pulkovo 1942 / CS63 zone A4");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2937\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2938, "epsg", 2938,
+        "Pulkovo 1942 / CS63 zone A4", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=50.53333333");
     add_proj4text (p, 1,
         "333333 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +towgs84=23");
     add_proj4text (p, 2,
-        ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs");
+        ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / CS63 zone A4\",GEOGCS[\"Pulkovo ");
     add_srs_wkt (p, 1,
@@ -307,33 +347,38 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2");
     add_srs_wkt (p, 3,
-        "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
+        "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
         ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0.1166666666666667],PARAMETER[\"central_meridian\",");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "50.53333333333333],PARAMETER[\"scale_factor\",1],PARAMET");
+        ".1166666666666667],PARAMETER[\"central_meridian\",50.533");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",4300000],PARAMETER[\"false_northing");
+        "33333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "alse_easting\",4300000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"2938\"]]");
-    p = add_epsg_def (filter, first, last, 2939, "epsg", 2939,
-        "Pulkovo 1942 / CS63 zone K2");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2938\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2939, "epsg", 2939,
+        "Pulkovo 1942 / CS63 zone K2", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=50.76666666");
     add_proj4text (p, 1,
         "666667 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +towgs84=23");
     add_proj4text (p, 2,
-        ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs");
+        ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / CS63 zone K2\",GEOGCS[\"Pulkovo ");
     add_srs_wkt (p, 1,
@@ -341,33 +386,38 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2");
     add_srs_wkt (p, 3,
-        "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
+        "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
         ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0.1333333333333333],PARAMETER[\"central_meridian\",");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "50.76666666666667],PARAMETER[\"scale_factor\",1],PARAMET");
+        ".1333333333333333],PARAMETER[\"central_meridian\",50.766");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",2300000],PARAMETER[\"false_northing");
+        "66666666667],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "alse_easting\",2300000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"2939\"]]");
-    p = add_epsg_def (filter, first, last, 2940, "epsg", 2940,
-        "Pulkovo 1942 / CS63 zone K3");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2939\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2940, "epsg", 2940,
+        "Pulkovo 1942 / CS63 zone K3", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=53.76666666");
     add_proj4text (p, 1,
         "666667 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +towgs84=23");
     add_proj4text (p, 2,
-        ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs");
+        ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / CS63 zone K3\",GEOGCS[\"Pulkovo ");
     add_srs_wkt (p, 1,
@@ -375,33 +425,38 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2");
     add_srs_wkt (p, 3,
-        "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
+        "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
         ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0.1333333333333333],PARAMETER[\"central_meridian\",");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "53.76666666666667],PARAMETER[\"scale_factor\",1],PARAMET");
+        ".1333333333333333],PARAMETER[\"central_meridian\",53.766");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",3300000],PARAMETER[\"false_northing");
+        "66666666667],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "alse_easting\",3300000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"2940\"]]");
-    p = add_epsg_def (filter, first, last, 2941, "epsg", 2941,
-        "Pulkovo 1942 / CS63 zone K4");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2940\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2941, "epsg", 2941,
+        "Pulkovo 1942 / CS63 zone K4", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=56.76666666");
     add_proj4text (p, 1,
         "666667 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +towgs84=23");
     add_proj4text (p, 2,
-        ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs");
+        ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / CS63 zone K4\",GEOGCS[\"Pulkovo ");
     add_srs_wkt (p, 1,
@@ -409,27 +464,32 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2");
     add_srs_wkt (p, 3,
-        "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
+        "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
         ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0.1333333333333333],PARAMETER[\"central_meridian\",");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "56.76666666666667],PARAMETER[\"scale_factor\",1],PARAMET");
+        ".1333333333333333],PARAMETER[\"central_meridian\",56.766");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",4300000],PARAMETER[\"false_northing");
+        "66666666667],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "alse_easting\",4300000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"2941\"]]");
-    p = add_epsg_def (filter, first, last, 2942, "epsg", 2942,
-        "Porto Santo / UTM zone 28N");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2941\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2942, "epsg", 2942,
+        "Porto Santo / UTM zone 28N", 0, 0,
+        "International 1924", "Greenwich",
+        "Porto_Santo_1936", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=intl +towgs84=-499,-249,314,0,");
     add_proj4text (p, 1,
@@ -447,21 +507,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4615\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "UTHORITY[\"EPSG\",\"4615\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-15],PARAMETER[\"scale_factor\"");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "central_meridian\",-15],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"2942\"]]");
-    p = add_epsg_def (filter, first, last, 2943, "epsg", 2943,
-        "Selvagem Grande / UTM zone 28N");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"2942\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2943, "epsg", 2943,
+        "Selvagem Grande / UTM zone 28N", 0, 0,
+        "International 1924", "Greenwich",
+        "Selvagem_Grande", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=intl +towgs84=-289,-124,60,0,0");
     add_proj4text (p, 1,
@@ -479,21 +544,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4616\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4616\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-15],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-15],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2943\"]]");
-    p = add_epsg_def (filter, first, last, 2944, "epsg", 2944,
-        "NAD83(CSRS) / SCoPQ zone 2 (deprecated)");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2943\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2944, "epsg", 2944,
+        "NAD83(CSRS) / SCoPQ zone 2 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -513,21 +583,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"46");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "17\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-5");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "5.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fals");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-55.5],P");
     add_srs_wkt (p, 10,
-        "e_easting\",304800],PARAMETER[\"false_northing\",0],UNIT");
+        "ARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        "ing\",304800],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2944\"]]");
-    p = add_epsg_def (filter, first, last, 2945, "epsg", 2945,
-        "NAD83(CSRS) / MTM zone 3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2944\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2945, "epsg", 2945,
+        "NAD83(CSRS) / MTM zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -547,21 +622,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-58.5],PARAMETER[");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",304");
+        "],PARAMETER[\"central_meridian\",-58.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "800],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",304800],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2945\"]]");
-    p = add_epsg_def (filter, first, last, 2946, "epsg", 2946,
-        "NAD83(CSRS) / MTM zone 4");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2945\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2946, "epsg", 2946,
+        "NAD83(CSRS) / MTM zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -581,21 +661,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-61.5],PARAMETER[");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",304");
+        "],PARAMETER[\"central_meridian\",-61.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "800],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",304800],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2946\"]]");
-    p = add_epsg_def (filter, first, last, 2947, "epsg", 2947,
-        "NAD83(CSRS) / MTM zone 5");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2946\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2947, "epsg", 2947,
+        "NAD83(CSRS) / MTM zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -615,21 +700,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-64.5],PARAMETER[");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",304");
+        "],PARAMETER[\"central_meridian\",-64.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "800],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",304800],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2947\"]]");
-    p = add_epsg_def (filter, first, last, 2948, "epsg", 2948,
-        "NAD83(CSRS) / MTM zone 6");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2947\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2948, "epsg", 2948,
+        "NAD83(CSRS) / MTM zone 6", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -649,21 +739,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-67.5],PARAMETER[");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",304");
+        "],PARAMETER[\"central_meridian\",-67.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "800],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",304800],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2948\"]]");
-    p = add_epsg_def (filter, first, last, 2949, "epsg", 2949,
-        "NAD83(CSRS) / MTM zone 7");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2948\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2949, "epsg", 2949,
+        "NAD83(CSRS) / MTM zone 7", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -683,21 +778,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-70.5],PARAMETER[");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",304");
+        "],PARAMETER[\"central_meridian\",-70.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "800],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",304800],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2949\"]]");
-    p = add_epsg_def (filter, first, last, 2950, "epsg", 2950,
-        "NAD83(CSRS) / MTM zone 8");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2949\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2950, "epsg", 2950,
+        "NAD83(CSRS) / MTM zone 8", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -717,21 +817,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-73.5],PARAMETER[");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",304");
+        "],PARAMETER[\"central_meridian\",-73.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "800],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",304800],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2950\"]]");
-    p = add_epsg_def (filter, first, last, 2951, "epsg", 2951,
-        "NAD83(CSRS) / MTM zone 9");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2950\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2951, "epsg", 2951,
+        "NAD83(CSRS) / MTM zone 9", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -751,21 +856,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-76.5],PARAMETER[");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",304");
+        "],PARAMETER[\"central_meridian\",-76.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "800],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",304800],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2951\"]]");
-    p = add_epsg_def (filter, first, last, 2952, "epsg", 2952,
-        "NAD83(CSRS) / MTM zone 10");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2951\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2952, "epsg", 2952,
+        "NAD83(CSRS) / MTM zone 10", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
@@ -785,21 +895,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-79.5],PARAMETER[");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",304");
+        "],PARAMETER[\"central_meridian\",-79.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "800],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",304800],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "(Y)\",NORTH],AUTHORITY[\"EPSG\",\"2952\"]]");
-    p = add_epsg_def (filter, first, last, 2953, "epsg", 2953,
-        "NAD83(CSRS) / New Brunswick Stereographic");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"2952\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2953, "epsg", 2953,
+        "NAD83(CSRS) / New Brunswick Stereographic", 0, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Oblique_Stereographic", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2");
     add_proj4text (p, 1,
@@ -819,21 +934,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4617\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",46.5],PARAMETER[\"central_meridi");
+        "]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "an\",-66.5],PARAMETER[\"scale_factor\",0.999912],PARAMET");
+        "itude_of_origin\",46.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",2500000],PARAMETER[\"false_northing");
+        "66.5],PARAMETER[\"scale_factor\",0.999912],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",7500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "alse_easting\",2500000],PARAMETER[\"false_northing\",750");
     add_srs_wkt (p, 12,
-        "]],AUTHORITY[\"EPSG\",\"2953\"]]");
-    p = add_epsg_def (filter, first, last, 2954, "epsg", 2954,
-        "NAD83(CSRS) / Prince Edward Isl. Stereographic (NAD83)");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"2953\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2954, "epsg", 2954,
+        "NAD83(CSRS) / Prince Edward Isl. Stereographic (NAD83)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Oblique_Stereographic", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=40");
     add_proj4text (p, 1,
@@ -853,23 +975,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4617\"]],PROJECTION[\"Oblique_Stereographic");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",47.25],PARAMETER[\"");
+        "SG\",\"4617\"]],PROJECTION[\"Oblique_Stereographic\"],PA");
     add_srs_wkt (p, 9,
-        "central_meridian\",-63],PARAMETER[\"scale_factor\",0.999");
+        "RAMETER[\"latitude_of_origin\",47.25],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "912],PARAMETER[\"false_easting\",400000],PARAMETER[\"fal");
+        "l_meridian\",-63],PARAMETER[\"scale_factor\",0.999912],P");
     add_srs_wkt (p, 11,
-        "se_northing\",800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "ARAMETER[\"false_easting\",400000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUT");
+        "thing\",800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"2954\"]]");
-    p = add_epsg_def (filter, first, last, 2955, "epsg", 2955,
-        "NAD83(CSRS) / UTM zone 11N");
+        "01\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 14,
+        "Y[\"EPSG\",\"2954\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2955, "epsg", 2955,
+        "NAD83(CSRS) / UTM zone 11N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -887,21 +1014,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-117],PARAMETER");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
+        "0],PARAMETER[\"central_meridian\",-117],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2955\"]]");
-    p = add_epsg_def (filter, first, last, 2956, "epsg", 2956,
-        "NAD83(CSRS) / UTM zone 12N");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 13,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2955\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2956, "epsg", 2956,
+        "NAD83(CSRS) / UTM zone 12N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -919,21 +1051,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-111],PARAMETER");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
+        "0],PARAMETER[\"central_meridian\",-111],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2956\"]]");
-    p = add_epsg_def (filter, first, last, 2957, "epsg", 2957,
-        "NAD83(CSRS) / UTM zone 13N");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 13,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2956\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2957, "epsg", 2957,
+        "NAD83(CSRS) / UTM zone 13N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -951,21 +1088,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-105],PARAMETER");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
+        "0],PARAMETER[\"central_meridian\",-105],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2957\"]]");
-    p = add_epsg_def (filter, first, last, 2958, "epsg", 2958,
-        "NAD83(CSRS) / UTM zone 17N");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 13,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2957\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2958, "epsg", 2958,
+        "NAD83(CSRS) / UTM zone 17N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -983,21 +1125,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-81],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "0],PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2958\"]]");
-    p = add_epsg_def (filter, first, last, 2959, "epsg", 2959,
-        "NAD83(CSRS) / UTM zone 18N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2958\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2959, "epsg", 2959,
+        "NAD83(CSRS) / UTM zone 18N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1015,21 +1162,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-75],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "0],PARAMETER[\"central_meridian\",-75],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2959\"]]");
-    p = add_epsg_def (filter, first, last, 2960, "epsg", 2960,
-        "NAD83(CSRS) / UTM zone 19N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2959\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2960, "epsg", 2960,
+        "NAD83(CSRS) / UTM zone 19N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1047,21 +1199,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-69],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "0],PARAMETER[\"central_meridian\",-69],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2960\"]]");
-    p = add_epsg_def (filter, first, last, 2961, "epsg", 2961,
-        "NAD83(CSRS) / UTM zone 20N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2960\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2961, "epsg", 2961,
+        "NAD83(CSRS) / UTM zone 20N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1079,21 +1236,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-63],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2961\"]]");
-    p = add_epsg_def (filter, first, last, 2962, "epsg", 2962,
-        "NAD83(CSRS) / UTM zone 21N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2961\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2962, "epsg", 2962,
+        "NAD83(CSRS) / UTM zone 21N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1111,21 +1273,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-57],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "0],PARAMETER[\"central_meridian\",-57],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2962\"]]");
-    p = add_epsg_def (filter, first, last, 2964, "epsg", 2964,
-        "NAD27 / Alaska Albers");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"2962\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2964, "epsg", 2964,
+        "NAD27 / Alaska Albers", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Albers_Conic_Equal_Area", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0");
     add_proj4text (p, 1,
@@ -1135,37 +1302,42 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAM");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "ETER[\"standard_parallel_1\",55],PARAMETER[\"standard_pa");
+        "\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "rallel_2\",65],PARAMETER[\"latitude_of_center\",50],PARA");
+        "standard_parallel_1\",55],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 9,
-        "METER[\"longitude_of_center\",-154],PARAMETER[\"false_ea");
+        "2\",65],PARAMETER[\"latitude_of_center\",50],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "sting\",0],PARAMETER[\"false_northing\",0],UNIT[\"US sur");
+        "longitude_of_center\",-154],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "vey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
     add_srs_wkt (p, 13,
-        ",\"2964\"]]");
-    p = add_epsg_def (filter, first, last, 2965, "epsg", 2965,
-        "NAD83 / Indiana East (ftUS)");
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2964");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2965, "epsg", 2965,
+        "NAD83 / Indiana East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
         "99966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +");
     add_proj4text (p, 2,
-        "datum=NAD83 +units=us-ft +no_defs");
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Indiana East (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -1179,29 +1351,34 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",37.5],PARAMET");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-85.66666666666667],PARAMETER[\"");
+        "\"],PARAMETER[\"latitude_of_origin\",37.5],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.999966667],PARAMETER[\"false_easting\",");
+        "entral_meridian\",-85.66666666666667],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "328083.333],PARAMETER[\"false_northing\",820208.33300000");
+        "factor\",0.999966667],PARAMETER[\"false_easting\",328083");
     add_srs_wkt (p, 11,
-        "02],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        ".333],PARAMETER[\"false_northing\",820208.3330000002],UN");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"2965\"]]");
-    p = add_epsg_def (filter, first, last, 2966, "epsg", 2966,
-        "NAD83 / Indiana West (ftUS)");
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"2965\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2966, "epsg", 2966,
+        "NAD83 / Indiana West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "99966667 +x_0=900000 +y_0=249999.9998983998 +datum=NAD83");
+        "99966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80");
     add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        " +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Indiana West (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -1215,23 +1392,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",37.5],PARAMET");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-87.08333333333333],PARAMETER[\"");
+        "\"],PARAMETER[\"latitude_of_origin\",37.5],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.999966667],PARAMETER[\"false_easting\",");
+        "entral_meridian\",-87.08333333333333],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "2952750],PARAMETER[\"false_northing\",820208.3330000002]");
+        "factor\",0.999966667],PARAMETER[\"false_easting\",295275");
     add_srs_wkt (p, 11,
-        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "0],PARAMETER[\"false_northing\",820208.3330000002],UNIT[");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"2966\"]]");
-    p = add_epsg_def (filter, first, last, 2967, "epsg", 2967,
-        "NAD83(HARN) / Indiana East (ftUS)");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"2966\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2967, "epsg", 2967,
+        "NAD83(HARN) / Indiana East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -1251,23 +1433,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",37.5],PARAMETER[\"central_meridian\",-85.6666");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "6666666667],PARAMETER[\"scale_factor\",0.999966667],PARA");
+        "in\",37.5],PARAMETER[\"central_meridian\",-85.6666666666");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",328083.333],PARAMETER[\"false_no");
+        "6667],PARAMETER[\"scale_factor\",0.999966667],PARAMETER[");
     add_srs_wkt (p, 11,
-        "rthing\",820208.3330000002],UNIT[\"US survey foot\",0.30");
+        "\"false_easting\",328083.333],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "\",820208.3330000002],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2967\"]]");
-    p = add_epsg_def (filter, first, last, 2968, "epsg", 2968,
-        "NAD83(HARN) / Indiana West (ftUS)");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2967\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2968, "epsg", 2968,
+        "NAD83(HARN) / Indiana West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -1287,23 +1474,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",37.5],PARAMETER[\"central_meridian\",-87.0833");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "3333333333],PARAMETER[\"scale_factor\",0.999966667],PARA");
+        "in\",37.5],PARAMETER[\"central_meridian\",-87.0833333333");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",2952750],PARAMETER[\"false_north");
+        "3333],PARAMETER[\"scale_factor\",0.999966667],PARAMETER[");
     add_srs_wkt (p, 11,
-        "ing\",820208.3330000002],UNIT[\"US survey foot\",0.30480");
+        "\"false_easting\",2952750],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+        "820208.3330000002],UNIT[\"US survey foot\",0.30480060960");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2968\"]]");
-    p = add_epsg_def (filter, first, last, 2969, "epsg", 2969,
-        "Fort Marigot / UTM zone 20N");
+        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2968\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2969, "epsg", 2969,
+        "Fort Marigot / UTM zone 20N", 0, 0,
+        "International 1924", "Greenwich",
+        "Fort_Marigot", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=intl +towgs84=137,248,-430,0,0");
     add_proj4text (p, 1,
@@ -1321,21 +1513,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4621\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ORITY[\"EPSG\",\"4621\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-63],PARAMETER[\"scale_factor\",0");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "ntral_meridian\",-63],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"2969\"]]");
-    p = add_epsg_def (filter, first, last, 2970, "epsg", 2970,
-        "Guadeloupe 1948 / UTM zone 20N");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2969\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2970, "epsg", 2970,
+        "Guadeloupe 1948 / UTM zone 20N", 0, 0,
+        "International 1924", "Greenwich",
+        "Guadeloupe_1948", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=intl +towgs84=-467,-16,-300,0,");
     add_proj4text (p, 1,
@@ -1353,21 +1550,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4622\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4622\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "METER[\"central_meridian\",-63],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"2970\"]]");
-    p = add_epsg_def (filter, first, last, 2971, "epsg", 2971,
-        "CSG67 / UTM zone 22N");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"2970\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2971, "epsg", 2971,
+        "CSG67 / UTM zone 22N", 0, 0,
+        "International 1924", "Greenwich",
+        "Centre_Spatial_Guyanais_1967", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=22 +ellps=intl +towgs84=-186,230,110,0,0");
     add_proj4text (p, 1,
@@ -1385,21 +1587,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4623\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ORITY[\"EPSG\",\"4623\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-51],PARAMETER[\"scale_factor\",0");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "ntral_meridian\",-51],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"2971\"]]");
-    p = add_epsg_def (filter, first, last, 2972, "epsg", 2972,
-        "RGFG95 / UTM zone 22N");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"2971\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2972, "epsg", 2972,
+        "RGFG95 / UTM zone 22N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_Guyane_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1417,21 +1624,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4624\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4624\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-51],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-51],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2972\"]]");
-    p = add_epsg_def (filter, first, last, 2973, "epsg", 2973,
-        "Martinique 1938 / UTM zone 20N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2972\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2973, "epsg", 2973,
+        "Martinique 1938 / UTM zone 20N", 0, 0,
+        "International 1924", "Greenwich",
+        "Martinique_1938", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=intl +towgs84=186,482,151,0,0,");
     add_proj4text (p, 1,
@@ -1449,21 +1661,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4625\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4625\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-63],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2973\"]]");
-    p = add_epsg_def (filter, first, last, 2975, "epsg", 2975,
-        "RGR92 / UTM zone 40S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2973\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2975, "epsg", 2975,
+        "RGR92 / UTM zone 40S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_Reunion_1992", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=40 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1481,21 +1698,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4627\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4627\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",57],PARAMETER[\"scale_factor\",0");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "entral_meridian\",57],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2975\"]]");
-    p = add_epsg_def (filter, first, last, 2976, "epsg", 2976,
-        "Tahiti 52 / UTM zone 6S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"2975\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2976, "epsg", 2976,
+        "Tahiti 52 / UTM zone 6S", 0, 0,
+        "International 1924", "Greenwich",
+        "Tahiti_52", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=6 +south +ellps=intl +towgs84=162,117,15");
     add_proj4text (p, 1,
@@ -1511,23 +1733,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4628\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "G\",\"4628\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 8,
-        "_meridian\",-147],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "ian\",-147],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"2976\"]]");
-    p = add_epsg_def (filter, first, last, 2977, "epsg", 2977,
-        "Tahaa 54 / UTM zone 5S");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"2976\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2977, "epsg", 2977,
+        "Tahaa 54 / UTM zone 5S", 0, 0,
+        "International 1924", "Greenwich",
+        "Tahaa_54", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=5 +south +ellps=intl +towgs84=72.438,345");
     add_proj4text (p, 1,
@@ -1547,21 +1774,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4629\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4629\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-153],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-153],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2977\"]]");
-    p = add_epsg_def (filter, first, last, 2978, "epsg", 2978,
-        "IGN72 Nuku Hiva / UTM zone 7S");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2977\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2978, "epsg", 2978,
+        "IGN72 Nuku Hiva / UTM zone 7S", 0, 0,
+        "International 1924", "Greenwich",
+        "IGN72_Nuku_Hiva", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=7 +south +ellps=intl +towgs84=84,274,65,");
     add_proj4text (p, 1,
@@ -1579,21 +1811,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4630\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4630\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",-141],PARAMETER[\"scale_fact");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "[\"central_meridian\",-141],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"2978\"]]");
-    p = add_epsg_def (filter, first, last, 2979, "epsg", 2979,
-        "K0 1949 / UTM zone 42S (deprecated)");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2978\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2979, "epsg", 2979,
+        "K0 1949 / UTM zone 42S (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "K0_1949", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,");
     add_proj4text (p, 1,
@@ -1611,21 +1848,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4631\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4631\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",69],PARAMETER[\"scale_factor\",0.99");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "ral_meridian\",69],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "e_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "hing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"2979\"]]");
-    p = add_epsg_def (filter, first, last, 2980, "epsg", 2980,
-        "Combani 1950 / UTM zone 38S");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"2979\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2980, "epsg", 2980,
+        "Combani 1950 / UTM zone 38S", 0, 0,
+        "International 1924", "Greenwich",
+        "Combani_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +south +ellps=intl +towgs84=-382,-59,");
     add_proj4text (p, 1,
@@ -1643,21 +1885,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4632\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ORITY[\"EPSG\",\"4632\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",45],PARAMETER[\"scale_factor\",0.");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "ntral_meridian\",45],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2980\"]]");
-    p = add_epsg_def (filter, first, last, 2981, "epsg", 2981,
-        "IGN56 Lifou / UTM zone 58S");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"2980\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2981, "epsg", 2981,
+        "IGN56 Lifou / UTM zone 58S", 0, 0,
+        "International 1924", "Greenwich",
+        "IGN56_Lifou", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=intl +towgs84=335.47,22");
     add_proj4text (p, 1,
@@ -1675,21 +1922,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4633\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4633\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",165],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "R[\"central_meridian\",165],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"2981\"]]");
-    p = add_epsg_def (filter, first, last, 2982, "epsg", 2982,
-        "IGN72 Grand Terre / UTM zone 58S (deprecated)");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"2981\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2982, "epsg", 2982,
+        "IGN72 Grand Terre / UTM zone 58S (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "IGN72_Grande_Terre", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=intl +towgs84=-13,-348,");
     add_proj4text (p, 1,
@@ -1707,23 +1959,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"4634");
+        ",AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4634\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",165]");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "of_origin\",0],PARAMETER[\"central_meridian\",165],PARAM");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        ",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 13,
-        ",\"2982\"]]");
-    p = add_epsg_def (filter, first, last, 2983, "epsg", 2983,
-        "ST87 Ouvea / UTM zone 58S (deprecated)");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2982");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2983, "epsg", 2983,
+        "ST87 Ouvea / UTM zone 58S (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "ST87_Ouvea", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=intl +towgs84=-122.383,");
     add_proj4text (p, 1,
@@ -1743,23 +2000,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4635\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        ",\"4635\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "ridian\",165],PARAMETER[\"scale_factor\",0.9996],PARAMET");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
+        "\",165],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "alse_easting\",500000],PARAMETER[\"false_northing\",1000");
     add_srs_wkt (p, 12,
-        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"2983\"]]");
-    p = add_epsg_def (filter, first, last, 2984, "epsg", 2984,
-        "RGNC 1991 / Lambert New Caledonia (deprecated)");
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"2983\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2984, "epsg", 2984,
+        "RGNC 1991 / Lambert New Caledonia (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Reseau_Geodesique_Nouvelle_Caledonie_1991", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.333333333");
     add_proj4text (p, 1,
@@ -1779,25 +2041,30 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        ",\"4645\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"46");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",-20.66666666666667],PA");
+        "45\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "RAMETER[\"standard_parallel_2\",-22.33333333333333],PARA");
+        "ETER[\"standard_parallel_1\",-20.66666666666667],PARAMET");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",-21.5],PARAMETER[\"central_");
+        "ER[\"standard_parallel_2\",-22.33333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "meridian\",166],PARAMETER[\"false_easting\",400000],PARA");
+        "[\"latitude_of_origin\",-21.5],PARAMETER[\"central_merid");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",300000],UNIT[\"metre\",1,AUTHOR");
+        "ian\",166],PARAMETER[\"false_easting\",400000],PARAMETER");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "[\"false_northing\",300000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "H],AUTHORITY[\"EPSG\",\"2984\"]]");
-    p = add_epsg_def (filter, first, last, 2987, "epsg", 2987,
-        "Saint Pierre et Miquelon 1950 / UTM zone 21N");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"2984\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2987, "epsg", 2987,
+        "Saint Pierre et Miquelon 1950 / UTM zone 21N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Saint_Pierre_et_Miquelon_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +ellps=clrk66 +towgs84=30,430,368,0,0");
     add_proj4text (p, 1,
@@ -1809,7 +2076,7 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ierre_et_Miquelon_1950\",SPHEROID[\"Clarke 1866\",637820");
     add_srs_wkt (p, 3,
-        "6.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWG");
+        "6.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWG");
     add_srs_wkt (p, 4,
         "S84[30,430,368,0,0,0,0],AUTHORITY[\"EPSG\",\"6638\"]],PR");
     add_srs_wkt (p, 5,
@@ -1817,21 +2084,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "]],AUTHORITY[\"EPSG\",\"4638\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4638\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "ER[\"central_meridian\",-57],PARAMETER[\"scale_factor\",");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "entral_meridian\",-57],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 13,
-        "H],AUTHORITY[\"EPSG\",\"2987\"]]");
-    p = add_epsg_def (filter, first, last, 2988, "epsg", 2988,
-        "MOP78 / UTM zone 1S");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"2987\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2988, "epsg", 2988,
+        "MOP78 / UTM zone 1S", 0, 0,
+        "International 1924", "Greenwich",
+        "MOP78", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=1 +south +ellps=intl +towgs84=253,-132,-");
     add_proj4text (p, 1,
@@ -1847,23 +2119,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4639\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4639");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-177],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-177");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",10000");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "asting\",500000],PARAMETER[\"false_northing\",10000000],");
     add_srs_wkt (p, 11,
-        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
     add_srs_wkt (p, 12,
-        "EPSG\",\"2988\"]]");
-    p = add_epsg_def (filter, first, last, 2989, "epsg", 2989,
-        "RRAF 1991 / UTM zone 20N (deprecated)");
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"2988\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2989, "epsg", 2989,
+        "RRAF 1991 / UTM zone 20N (deprecated)", 0, 0,
+        "WGS 84", "Greenwich",
+        "Reseau_de_Reference_des_Antilles_Francaises_1991", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1881,23 +2158,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4640\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4640\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-63],P");
     add_srs_wkt (p, 10,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "989\"]]");
-    p = add_epsg_def (filter, first, last, 2990, "epsg", 2990,
-        "Reunion 1947 / TM Reunion (deprecated)");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2989\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 2990, "epsg", 2990,
+        "Reunion 1947 / TM Reunion (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Reunion_1947", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333");
     add_proj4text (p, 1,
@@ -1917,29 +2199,34 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4626\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4626\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "-21.11666666666667],PARAMETER[\"central_meridian\",55.53");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",-21.11");
     add_srs_wkt (p, 9,
-        "333333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "666666666667],PARAMETER[\"central_meridian\",55.53333333");
     add_srs_wkt (p, 10,
-        "false_easting\",50000],PARAMETER[\"false_northing\",1600");
+        "333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "easting\",50000],PARAMETER[\"false_northing\",160000],UN");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2990\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 2991, "epsg", 2991,
-        "NAD83 / Oregon Lambert");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2990\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2991, "epsg", 2991,
+        "NAD83 / Oregon LCC (m)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
     add_proj4text (p, 1,
-        ".5 +x_0=400000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        ".5 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,");
+    add_proj4text (p, 2,
+        "0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Oregon Lambert\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"NAD83 / Oregon LCC (m)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
         "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
@@ -1949,61 +2236,71 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43],PARA");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_2\",45.5],PARAMETER[\"latitude");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",43],PARAMETER[");
     add_srs_wkt (p, 9,
-        "_of_origin\",41.75],PARAMETER[\"central_meridian\",-120.");
+        "\"standard_parallel_2\",45.5],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 10,
-        "5],PARAMETER[\"false_easting\",400000],PARAMETER[\"false");
+        "igin\",41.75],PARAMETER[\"central_meridian\",-120.5],PAR");
     add_srs_wkt (p, 11,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",400000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "G\",\"2991\"]]");
-    p = add_epsg_def (filter, first, last, 2992, "epsg", 2992,
-        "NAD83 / Oregon Lambert (ft)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "2991\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2992, "epsg", 2992,
+        "NAD83 / Oregon GIC Lambert (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
     add_proj4text (p, 1,
-        ".5 +x_0=399999.9999984 +y_0=0 +datum=NAD83 +units=ft +no");
+        ".5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +towgs84=0,0,");
     add_proj4text (p, 2,
-        "_defs");
+        "0,0,0,0,0 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Oregon Lambert (ft)\",GEOGCS[\"NAD83\",");
+        "PROJCS[\"NAD83 / Oregon GIC Lambert (ft)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "3\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        "],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],P");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43],");
+        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_2\",45.5],PARAMETER[\"lati");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43],P");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",41.75],PARAMETER[\"central_meridian\",-");
+        "ARAMETER[\"standard_parallel_2\",45.5],PARAMETER[\"latit");
     add_srs_wkt (p, 10,
-        "120.5],PARAMETER[\"false_easting\",1312335.958],PARAMETE");
+        "ude_of_origin\",41.75],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"");
+        "20.5],PARAMETER[\"false_easting\",1312335.958],PARAMETER");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"");
     add_srs_wkt (p, 13,
+        "EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
         "HORITY[\"EPSG\",\"2992\"]]");
-    p = add_epsg_def (filter, first, last, 2993, "epsg", 2993,
-        "NAD83(HARN) / Oregon Lambert");
+    p = add_epsg_def_ex (filter, first, last, 2993, "epsg", 2993,
+        "NAD83(HARN) / Oregon LCC (m)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
     add_proj4text (p, 1,
@@ -2011,7 +2308,7 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_proj4text (p, 2,
         "0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Oregon Lambert\",GEOGCS[\"NAD83(H");
+        "PROJCS[\"NAD83(HARN) / Oregon LCC (m)\",GEOGCS[\"NAD83(H");
     add_srs_wkt (p, 1,
         "ARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\",S");
     add_srs_wkt (p, 2,
@@ -2023,23 +2320,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",43],PARAMETER[\"standard_parallel_2\",45");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        ".5],PARAMETER[\"latitude_of_origin\",41.75],PARAMETER[\"");
+        "llel_1\",43],PARAMETER[\"standard_parallel_2\",45.5],PAR");
     add_srs_wkt (p, 10,
-        "central_meridian\",-120.5],PARAMETER[\"false_easting\",4");
+        "AMETER[\"latitude_of_origin\",41.75],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "_meridian\",-120.5],PARAMETER[\"false_easting\",400000],");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"2993\"]]");
-    p = add_epsg_def (filter, first, last, 2994, "epsg", 2994,
-        "NAD83(HARN) / Oregon Lambert (ft)");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"2993\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2994, "epsg", 2994,
+        "NAD83(HARN) / Oregon GIC Lambert (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
     add_proj4text (p, 1,
@@ -2047,35 +2349,40 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_proj4text (p, 2,
         "0,0,0,0,0 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Oregon Lambert (ft)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(HARN) / Oregon GIC Lambert (ft)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "D83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Networ");
+        "\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Ne");
     add_srs_wkt (p, 2,
-        "k\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "twork\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "TY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PRO");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",43],PARAMETER[\"standard_parallel_2\"");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        ",45.5],PARAMETER[\"latitude_of_origin\",41.75],PARAMETER");
+        "ndard_parallel_1\",43],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "[\"central_meridian\",-120.5],PARAMETER[\"false_easting\"");
+        ",45.5],PARAMETER[\"latitude_of_origin\",41.75],PARAMETER");
     add_srs_wkt (p, 11,
-        ",1312335.958],PARAMETER[\"false_northing\",0],UNIT[\"foo");
+        "[\"central_meridian\",-120.5],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "t\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST");
+        ",1312335.958],PARAMETER[\"false_northing\",0],UNIT[\"foo");
     add_srs_wkt (p, 13,
+        "t\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 14,
         "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2994\"]]");
-    p = add_epsg_def (filter, first, last, 2995, "epsg", 2995,
-        "IGN53 Mare / UTM zone 58S");
+    p = add_epsg_def_ex (filter, first, last, 2995, "epsg", 2995,
+        "IGN53 Mare / UTM zone 58S", 0, 0,
+        "International 1924", "Greenwich",
+        "IGN53_Mare", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=intl +towgs84=287.58,17");
     add_proj4text (p, 1,
@@ -2093,21 +2400,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4641\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "UTHORITY[\"EPSG\",\"4641\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",165],PARAMETER[\"scale_factor\"");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "central_meridian\",165],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2995\"]]");
-    p = add_epsg_def (filter, first, last, 2996, "epsg", 2996,
-        "ST84 Ile des Pins / UTM zone 58S");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"2995\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2996, "epsg", 2996,
+        "ST84 Ile des Pins / UTM zone 58S", 0, 0,
+        "International 1924", "Greenwich",
+        "ST84_Ile_des_Pins", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=intl +towgs84=-13,-348,");
     add_proj4text (p, 1,
@@ -2125,27 +2437,32 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4642\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4642\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",165],PARAMETER[\"s");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        ",PARAMETER[\"central_meridian\",165],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\",");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2996\"]]");
-    p = add_epsg_def (filter, first, last, 2997, "epsg", 2997,
-        "ST71 Belep / UTM zone 58S");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"2996\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2997, "epsg", 2997,
+        "ST71 Belep / UTM zone 58S", 0, 0,
+        "International 1924", "Greenwich",
+        "ST71_Belep", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=intl +towgs84=-480.26,-");
     add_proj4text (p, 1,
-        "438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +units=m ");
+        "438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002 +units");
     add_proj4text (p, 2,
-        "+no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"ST71 Belep / UTM zone 58S\",GEOGCS[\"ST71 Belep");
     add_srs_wkt (p, 1,
@@ -2153,29 +2470,34 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-480.2");
     add_srs_wkt (p, 3,
-        "6,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7],AUTHO");
+        "6,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002],AU");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6643\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "THORITY[\"EPSG\",\"6643\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4643");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4643\"]");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",165]");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",165],PA");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "ng\",500000],PARAMETER[\"false_northing\",10000000],UNIT");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
     add_srs_wkt (p, 13,
-        ",\"2997\"]]");
-    p = add_epsg_def (filter, first, last, 2998, "epsg", 2998,
-        "NEA74 Noumea / UTM zone 58S");
+        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "2997\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2998, "epsg", 2998,
+        "NEA74 Noumea / UTM zone 58S", 0, 0,
+        "International 1924", "Greenwich",
+        "NEA74_Noumea", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=intl +towgs84=-10.18,-3");
     add_proj4text (p, 1,
@@ -2193,21 +2515,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4644\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4644\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",165],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",165],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"2998\"]]");
-    p = add_epsg_def (filter, first, last, 2999, "epsg", 2999,
-        "Grand Comoros / UTM zone 38S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"2998\"]]");
+    p = add_epsg_def_ex (filter, first, last, 2999, "epsg", 2999,
+        "Grand Comoros / UTM zone 38S", 0, 0,
+        "International 1924", "Greenwich",
+        "Grand_Comoros", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +south +ellps=intl +towgs84=-963,510,");
     add_proj4text (p, 1,
@@ -2225,21 +2552,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4646\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4646\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",45],PARAMETER[\"scale_factor\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "\"central_meridian\",45],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "e_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"2999\"]]");
-    p = add_epsg_def (filter, first, last, 3000, "epsg", 3000,
-        "Segara / NEIEZ");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"2999\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3000, "epsg", 3000,
+        "Segara / NEIEZ", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Gunung_Segara", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 ");
     add_proj4text (p, 1,
@@ -2257,21 +2589,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4613\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "[\"central_meridian\",110],PARAMETER[\"scale_factor\",0.");
+        ",\"4613\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER[\"cen");
     add_srs_wkt (p, 8,
-        "997],PARAMETER[\"false_easting\",3900000],PARAMETER[\"fa");
+        "tral_meridian\",110],PARAMETER[\"scale_factor\",0.997],P");
     add_srs_wkt (p, 9,
-        "lse_northing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "ARAMETER[\"false_easting\",3900000],PARAMETER[\"false_no");
     add_srs_wkt (p, 10,
-        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "rthing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"3000\"]]");
-    p = add_epsg_def (filter, first, last, 3001, "epsg", 3001,
-        "Batavia / NEIEZ");
+        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"3000\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3001, "epsg", 3001,
+        "Batavia / NEIEZ", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Batavia", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 ");
     add_proj4text (p, 1,
@@ -2289,21 +2626,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4211\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER[\"");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "central_meridian\",110],PARAMETER[\"scale_factor\",0.997");
+        "4211\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER[\"centra");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"false_easting\",3900000],PARAMETER[\"false");
+        "l_meridian\",110],PARAMETER[\"scale_factor\",0.997],PARA");
     add_srs_wkt (p, 9,
-        "_northing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "METER[\"false_easting\",3900000],PARAMETER[\"false_north");
     add_srs_wkt (p, 10,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "ing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"3001\"]]");
-    p = add_epsg_def (filter, first, last, 3002, "epsg", 3002,
-        "Makassar / NEIEZ");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 12,
+        "\",\"3001\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3002, "epsg", 3002,
+        "Makassar / NEIEZ", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Makassar", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 ");
     add_proj4text (p, 1,
@@ -2321,21 +2663,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4257\"]],PROJECTION[\"Mercator_1SP\"],P");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",110],PARAMETER[\"scale_fac");
+        "\"EPSG\",\"4257\"]],PROJECTION[\"Mercator_1SP\"],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.997],PARAMETER[\"false_easting\",3900000],PARAME");
+        "ER[\"central_meridian\",110],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",900000],UNIT[\"metre\",1,AUTHORIT");
+        "0.997],PARAMETER[\"false_easting\",3900000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "false_northing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"3002\"]]");
-    p = add_epsg_def (filter, first, last, 3003, "epsg", 3003,
-        "Monte Mario / Italy zone 1");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 12,
+        "RITY[\"EPSG\",\"3002\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3003, "epsg", 3003,
+        "Monte Mario / Italy zone 1", 0, 0,
+        "International 1924", "Greenwich",
+        "Monte_Mario", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_");
     add_proj4text (p, 1,
@@ -2355,21 +2702,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4265\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4265\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",15000");
+        ",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "factor\",0.9996],PARAMETER[\"false_easting\",1500000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"3003\"]]");
-    p = add_epsg_def (filter, first, last, 3004, "epsg", 3004,
-        "Monte Mario / Italy zone 2");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"3003\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3004, "epsg", 3004,
+        "Monte Mario / Italy zone 2", 0, 0,
+        "International 1924", "Greenwich",
+        "Monte_Mario", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y");
     add_proj4text (p, 1,
@@ -2389,25 +2741,32 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4265\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4265\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",15],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",252");
+        ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",2520000],P");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3004\"]]");
-    p = add_epsg_def (filter, first, last, 3005, "epsg", 3005,
-        "NAD83 / BC Albers");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"3004\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3005, "epsg", 3005,
+        "NAD83 / BC Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Albers_Conic_Equal_Area", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x");
     add_proj4text (p, 1,
-        "_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
+    add_proj4text (p, 2,
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BC Albers\",GEOGCS[\"NAD83\",DATUM[\"No");
     add_srs_wkt (p, 1,
@@ -2419,25 +2778,30 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_Are");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "a\"],PARAMETER[\"standard_parallel_1\",50],PARAMETER[\"s");
+        "G\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],P");
     add_srs_wkt (p, 8,
-        "tandard_parallel_2\",58.5],PARAMETER[\"latitude_of_cente");
+        "ARAMETER[\"standard_parallel_1\",50],PARAMETER[\"standar");
     add_srs_wkt (p, 9,
-        "r\",45],PARAMETER[\"longitude_of_center\",-126],PARAMETE");
+        "d_parallel_2\",58.5],PARAMETER[\"latitude_of_center\",45");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",1000000],PARAMETER[\"false_northing\"");
+        "],PARAMETER[\"longitude_of_center\",-126],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "lse_easting\",1000000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
     add_srs_wkt (p, 13,
-        "PSG\",\"3005\"]]");
-    p = add_epsg_def (filter, first, last, 3006, "epsg", 3006,
-        "SWEREF99 TM");
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"3005\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3006, "epsg", 3006,
+        "SWEREF99 TM", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2453,21 +2817,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 6,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJE");
     add_srs_wkt (p, 7,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",15],PARA");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 8,
-        "METER[\"scale_factor\",0.9996],PARAMETER[\"false_easting");
+        "rigin\",0],PARAMETER[\"central_meridian\",15],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "06\"]]");
-    p = add_epsg_def (filter, first, last, 3007, "epsg", 3007,
-        "SWEREF99 12 00");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3006\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3007, "epsg", 3007,
+        "SWEREF99 12 00", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=150000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2483,21 +2852,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",12],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",12],PARAMET");
     add_srs_wkt (p, 9,
-        "150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",15000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3007");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3008, "epsg", 3008,
-        "SWEREF99 13 30");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3007\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3008, "epsg", 3008,
+        "SWEREF99 13 30", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=150000 +y_0=0");
     add_proj4text (p, 1,
@@ -2513,21 +2887,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",13.5],");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",13.5],PARAM");
     add_srs_wkt (p, 9,
-        ",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",150");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"300");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "8\"]]");
-    p = add_epsg_def (filter, first, last, 3009, "epsg", 3009,
-        "SWEREF99 15 00");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3008\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3009, "epsg", 3009,
+        "SWEREF99 15 00", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=150000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2543,21 +2922,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",15],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",15],PARAMET");
     add_srs_wkt (p, 9,
-        "150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",15000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3009");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3010, "epsg", 3010,
-        "SWEREF99 16 30");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3009\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3010, "epsg", 3010,
+        "SWEREF99 16 30", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=150000 +y_0=0");
     add_proj4text (p, 1,
@@ -2573,21 +2957,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",16.5],");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",16.5],PARAM");
     add_srs_wkt (p, 9,
-        ",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",150");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"301");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 11,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 3011, "epsg", 3011,
-        "SWEREF99 18 00");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3010\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3011, "epsg", 3011,
+        "SWEREF99 18 00", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=150000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2603,21 +2992,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",18],PA");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",18],PARAMET");
     add_srs_wkt (p, 9,
-        "150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",15000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3011");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3012, "epsg", 3012,
-        "SWEREF99 14 15");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3011\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3012, "epsg", 3012,
+        "SWEREF99 14 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=14.25 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
@@ -2633,21 +3027,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",14.25]");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "f_origin\",0],PARAMETER[\"central_meridian\",14.25],PARA");
     add_srs_wkt (p, 9,
-        "\",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "12\"]]");
-    p = add_epsg_def (filter, first, last, 3013, "epsg", 3013,
-        "SWEREF99 15 45");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3012\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3013, "epsg", 3013,
+        "SWEREF99 15 45", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15.75 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
@@ -2663,21 +3062,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",15.75]");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "f_origin\",0],PARAMETER[\"central_meridian\",15.75],PARA");
     add_srs_wkt (p, 9,
-        "\",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "13\"]]");
-    p = add_epsg_def (filter, first, last, 3014, "epsg", 3014,
-        "SWEREF99 17 15");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3013\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3014, "epsg", 3014,
+        "SWEREF99 17 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=17.25 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
@@ -2693,21 +3097,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",17.25]");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "f_origin\",0],PARAMETER[\"central_meridian\",17.25],PARA");
     add_srs_wkt (p, 9,
-        "\",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "14\"]]");
-    p = add_epsg_def (filter, first, last, 3015, "epsg", 3015,
-        "SWEREF99 18 45");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3014\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3015, "epsg", 3015,
+        "SWEREF99 18 45", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18.75 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
@@ -2723,21 +3132,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",18.75]");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "f_origin\",0],PARAMETER[\"central_meridian\",18.75],PARA");
     add_srs_wkt (p, 9,
-        "\",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "15\"]]");
-    p = add_epsg_def (filter, first, last, 3016, "epsg", 3016,
-        "SWEREF99 20 15");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3015\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3016, "epsg", 3016,
+        "SWEREF99 20 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=20.25 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
@@ -2753,21 +3167,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",20.25]");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "f_origin\",0],PARAMETER[\"central_meridian\",20.25],PARA");
     add_srs_wkt (p, 9,
-        "\",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "16\"]]");
-    p = add_epsg_def (filter, first, last, 3017, "epsg", 3017,
-        "SWEREF99 21 45");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3016\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3017, "epsg", 3017,
+        "SWEREF99 21 45", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21.75 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
@@ -2783,21 +3202,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",21.75]");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "f_origin\",0],PARAMETER[\"central_meridian\",21.75],PARA");
     add_srs_wkt (p, 9,
-        "\",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "17\"]]");
-    p = add_epsg_def (filter, first, last, 3018, "epsg", 3018,
-        "SWEREF99 23 15");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3017\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3018, "epsg", 3018,
+        "SWEREF99 23 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=23.25 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
@@ -2813,21 +3237,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",23.25]");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "f_origin\",0],PARAMETER[\"central_meridian\",23.25],PARA");
     add_srs_wkt (p, 9,
-        "\",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 10,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "18\"]]");
-    p = add_epsg_def (filter, first, last, 3019, "epsg", 3019,
-        "RT90 7.5 gon V");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3018\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3019, "epsg", 3019,
+        "RT90 7.5 gon V", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Rikets_koordinatsystem_1990", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2847,21 +3276,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",11.30827777777778");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "],PARAMETER[\"central_meridian\",11.30827777777778],PARA");
     add_srs_wkt (p, 10,
-        "g\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "3019\"]]");
-    p = add_epsg_def (filter, first, last, 3020, "epsg", 3020,
-        "RT90 5 gon V");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"3019\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3020, "epsg", 3020,
+        "RT90 5 gon V", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Rikets_koordinatsystem_1990", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2881,21 +3315,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",13.55827777777778]");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        ",PARAMETER[\"central_meridian\",13.55827777777778],PARAM");
     add_srs_wkt (p, 10,
-        "\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",150");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "3020\"]]");
-    p = add_epsg_def (filter, first, last, 3021, "epsg", 3021,
-        "RT90 2.5 gon V");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"3020\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3021, "epsg", 3021,
+        "RT90 2.5 gon V", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Rikets_koordinatsystem_1990", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2915,21 +3354,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",15.80827777777778");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "],PARAMETER[\"central_meridian\",15.80827777777778],PARA");
     add_srs_wkt (p, 10,
-        "g\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "3021\"]]");
-    p = add_epsg_def (filter, first, last, 3022, "epsg", 3022,
-        "RT90 0 gon");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"3021\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3022, "epsg", 3022,
+        "RT90 0 gon", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Rikets_koordinatsystem_1990", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2949,21 +3393,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",18.05827777777778],PA");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "ARAMETER[\"central_meridian\",18.05827777777778],PARAMET");
     add_srs_wkt (p, 10,
-        "1500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",15000");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"302");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 3023, "epsg", 3023,
-        "RT90 2.5 gon O");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"3022\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3023, "epsg", 3023,
+        "RT90 2.5 gon O", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Rikets_koordinatsystem_1990", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2983,21 +3432,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",20.30827777777778");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "],PARAMETER[\"central_meridian\",20.30827777777778],PARA");
     add_srs_wkt (p, 10,
-        "g\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "3023\"]]");
-    p = add_epsg_def (filter, first, last, 3024, "epsg", 3024,
-        "RT90 5 gon O");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"3023\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3024, "epsg", 3024,
+        "RT90 5 gon O", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Rikets_koordinatsystem_1990", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -3017,21 +3471,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4124\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",22.55827777777778]");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        ",PARAMETER[\"central_meridian\",22.55827777777778],PARAM");
     add_srs_wkt (p, 10,
-        "\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",150");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "3024\"]]");
-    p = add_epsg_def (filter, first, last, 3025, "epsg", 3025,
-        "RT38 7.5 gon V");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"3024\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3025, "epsg", 3025,
+        "RT38 7.5 gon V", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Stockholm_1938", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -3047,21 +3506,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 7,
-        "0],PARAMETER[\"central_meridian\",11.30827777777778],PAR");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 8,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",1");
+        "AMETER[\"central_meridian\",11.30827777777778],PARAMETER");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",1500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3025");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3026, "epsg", 3026,
-        "RT38 5 gon V");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"3025\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3026, "epsg", 3026,
+        "RT38 5 gon V", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Stockholm_1938", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -3077,21 +3541,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"central_meridian\",13.55827777777778],PARA");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 8,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
+        "METER[\"central_meridian\",13.55827777777778],PARAMETER[");
     add_srs_wkt (p, 9,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",1500000]");
     add_srs_wkt (p, 10,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3026\"");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 11,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3027, "epsg", 3027,
-        "RT38 2.5 gon V");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 12,
+        "T],AUTHORITY[\"EPSG\",\"3026\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3027, "epsg", 3027,
+        "RT38 2.5 gon V", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Stockholm_1938", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -3107,21 +3576,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 7,
-        "0],PARAMETER[\"central_meridian\",15.80827777777778],PAR");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 8,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",1");
+        "AMETER[\"central_meridian\",15.80827777777778],PARAMETER");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",1500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3027");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3028, "epsg", 3028,
-        "RT38 0 gon");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"3027\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3028, "epsg", 3028,
+        "RT38 0 gon", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Stockholm_1938", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -3137,19 +3611,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",18.05827777777778],PARAMET");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",15000");
+        "ER[\"central_meridian\",18.05827777777778],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "cale_factor\",1],PARAMETER[\"false_easting\",1500000],PA");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3028\"]]");
-    p = add_epsg_def (filter, first, last, 3029, "epsg", 3029,
-        "RT38 2.5 gon O");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 11,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 12,
+        "AUTHORITY[\"EPSG\",\"3028\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3029, "epsg", 3029,
+        "RT38 2.5 gon O", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Stockholm_1938", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -3165,21 +3646,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 7,
-        "0],PARAMETER[\"central_meridian\",20.30827777777778],PAR");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 8,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",1");
+        "AMETER[\"central_meridian\",20.30827777777778],PARAMETER");
     add_srs_wkt (p, 9,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",1500000");
     add_srs_wkt (p, 10,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3029");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 11,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3030, "epsg", 3030,
-        "RT38 5 gon O");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 12,
+        "ST],AUTHORITY[\"EPSG\",\"3029\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3030, "epsg", 3030,
+        "RT38 5 gon O", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Stockholm_1938", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -3195,21 +3681,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4308\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"central_meridian\",22.55827777777778],PARA");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 8,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
+        "METER[\"central_meridian\",22.55827777777778],PARAMETER[");
     add_srs_wkt (p, 9,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",1500000]");
     add_srs_wkt (p, 10,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3030\"");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 11,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3031, "epsg", 3031,
-        "WGS 84 / Antarctic Polar Stereographic");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 12,
+        "T],AUTHORITY[\"EPSG\",\"3030\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3031, "epsg", 3031,
+        "WGS 84 / Antarctic Polar Stereographic", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=0 +k=1 +x_0=0 ");
     add_proj4text (p, 1,
@@ -3225,21 +3716,26 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 6,
-        ",PROJECTION[\"Polar_Stereographic\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJE");
     add_srs_wkt (p, 7,
-        "e_of_origin\",-71],PARAMETER[\"central_meridian\",0],PAR");
+        "CTION[\"Polar_Stereographic\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 8,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0");
+        "rigin\",-71],PARAMETER[\"central_meridian\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"3031\"]]");
-    p = add_epsg_def (filter, first, last, 3032, "epsg", 3032,
-        "WGS 84 / Australian Antarctic Polar Stereographic");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"3031\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3032, "epsg", 3032,
+        "WGS 84 / Australian Antarctic Polar Stereographic", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=70 +k=1 +x_0=6");
     add_proj4text (p, 1,
@@ -3255,23 +3751,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4326\"]],PROJECTION[\"Polar_Stereographic\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"432");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",-71],PARAMETER[\"central_meridi");
+        "6\"]],PROJECTION[\"Polar_Stereographic\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "an\",70],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
+        "titude_of_origin\",-71],PARAMETER[\"central_meridian\",7");
     add_srs_wkt (p, 9,
-        "_easting\",6000000],PARAMETER[\"false_northing\",6000000");
+        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ng\",6000000],PARAMETER[\"false_northing\",6000000],UNIT");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
     add_srs_wkt (p, 12,
-        "G\",\"3032\"]]");
-    p = add_epsg_def (filter, first, last, 3033, "epsg", 3033,
-        "WGS 84 / Australian Antarctic Lambert");
+        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "3032\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3033, "epsg", 3033,
+        "WGS 84 / Australian Antarctic Lambert", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.5 +lat_2=-74.5 +lat_0=-50 +lon_0=70");
     add_proj4text (p, 1,
@@ -3289,25 +3790,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",-68.5],PARAMETER[\"standard_parall");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "el_2\",-74.5],PARAMETER[\"latitude_of_origin\",-50],PARA");
+        "rd_parallel_1\",-68.5],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "METER[\"central_meridian\",70],PARAMETER[\"false_easting");
+        ",-74.5],PARAMETER[\"latitude_of_origin\",-50],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\",6000000],PARAMETER[\"false_northing\",6000000],UNIT[\"");
+        "\"central_meridian\",70],PARAMETER[\"false_easting\",600");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "0000],PARAMETER[\"false_northing\",6000000],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"303");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 3034, "epsg", 3034,
-        "ETRS89 / LCC Europe");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3033\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3034, "epsg", 3034,
+        "ETRS89 / LCC Europe", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4");
     add_proj4text (p, 1,
@@ -3327,21 +3831,28 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Lamb");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "T],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "_1\",35],PARAMETER[\"standard_parallel_2\",65],PARAMETER");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",52],PARAMETER[\"central_meridian");
+        "5],PARAMETER[\"standard_parallel_2\",65],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "\",10],PARAMETER[\"false_easting\",4000000],PARAMETER[\"");
+        "itude_of_origin\",52],PARAMETER[\"central_meridian\",10]");
     add_srs_wkt (p, 11,
-        "false_northing\",2800000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        ",PARAMETER[\"false_easting\",4000000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3034\"]]");
-    p = add_epsg_def (filter, first, last, 3035, "epsg", 3035,
-        "ETRS89 / LAEA Europe");
+        "northing\",2800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AUTHORITY[\"EPSG\",\"3034\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3035, "epsg", 3035,
+        "ETRS89 / LAEA Europe", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Azimuthal_Equal_Area", "metre",
+        "Y", "North", "X", "East");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000");
     add_proj4text (p, 1,
@@ -3359,17 +3870,21 @@ initialize_epsg_09 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"L");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitude_of_c");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "enter\",52],PARAMETER[\"longitude_of_center\",10],PARAME");
+        "_Azimuthal_Equal_Area\"],PARAMETER[\"latitude_of_center\"");
     add_srs_wkt (p, 9,
-        "TER[\"false_easting\",4321000],PARAMETER[\"false_northin");
+        ",52],PARAMETER[\"longitude_of_center\",10],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "g\",3210000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "alse_easting\",4321000],PARAMETER[\"false_northing\",321");
     add_srs_wkt (p, 11,
-        "]],AUTHORITY[\"EPSG\",\"3035\"]]");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",NORTH],AXIS[\"X\",EAST],AUTHORITY[\"EPSG\",\"303");
+    add_srs_wkt (p, 13,
+        "5\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_10.c b/src/srsinit/epsg_inlined_10.c
index 004d6cd..5ab538c 100644
--- a/src/srsinit/epsg_inlined_10.c
+++ b/src/srsinit/epsg_inlined_10.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,72 +54,85 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 3036, "epsg", 3036,
-        "Moznet / UTM zone 36S");
+    p = add_epsg_def_ex (filter, first, last, 3036, "epsg", 3036,
+        "Moznet / UTM zone 36S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Moznet_ITRF94", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,-0");
+        "+proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        ",-0,-0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Moznet / UTM zone 36S\",GEOGCS[\"Moznet\",DATUM");
     add_srs_wkt (p, 1,
         "[\"Moznet_ITRF94\",SPHEROID[\"WGS 84\",6378137,298.25722");
     add_srs_wkt (p, 2,
-        "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,-0,-0,-");
+        "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0");
     add_srs_wkt (p, 3,
-        "0,0],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\",");
+        "],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "G\",\"4130\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"413");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "0\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "ian\",33],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",33]");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"3036\"]]");
-    p = add_epsg_def (filter, first, last, 3037, "epsg", 3037,
-        "Moznet / UTM zone 37S");
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"3036\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3037, "epsg", 3037,
+        "Moznet / UTM zone 37S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Moznet_ITRF94", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,-0");
+        "+proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        ",-0,-0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Moznet / UTM zone 37S\",GEOGCS[\"Moznet\",DATUM");
     add_srs_wkt (p, 1,
         "[\"Moznet_ITRF94\",SPHEROID[\"WGS 84\",6378137,298.25722");
     add_srs_wkt (p, 2,
-        "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,-0,-0,-");
+        "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0");
     add_srs_wkt (p, 3,
-        "0,0],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\",");
+        "],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "G\",\"4130\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"413");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "0\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "ian\",39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",39]");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"3037\"]]");
-    p = add_epsg_def (filter, first, last, 3038, "epsg", 3038,
-        "ETRS89 / TM26 (deprecated)");
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"3037\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3038, "epsg", 3038,
+        "ETRS89 / TM26 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -135,19 +150,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-27],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-27],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3038\"]]");
-    p = add_epsg_def (filter, first, last, 3039, "epsg", 3039,
-        "ETRS89 / TM27 (deprecated)");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"East");
+    add_srs_wkt (p, 13,
+        "ing\",EAST],AUTHORITY[\"EPSG\",\"3038\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3039, "epsg", 3039,
+        "ETRS89 / TM27 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=27 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -165,19 +187,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-21],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-21],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3039\"]]");
-    p = add_epsg_def (filter, first, last, 3040, "epsg", 3040,
-        "ETRS89 / UTM zone 28N (N-E)");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"East");
+    add_srs_wkt (p, 13,
+        "ing\",EAST],AUTHORITY[\"EPSG\",\"3039\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3040, "epsg", 3040,
+        "ETRS89 / UTM zone 28N (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -195,19 +224,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-15],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-15],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3040\"]]");
-    p = add_epsg_def (filter, first, last, 3041, "epsg", 3041,
-        "ETRS89 / UTM zone 29N (N-E)");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"East");
+    add_srs_wkt (p, 13,
+        "ing\",EAST],AUTHORITY[\"EPSG\",\"3040\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3041, "epsg", 3041,
+        "ETRS89 / UTM zone 29N (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -225,19 +261,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-9],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",-9],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3041\"]]");
-    p = add_epsg_def (filter, first, last, 3042, "epsg", 3042,
-        "ETRS89 / UTM zone 30N (N-E)");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3041\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3042, "epsg", 3042,
+        "ETRS89 / UTM zone 30N (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -255,19 +298,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-3],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",-3],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3042\"]]");
-    p = add_epsg_def (filter, first, last, 3043, "epsg", 3043,
-        "ETRS89 / UTM zone 31N (N-E)");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3042\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3043, "epsg", 3043,
+        "ETRS89 / UTM zone 31N (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -285,19 +335,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",3],PARAMETER[\"sc");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",500000]");
+        "],PARAMETER[\"central_meridian\",3],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3043\"]]");
-    p = add_epsg_def (filter, first, last, 3044, "epsg", 3044,
-        "ETRS89 / UTM zone 32N (N-E)");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3043\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3044, "epsg", 3044,
+        "ETRS89 / UTM zone 32N (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -315,19 +372,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"sc");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",500000]");
+        "],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3044\"]]");
-    p = add_epsg_def (filter, first, last, 3045, "epsg", 3045,
-        "ETRS89 / UTM zone 33N (N-E)");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3044\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3045, "epsg", 3045,
+        "ETRS89 / UTM zone 33N (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -345,19 +409,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3045\"]]");
-    p = add_epsg_def (filter, first, last, 3046, "epsg", 3046,
-        "ETRS89 / UTM zone 34N (N-E)");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3045\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3046, "epsg", 3046,
+        "ETRS89 / UTM zone 34N (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -375,19 +446,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3046\"]]");
-    p = add_epsg_def (filter, first, last, 3047, "epsg", 3047,
-        "ETRS89 / UTM zone 35N (N-E)");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3046\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3047, "epsg", 3047,
+        "ETRS89 / UTM zone 35N (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -405,19 +483,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3047\"]]");
-    p = add_epsg_def (filter, first, last, 3048, "epsg", 3048,
-        "ETRS89 / UTM zone 36N (N-E)");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3047\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3048, "epsg", 3048,
+        "ETRS89 / UTM zone 36N (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -435,19 +520,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",33],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3048\"]]");
-    p = add_epsg_def (filter, first, last, 3049, "epsg", 3049,
-        "ETRS89 / UTM zone 37N (N-E)");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3048\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3049, "epsg", 3049,
+        "ETRS89 / UTM zone 37N (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=37 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -465,19 +557,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",39],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3049\"]]");
-    p = add_epsg_def (filter, first, last, 3050, "epsg", 3050,
-        "ETRS89 / TM38 (deprecated)");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3049\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3050, "epsg", 3050,
+        "ETRS89 / TM38 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -495,19 +594,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",45],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3050\"]]");
-    p = add_epsg_def (filter, first, last, 3051, "epsg", 3051,
-        "ETRS89 / TM39 (deprecated)");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3050\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3051, "epsg", 3051,
+        "ETRS89 / TM39 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=39 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -525,19 +631,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",51],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3051\"]]");
-    p = add_epsg_def (filter, first, last, 3054, "epsg", 3054,
-        "Hjorsey 1955 / UTM zone 26N");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3051\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3054, "epsg", 3054,
+        "Hjorsey 1955 / UTM zone 26N", 0, 0,
+        "International 1924", "Greenwich",
+        "Hjorsey_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +ellps=intl +towgs84=-73,46,-86,0,0,0");
     add_proj4text (p, 1,
@@ -555,21 +668,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4658\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4658\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-27],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",-27],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3054\"]]");
-    p = add_epsg_def (filter, first, last, 3055, "epsg", 3055,
-        "Hjorsey 1955 / UTM zone 27N");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3054\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3055, "epsg", 3055,
+        "Hjorsey 1955 / UTM zone 27N", 0, 0,
+        "International 1924", "Greenwich",
+        "Hjorsey_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=27 +ellps=intl +towgs84=-73,46,-86,0,0,0");
     add_proj4text (p, 1,
@@ -587,21 +705,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4658\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4658\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-21],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",-21],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3055\"]]");
-    p = add_epsg_def (filter, first, last, 3056, "epsg", 3056,
-        "Hjorsey 1955 / UTM zone 28N");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3055\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3056, "epsg", 3056,
+        "Hjorsey 1955 / UTM zone 28N", 0, 0,
+        "International 1924", "Greenwich",
+        "Hjorsey_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=intl +towgs84=-73,46,-86,0,0,0");
     add_proj4text (p, 1,
@@ -619,21 +742,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4658\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4658\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-15],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",-15],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3056\"]]");
-    p = add_epsg_def (filter, first, last, 3057, "epsg", 3057,
-        "ISN93 / Lambert 1993");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3056\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3057, "epsg", 3057,
+        "ISN93 / Lambert 1993", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Islands_Net_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=64.25 +lat_2=65.75 +lat_0=65 +lon_0=-19");
     add_proj4text (p, 1,
@@ -651,31 +779,36 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4659\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"46");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"standard_parallel_1\",64.25],PARAMETER[\"s");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        "tandard_parallel_2\",65.75],PARAMETER[\"latitude_of_orig");
+        "ETER[\"standard_parallel_1\",64.25],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "in\",65],PARAMETER[\"central_meridian\",-19],PARAMETER[\"");
+        "_parallel_2\",65.75],PARAMETER[\"latitude_of_origin\",65");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",500");
+        "],PARAMETER[\"central_meridian\",-19],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "easting\",500000],PARAMETER[\"false_northing\",500000],U");
     add_srs_wkt (p, 12,
-        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3057");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3058, "epsg", 3058,
-        "Helle 1954 / Jan Mayen Grid");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3057\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3058, "epsg", 3058,
+        "Helle 1954 / Jan Mayen Grid", 0, 1,
+        "International 1924", "Greenwich",
+        "Helle_1954", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-8.5 +k=1 +x_0=50000 +y_0=-7");
     add_proj4text (p, 1,
-        "800000 +ellps=intl +towgs84=982.609,552.753,-540.873,6.6");
+        "800000 +ellps=intl +towgs84=982.6087,552.753,-540.873,6.");
     add_proj4text (p, 2,
-        "8163,-31.6115,-19.8482,16.805 +units=m +no_defs");
+        "68162662527694,-31.6114924086422,-19.8481610048168,16.80");
+    add_proj4text (p, 3,
+        "5 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Helle 1954 / Jan Mayen Grid\",GEOGCS[\"Helle 19");
     add_srs_wkt (p, 1,
@@ -683,27 +816,34 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         ",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[982.6");
     add_srs_wkt (p, 3,
-        "09,552.753,-540.873,6.68163,-31.6115,-19.8482,16.805],AU");
+        "087,552.753,-540.873,6.68162662527694,-31.6114924086422,");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6660\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "-19.8481610048168,16.805],AUTHORITY[\"EPSG\",\"6660\"]],");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "660\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "AUTHORITY[\"EPSG\",\"4660\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "8.5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ting\",50000],PARAMETER[\"false_northing\",-7800000],UNI");
+        "\"central_meridian\",-8.5],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        ",PARAMETER[\"false_easting\",50000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
+        "rthing\",-7800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"x\",NORTH],AXIS[\"y\",EAST],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
         "EPSG\",\"3058\"]]");
-    p = add_epsg_def (filter, first, last, 3059, "epsg", 3059,
-        "LKS92 / Latvia TM");
+    p = add_epsg_def_ex (filter, first, last, 3059, "epsg", 3059,
+        "LKS92 / Latvia TM", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Latvia_1992", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -721,21 +861,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"46");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "61\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4661\"]]");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",24");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",24],PARA");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",-6000000],");
+        "METER[\"scale_factor\",0.9996],PARAMETER[\"false_easting");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY");
+        "\",500000],PARAMETER[\"false_northing\",-6000000],UNIT[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"3059\"]]");
-    p = add_epsg_def (filter, first, last, 3060, "epsg", 3060,
-        "IGN72 Grande Terre / UTM zone 58S");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH");
+    add_srs_wkt (p, 12,
+        "],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3059\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3060, "epsg", 3060,
+        "IGN72 Grande Terre / UTM zone 58S", 0, 0,
+        "International 1924", "Greenwich",
+        "IGN72_Grande_Terre", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=intl +towgs84=-11.64,-3");
     add_proj4text (p, 1,
@@ -753,23 +898,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4662\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4662\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",165],PAR");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
+        "rigin\",0],PARAMETER[\"central_meridian\",165],PARAMETER");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",10000000],UNIT[");
+        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "0000],PARAMETER[\"false_northing\",10000000],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "060\"]]");
-    p = add_epsg_def (filter, first, last, 3061, "epsg", 3061,
-        "Porto Santo 1995 / UTM zone 28N");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3060\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3061, "epsg", 3061,
+        "Porto Santo 1995 / UTM zone 28N", 0, 0,
+        "International 1924", "Greenwich",
+        "Porto_Santo_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=intl +towgs84=-502.862,-247.43");
     add_proj4text (p, 1,
@@ -787,21 +937,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4663\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4663\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",-15],PARA");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.9996],PARAMETER[\"false_easting");
+        "igin\",0],PARAMETER[\"central_meridian\",-15],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3061\"]]");
-    p = add_epsg_def (filter, first, last, 3062, "epsg", 3062,
-        "Azores Oriental 1995 / UTM zone 26N");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3061\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3062, "epsg", 3062,
+        "Azores Oriental 1995 / UTM zone 26N", 0, 0,
+        "International 1924", "Greenwich",
+        "Azores_Oriental_Islands_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +ellps=intl +towgs84=-204.619,140.176");
     add_proj4text (p, 1,
@@ -819,23 +974,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4664\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        ",\"4664\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "ridian\",-27],PARAMETER[\"scale_factor\",0.9996],PARAMET");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
+        "\",-27],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "alse_easting\",500000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
     add_srs_wkt (p, 13,
-        "PSG\",\"3062\"]]");
-    p = add_epsg_def (filter, first, last, 3063, "epsg", 3063,
-        "Azores Central 1995 / UTM zone 26N");
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"3062\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3063, "epsg", 3063,
+        "Azores Central 1995 / UTM zone 26N", 0, 0,
+        "International 1924", "Greenwich",
+        "Azores_Central_Islands_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +ellps=intl +towgs84=-106.226,166.366");
     add_proj4text (p, 1,
@@ -853,23 +1013,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4665\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        "4665\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "dian\",-27],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "27],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
     add_srs_wkt (p, 13,
-        "G\",\"3063\"]]");
-    p = add_epsg_def (filter, first, last, 3064, "epsg", 3064,
-        "IGM95 / UTM zone 32N");
+        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 14,
+        "063\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3064, "epsg", 3064,
+        "IGM95 / UTM zone 32N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Istituto_Geografico_Militaire_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=32 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -887,21 +1052,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4670\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4670\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",9],PARAMETER[\"scale_factor\",0.999");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "ral_meridian\",9],PARAMETER[\"scale_factor\",0.9996],PAR");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"3064\"]]");
-    p = add_epsg_def (filter, first, last, 3065, "epsg", 3065,
-        "IGM95 / UTM zone 33N");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"3064\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3065, "epsg", 3065,
+        "IGM95 / UTM zone 33N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Istituto_Geografico_Militaire_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=33 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -919,21 +1089,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4670\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4670\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",15],PARAMETER[\"scale_factor\",0.99");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "ral_meridian\",15],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"3065\"]]");
-    p = add_epsg_def (filter, first, last, 3066, "epsg", 3066,
-        "ED50 / Jordan TM");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"3065\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3066, "epsg", 3066,
+        "ED50 / Jordan TM", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=37 +k=0.9998 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -951,23 +1126,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 8,
-        "meridian\",37],PARAMETER[\"scale_factor\",0.9998],PARAME");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 9,
-        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
+        "an\",37],PARAMETER[\"scale_factor\",0.9998],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "\",-3000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "false_easting\",500000],PARAMETER[\"false_northing\",-30");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"3066\"]]");
-    p = add_epsg_def (filter, first, last, 3067, "epsg", 3067,
-        "ETRS89 / TM35FIN(E,N)");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"3066\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3067, "epsg", 3067,
+        "ETRS89 / TM35FIN(E,N)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -985,27 +1165,32 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "METER[\"central_meridian\",27],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3067\"]]");
-    p = add_epsg_def (filter, first, last, 3068, "epsg", 3068,
-        "DHDN / Soldner Berlin");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"3067\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3068, "epsg", 3068,
+        "DHDN / Soldner Berlin", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Cassini_Soldner", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=52.41864827777778 +lon_0=13.6272036666");
     add_proj4text (p, 1,
-        "6667 +x_0=40000 +y_0=10000 +datum=potsdam +units=m +no_d");
+        "6667 +x_0=40000 +y_0=10000 +ellps=bessel +towgs84=598.1,");
     add_proj4text (p, 2,
-        "efs");
+        "73.7,418.2,0.202,0.045,-2.455,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"DHDN / Soldner Berlin\",GEOGCS[\"DHDN\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -1019,21 +1204,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4314\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"latitude_of_");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4314\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "origin\",52.41864827777778],PARAMETER[\"central_meridian");
+        "TION[\"Cassini_Soldner\"],PARAMETER[\"latitude_of_origin");
     add_srs_wkt (p, 9,
-        "\",13.62720366666667],PARAMETER[\"false_easting\",40000]");
+        "\",52.41864827777778],PARAMETER[\"central_meridian\",13.");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",10000],UNIT[\"metre\",1,AU");
+        "62720366666667],PARAMETER[\"false_easting\",40000],PARAM");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3068\"]");
+        "ETER[\"false_northing\",10000],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 3069, "epsg", 3069,
-        "NAD27 / Wisconsin Transverse Mercator");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"x\",NORTH],AXIS[\"y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"3068\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3069, "epsg", 3069,
+        "NAD27 / Wisconsin Transverse Mercator", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=500000 +y");
     add_proj4text (p, 1,
@@ -1043,33 +1233,40 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EP");
+        "Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
         "SG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-90],PARAMETER[\"scale_factor\",0.9996]");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "meridian\",-90],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "orthing\",-4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "g\",-4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"3069\"]]");
-    p = add_epsg_def (filter, first, last, 3070, "epsg", 3070,
-        "NAD83 / Wisconsin Transverse Mercator");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"3069\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3070, "epsg", 3070,
+        "NAD83 / Wisconsin Transverse Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y");
     add_proj4text (p, 1,
-        "_0=-4480000 +datum=NAD83 +units=m +no_defs");
+        "_0=-4480000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Wisconsin Transverse Mercator\",GEOGCS[");
     add_srs_wkt (p, 1,
@@ -1083,21 +1280,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-90],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",520000],PARAME");
+        "ER[\"central_meridian\",-90],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",-4480000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",520000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "false_northing\",-4480000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"3070\"]]");
-    p = add_epsg_def (filter, first, last, 3071, "epsg", 3071,
-        "NAD83(HARN) / Wisconsin Transverse Mercator");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"3070\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3071, "epsg", 3071,
+        "NAD83(HARN) / Wisconsin Transverse Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y");
     add_proj4text (p, 1,
@@ -1117,27 +1319,32 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4152\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "90],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-90],P");
     add_srs_wkt (p, 10,
-        "_easting\",520000],PARAMETER[\"false_northing\",-4480000");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ing\",520000],PARAMETER[\"false_northing\",-4480000],UNI");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3071\"]");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 3072, "epsg", 3072,
-        "NAD83 / Maine CS2000 East");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3071\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3072, "epsg", 3072,
+        "NAD83 / Maine CS2000 East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0");
     add_proj4text (p, 1,
-        ".99998 +x_0=700000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        ".99998 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Maine CS2000 East\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -1151,25 +1358,32 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",43.83333333333");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "334],PARAMETER[\"central_meridian\",-67.875],PARAMETER[\"");
+        "],PARAMETER[\"latitude_of_origin\",43.83333333333334],PA");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.99998],PARAMETER[\"false_easting\",7000");
+        "RAMETER[\"central_meridian\",-67.875],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "factor\",0.99998],PARAMETER[\"false_easting\",700000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"3072\"]]");
-    p = add_epsg_def (filter, first, last, 3073, "epsg", 3073,
-        "NAD83 / Maine CS2000 Central (deprecated)");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"3072\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3073, "epsg", 3073,
+        "NAD83 / Maine CS2000 Central (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=43 +lon_0=-69.125 +k=0.99998 +x_0=500");
     add_proj4text (p, 1,
-        "000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Maine CS2000 Central (deprecated)\",GEO");
     add_srs_wkt (p, 1,
@@ -1183,25 +1397,32 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",43],PARAMETER[\"central_meridian\",-69.125],PARAMETER[\"");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",43],");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.99998],PARAMETER[\"false_easting\",5000");
+        "PARAMETER[\"central_meridian\",-69.125],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "e_factor\",0.99998],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"3073\"]]");
-    p = add_epsg_def (filter, first, last, 3074, "epsg", 3074,
-        "NAD83 / Maine CS2000 West");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"3073\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3074, "epsg", 3074,
+        "NAD83 / Maine CS2000 West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0");
     add_proj4text (p, 1,
-        ".99998 +x_0=300000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        ".99998 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Maine CS2000 West\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -1215,21 +1436,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",42.83333333333");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "334],PARAMETER[\"central_meridian\",-70.375],PARAMETER[\"");
+        "],PARAMETER[\"latitude_of_origin\",42.83333333333334],PA");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.99998],PARAMETER[\"false_easting\",3000");
+        "RAMETER[\"central_meridian\",-70.375],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "factor\",0.99998],PARAMETER[\"false_easting\",300000],PA");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"3074\"]]");
-    p = add_epsg_def (filter, first, last, 3075, "epsg", 3075,
-        "NAD83(HARN) / Maine CS2000 East");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"3074\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3075, "epsg", 3075,
+        "NAD83(HARN) / Maine CS2000 East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0");
     add_proj4text (p, 1,
@@ -1249,23 +1475,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",43.83333333333334],PARAMETER[\"central_meridian\"");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        ",-67.875],PARAMETER[\"scale_factor\",0.99998],PARAMETER[");
+        ",43.83333333333334],PARAMETER[\"central_meridian\",-67.8");
     add_srs_wkt (p, 10,
-        "\"false_easting\",700000],PARAMETER[\"false_northing\",0");
+        "75],PARAMETER[\"scale_factor\",0.99998],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "e_easting\",700000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3075\"]");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 3076, "epsg", 3076,
-        "NAD83(HARN) / Maine CS2000 Central (deprecated)");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3075\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3076, "epsg", 3076,
+        "NAD83(HARN) / Maine CS2000 Central (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=43 +lon_0=-69.125 +k=0.99998 +x_0=500");
     add_proj4text (p, 1,
@@ -1285,23 +1514,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        ",\"4152\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",43],PARAMETER[\"central_meridia");
+        "52\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "n\",-69.125],PARAMETER[\"scale_factor\",0.99998],PARAMET");
+        "atitude_of_origin\",43],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
+        "69.125],PARAMETER[\"scale_factor\",0.99998],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3076\"");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3077, "epsg", 3077,
-        "NAD83(HARN) / Maine CS2000 West");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3076\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3077, "epsg", 3077,
+        "NAD83(HARN) / Maine CS2000 West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0");
     add_proj4text (p, 1,
@@ -1321,29 +1553,34 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",42.83333333333334],PARAMETER[\"central_meridian\"");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        ",-70.375],PARAMETER[\"scale_factor\",0.99998],PARAMETER[");
+        ",42.83333333333334],PARAMETER[\"central_meridian\",-70.3");
     add_srs_wkt (p, 10,
-        "\"false_easting\",300000],PARAMETER[\"false_northing\",0");
+        "75],PARAMETER[\"scale_factor\",0.99998],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "e_easting\",300000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3077\"]");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 3078, "epsg", 3078,
-        "NAD83 / Michigan Oblique Mercator");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3077\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3078, "epsg", 3078,
+        "NAD83 / Michigan Oblique Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Hotine_Oblique_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=33");
     add_proj4text (p, 1,
         "7.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +no");
     add_proj4text (p, 2,
-        "_uoff +gamma=337.25556 +datum=NAD83 +units=m +no_defs");
+        "_uoff +gamma=337.25556 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
+    add_proj4text (p, 3,
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Michigan Oblique Mercator\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
@@ -1357,25 +1594,30 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Hotine_");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "Oblique_Mercator\"],PARAMETER[\"latitude_of_center\",45.");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Hotine_Obliqu");
     add_srs_wkt (p, 8,
-        "30916666666666],PARAMETER[\"longitude_of_center\",-86],P");
+        "e_Mercator\"],PARAMETER[\"latitude_of_center\",45.309166");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"azimuth\",337.25556],PARAMETER[\"rectified_gr");
+        "66666666],PARAMETER[\"longitude_of_center\",-86],PARAMET");
     add_srs_wkt (p, 10,
-        "id_angle\",337.25556],PARAMETER[\"scale_factor\",0.9996]");
+        "ER[\"azimuth\",337.25556],PARAMETER[\"rectified_grid_ang");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_easting\",2546731.496],PARAMETER[\"fa");
+        "le\",337.25556],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 12,
-        "lse_northing\",-4354009.816],UNIT[\"metre\",1,AUTHORITY[");
+        "ETER[\"false_easting\",2546731.496],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "rthing\",-4354009.816],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 14,
-        "UTHORITY[\"EPSG\",\"3078\"]]");
-    p = add_epsg_def (filter, first, last, 3079, "epsg", 3079,
-        "NAD83(HARN) / Michigan Oblique Mercator");
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"3078\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3079, "epsg", 3079,
+        "NAD83(HARN) / Michigan Oblique Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Hotine_Oblique_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=33");
     add_proj4text (p, 1,
@@ -1397,25 +1639,30 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],PARAMETER[\"");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],P");
     add_srs_wkt (p, 8,
-        "latitude_of_center\",45.30916666666666],PARAMETER[\"long");
+        "ROJECTION[\"Hotine_Oblique_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "itude_of_center\",-86],PARAMETER[\"azimuth\",337.25556],");
+        "ude_of_center\",45.30916666666666],PARAMETER[\"longitude");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"rectified_grid_angle\",337.25556],PARAMETER[");
+        "_of_center\",-86],PARAMETER[\"azimuth\",337.25556],PARAM");
     add_srs_wkt (p, 11,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",254");
+        "ETER[\"rectified_grid_angle\",337.25556],PARAMETER[\"sca");
     add_srs_wkt (p, 12,
-        "6731.496],PARAMETER[\"false_northing\",-4354009.816],UNI");
+        "le_factor\",0.9996],PARAMETER[\"false_easting\",2546731.");
     add_srs_wkt (p, 13,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "496],PARAMETER[\"false_northing\",-4354009.816],UNIT[\"m");
     add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3079\"]]");
-    p = add_epsg_def (filter, first, last, 3080, "epsg", 3080,
-        "NAD27 / Shackleford");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3079\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3080, "epsg", 3080,
+        "NAD27 / Shackleford", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666");
     add_proj4text (p, 1,
@@ -1427,37 +1674,44 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
         "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "AMETER[\"standard_parallel_1\",27.41666666666667],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_2\",34.91666666666666],PARAMETER");
+        "[\"standard_parallel_1\",27.41666666666667],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",31.16666666666667],PARAMETER[\"c");
+        "standard_parallel_2\",34.91666666666666],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "entral_meridian\",-100],PARAMETER[\"false_easting\",3000");
+        "itude_of_origin\",31.16666666666667],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "000],PARAMETER[\"false_northing\",3000000],UNIT[\"foot\"");
+        "_meridian\",-100],PARAMETER[\"false_easting\",3000000],P");
     add_srs_wkt (p, 12,
-        ",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],A");
+        "ARAMETER[\"false_northing\",3000000],UNIT[\"foot\",0.304");
     add_srs_wkt (p, 13,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3080\"]]");
-    p = add_epsg_def (filter, first, last, 3081, "epsg", 3081,
-        "NAD83 / Texas State Mapping System");
+        "8,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3080\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3081, "epsg", 3081,
+        "NAD83 / Texas State Mapping System", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666");
     add_proj4text (p, 1,
         "666 +lat_0=31.16666666666667 +lon_0=-100 +x_0=1000000 +y");
     add_proj4text (p, 2,
-        "_0=1000000 +datum=NAD83 +units=m +no_defs");
+        "_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Texas State Mapping System\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
@@ -1471,29 +1725,36 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambe");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "1\",27.41666666666667],PARAMETER[\"standard_parallel_2\"");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",27");
     add_srs_wkt (p, 9,
-        ",34.91666666666666],PARAMETER[\"latitude_of_origin\",31.");
+        ".41666666666667],PARAMETER[\"standard_parallel_2\",34.91");
     add_srs_wkt (p, 10,
-        "16666666666667],PARAMETER[\"central_meridian\",-100],PAR");
+        "666666666666],PARAMETER[\"latitude_of_origin\",31.166666");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",1000000],PARAMETER[\"false_nort");
+        "66666667],PARAMETER[\"central_meridian\",-100],PARAMETER");
     add_srs_wkt (p, 12,
-        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",1000000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        ",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 14,
-        "SG\",\"3081\"]]");
-    p = add_epsg_def (filter, first, last, 3082, "epsg", 3082,
-        "NAD83 / Texas Centric Lambert Conformal");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "3081\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3082, "epsg", 3082,
+        "NAD83 / Texas Centric Lambert Conformal", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x");
     add_proj4text (p, 1,
-        "_0=1500000 +y_0=5000000 +datum=NAD83 +units=m +no_defs");
+        "_0=1500000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Texas Centric Lambert Conformal\",GEOGC");
     add_srs_wkt (p, 1,
@@ -1507,27 +1768,34 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"L");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
+        "EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "lel_1\",27.5],PARAMETER[\"standard_parallel_2\",35],PARA");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "METER[\"latitude_of_origin\",18],PARAMETER[\"central_mer");
+        ",27.5],PARAMETER[\"standard_parallel_2\",35],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "idian\",-100],PARAMETER[\"false_easting\",1500000],PARAM");
+        "latitude_of_origin\",18],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",5000000],UNIT[\"metre\",1,AUTHOR");
+        "-100],PARAMETER[\"false_easting\",1500000],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "alse_northing\",5000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "H],AUTHORITY[\"EPSG\",\"3082\"]]");
-    p = add_epsg_def (filter, first, last, 3083, "epsg", 3083,
-        "NAD83 / Texas Centric Albers Equal Area");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"3082\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3083, "epsg", 3083,
+        "NAD83 / Texas Centric Albers Equal Area", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x");
     add_proj4text (p, 1,
-        "_0=1500000 +y_0=6000000 +datum=NAD83 +units=m +no_defs");
+        "_0=1500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Texas Centric Albers Equal Area\",GEOGC");
     add_srs_wkt (p, 1,
@@ -1541,23 +1809,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"A");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "lbers_Conic_Equal_Area\"],PARAMETER[\"standard_parallel_");
+        "EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_");
     add_srs_wkt (p, 8,
-        "1\",27.5],PARAMETER[\"standard_parallel_2\",35],PARAMETE");
+        "Conic_Equal_Area\"],PARAMETER[\"standard_parallel_1\",27");
     add_srs_wkt (p, 9,
-        "R[\"latitude_of_center\",18],PARAMETER[\"longitude_of_ce");
+        ".5],PARAMETER[\"standard_parallel_2\",35],PARAMETER[\"la");
     add_srs_wkt (p, 10,
-        "nter\",-100],PARAMETER[\"false_easting\",1500000],PARAME");
+        "titude_of_center\",18],PARAMETER[\"longitude_of_center\"");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",6000000],UNIT[\"metre\",1,AUTHORI");
+        ",-100],PARAMETER[\"false_easting\",1500000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "false_northing\",6000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "],AUTHORITY[\"EPSG\",\"3083\"]]");
-    p = add_epsg_def (filter, first, last, 3084, "epsg", 3084,
-        "NAD83(HARN) / Texas Centric Lambert Conformal");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 14,
+        "ORITY[\"EPSG\",\"3083\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3084, "epsg", 3084,
+        "NAD83(HARN) / Texas Centric Lambert Conformal", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x");
     add_proj4text (p, 1,
@@ -1577,25 +1850,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_1\",27.5],PARAMETER[\"stand");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",35],PARAMETER[\"latitude_of_origin\",18");
+        "ER[\"standard_parallel_1\",27.5],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"central_meridian\",-100],PARAMETER[\"false");
+        "rallel_2\",35],PARAMETER[\"latitude_of_origin\",18],PARA");
     add_srs_wkt (p, 11,
-        "_easting\",1500000],PARAMETER[\"false_northing\",5000000");
+        "METER[\"central_meridian\",-100],PARAMETER[\"false_easti");
     add_srs_wkt (p, 12,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ng\",1500000],PARAMETER[\"false_northing\",5000000],UNIT");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3084\"]");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 3085, "epsg", 3085,
-        "NAD83(HARN) / Texas Centric Albers Equal Area");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3084\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3085, "epsg", 3085,
+        "NAD83(HARN) / Texas Centric Albers Equal Area", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x");
     add_proj4text (p, 1,
@@ -1615,27 +1891,34 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4152\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAM");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",27.5],PARAMETER[\"standard_");
+        "\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "parallel_2\",35],PARAMETER[\"latitude_of_center\",18],PA");
+        "standard_parallel_1\",27.5],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "RAMETER[\"longitude_of_center\",-100],PARAMETER[\"false_");
+        "l_2\",35],PARAMETER[\"latitude_of_center\",18],PARAMETER");
     add_srs_wkt (p, 11,
-        "easting\",1500000],PARAMETER[\"false_northing\",6000000]");
+        "[\"longitude_of_center\",-100],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+        "\",1500000],PARAMETER[\"false_northing\",6000000],UNIT[\"");
     add_srs_wkt (p, 13,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3085\"]]");
-    p = add_epsg_def (filter, first, last, 3086, "epsg", 3086,
-        "NAD83 / Florida GDL Albers");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3085\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3086, "epsg", 3086,
+        "NAD83 / Florida GDL Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_");
     add_proj4text (p, 1,
-        "0=400000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Florida GDL Albers\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
@@ -1649,23 +1932,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "Equal_Area\"],PARAMETER[\"standard_parallel_1\",24],PARA");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_2\",31.5],PARAMETER[\"latitude");
+        "Area\"],PARAMETER[\"standard_parallel_1\",24],PARAMETER[");
     add_srs_wkt (p, 9,
-        "_of_center\",24],PARAMETER[\"longitude_of_center\",-84],");
+        "\"standard_parallel_2\",31.5],PARAMETER[\"latitude_of_ce");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",400000],PARAMETER[\"false_no");
+        "nter\",24],PARAMETER[\"longitude_of_center\",-84],PARAME");
     add_srs_wkt (p, 11,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "TER[\"false_easting\",400000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 13,
-        ",\"3086\"]]");
-    p = add_epsg_def (filter, first, last, 3087, "epsg", 3087,
-        "NAD83(HARN) / Florida GDL Albers");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"308");
+    add_srs_wkt (p, 14,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3087, "epsg", 3087,
+        "NAD83(HARN) / Florida GDL Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_");
     add_proj4text (p, 1,
@@ -1685,29 +1973,36 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Albers_Conic_Equal_Area\"],PARAMETER[\"standa");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",24],PARAMETER[\"standard_parallel_2\",31");
+        "ON[\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_par");
     add_srs_wkt (p, 9,
-        ".5],PARAMETER[\"latitude_of_center\",24],PARAMETER[\"lon");
+        "allel_1\",24],PARAMETER[\"standard_parallel_2\",31.5],PA");
     add_srs_wkt (p, 10,
-        "gitude_of_center\",-84],PARAMETER[\"false_easting\",4000");
+        "RAMETER[\"latitude_of_center\",24],PARAMETER[\"longitude");
     add_srs_wkt (p, 11,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "_of_center\",-84],PARAMETER[\"false_easting\",400000],PA");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"3087\"]]");
-    p = add_epsg_def (filter, first, last, 3088, "epsg", 3088,
-        "NAD83 / Kentucky Single Zone");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"3087\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3088, "epsg", 3088,
+        "NAD83 / Kentucky Single Zone", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666");
     add_proj4text (p, 1,
         "666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 ");
     add_proj4text (p, 2,
-        "+y_0=1000000 +datum=NAD83 +units=m +no_defs");
+        "+y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 3,
+        "m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Kentucky Single Zone\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -1721,33 +2016,38 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".08333333333334],PARAMETER[\"standard_parallel_2\",38.66");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.08333");
     add_srs_wkt (p, 9,
-        "666666666666],PARAMETER[\"latitude_of_origin\",36.333333");
+        "333333334],PARAMETER[\"standard_parallel_2\",38.66666666");
     add_srs_wkt (p, 10,
-        "33333334],PARAMETER[\"central_meridian\",-85.75],PARAMET");
+        "666666],PARAMETER[\"latitude_of_origin\",36.333333333333");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",1500000],PARAMETER[\"false_northing");
+        "34],PARAMETER[\"central_meridian\",-85.75],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "alse_easting\",1500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 14,
-        ",\"3088\"]]");
-    p = add_epsg_def (filter, first, last, 3089, "epsg", 3089,
-        "NAD83 / Kentucky Single Zone (ftUS)");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"308");
+    add_srs_wkt (p, 15,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3089, "epsg", 3089,
+        "NAD83 / Kentucky Single Zone (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666");
     add_proj4text (p, 1,
         "666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 ");
     add_proj4text (p, 2,
-        "+y_0=999999.9998983998 +datum=NAD83 +units=us-ft +no_def");
+        "+y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
     add_proj4text (p, 3,
-        "s");
+        ",0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Kentucky Single Zone (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1761,25 +2061,30 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lamb");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "_1\",37.08333333333334],PARAMETER[\"standard_parallel_2\"");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        ",38.66666666666666],PARAMETER[\"latitude_of_origin\",36.");
+        "7.08333333333334],PARAMETER[\"standard_parallel_2\",38.6");
     add_srs_wkt (p, 10,
-        "33333333333334],PARAMETER[\"central_meridian\",-85.75],P");
+        "6666666666666],PARAMETER[\"latitude_of_origin\",36.33333");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",4921250],PARAMETER[\"false_no");
+        "333333334],PARAMETER[\"central_meridian\",-85.75],PARAME");
     add_srs_wkt (p, 12,
-        "rthing\",3280833.333],UNIT[\"US survey foot\",0.30480060");
+        "TER[\"false_easting\",4921250],PARAMETER[\"false_northin");
     add_srs_wkt (p, 13,
-        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+        "g\",3280833.333],UNIT[\"US survey foot\",0.3048006096012");
     add_srs_wkt (p, 14,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3089\"]]");
-    p = add_epsg_def (filter, first, last, 3090, "epsg", 3090,
-        "NAD83(HARN) / Kentucky Single Zone");
+        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+    add_srs_wkt (p, 15,
+        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3089\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3090, "epsg", 3090,
+        "NAD83(HARN) / Kentucky Single Zone", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666");
     add_proj4text (p, 1,
@@ -1801,25 +2106,30 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",37.08333333333334],PARAMETER[\"sta");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",38.66666666666666],PARAMETER[\"latitu");
+        "rd_parallel_1\",37.08333333333334],PARAMETER[\"standard_");
     add_srs_wkt (p, 10,
-        "de_of_origin\",36.33333333333334],PARAMETER[\"central_me");
+        "parallel_2\",38.66666666666666],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        "ridian\",-85.75],PARAMETER[\"false_easting\",1500000],PA");
+        "origin\",36.33333333333334],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
+        "\",-85.75],PARAMETER[\"false_easting\",1500000],PARAMETE");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "R[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"3090\"]]");
-    p = add_epsg_def (filter, first, last, 3091, "epsg", 3091,
-        "NAD83(HARN) / Kentucky Single Zone (ftUS)");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"3090\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3091, "epsg", 3091,
+        "NAD83(HARN) / Kentucky Single Zone (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666");
     add_proj4text (p, 1,
@@ -1841,27 +2151,32 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "52\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",37.08333333333334],PARAMETE");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "R[\"standard_parallel_2\",38.66666666666666],PARAMETER[\"");
+        "standard_parallel_1\",37.08333333333334],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",36.33333333333334],PARAMETER[\"cent");
+        "ndard_parallel_2\",38.66666666666666],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "ral_meridian\",-85.75],PARAMETER[\"false_easting\",49212");
+        "de_of_origin\",36.33333333333334],PARAMETER[\"central_me");
     add_srs_wkt (p, 12,
-        "50],PARAMETER[\"false_northing\",3280833.333],UNIT[\"US ");
+        "ridian\",-85.75],PARAMETER[\"false_easting\",4921250],PA");
     add_srs_wkt (p, 13,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "RAMETER[\"false_northing\",3280833.333],UNIT[\"US survey");
     add_srs_wkt (p, 14,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 15,
-        "SG\",\"3091\"]]");
-    p = add_epsg_def (filter, first, last, 3092, "epsg", 3092,
-        "Tokyo / UTM zone 51N");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "3091\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3092, "epsg", 3092,
+        "Tokyo / UTM zone 51N", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=51 +ellps=bessel +towgs84=-146.414,507.3");
     add_proj4text (p, 1,
@@ -1877,23 +2192,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4301\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",123],PARAMETER[\"scale_factor\",0.9996");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "_meridian\",123],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3092\"]]");
-    p = add_epsg_def (filter, first, last, 3093, "epsg", 3093,
-        "Tokyo / UTM zone 52N");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"3092\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3093, "epsg", 3093,
+        "Tokyo / UTM zone 52N", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=52 +ellps=bessel +towgs84=-146.414,507.3");
     add_proj4text (p, 1,
@@ -1909,23 +2229,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4301\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",129],PARAMETER[\"scale_factor\",0.9996");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "_meridian\",129],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3093\"]]");
-    p = add_epsg_def (filter, first, last, 3094, "epsg", 3094,
-        "Tokyo / UTM zone 53N");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"3093\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3094, "epsg", 3094,
+        "Tokyo / UTM zone 53N", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=53 +ellps=bessel +towgs84=-146.414,507.3");
     add_proj4text (p, 1,
@@ -1941,23 +2266,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4301\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",135],PARAMETER[\"scale_factor\",0.9996");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "_meridian\",135],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3094\"]]");
-    p = add_epsg_def (filter, first, last, 3095, "epsg", 3095,
-        "Tokyo / UTM zone 54N");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"3094\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3095, "epsg", 3095,
+        "Tokyo / UTM zone 54N", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=54 +ellps=bessel +towgs84=-146.414,507.3");
     add_proj4text (p, 1,
@@ -1973,23 +2303,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4301\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",141],PARAMETER[\"scale_factor\",0.9996");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "_meridian\",141],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3095\"]]");
-    p = add_epsg_def (filter, first, last, 3096, "epsg", 3096,
-        "Tokyo / UTM zone 55N");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"3095\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3096, "epsg", 3096,
+        "Tokyo / UTM zone 55N", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=55 +ellps=bessel +towgs84=-146.414,507.3");
     add_proj4text (p, 1,
@@ -2005,23 +2340,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4301\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",147],PARAMETER[\"scale_factor\",0.9996");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "_meridian\",147],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3096\"]]");
-    p = add_epsg_def (filter, first, last, 3097, "epsg", 3097,
-        "JGD2000 / UTM zone 51N");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"3096\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3097, "epsg", 3097,
+        "JGD2000 / UTM zone 51N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=51 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2039,21 +2379,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4612\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",123],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",123],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3097\"]]");
-    p = add_epsg_def (filter, first, last, 3098, "epsg", 3098,
-        "JGD2000 / UTM zone 52N");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3097\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3098, "epsg", 3098,
+        "JGD2000 / UTM zone 52N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=52 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2071,21 +2416,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4612\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",129],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",129],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3098\"]]");
-    p = add_epsg_def (filter, first, last, 3099, "epsg", 3099,
-        "JGD2000 / UTM zone 53N");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3098\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3099, "epsg", 3099,
+        "JGD2000 / UTM zone 53N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=53 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2103,21 +2453,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4612\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",135],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",135],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3099\"]]");
-    p = add_epsg_def (filter, first, last, 3100, "epsg", 3100,
-        "JGD2000 / UTM zone 54N");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3099\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3100, "epsg", 3100,
+        "JGD2000 / UTM zone 54N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=54 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2135,21 +2490,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4612\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",141],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",141],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3100\"]]");
-    p = add_epsg_def (filter, first, last, 3101, "epsg", 3101,
-        "JGD2000 / UTM zone 55N");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3100\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3101, "epsg", 3101,
+        "JGD2000 / UTM zone 55N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=55 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2167,21 +2527,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4612\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4612\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",147],PARAMETER[\"scale_factor\",0.9");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ral_meridian\",147],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3101\"]]");
-    p = add_epsg_def (filter, first, last, 3102, "epsg", 3102,
-        "American Samoa 1962 / American Samoa Lambert");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3101\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3102, "epsg", 3102,
+        "American Samoa 1962 / American Samoa Lambert", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "American_Samoa_1962", "Lambert_Conformal_Conic_1SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.266666666");
     add_proj4text (p, 1,
@@ -2195,33 +2560,36 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "GEOGCS[\"American Samoa 1962\",DATUM[\"American_Samoa_19");
     add_srs_wkt (p, 2,
-        "62\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213900");
+        "62\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898");
     add_srs_wkt (p, 3,
-        "6,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-115,118,426,0,0");
+        "2,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-115,118,426,0,0");
     add_srs_wkt (p, 4,
         ",0,0],AUTHORITY[\"EPSG\",\"6169\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4169\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",-14.26666666666667]");
+        "4169\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"central_meridian\",-170],PARAMETER[\"scale_");
+        "AMETER[\"latitude_of_origin\",-14.26666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "factor\",1],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "TER[\"central_meridian\",-170],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",312234.65],UNIT[\"US survey foot\",");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "e_northing\",312234.65],UNIT[\"US survey foot\",0.304800");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3102\"]");
+        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 3103, "epsg", 3103,
-        "Mauritania 1999 / UTM zone 28N (deprecated)");
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3102\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3103, "epsg", 3103,
+        "Mauritania 1999 / UTM zone 28N (deprecated)", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Mauritania_1999", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=clrk80 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2237,21 +2605,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4681\"]],PROJECTION[\"Transverse_M");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "RITY[\"EPSG\",\"4681\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-15],PARAMETER[\"scale_factor\",0.");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "tral_meridian\",-15],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"3103\"]]");
-    p = add_epsg_def (filter, first, last, 3104, "epsg", 3104,
-        "Mauritania 1999 / UTM zone 29N (deprecated)");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"3103\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3104, "epsg", 3104,
+        "Mauritania 1999 / UTM zone 29N (deprecated)", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Mauritania_1999", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2267,21 +2640,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4681\"]],PROJECTION[\"Transverse_M");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "RITY[\"EPSG\",\"4681\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-9],PARAMETER[\"scale_factor\",0.9");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "tral_meridian\",-9],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3104\"]]");
-    p = add_epsg_def (filter, first, last, 3105, "epsg", 3105,
-        "Mauritania 1999 / UTM zone 30N (deprecated)");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3104\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3105, "epsg", 3105,
+        "Mauritania 1999 / UTM zone 30N (deprecated)", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Mauritania_1999", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2297,27 +2675,32 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4681\"]],PROJECTION[\"Transverse_M");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "RITY[\"EPSG\",\"4681\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-3],PARAMETER[\"scale_factor\",0.9");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "tral_meridian\",-3],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3105\"]]");
-    p = add_epsg_def (filter, first, last, 3106, "epsg", 3106,
-        "Gulshan 303 / Bangladesh Transverse Mercator");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3105\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3106, "epsg", 3106,
+        "Gulshan 303 / Bangladesh Transverse Mercator", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Gulshan_303", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "0=0 +a=6377276.345 +b=6356075.41314024 +towgs84=283.7,73");
+        "0=0 +a=6377276.345 +b=6356075.413140239 +towgs84=283.7,7");
     add_proj4text (p, 2,
-        "5.9,261.1,0,0,0,0 +units=m +no_defs");
+        "35.9,261.1,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Gulshan 303 / Bangladesh Transverse Mercator\",");
     add_srs_wkt (p, 1,
@@ -2331,23 +2714,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4682\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        "4682\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "dian\",90],PARAMETER[\"scale_factor\",0.9996],PARAMETER[");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
     add_srs_wkt (p, 10,
-        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
+        "0],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 13,
-        "G\",\"3106\"]]");
-    p = add_epsg_def (filter, first, last, 3107, "epsg", 3107,
-        "GDA94 / SA Lambert");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"310");
+    add_srs_wkt (p, 14,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3107, "epsg", 3107,
+        "GDA94 / SA Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-28 +lat_2=-36 +lat_0=-32 +lon_0=135 +x");
     add_proj4text (p, 1,
@@ -2367,23 +2755,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",-28]");
+        "ITY[\"EPSG\",\"4283\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",-36],PARAMETER[\"lati");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",-28],PARAM");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",-32],PARAMETER[\"central_meridian\",135");
+        "ETER[\"standard_parallel_2\",-36],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",1000000],PARAMETER[\"false");
+        "f_origin\",-32],PARAMETER[\"central_meridian\",135],PARA");
     add_srs_wkt (p, 11,
-        "_northing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "METER[\"false_easting\",1000000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "ing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "TH],AUTHORITY[\"EPSG\",\"3107\"]]");
-    p = add_epsg_def (filter, first, last, 3108, "epsg", 3108,
-        "ETRS89 / Guernsey Grid");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 14,
+        "THORITY[\"EPSG\",\"3107\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3108, "epsg", 3108,
+        "ETRS89 / Guernsey Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=49.5 +lon_0=-2.416666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -2403,23 +2796,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "49.5],PARAMETER[\"central_meridian\",-2.416666666666667]");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",49.5],");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.999997],PARAMETER[\"false_");
+        "PARAMETER[\"central_meridian\",-2.416666666666667],PARAM");
     add_srs_wkt (p, 10,
-        "easting\",47000],PARAMETER[\"false_northing\",50000],UNI");
+        "ETER[\"scale_factor\",0.999997],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "g\",47000],PARAMETER[\"false_northing\",50000],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 13,
-        "3108\"]]");
-    p = add_epsg_def (filter, first, last, 3109, "epsg", 3109,
-        "ETRS89 / Jersey Transverse Mercator");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3108\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3109, "epsg", 3109,
+        "ETRS89 / Jersey Transverse Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=49.225 +lon_0=-2.135 +k=0.99999990000");
     add_proj4text (p, 1,
@@ -2439,23 +2837,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",49.225],PARAMETER[\"central_meridian\",-2.");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "135],PARAMETER[\"scale_factor\",0.9999999],PARAMETER[\"f");
+        "rigin\",49.225],PARAMETER[\"central_meridian\",-2.135],P");
     add_srs_wkt (p, 10,
-        "alse_easting\",40000],PARAMETER[\"false_northing\",70000");
+        "ARAMETER[\"scale_factor\",0.9999999],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "asting\",40000],PARAMETER[\"false_northing\",70000],UNIT");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
     add_srs_wkt (p, 13,
-        "G\",\"3109\"]]");
-    p = add_epsg_def (filter, first, last, 3110, "epsg", 3110,
-        "AGD66 / Vicgrid66");
+        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "3109\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3110, "epsg", 3110,
+        "AGD66 / Vicgrid66", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x");
     add_proj4text (p, 1,
@@ -2477,25 +2880,30 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4202\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",-36],PARAMETER[\"");
+        ",\"4202\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",-38],PARAMETER[\"latitude_of_origi");
+        "PARAMETER[\"standard_parallel_1\",-36],PARAMETER[\"stand");
     add_srs_wkt (p, 10,
-        "n\",-37],PARAMETER[\"central_meridian\",145],PARAMETER[\"");
+        "ard_parallel_2\",-38],PARAMETER[\"latitude_of_origin\",-");
     add_srs_wkt (p, 11,
-        "false_easting\",2500000],PARAMETER[\"false_northing\",45");
+        "37],PARAMETER[\"central_meridian\",145],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "e_easting\",2500000],PARAMETER[\"false_northing\",450000");
     add_srs_wkt (p, 13,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"3110\"]]");
-    p = add_epsg_def (filter, first, last, 3111, "epsg", 3111,
-        "GDA94 / Vicgrid94");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"3110\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3111, "epsg", 3111,
+        "GDA94 / Vicgrid94", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x");
     add_proj4text (p, 1,
@@ -2515,23 +2923,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",-36]");
+        "ITY[\"EPSG\",\"4283\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",-38],PARAMETER[\"lati");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",-36],PARAM");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",-37],PARAMETER[\"central_meridian\",145");
+        "ETER[\"standard_parallel_2\",-38],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",2500000],PARAMETER[\"false");
+        "f_origin\",-37],PARAMETER[\"central_meridian\",145],PARA");
     add_srs_wkt (p, 11,
-        "_northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "METER[\"false_easting\",2500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "ing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "TH],AUTHORITY[\"EPSG\",\"3111\"]]");
-    p = add_epsg_def (filter, first, last, 3112, "epsg", 3112,
-        "GDA94 / Geoscience Australia Lambert");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 14,
+        "THORITY[\"EPSG\",\"3111\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3112, "epsg", 3112,
+        "GDA94 / Geoscience Australia Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=134 +x_0");
     add_proj4text (p, 1,
@@ -2551,23 +2964,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",-18],PARAMETER[\"standard_parallel_2\",-36");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "lel_1\",-18],PARAMETER[\"standard_parallel_2\",-36],PARA");
     add_srs_wkt (p, 10,
-        "l_meridian\",134],PARAMETER[\"false_easting\",0],PARAMET");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "dian\",134],PARAMETER[\"false_easting\",0],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3112\"]]");
-    p = add_epsg_def (filter, first, last, 3113, "epsg", 3113,
-        "GDA94 / BCSG02");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"3112\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3113, "epsg", 3113,
+        "GDA94 / BCSG02", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-28 +lon_0=153 +k=0.99999 +x_0=50000 ");
     add_proj4text (p, 1,
@@ -2585,23 +3003,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",-28],PARAMETER[\"");
+        "[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "central_meridian\",153],PARAMETER[\"scale_factor\",0.999");
+        ",PARAMETER[\"latitude_of_origin\",-28],PARAMETER[\"centr");
     add_srs_wkt (p, 9,
-        "99],PARAMETER[\"false_easting\",50000],PARAMETER[\"false");
+        "al_meridian\",153],PARAMETER[\"scale_factor\",0.99999],P");
     add_srs_wkt (p, 10,
-        "_northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "ARAMETER[\"false_easting\",50000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "hing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"3113\"]]");
-    p = add_epsg_def (filter, first, last, 3114, "epsg", 3114,
-        "MAGNA-SIRGAS / Colombia Far West zone");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3113\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3114, "epsg", 3114,
+        "MAGNA-SIRGAS / Colombia Far West zone", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Marco_Geocentrico_Nacional_de_Referencia", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-80.07750791");
     add_proj4text (p, 1,
@@ -2621,21 +3044,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"46");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "86\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4686\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",4.596200416666666],PARAMETER[\"centr");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "al_meridian\",-80.07750791666666],PARAMETER[\"scale_fact");
+        "e_of_origin\",4.596200416666666],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "or\",1],PARAMETER[\"false_easting\",1000000],PARAMETER[\"");
+        "idian\",-80.07750791666666],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "],PARAMETER[\"false_easting\",1000000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3114\"]]");
-    p = add_epsg_def (filter, first, last, 3115, "epsg", 3115,
-        "MAGNA-SIRGAS / Colombia West zone");
+        "_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 14,
+        "ST],AUTHORITY[\"EPSG\",\"3114\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3115, "epsg", 3115,
+        "MAGNA-SIRGAS / Colombia West zone", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Marco_Geocentrico_Nacional_de_Referencia", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-77.07750791");
     add_proj4text (p, 1,
@@ -2655,21 +3085,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4686\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4686\"]],PRO");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",4.596200416666666],PARAMETER[\"central_m");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        "eridian\",-77.07750791666666],PARAMETER[\"scale_factor\"");
+        "_origin\",4.596200416666666],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        ",1],PARAMETER[\"false_easting\",1000000],PARAMETER[\"fal");
+        "n\",-77.07750791666666],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "se_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "RAMETER[\"false_easting\",1000000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3115\"]]");
-    p = add_epsg_def (filter, first, last, 3116, "epsg", 3116,
-        "MAGNA-SIRGAS / Colombia Bogota zone");
+        "thing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 13,
+        "001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"3115\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3116, "epsg", 3116,
+        "MAGNA-SIRGAS / Colombia Bogota zone", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Marco_Geocentrico_Nacional_de_Referencia", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-74.07750791");
     add_proj4text (p, 1,
@@ -2689,21 +3126,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4686");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4686\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",4.596200416666666],PARAMETER[\"central");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "_meridian\",-74.07750791666666],PARAMETER[\"scale_factor");
+        "of_origin\",4.596200416666666],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "\",1],PARAMETER[\"false_easting\",1000000],PARAMETER[\"f");
+        "ian\",-74.07750791666666],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 11,
-        "alse_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "PARAMETER[\"false_easting\",1000000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3116\"]]");
-    p = add_epsg_def (filter, first, last, 3117, "epsg", 3117,
-        "MAGNA-SIRGAS / Colombia East Central zone");
+        "orthing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"3116\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3117, "epsg", 3117,
+        "MAGNA-SIRGAS / Colombia East Central zone", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Marco_Geocentrico_Nacional_de_Referencia", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-71.07750791");
     add_proj4text (p, 1,
@@ -2723,21 +3167,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4686\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4686");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",4.596200416666666],PARAMETER[\"c");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "entral_meridian\",-71.07750791666666],PARAMETER[\"scale_");
+        "itude_of_origin\",4.596200416666666],PARAMETER[\"central");
     add_srs_wkt (p, 10,
-        "factor\",1],PARAMETER[\"false_easting\",1000000],PARAMET");
+        "_meridian\",-71.07750791666666],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORIT");
+        "\",1],PARAMETER[\"false_easting\",1000000],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3117\"]]");
-    p = add_epsg_def (filter, first, last, 3118, "epsg", 3118,
-        "MAGNA-SIRGAS / Colombia East zone");
+        "alse_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AUTHORITY[\"EPSG\",\"3117\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3118, "epsg", 3118,
+        "MAGNA-SIRGAS / Colombia East zone", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Marco_Geocentrico_Nacional_de_Referencia", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-68.07750791");
     add_proj4text (p, 1,
@@ -2757,21 +3208,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4686\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4686\"]],PRO");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",4.596200416666666],PARAMETER[\"central_m");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        "eridian\",-68.07750791666666],PARAMETER[\"scale_factor\"");
+        "_origin\",4.596200416666666],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        ",1],PARAMETER[\"false_easting\",1000000],PARAMETER[\"fal");
+        "n\",-68.07750791666666],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "se_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "RAMETER[\"false_easting\",1000000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3118\"]]");
-    p = add_epsg_def (filter, first, last, 3119, "epsg", 3119,
-        "Douala 1948 / AEF west");
+        "thing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 13,
+        "001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"3118\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3119, "epsg", 3119,
+        "Douala 1948 / AEF west", 0, 0,
+        "International 1924", "Greenwich",
+        "Douala_1948", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +");
     add_proj4text (p, 1,
@@ -2791,21 +3249,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4192\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ORITY[\"EPSG\",\"4192\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",10.5],PARAMETER[\"scale_factor\",");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "0.999],PARAMETER[\"false_easting\",1000000],PARAMETER[\"");
+        "ntral_meridian\",10.5],PARAMETER[\"scale_factor\",0.999]");
     add_srs_wkt (p, 10,
-        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        ",PARAMETER[\"false_easting\",1000000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3119\"]]");
-    p = add_epsg_def (filter, first, last, 3120, "epsg", 3120,
-        "Pulkovo 1942(58) / Poland zone I");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"3119\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3120, "epsg", 3120,
+        "Pulkovo 1942(58) / Poland zone I", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Oblique_Stereographic", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0");
     add_proj4text (p, 1,
@@ -2827,21 +3290,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4179\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4179\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",50.625],PARAMETER[\"central_meri");
+        "]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "dian\",21.08333333333333],PARAMETER[\"scale_factor\",0.9");
+        "itude_of_origin\",50.625],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "998],PARAMETER[\"false_easting\",4637000],PARAMETER[\"fa");
+        ",21.08333333333333],PARAMETER[\"scale_factor\",0.9998],P");
     add_srs_wkt (p, 11,
-        "lse_northing\",5467000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "ARAMETER[\"false_easting\",4637000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"3120\"]]");
-    p = add_epsg_def (filter, first, last, 3121, "epsg", 3121,
-        "PRS92 / Philippines zone 1");
+        "rthing\",5467000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"3120\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3121, "epsg", 3121,
+        "PRS92 / Philippines zone 1", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Philippine_Reference_System_1992", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +");
     add_proj4text (p, 1,
@@ -2853,7 +3323,7 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ATUM[\"Philippine_Reference_System_1992\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],TOWGS84[-127.62,-67.24,-47.04,-3.068,4.903,1");
     add_srs_wkt (p, 4,
@@ -2861,23 +3331,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4683\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4683\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "l_meridian\",117],PARAMETER[\"scale_factor\",0.99995],PA");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "dian\",117],PARAMETER[\"scale_factor\",0.99995],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "3121\"]]");
-    p = add_epsg_def (filter, first, last, 3122, "epsg", 3122,
-        "PRS92 / Philippines zone 2");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3121\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3122, "epsg", 3122,
+        "PRS92 / Philippines zone 2", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Philippine_Reference_System_1992", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +");
     add_proj4text (p, 1,
@@ -2889,7 +3364,7 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ATUM[\"Philippine_Reference_System_1992\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],TOWGS84[-127.62,-67.24,-47.04,-3.068,4.903,1");
     add_srs_wkt (p, 4,
@@ -2897,23 +3372,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4683\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4683\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "l_meridian\",119],PARAMETER[\"scale_factor\",0.99995],PA");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "dian\",119],PARAMETER[\"scale_factor\",0.99995],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "3122\"]]");
-    p = add_epsg_def (filter, first, last, 3123, "epsg", 3123,
-        "PRS92 / Philippines zone 3");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3122\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3123, "epsg", 3123,
+        "PRS92 / Philippines zone 3", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Philippine_Reference_System_1992", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +");
     add_proj4text (p, 1,
@@ -2925,7 +3405,7 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ATUM[\"Philippine_Reference_System_1992\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],TOWGS84[-127.62,-67.24,-47.04,-3.068,4.903,1");
     add_srs_wkt (p, 4,
@@ -2933,23 +3413,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4683\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4683\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "l_meridian\",121],PARAMETER[\"scale_factor\",0.99995],PA");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "dian\",121],PARAMETER[\"scale_factor\",0.99995],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "3123\"]]");
-    p = add_epsg_def (filter, first, last, 3124, "epsg", 3124,
-        "PRS92 / Philippines zone 4");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3123\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3124, "epsg", 3124,
+        "PRS92 / Philippines zone 4", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Philippine_Reference_System_1992", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +");
     add_proj4text (p, 1,
@@ -2961,7 +3446,7 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ATUM[\"Philippine_Reference_System_1992\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],TOWGS84[-127.62,-67.24,-47.04,-3.068,4.903,1");
     add_srs_wkt (p, 4,
@@ -2969,23 +3454,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4683\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4683\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "l_meridian\",123],PARAMETER[\"scale_factor\",0.99995],PA");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "dian\",123],PARAMETER[\"scale_factor\",0.99995],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "3124\"]]");
-    p = add_epsg_def (filter, first, last, 3125, "epsg", 3125,
-        "PRS92 / Philippines zone 5");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3124\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3125, "epsg", 3125,
+        "PRS92 / Philippines zone 5", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Philippine_Reference_System_1992", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +");
     add_proj4text (p, 1,
@@ -2997,7 +3487,7 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ATUM[\"Philippine_Reference_System_1992\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],TOWGS84[-127.62,-67.24,-47.04,-3.068,4.903,1");
     add_srs_wkt (p, 4,
@@ -3005,23 +3495,28 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4683\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4683\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "l_meridian\",125],PARAMETER[\"scale_factor\",0.99995],PA");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "dian\",125],PARAMETER[\"scale_factor\",0.99995],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "3125\"]]");
-    p = add_epsg_def (filter, first, last, 3126, "epsg", 3126,
-        "ETRS89 / ETRS-GK19FIN");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3125\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3126, "epsg", 3126,
+        "ETRS89 / ETRS-GK19FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3039,19 +3534,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",19],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",19],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3126\"]]");
-    p = add_epsg_def (filter, first, last, 3127, "epsg", 3127,
-        "ETRS89 / ETRS-GK20FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3126\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3127, "epsg", 3127,
+        "ETRS89 / ETRS-GK20FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3069,19 +3571,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",20],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",20],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3127\"]]");
-    p = add_epsg_def (filter, first, last, 3128, "epsg", 3128,
-        "ETRS89 / ETRS-GK21FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3127\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3128, "epsg", 3128,
+        "ETRS89 / ETRS-GK21FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3099,19 +3608,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",21],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3128\"]]");
-    p = add_epsg_def (filter, first, last, 3129, "epsg", 3129,
-        "ETRS89 / ETRS-GK22FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3128\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3129, "epsg", 3129,
+        "ETRS89 / ETRS-GK22FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=22 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3129,19 +3645,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",22],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",22],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3129\"]]");
-    p = add_epsg_def (filter, first, last, 3130, "epsg", 3130,
-        "ETRS89 / ETRS-GK23FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3129\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3130, "epsg", 3130,
+        "ETRS89 / ETRS-GK23FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3159,19 +3682,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",23],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",23],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3130\"]]");
-    p = add_epsg_def (filter, first, last, 3131, "epsg", 3131,
-        "ETRS89 / ETRS-GK24FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3130\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3131, "epsg", 3131,
+        "ETRS89 / ETRS-GK24FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3189,19 +3719,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",24],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",24],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3131\"]]");
-    p = add_epsg_def (filter, first, last, 3132, "epsg", 3132,
-        "ETRS89 / ETRS-GK25FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3131\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3132, "epsg", 3132,
+        "ETRS89 / ETRS-GK25FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3219,19 +3756,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",25],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",25],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3132\"]]");
-    p = add_epsg_def (filter, first, last, 3133, "epsg", 3133,
-        "ETRS89 / ETRS-GK26FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3132\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3133, "epsg", 3133,
+        "ETRS89 / ETRS-GK26FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=26 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3249,19 +3793,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",26],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",26],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3133\"]]");
-    p = add_epsg_def (filter, first, last, 3134, "epsg", 3134,
-        "ETRS89 / ETRS-GK27FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3133\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3134, "epsg", 3134,
+        "ETRS89 / ETRS-GK27FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3279,19 +3830,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",27],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3134\"]]");
-    p = add_epsg_def (filter, first, last, 3135, "epsg", 3135,
-        "ETRS89 / ETRS-GK28FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3134\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3135, "epsg", 3135,
+        "ETRS89 / ETRS-GK28FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3309,19 +3867,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",28],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",28],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3135\"]]");
-    p = add_epsg_def (filter, first, last, 3136, "epsg", 3136,
-        "ETRS89 / ETRS-GK29FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3135\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3136, "epsg", 3136,
+        "ETRS89 / ETRS-GK29FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3339,19 +3904,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",29],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",29],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3136\"]]");
-    p = add_epsg_def (filter, first, last, 3137, "epsg", 3137,
-        "ETRS89 / ETRS-GK30FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3136\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3137, "epsg", 3137,
+        "ETRS89 / ETRS-GK30FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3369,19 +3941,26 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",30],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",30],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3137\"]]");
-    p = add_epsg_def (filter, first, last, 3138, "epsg", 3138,
-        "ETRS89 / ETRS-GK31FIN");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3137\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3138, "epsg", 3138,
+        "ETRS89 / ETRS-GK31FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -3399,17 +3978,21 @@ initialize_epsg_10 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",31],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",31],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"3138\"]]");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3138\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_11.c b/src/srsinit/epsg_inlined_11.c
index c3ed588..5edbae7 100644
--- a/src/srsinit/epsg_inlined_11.c
+++ b/src/srsinit/epsg_inlined_11.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 3140, "epsg", 3140,
-        "Viti Levu 1912 / Viti Levu Grid");
+    p = add_epsg_def_ex (filter, first, last, 3140, "epsg", 3140,
+        "Viti Levu 1912 / Viti Levu Grid", 0, 1,
+        "Clarke 1880 (international foot)", "Greenwich",
+        "Viti_Levu_1912", "Cassini_Soldner", "link",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=-18 +lon_0=178 +x_0=109435.392 +y_0=14");
     add_proj4text (p, 1,
@@ -67,25 +72,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "1880 (international foot)\",6378306.3696,293.46630765563");
     add_srs_wkt (p, 3,
-        "49,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84[51,391,-36,0,0,");
+        "55,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84[51,391,-36,0,0,");
     add_srs_wkt (p, 4,
         "0,0],AUTHORITY[\"EPSG\",\"6752\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4752\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",-18],PARAMETER[\"central_meridia");
+        "4752\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "n\",178],PARAMETER[\"false_easting\",544000],PARAMETER[\"");
+        "itude_of_origin\",-18],PARAMETER[\"central_meridian\",17");
     add_srs_wkt (p, 10,
-        "false_northing\",704000],UNIT[\"link\",0.201168,AUTHORIT");
+        "8],PARAMETER[\"false_easting\",544000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9098\"]],AUTHORITY[\"EPSG\",\"3140\"]]");
-    p = add_epsg_def (filter, first, last, 3141, "epsg", 3141,
-        "Fiji 1956 / UTM zone 60S");
+        "_northing\",704000],UNIT[\"link\",0.201168,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9098\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"3140\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3141, "epsg", 3141,
+        "Fiji 1956 / UTM zone 60S", 0, 0,
+        "International 1924", "Greenwich",
+        "Fiji_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=60 +south +ellps=intl +towgs84=265.025,3");
     add_proj4text (p, 1,
@@ -103,21 +115,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4721\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "UTHORITY[\"EPSG\",\"4721\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",177],PARAMETER[\"scale_factor\"");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "central_meridian\",177],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3141\"]]");
-    p = add_epsg_def (filter, first, last, 3142, "epsg", 3142,
-        "Fiji 1956 / UTM zone 1S");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"3141\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3142, "epsg", 3142,
+        "Fiji 1956 / UTM zone 1S", 0, 0,
+        "International 1924", "Greenwich",
+        "Fiji_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=1 +south +ellps=intl +towgs84=265.025,38");
     add_proj4text (p, 1,
@@ -135,21 +152,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4721\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4721\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-177],PARAMETER[\"scale_factor\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "entral_meridian\",-177],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3142\"]]");
-    p = add_epsg_def (filter, first, last, 3143, "epsg", 3143,
-        "Fiji 1986 / Fiji Map Grid (deprecated)");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"3142\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3143, "epsg", 3143,
+        "Fiji 1986 / Fiji Map Grid (deprecated)", 0, 0,
+        "WGS 72", "Greenwich",
+        "Fiji_Geodetic_Datum_1986", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=200");
     add_proj4text (p, 1,
@@ -169,29 +191,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4720\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4720\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",-17],PARAMETER[\"central_meridian\",178.75],PARAMETE");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-1");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.99985],PARAMETER[\"false_easting\",");
+        "7],PARAMETER[\"central_meridian\",178.75],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "2000000],PARAMETER[\"false_northing\",4000000],UNIT[\"me");
+        "ale_factor\",0.99985],PARAMETER[\"false_easting\",200000");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "0],PARAMETER[\"false_northing\",4000000],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3143\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3146, "epsg", 3146,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 6 (deprecated)");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3143\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3146, "epsg", 3146,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 6 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 6 (de");
     add_srs_wkt (p, 1,
@@ -199,33 +224,38 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,");
+        "\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0");
     add_srs_wkt (p, 4,
-        "0.82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Green");
+        ".82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "G\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "l_meridian\",18],PARAMETER[\"scale_factor\",1],PARAMETER");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",6500000],PARAMETER[\"false_northing\"");
+        "ian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "e_easting\",6500000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"3146\"]]");
-    p = add_epsg_def (filter, first, last, 3147, "epsg", 3147,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 18E (deprecated)");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3146\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3147, "epsg", 3147,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger CM 18E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 18E (de");
     add_srs_wkt (p, 1,
@@ -233,31 +263,36 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,");
+        "\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0");
     add_srs_wkt (p, 4,
-        "0.82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Green");
+        ".82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "G\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "l_meridian\",18],PARAMETER[\"scale_factor\",1],PARAMETER");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "ian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"3147\"]]");
-    p = add_epsg_def (filter, first, last, 3148, "epsg", 3148,
-        "Indian 1960 / UTM zone 48N");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3147\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3148, "epsg", 3148,
+        "Indian 1960 / UTM zone 48N", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +t");
+        "+proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +");
     add_proj4text (p, 1,
-        "owgs84=198,881,317,0,0,0,0 +units=m +no_defs");
+        "towgs84=198,881,317,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Indian 1960 / UTM zone 48N\",GEOGCS[\"Indian 19");
     add_srs_wkt (p, 1,
@@ -271,25 +306,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4131\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4131\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",105],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",105],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3148\"]]");
-    p = add_epsg_def (filter, first, last, 3149, "epsg", 3149,
-        "Indian 1960 / UTM zone 49N");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3148\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3149, "epsg", 3149,
+        "Indian 1960 / UTM zone 49N", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +a=6377276.345 +b=6356075.41314024 +t");
+        "+proj=utm +zone=49 +a=6377276.345 +b=6356075.413140239 +");
     add_proj4text (p, 1,
-        "owgs84=198,881,317,0,0,0,0 +units=m +no_defs");
+        "towgs84=198,881,317,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Indian 1960 / UTM zone 49N\",GEOGCS[\"Indian 19");
     add_srs_wkt (p, 1,
@@ -303,27 +343,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4131\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4131\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",111],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",111],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3149\"]]");
-    p = add_epsg_def (filter, first, last, 3150, "epsg", 3150,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 6 (deprecated)");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3149\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3150, "epsg", 3150,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 6 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 6 (de");
     add_srs_wkt (p, 1,
@@ -331,33 +376,38 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0");
+        "\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.1");
     add_srs_wkt (p, 4,
-        ".13,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenw");
+        "3,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4200\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        ",\"4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "_meridian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        "\"false_easting\",6500000],PARAMETER[\"false_northing\",");
+        "\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "asting\",6500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"3150\"]]");
-    p = add_epsg_def (filter, first, last, 3151, "epsg", 3151,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 18E (deprecated)");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3150\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3151, "epsg", 3151,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger CM 18E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 18E (de");
     add_srs_wkt (p, 1,
@@ -365,27 +415,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0");
+        "\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.1");
     add_srs_wkt (p, 4,
-        ".13,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenw");
+        "3,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4200\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        ",\"4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "_meridian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
+        "\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORI");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"3151\"]]");
-    p = add_epsg_def (filter, first, last, 3152, "epsg", 3152,
-        "ST74");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3151\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3152, "epsg", 3152,
+        "ST74", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18.05779 +k=0.99999425 +x_0=");
     add_proj4text (p, 1,
@@ -403,21 +458,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "igin\",0],PARAMETER[\"central_meridian\",18.05779],PARAM");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 8,
-        "ETER[\"scale_factor\",0.99999425],PARAMETER[\"false_east");
+        "0],PARAMETER[\"central_meridian\",18.05779],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ing\",100178.1808],PARAMETER[\"false_northing\",-6500614");
+        "scale_factor\",0.99999425],PARAMETER[\"false_easting\",1");
     add_srs_wkt (p, 10,
-        ".7836],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AU");
+        "00178.1808],PARAMETER[\"false_northing\",-6500614.7836],");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"3152\"]]");
-    p = add_epsg_def (filter, first, last, 3153, "epsg", 3153,
-        "NAD83(CSRS) / BC Albers");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"x\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AXIS[\"y\",EAST],AUTHORITY[\"EPSG\",\"3152\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3153, "epsg", 3153,
+        "NAD83(CSRS) / BC Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Albers_Conic_Equal_Area", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x");
     add_proj4text (p, 1,
@@ -437,23 +497,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_parall");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"Albe");
     add_srs_wkt (p, 8,
-        "el_1\",50],PARAMETER[\"standard_parallel_2\",58.5],PARAM");
+        "rs_Conic_Equal_Area\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "ETER[\"latitude_of_center\",45],PARAMETER[\"longitude_of");
+        ",50],PARAMETER[\"standard_parallel_2\",58.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "_center\",-126],PARAMETER[\"false_easting\",1000000],PAR");
+        "latitude_of_center\",45],PARAMETER[\"longitude_of_center");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "\",-126],PARAMETER[\"false_easting\",1000000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3153\"]]");
-    p = add_epsg_def (filter, first, last, 3154, "epsg", 3154,
-        "NAD83(CSRS) / UTM zone 7N");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"3153\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3154, "epsg", 3154,
+        "NAD83(CSRS) / UTM zone 7N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -471,21 +536,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-141],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-141],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3154\"]]");
-    p = add_epsg_def (filter, first, last, 3155, "epsg", 3155,
-        "NAD83(CSRS) / UTM zone 8N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3154\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3155, "epsg", 3155,
+        "NAD83(CSRS) / UTM zone 8N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -503,21 +573,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-135],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-135],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3155\"]]");
-    p = add_epsg_def (filter, first, last, 3156, "epsg", 3156,
-        "NAD83(CSRS) / UTM zone 9N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3155\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3156, "epsg", 3156,
+        "NAD83(CSRS) / UTM zone 9N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -535,21 +610,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-129],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-129],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3156\"]]");
-    p = add_epsg_def (filter, first, last, 3157, "epsg", 3157,
-        "NAD83(CSRS) / UTM zone 10N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3156\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3157, "epsg", 3157,
+        "NAD83(CSRS) / UTM zone 10N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -567,21 +647,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-123],PARAMETER");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
+        "0],PARAMETER[\"central_meridian\",-123],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3157\"]]");
-    p = add_epsg_def (filter, first, last, 3158, "epsg", 3158,
-        "NAD83(CSRS) / UTM zone 14N");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 13,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3157\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3158, "epsg", 3158,
+        "NAD83(CSRS) / UTM zone 14N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -599,21 +684,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-99],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "0],PARAMETER[\"central_meridian\",-99],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3158\"]]");
-    p = add_epsg_def (filter, first, last, 3159, "epsg", 3159,
-        "NAD83(CSRS) / UTM zone 15N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3158\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3159, "epsg", 3159,
+        "NAD83(CSRS) / UTM zone 15N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -631,21 +721,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-93],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "0],PARAMETER[\"central_meridian\",-93],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3159\"]]");
-    p = add_epsg_def (filter, first, last, 3160, "epsg", 3160,
-        "NAD83(CSRS) / UTM zone 16N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3159\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3160, "epsg", 3160,
+        "NAD83(CSRS) / UTM zone 16N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -663,25 +758,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-87],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "0],PARAMETER[\"central_meridian\",-87],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3160\"]]");
-    p = add_epsg_def (filter, first, last, 3161, "epsg", 3161,
-        "NAD83 / Ontario MNR Lambert");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3160\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3161, "epsg", 3161,
+        "NAD83 / Ontario MNR Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x");
     add_proj4text (p, 1,
-        "_0=930000 +y_0=6430000 +datum=NAD83 +units=m +no_defs");
+        "_0=930000 +y_0=6430000 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Ontario MNR Lambert\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -695,23 +797,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44.5");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",53.5],PARAMETER[\"la");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",44.5],PARA");
     add_srs_wkt (p, 9,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-85");
+        "METER[\"standard_parallel_2\",53.5],PARAMETER[\"latitude");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",930000],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-85],PARA");
     add_srs_wkt (p, 11,
-        "northing\",6430000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "METER[\"false_easting\",930000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "ng\",6430000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 13,
-        "H],AUTHORITY[\"EPSG\",\"3161\"]]");
-    p = add_epsg_def (filter, first, last, 3162, "epsg", 3162,
-        "NAD83(CSRS) / Ontario MNR Lambert");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"3161\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3162, "epsg", 3162,
+        "NAD83(CSRS) / Ontario MNR Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x");
     add_proj4text (p, 1,
@@ -731,25 +838,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",44.5],PARAMETER[\"standard_paralle");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "l_2\",53.5],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ard_parallel_1\",44.5],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-85],PARAMETER[\"false_easting\",");
+        ",53.5],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "930000],PARAMETER[\"false_northing\",6430000],UNIT[\"met");
+        "entral_meridian\",-85],PARAMETER[\"false_easting\",93000");
     add_srs_wkt (p, 12,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
+        "0],PARAMETER[\"false_northing\",6430000],UNIT[\"metre\",");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3162\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3163, "epsg", 3163,
-        "RGNC91-93 / Lambert New Caledonia");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3162\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3163, "epsg", 3163,
+        "RGNC91-93 / Lambert New Caledonia", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_Nouvelle_Caledonie_91_93", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.333333333");
     add_proj4text (p, 1,
@@ -769,25 +879,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4749");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4749\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",-20.66666666666667],PARAMETER");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",-22.33333333333333],PARAMETER[\"");
+        "tandard_parallel_1\",-20.66666666666667],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",-21.5],PARAMETER[\"central_meridian");
+        "ndard_parallel_2\",-22.33333333333333],PARAMETER[\"latit");
     add_srs_wkt (p, 11,
-        "\",166],PARAMETER[\"false_easting\",400000],PARAMETER[\"");
+        "ude_of_origin\",-21.5],PARAMETER[\"central_meridian\",16");
     add_srs_wkt (p, 12,
-        "false_northing\",300000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "6],PARAMETER[\"false_easting\",400000],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "_northing\",300000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"3163\"]]");
-    p = add_epsg_def (filter, first, last, 3164, "epsg", 3164,
-        "ST87 Ouvea / UTM zone 58S");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"3163\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3164, "epsg", 3164,
+        "ST87 Ouvea / UTM zone 58S", 0, 0,
+        "WGS 84", "Greenwich",
+        "ST87_Ouvea", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=WGS84 +towgs84=-56.263,");
     add_proj4text (p, 1,
@@ -805,21 +920,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4750\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4750\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",165],PARAMETER[\"scale_factor\",");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "entral_meridian\",165],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3164\"]]");
-    p = add_epsg_def (filter, first, last, 3165, "epsg", 3165,
-        "NEA74 Noumea / Noumea Lambert");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"3164\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3165, "epsg", 3165,
+        "NEA74 Noumea / Noumea Lambert", 0, 0,
+        "International 1924", "Greenwich",
+        "NEA74_Noumea", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-22.24469175 +lat_2=-22.29469175 +lat_0");
     add_proj4text (p, 1,
@@ -841,25 +961,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4644\"]],PROJECTION[\"L");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
+        "EAST],AUTHORITY[\"EPSG\",\"4644\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "lel_1\",-22.24469175],PARAMETER[\"standard_parallel_2\",");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "-22.29469175],PARAMETER[\"latitude_of_origin\",-22.26969");
+        ",-22.24469175],PARAMETER[\"standard_parallel_2\",-22.294");
     add_srs_wkt (p, 10,
-        "175],PARAMETER[\"central_meridian\",166.44242575],PARAME");
+        "69175],PARAMETER[\"latitude_of_origin\",-22.26969175],PA");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",0.66],PARAMETER[\"false_northing\"");
+        "RAMETER[\"central_meridian\",166.44242575],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        ",1.02],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "alse_easting\",0.66],PARAMETER[\"false_northing\",1.02],");
     add_srs_wkt (p, 13,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 14,
-        "65\"]]");
-    p = add_epsg_def (filter, first, last, 3166, "epsg", 3166,
-        "NEA74 Noumea / Noumea Lambert 2");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3165\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3166, "epsg", 3166,
+        "NEA74 Noumea / Noumea Lambert 2", 0, 0,
+        "International 1924", "Greenwich",
+        "NEA74_Noumea", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-22.24472222222222 +lat_2=-22.294722222");
     add_proj4text (p, 1,
@@ -881,25 +1004,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4644\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4644\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "rallel_1\",-22.24472222222222],PARAMETER[\"standard_para");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "llel_2\",-22.29472222222222],PARAMETER[\"latitude_of_ori");
+        "_1\",-22.24472222222222],PARAMETER[\"standard_parallel_2");
     add_srs_wkt (p, 10,
-        "gin\",-22.26972222222222],PARAMETER[\"central_meridian\"");
+        "\",-22.29472222222222],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        ",166.4425],PARAMETER[\"false_easting\",8.313],PARAMETER[");
+        "-22.26972222222222],PARAMETER[\"central_meridian\",166.4");
     add_srs_wkt (p, 12,
-        "\"false_northing\",-2.354],UNIT[\"metre\",1,AUTHORITY[\"");
+        "425],PARAMETER[\"false_easting\",8.313],PARAMETER[\"fals");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "e_northing\",-2.354],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"3166\"]]");
-    p = add_epsg_def (filter, first, last, 3167, "epsg", 3167,
-        "Kertau (RSO) / RSO Malaya (ch)");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"3166\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3167, "epsg", 3167,
+        "Kertau (RSO) / RSO Malaya (ch)", 0, 0,
+        "Everest 1830 (RSO 1969)", "Greenwich",
+        "Kertau_RSO", "Hotine_Oblique_Mercator", "British chain (Sears 1922 truncated)",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=");
     add_proj4text (p, 1,
@@ -919,27 +1047,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4751\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_center\",4],PARAMETER[\"longitud");
+        "4751\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],PARAMET");
     add_srs_wkt (p, 8,
-        "e_of_center\",102.25],PARAMETER[\"azimuth\",323.0257905]");
+        "ER[\"latitude_of_center\",4],PARAMETER[\"longitude_of_ce");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"rectified_grid_angle\",323.1301023611111],P");
+        "nter\",102.25],PARAMETER[\"azimuth\",323.0257905],PARAME");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"scale_factor\",0.99984],PARAMETER[\"false_eas");
+        "TER[\"rectified_grid_angle\",323.1301023611111],PARAMETE");
     add_srs_wkt (p, 11,
-        "ting\",1988.392164223695],PARAMETER[\"false_northing\",0");
+        "R[\"scale_factor\",0.99984],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "],UNIT[\"British chain (Sears 1922 truncated)\",20.11675");
+        "1988.392164223695],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 13,
-        "6,AUTHORITY[\"EPSG\",\"9301\"]],AXIS[\"Easting\",EAST],A");
+        "\"British chain (Sears 1922 truncated)\",20.116756,AUTHO");
     add_srs_wkt (p, 14,
-        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3167\"]]");
-    p = add_epsg_def (filter, first, last, 3168, "epsg", 3168,
-        "Kertau (RSO) / RSO Malaya (m)");
+        "RITY[\"EPSG\",\"9301\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+    add_srs_wkt (p, 15,
+        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"3167\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3168, "epsg", 3168,
+        "Kertau (RSO) / RSO Malaya (m)", 0, 0,
+        "Everest 1830 (RSO 1969)", "Greenwich",
+        "Kertau_RSO", "Hotine_Oblique_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=");
     add_proj4text (p, 1,
@@ -959,27 +1092,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4751\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_center\",4],PARAMETER[\"longitud");
+        "4751\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],PARAMET");
     add_srs_wkt (p, 8,
-        "e_of_center\",102.25],PARAMETER[\"azimuth\",323.0257905]");
+        "ER[\"latitude_of_center\",4],PARAMETER[\"longitude_of_ce");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"rectified_grid_angle\",323.1301023611111],P");
+        "nter\",102.25],PARAMETER[\"azimuth\",323.0257905],PARAME");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"scale_factor\",0.99984],PARAMETER[\"false_eas");
+        "TER[\"rectified_grid_angle\",323.1301023611111],PARAMETE");
     add_srs_wkt (p, 11,
-        "ting\",804670.24],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "R[\"scale_factor\",0.99984],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "804670.24],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"316");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 14,
-        "8\"]]");
-    p = add_epsg_def (filter, first, last, 3169, "epsg", 3169,
-        "RGNC91-93 / UTM zone 57S");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3168\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3169, "epsg", 3169,
+        "RGNC91-93 / UTM zone 57S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_Nouvelle_Caledonie_91_93", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -997,23 +1133,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4749\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4749\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",159],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
+        ",0],PARAMETER[\"central_meridian\",159],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",10000000],UNIT[\"metr");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
+        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3169\"]");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 3170, "epsg", 3170,
-        "RGNC91-93 / UTM zone 58S");
+        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3169\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3170, "epsg", 3170,
+        "RGNC91-93 / UTM zone 58S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_Nouvelle_Caledonie_91_93", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1031,23 +1170,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4749\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4749\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",165],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
+        ",0],PARAMETER[\"central_meridian\",165],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",10000000],UNIT[\"metr");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
+        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3170\"]");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 3171, "epsg", 3171,
-        "RGNC91-93 / UTM zone 59S");
+        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3170\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3171, "epsg", 3171,
+        "RGNC91-93 / UTM zone 59S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_Nouvelle_Caledonie_91_93", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1065,23 +1207,26 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4749\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4749\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",171],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
+        ",0],PARAMETER[\"central_meridian\",171],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",10000000],UNIT[\"metr");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
+        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3171\"]");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 3172, "epsg", 3172,
-        "IGN53 Mare / UTM zone 59S");
+        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3171\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3172, "epsg", 3172,
+        "IGN53 Mare / UTM zone 59S", 0, 0,
+        "International 1924", "Greenwich",
+        "IGN53_Mare", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=59 +south +ellps=intl +towgs84=287.58,17");
     add_proj4text (p, 1,
@@ -1099,27 +1244,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4641\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "UTHORITY[\"EPSG\",\"4641\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",171],PARAMETER[\"scale_factor\"");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "central_meridian\",171],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3172\"]]");
-    p = add_epsg_def (filter, first, last, 3174, "epsg", 3174,
-        "NAD83 / Great Lakes Albers");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"3172\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3174, "epsg", 3174,
+        "NAD83 / Great Lakes Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568");
     add_proj4text (p, 1,
-        "977 +lon_0=-84.455955 +x_0=1000000 +y_0=1000000 +datum=N");
+        "977 +lon_0=-84.455955 +x_0=1000000 +y_0=1000000 +ellps=G");
     add_proj4text (p, 2,
-        "AD83 +units=m +no_defs");
+        "RS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Great Lakes Albers\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
@@ -1133,29 +1283,34 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "Equal_Area\"],PARAMETER[\"standard_parallel_1\",42.12277");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_");
     add_srs_wkt (p, 8,
-        "4],PARAMETER[\"standard_parallel_2\",49.01518],PARAMETER");
+        "Area\"],PARAMETER[\"standard_parallel_1\",42.122774],PAR");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_center\",45.568977],PARAMETER[\"longitude");
+        "AMETER[\"standard_parallel_2\",49.01518],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "_of_center\",-84.455955],PARAMETER[\"false_easting\",100");
+        "itude_of_center\",45.568977],PARAMETER[\"longitude_of_ce");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre");
+        "nter\",-84.455955],PARAMETER[\"false_easting\",1000000],");
     add_srs_wkt (p, 12,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "PARAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3174\"]]");
-    p = add_epsg_def (filter, first, last, 3175, "epsg", 3175,
-        "NAD83 / Great Lakes and St Lawrence Albers");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3174\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3175, "epsg", 3175,
+        "NAD83 / Great Lakes and St Lawrence Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568");
     add_proj4text (p, 1,
-        "977 +lon_0=-83.248627 +x_0=1000000 +y_0=1000000 +datum=N");
+        "977 +lon_0=-83.248627 +x_0=1000000 +y_0=1000000 +ellps=G");
     add_proj4text (p, 2,
-        "AD83 +units=m +no_defs");
+        "RS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Great Lakes and St Lawrence Albers\",GE");
     add_srs_wkt (p, 1,
@@ -1169,31 +1324,34 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_parall");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Albe");
     add_srs_wkt (p, 8,
-        "el_1\",42.122774],PARAMETER[\"standard_parallel_2\",49.0");
+        "rs_Conic_Equal_Area\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "1518],PARAMETER[\"latitude_of_center\",45.568977],PARAME");
+        ",42.122774],PARAMETER[\"standard_parallel_2\",49.01518],");
     add_srs_wkt (p, 10,
-        "TER[\"longitude_of_center\",-83.248627],PARAMETER[\"fals");
+        "PARAMETER[\"latitude_of_center\",45.568977],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "e_easting\",1000000],PARAMETER[\"false_northing\",100000");
+        "longitude_of_center\",-83.248627],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ing\",1000000],PARAMETER[\"false_northing\",1000000],UNI");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3175\"]");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 3176, "epsg", 3176,
-        "Indian 1960 / TM 106 NE");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3175\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3176, "epsg", 3176,
+        "Indian 1960 / TM 106 NE", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y");
     add_proj4text (p, 1,
-        "_0=0 +a=6377276.345 +b=6356075.41314024 +towgs84=198,881");
+        "_0=0 +a=6377276.345 +b=6356075.413140239 +towgs84=198,88");
     add_proj4text (p, 2,
-        ",317,0,0,0,0 +units=m +no_defs");
+        "1,317,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Indian 1960 / TM 106 NE\",GEOGCS[\"Indian 1960\"");
     add_srs_wkt (p, 1,
@@ -1207,27 +1365,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4131\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4131\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",106],PARAMETER[\"scal");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "ARAMETER[\"central_meridian\",106],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3176\"]]");
-    p = add_epsg_def (filter, first, last, 3177, "epsg", 3177,
-        "LGD2006 / Libya TM");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3176\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3177, "epsg", 3177,
+        "LGD2006 / Libya TM", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9965000000000001 +x_");
     add_proj4text (p, 1,
-        "0=1000000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,");
+        "0=1000000 +y_0=0 +ellps=intl +towgs84=-208.4058,-109.877");
     add_proj4text (p, 2,
-        "-2.5764,0,0,0,0 +units=m +no_defs");
+        "7,-2.5764,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / Libya TM\",GEOGCS[\"LGD2006\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -1235,27 +1398,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[\"");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",17],PARAMETER[\"scale_");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "factor\",0.9965],PARAMETER[\"false_easting\",1000000],PA");
+        "ARAMETER[\"central_meridian\",17],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "or\",0.9965],PARAMETER[\"false_easting\",1000000],PARAME");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3177\"]]");
-    p = add_epsg_def (filter, first, last, 3178, "epsg", 3178,
-        "GR96 / UTM zone 18N");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"3177\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3178, "epsg", 3178,
+        "GR96 / UTM zone 18N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1271,23 +1439,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-75]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3178\"]]");
-    p = add_epsg_def (filter, first, last, 3179, "epsg", 3179,
-        "GR96 / UTM zone 19N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3178");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3179, "epsg", 3179,
+        "GR96 / UTM zone 19N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1303,23 +1476,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-69]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3179\"]]");
-    p = add_epsg_def (filter, first, last, 3180, "epsg", 3180,
-        "GR96 / UTM zone 20N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3179");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3180, "epsg", 3180,
+        "GR96 / UTM zone 20N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1335,23 +1513,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-63]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3180\"]]");
-    p = add_epsg_def (filter, first, last, 3181, "epsg", 3181,
-        "GR96 / UTM zone 21N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3180");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3181, "epsg", 3181,
+        "GR96 / UTM zone 21N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1367,23 +1550,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-57]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3181\"]]");
-    p = add_epsg_def (filter, first, last, 3182, "epsg", 3182,
-        "GR96 / UTM zone 22N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3181");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3182, "epsg", 3182,
+        "GR96 / UTM zone 22N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1399,23 +1587,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-51]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3182\"]]");
-    p = add_epsg_def (filter, first, last, 3183, "epsg", 3183,
-        "GR96 / UTM zone 23N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3182");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3183, "epsg", 3183,
+        "GR96 / UTM zone 23N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=23 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1431,23 +1624,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-45]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3183\"]]");
-    p = add_epsg_def (filter, first, last, 3184, "epsg", 3184,
-        "GR96 / UTM zone 24N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3183");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3184, "epsg", 3184,
+        "GR96 / UTM zone 24N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=24 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1463,23 +1661,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-39]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3184\"]]");
-    p = add_epsg_def (filter, first, last, 3185, "epsg", 3185,
-        "GR96 / UTM zone 25N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3184");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3185, "epsg", 3185,
+        "GR96 / UTM zone 25N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=25 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1495,23 +1698,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-33],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-33]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3185\"]]");
-    p = add_epsg_def (filter, first, last, 3186, "epsg", 3186,
-        "GR96 / UTM zone 26N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3185");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3186, "epsg", 3186,
+        "GR96 / UTM zone 26N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1527,23 +1735,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-27],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-27]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3186\"]]");
-    p = add_epsg_def (filter, first, last, 3187, "epsg", 3187,
-        "GR96 / UTM zone 27N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3186");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3187, "epsg", 3187,
+        "GR96 / UTM zone 27N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=27 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1559,23 +1772,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-21],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-21]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3187\"]]");
-    p = add_epsg_def (filter, first, last, 3188, "epsg", 3188,
-        "GR96 / UTM zone 28N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3187");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3188, "epsg", 3188,
+        "GR96 / UTM zone 28N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1591,23 +1809,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-15]");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "3188\"]]");
-    p = add_epsg_def (filter, first, last, 3189, "epsg", 3189,
-        "GR96 / UTM zone 29N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3188");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3189, "epsg", 3189,
+        "GR96 / UTM zone 29N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1623,29 +1846,34 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4747\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4747");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-9],");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "3189\"]]");
-    p = add_epsg_def (filter, first, last, 3190, "epsg", 3190,
-        "LGD2006 / Libya TM zone 5");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3189\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3190, "epsg", 3190,
+        "LGD2006 / Libya TM zone 5", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.99995 +x_0=200000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0");
+        "0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,0");
     add_proj4text (p, 2,
-        ",0 +units=m +no_defs");
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / Libya TM zone 5\",GEOGCS[\"LGD2006\",");
     add_srs_wkt (p, 1,
@@ -1653,33 +1881,38 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EP");
+        "OWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "SG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PROJE");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.99995],PARAMETER[\"false_easting\",2000");
+        "in\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ale_factor\",0.99995],PARAMETER[\"false_easting\",200000");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"3190\"]]");
-    p = add_epsg_def (filter, first, last, 3191, "epsg", 3191,
-        "LGD2006 / Libya TM zone 6");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"3190\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3191, "epsg", 3191,
+        "LGD2006 / Libya TM zone 6", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.99995 +x_0=200000 +y");
     add_proj4text (p, 1,
-        "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,");
+        "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / Libya TM zone 6\",GEOGCS[\"LGD2006\",");
     add_srs_wkt (p, 1,
@@ -1687,33 +1920,38 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EP");
+        "OWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "SG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PROJE");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",11],PARAMETER[");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.99995],PARAMETER[\"false_easting\",20");
+        "in\",0],PARAMETER[\"central_meridian\",11],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3191\"]]");
-    p = add_epsg_def (filter, first, last, 3192, "epsg", 3192,
-        "LGD2006 / Libya TM zone 7");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"3191\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3192, "epsg", 3192,
+        "LGD2006 / Libya TM zone 7", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.99995 +x_0=200000 +y");
     add_proj4text (p, 1,
-        "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,");
+        "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / Libya TM zone 7\",GEOGCS[\"LGD2006\",");
     add_srs_wkt (p, 1,
@@ -1721,33 +1959,38 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EP");
+        "OWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "SG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PROJE");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",13],PARAMETER[");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.99995],PARAMETER[\"false_easting\",20");
+        "in\",0],PARAMETER[\"central_meridian\",13],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3192\"]]");
-    p = add_epsg_def (filter, first, last, 3193, "epsg", 3193,
-        "LGD2006 / Libya TM zone 8");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"3192\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3193, "epsg", 3193,
+        "LGD2006 / Libya TM zone 8", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.99995 +x_0=200000 +y");
     add_proj4text (p, 1,
-        "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,");
+        "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / Libya TM zone 8\",GEOGCS[\"LGD2006\",");
     add_srs_wkt (p, 1,
@@ -1755,33 +1998,38 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EP");
+        "OWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "SG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PROJE");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",15],PARAMETER[");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.99995],PARAMETER[\"false_easting\",20");
+        "in\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3193\"]]");
-    p = add_epsg_def (filter, first, last, 3194, "epsg", 3194,
-        "LGD2006 / Libya TM zone 9");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"3193\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3194, "epsg", 3194,
+        "LGD2006 / Libya TM zone 9", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.99995 +x_0=200000 +y");
     add_proj4text (p, 1,
-        "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,");
+        "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / Libya TM zone 9\",GEOGCS[\"LGD2006\",");
     add_srs_wkt (p, 1,
@@ -1789,33 +2037,38 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EP");
+        "OWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "SG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PROJE");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",17],PARAMETER[");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.99995],PARAMETER[\"false_easting\",20");
+        "in\",0],PARAMETER[\"central_meridian\",17],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3194\"]]");
-    p = add_epsg_def (filter, first, last, 3195, "epsg", 3195,
-        "LGD2006 / Libya TM zone 10");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"3194\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3195, "epsg", 3195,
+        "LGD2006 / Libya TM zone 10", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.99995 +x_0=200000 +y");
     add_proj4text (p, 1,
-        "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,");
+        "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / Libya TM zone 10\",GEOGCS[\"LGD2006\"");
     add_srs_wkt (p, 1,
@@ -1823,33 +2076,38 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "TOWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"E");
+        "TOWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "PSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PRO");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",19],PARAMETE");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.99995],PARAMETER[\"false_easting\",");
+        "in\",0],PARAMETER[\"central_meridian\",19],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "200000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3195\"]]");
-    p = add_epsg_def (filter, first, last, 3196, "epsg", 3196,
-        "LGD2006 / Libya TM zone 11");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"3195\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3196, "epsg", 3196,
+        "LGD2006 / Libya TM zone 11", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.99995 +x_0=200000 +y");
     add_proj4text (p, 1,
-        "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,");
+        "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / Libya TM zone 11\",GEOGCS[\"LGD2006\"");
     add_srs_wkt (p, 1,
@@ -1857,33 +2115,38 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "TOWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"E");
+        "TOWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "PSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PRO");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",21],PARAMETE");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.99995],PARAMETER[\"false_easting\",");
+        "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "200000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3196\"]]");
-    p = add_epsg_def (filter, first, last, 3197, "epsg", 3197,
-        "LGD2006 / Libya TM zone 12");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"3196\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3197, "epsg", 3197,
+        "LGD2006 / Libya TM zone 12", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.99995 +x_0=200000 +y");
     add_proj4text (p, 1,
-        "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,");
+        "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / Libya TM zone 12\",GEOGCS[\"LGD2006\"");
     add_srs_wkt (p, 1,
@@ -1891,33 +2154,38 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "TOWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"E");
+        "TOWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "PSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PRO");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",23],PARAMETE");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.99995],PARAMETER[\"false_easting\",");
+        "in\",0],PARAMETER[\"central_meridian\",23],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "200000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3197\"]]");
-    p = add_epsg_def (filter, first, last, 3198, "epsg", 3198,
-        "LGD2006 / Libya TM zone 13");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"3197\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3198, "epsg", 3198,
+        "LGD2006 / Libya TM zone 13", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.99995 +x_0=200000 +y");
     add_proj4text (p, 1,
-        "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,");
+        "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / Libya TM zone 13\",GEOGCS[\"LGD2006\"");
     add_srs_wkt (p, 1,
@@ -1925,31 +2193,36 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "TOWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"E");
+        "TOWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "PSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PRO");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",25],PARAMETE");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.99995],PARAMETER[\"false_easting\",");
+        "in\",0],PARAMETER[\"central_meridian\",25],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "200000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3198\"]]");
-    p = add_epsg_def (filter, first, last, 3199, "epsg", 3199,
-        "LGD2006 / UTM zone 32N");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"3198\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3199, "epsg", 3199,
+        "LGD2006 / UTM zone 32N", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +ellps=intl +towgs84=-208.406,-109.87");
+        "+proj=utm +zone=32 +ellps=intl +towgs84=-208.4058,-109.8");
     add_proj4text (p, 1,
-        "8,-2.5764,0,0,0,0 +units=m +no_defs");
+        "777,-2.5764,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / UTM zone 32N\",GEOGCS[\"LGD2006\",DAT");
     add_srs_wkt (p, 1,
@@ -1957,27 +2230,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "al 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWG");
     add_srs_wkt (p, 3,
-        "S84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "S84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        ",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "G\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"sc");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",500000]");
+        ",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"3199\"]]");
-    p = add_epsg_def (filter, first, last, 3200, "epsg", 3200,
-        "FD58 / Iraq zone");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3199\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3200, "epsg", 3200,
+        "FD58 / Iraq zone", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Final_Datum_1958", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.99878");
     add_proj4text (p, 1,
@@ -1997,25 +2275,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4132\"]],PROJECTION[\"Lambert_Co");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "nformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",32");
+        "HORITY[\"EPSG\",\"4132\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        ".5],PARAMETER[\"central_meridian\",45],PARAMETER[\"scale");
+        "l_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",32.5],PA");
     add_srs_wkt (p, 9,
-        "_factor\",0.9987864078],PARAMETER[\"false_easting\",1500");
+        "RAMETER[\"central_meridian\",45],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1166200],UNIT[\"metre\"");
+        "r\",0.9987864078],PARAMETER[\"false_easting\",1500000],P");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "ARAMETER[\"false_northing\",1166200],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3200\"]]");
-    p = add_epsg_def (filter, first, last, 3201, "epsg", 3201,
-        "LGD2006 / UTM zone 33N");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3200\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3201, "epsg", 3201,
+        "LGD2006 / UTM zone 33N", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +ellps=intl +towgs84=-208.406,-109.87");
+        "+proj=utm +zone=33 +ellps=intl +towgs84=-208.4058,-109.8");
     add_proj4text (p, 1,
-        "8,-2.5764,0,0,0,0 +units=m +no_defs");
+        "777,-2.5764,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / UTM zone 33N\",GEOGCS[\"LGD2006\",DAT");
     add_srs_wkt (p, 1,
@@ -2023,31 +2306,36 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "al 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWG");
     add_srs_wkt (p, 3,
-        "S84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "S84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        ",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "G\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"s");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"3201\"]]");
-    p = add_epsg_def (filter, first, last, 3202, "epsg", 3202,
-        "LGD2006 / UTM zone 34N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3201\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3202, "epsg", 3202,
+        "LGD2006 / UTM zone 34N", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +ellps=intl +towgs84=-208.406,-109.87");
+        "+proj=utm +zone=34 +ellps=intl +towgs84=-208.4058,-109.8");
     add_proj4text (p, 1,
-        "8,-2.5764,0,0,0,0 +units=m +no_defs");
+        "777,-2.5764,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / UTM zone 34N\",GEOGCS[\"LGD2006\",DAT");
     add_srs_wkt (p, 1,
@@ -2055,31 +2343,36 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "al 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWG");
     add_srs_wkt (p, 3,
-        "S84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "S84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        ",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "G\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        ",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"3202\"]]");
-    p = add_epsg_def (filter, first, last, 3203, "epsg", 3203,
-        "LGD2006 / UTM zone 35N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3202\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3203, "epsg", 3203,
+        "LGD2006 / UTM zone 35N", 0, 0,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +ellps=intl +towgs84=-208.406,-109.87");
+        "+proj=utm +zone=35 +ellps=intl +towgs84=-208.4058,-109.8");
     add_proj4text (p, 1,
-        "8,-2.5764,0,0,0,0 +units=m +no_defs");
+        "777,-2.5764,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"LGD2006 / UTM zone 35N\",GEOGCS[\"LGD2006\",DAT");
     add_srs_wkt (p, 1,
@@ -2087,27 +2380,32 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "al 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWG");
     add_srs_wkt (p, 3,
-        "S84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "S84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        ",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "G\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"s");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        ",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"3203\"]]");
-    p = add_epsg_def (filter, first, last, 3204, "epsg", 3204,
-        "WGS 84 / SCAR IMW SP19-20");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3203\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3204, "epsg", 3204,
+        "WGS 84 / SCAR IMW SP19-20", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.333333333");
     add_proj4text (p, 1,
@@ -2125,25 +2423,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-60.66666666666666],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-63.33333333333334],PARAMETER[\"latitude_of_origi");
+        "\",-60.66666666666666],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-66],PARAMETER[\"");
+        ",-63.33333333333334],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-66],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "204\"]]");
-    p = add_epsg_def (filter, first, last, 3205, "epsg", 3205,
-        "WGS 84 / SCAR IMW SP21-22");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3204\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3205, "epsg", 3205,
+        "WGS 84 / SCAR IMW SP21-22", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.333333333");
     add_proj4text (p, 1,
@@ -2161,25 +2464,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-60.66666666666666],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-63.33333333333334],PARAMETER[\"latitude_of_origi");
+        "\",-60.66666666666666],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-54],PARAMETER[\"");
+        ",-63.33333333333334],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-54],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "205\"]]");
-    p = add_epsg_def (filter, first, last, 3206, "epsg", 3206,
-        "WGS 84 / SCAR IMW SP23-24");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3205\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3206, "epsg", 3206,
+        "WGS 84 / SCAR IMW SP23-24", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.333333333");
     add_proj4text (p, 1,
@@ -2197,25 +2505,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-60.66666666666666],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-63.33333333333334],PARAMETER[\"latitude_of_origi");
+        "\",-60.66666666666666],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-42],PARAMETER[\"");
+        ",-63.33333333333334],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-42],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "206\"]]");
-    p = add_epsg_def (filter, first, last, 3207, "epsg", 3207,
-        "WGS 84 / SCAR IMW SQ01-02");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3206\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3207, "epsg", 3207,
+        "WGS 84 / SCAR IMW SQ01-02", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2233,25 +2546,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-174],PARAMETER[");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "0],PARAMETER[\"central_meridian\",-174],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 13,
-        "3207\"]]");
-    p = add_epsg_def (filter, first, last, 3208, "epsg", 3208,
-        "WGS 84 / SCAR IMW SQ19-20");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3207\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3208, "epsg", 3208,
+        "WGS 84 / SCAR IMW SQ19-20", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2269,25 +2587,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-66],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-66],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "208\"]]");
-    p = add_epsg_def (filter, first, last, 3209, "epsg", 3209,
-        "WGS 84 / SCAR IMW SQ21-22");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3208\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3209, "epsg", 3209,
+        "WGS 84 / SCAR IMW SQ21-22", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2305,25 +2628,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-54],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-54],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "209\"]]");
-    p = add_epsg_def (filter, first, last, 3210, "epsg", 3210,
-        "WGS 84 / SCAR IMW SQ37-38");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3209\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3210, "epsg", 3210,
+        "WGS 84 / SCAR IMW SQ37-38", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2341,25 +2669,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",42],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",42],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "210\"]]");
-    p = add_epsg_def (filter, first, last, 3211, "epsg", 3211,
-        "WGS 84 / SCAR IMW SQ39-40");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3210\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3211, "epsg", 3211,
+        "WGS 84 / SCAR IMW SQ39-40", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2377,25 +2710,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",54],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",54],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "211\"]]");
-    p = add_epsg_def (filter, first, last, 3212, "epsg", 3212,
-        "WGS 84 / SCAR IMW SQ41-42");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3211\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3212, "epsg", 3212,
+        "WGS 84 / SCAR IMW SQ41-42", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2413,25 +2751,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",66],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",66],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "212\"]]");
-    p = add_epsg_def (filter, first, last, 3213, "epsg", 3213,
-        "WGS 84 / SCAR IMW SQ43-44");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3212\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3213, "epsg", 3213,
+        "WGS 84 / SCAR IMW SQ43-44", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2449,25 +2792,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",78],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",78],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "213\"]]");
-    p = add_epsg_def (filter, first, last, 3214, "epsg", 3214,
-        "WGS 84 / SCAR IMW SQ45-46");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3213\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3214, "epsg", 3214,
+        "WGS 84 / SCAR IMW SQ45-46", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2485,25 +2833,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",90],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",90],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "214\"]]");
-    p = add_epsg_def (filter, first, last, 3215, "epsg", 3215,
-        "WGS 84 / SCAR IMW SQ47-48");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3214\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3215, "epsg", 3215,
+        "WGS 84 / SCAR IMW SQ47-48", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2521,25 +2874,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",102],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",102],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "215\"]]");
-    p = add_epsg_def (filter, first, last, 3216, "epsg", 3216,
-        "WGS 84 / SCAR IMW SQ49-50");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3215\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3216, "epsg", 3216,
+        "WGS 84 / SCAR IMW SQ49-50", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2557,25 +2915,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",114],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",114],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "216\"]]");
-    p = add_epsg_def (filter, first, last, 3217, "epsg", 3217,
-        "WGS 84 / SCAR IMW SQ51-52");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3216\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3217, "epsg", 3217,
+        "WGS 84 / SCAR IMW SQ51-52", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2593,25 +2956,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",126],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",126],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "217\"]]");
-    p = add_epsg_def (filter, first, last, 3218, "epsg", 3218,
-        "WGS 84 / SCAR IMW SQ53-54");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3217\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3218, "epsg", 3218,
+        "WGS 84 / SCAR IMW SQ53-54", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2629,25 +2997,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",138],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",138],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "218\"]]");
-    p = add_epsg_def (filter, first, last, 3219, "epsg", 3219,
-        "WGS 84 / SCAR IMW SQ55-56");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3218\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3219, "epsg", 3219,
+        "WGS 84 / SCAR IMW SQ55-56", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2665,25 +3038,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",150],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",150],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "219\"]]");
-    p = add_epsg_def (filter, first, last, 3220, "epsg", 3220,
-        "WGS 84 / SCAR IMW SQ57-58");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3219\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3220, "epsg", 3220,
+        "WGS 84 / SCAR IMW SQ57-58", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.333333333");
     add_proj4text (p, 1,
@@ -2701,25 +3079,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-64.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-67.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-64.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",162],PARAMETER[\"");
+        ",-67.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",162],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "220\"]]");
-    p = add_epsg_def (filter, first, last, 3221, "epsg", 3221,
-        "WGS 84 / SCAR IMW SR13-14");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3220\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3221, "epsg", 3221,
+        "WGS 84 / SCAR IMW SR13-14", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -2737,25 +3120,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-102],PARAMETER[");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "0],PARAMETER[\"central_meridian\",-102],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 13,
-        "3221\"]]");
-    p = add_epsg_def (filter, first, last, 3222, "epsg", 3222,
-        "WGS 84 / SCAR IMW SR15-16");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3221\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3222, "epsg", 3222,
+        "WGS 84 / SCAR IMW SR15-16", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -2773,25 +3161,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-90],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-90],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "222\"]]");
-    p = add_epsg_def (filter, first, last, 3223, "epsg", 3223,
-        "WGS 84 / SCAR IMW SR17-18");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3222\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3223, "epsg", 3223,
+        "WGS 84 / SCAR IMW SR17-18", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -2809,25 +3202,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-78],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-78],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "223\"]]");
-    p = add_epsg_def (filter, first, last, 3224, "epsg", 3224,
-        "WGS 84 / SCAR IMW SR19-20");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3223\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3224, "epsg", 3224,
+        "WGS 84 / SCAR IMW SR19-20", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -2845,25 +3243,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-66],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-66],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "224\"]]");
-    p = add_epsg_def (filter, first, last, 3225, "epsg", 3225,
-        "WGS 84 / SCAR IMW SR27-28");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3224\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3225, "epsg", 3225,
+        "WGS 84 / SCAR IMW SR27-28", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -2881,25 +3284,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-18],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-18],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "225\"]]");
-    p = add_epsg_def (filter, first, last, 3226, "epsg", 3226,
-        "WGS 84 / SCAR IMW SR29-30");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3226, "epsg", 3226,
+        "WGS 84 / SCAR IMW SR29-30", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -2917,25 +3325,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-6],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-6],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "226\"]]");
-    p = add_epsg_def (filter, first, last, 3227, "epsg", 3227,
-        "WGS 84 / SCAR IMW SR31-32");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3226\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3227, "epsg", 3227,
+        "WGS 84 / SCAR IMW SR31-32", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -2953,25 +3366,28 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",6],PARAMETER[\"f");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "alse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "0],PARAMETER[\"central_meridian\",6],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"322");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "7\"]]");
-    p = add_epsg_def (filter, first, last, 3228, "epsg", 3228,
-        "WGS 84 / SCAR IMW SR33-34");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3227\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3228, "epsg", 3228,
+        "WGS 84 / SCAR IMW SR33-34", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -2989,25 +3405,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",18],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",18],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "228\"]]");
-    p = add_epsg_def (filter, first, last, 3229, "epsg", 3229,
-        "WGS 84 / SCAR IMW SR35-36");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3228\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3229, "epsg", 3229,
+        "WGS 84 / SCAR IMW SR35-36", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3025,25 +3446,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",30],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",30],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "229\"]]");
-    p = add_epsg_def (filter, first, last, 3230, "epsg", 3230,
-        "WGS 84 / SCAR IMW SR37-38");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3229\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3230, "epsg", 3230,
+        "WGS 84 / SCAR IMW SR37-38", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3061,25 +3487,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",42],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",42],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "230\"]]");
-    p = add_epsg_def (filter, first, last, 3231, "epsg", 3231,
-        "WGS 84 / SCAR IMW SR39-40");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3230\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3231, "epsg", 3231,
+        "WGS 84 / SCAR IMW SR39-40", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3097,25 +3528,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",54],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",54],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "231\"]]");
-    p = add_epsg_def (filter, first, last, 3232, "epsg", 3232,
-        "WGS 84 / SCAR IMW SR41-42");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3231\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3232, "epsg", 3232,
+        "WGS 84 / SCAR IMW SR41-42", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3133,25 +3569,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",66],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",66],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "232\"]]");
-    p = add_epsg_def (filter, first, last, 3233, "epsg", 3233,
-        "WGS 84 / SCAR IMW SR43-44");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3232\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3233, "epsg", 3233,
+        "WGS 84 / SCAR IMW SR43-44", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3169,25 +3610,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",78],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",78],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "233\"]]");
-    p = add_epsg_def (filter, first, last, 3234, "epsg", 3234,
-        "WGS 84 / SCAR IMW SR45-46");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3233\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3234, "epsg", 3234,
+        "WGS 84 / SCAR IMW SR45-46", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3205,25 +3651,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",90],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",90],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "234\"]]");
-    p = add_epsg_def (filter, first, last, 3235, "epsg", 3235,
-        "WGS 84 / SCAR IMW SR47-48");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3234\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3235, "epsg", 3235,
+        "WGS 84 / SCAR IMW SR47-48", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3241,25 +3692,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",102],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",102],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "235\"]]");
-    p = add_epsg_def (filter, first, last, 3236, "epsg", 3236,
-        "WGS 84 / SCAR IMW SR49-50");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3235\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3236, "epsg", 3236,
+        "WGS 84 / SCAR IMW SR49-50", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3277,25 +3733,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",114],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",114],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "236\"]]");
-    p = add_epsg_def (filter, first, last, 3237, "epsg", 3237,
-        "WGS 84 / SCAR IMW SR51-52");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3236\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3237, "epsg", 3237,
+        "WGS 84 / SCAR IMW SR51-52", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3313,25 +3774,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",126],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",126],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "237\"]]");
-    p = add_epsg_def (filter, first, last, 3238, "epsg", 3238,
-        "WGS 84 / SCAR IMW SR53-54");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3237\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3238, "epsg", 3238,
+        "WGS 84 / SCAR IMW SR53-54", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3349,25 +3815,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",138],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",138],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "238\"]]");
-    p = add_epsg_def (filter, first, last, 3239, "epsg", 3239,
-        "WGS 84 / SCAR IMW SR55-56");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3238\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3239, "epsg", 3239,
+        "WGS 84 / SCAR IMW SR55-56", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3385,25 +3856,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",150],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",150],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "239\"]]");
-    p = add_epsg_def (filter, first, last, 3240, "epsg", 3240,
-        "WGS 84 / SCAR IMW SR57-58");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3239\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3240, "epsg", 3240,
+        "WGS 84 / SCAR IMW SR57-58", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3421,25 +3897,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",162],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",162],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "240\"]]");
-    p = add_epsg_def (filter, first, last, 3241, "epsg", 3241,
-        "WGS 84 / SCAR IMW SR59-60");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3240\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3241, "epsg", 3241,
+        "WGS 84 / SCAR IMW SR59-60", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.333333333");
     add_proj4text (p, 1,
@@ -3457,25 +3938,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-68.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-71.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-68.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",174],PARAMETER[\"");
+        ",-71.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",174],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "241\"]]");
-    p = add_epsg_def (filter, first, last, 3242, "epsg", 3242,
-        "WGS 84 / SCAR IMW SS04-06");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3241\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3242, "epsg", 3242,
+        "WGS 84 / SCAR IMW SS04-06", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -3493,25 +3979,30 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-153],PARAMETER[");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "0],PARAMETER[\"central_meridian\",-153],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 13,
-        "3242\"]]");
-    p = add_epsg_def (filter, first, last, 3243, "epsg", 3243,
-        "WGS 84 / SCAR IMW SS07-09");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3242\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3243, "epsg", 3243,
+        "WGS 84 / SCAR IMW SS07-09", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -3529,23 +4020,25 @@ initialize_epsg_11 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-135],PARAMETER[");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "0],PARAMETER[\"central_meridian\",-135],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 13,
-        "3243\"]]");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3243\"");
+    add_srs_wkt (p, 14,
+        "]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_12.c b/src/srsinit/epsg_inlined_12.c
index cc08825..bf22da8 100644
--- a/src/srsinit/epsg_inlined_12.c
+++ b/src/srsinit/epsg_inlined_12.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 3244, "epsg", 3244,
-        "WGS 84 / SCAR IMW SS10-12");
+    p = add_epsg_def_ex (filter, first, last, 3244, "epsg", 3244,
+        "WGS 84 / SCAR IMW SS10-12", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -71,25 +76,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-117],PARAMETER[");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "0],PARAMETER[\"central_meridian\",-117],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 13,
-        "3244\"]]");
-    p = add_epsg_def (filter, first, last, 3245, "epsg", 3245,
-        "WGS 84 / SCAR IMW SS13-15");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3244\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3245, "epsg", 3245,
+        "WGS 84 / SCAR IMW SS13-15", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -107,25 +117,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-99],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-99],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "245\"]]");
-    p = add_epsg_def (filter, first, last, 3246, "epsg", 3246,
-        "WGS 84 / SCAR IMW SS16-18");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3245\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3246, "epsg", 3246,
+        "WGS 84 / SCAR IMW SS16-18", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -143,25 +158,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-81],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-81],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "246\"]]");
-    p = add_epsg_def (filter, first, last, 3247, "epsg", 3247,
-        "WGS 84 / SCAR IMW SS19-21");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3246\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3247, "epsg", 3247,
+        "WGS 84 / SCAR IMW SS19-21", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -179,25 +199,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-63],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "247\"]]");
-    p = add_epsg_def (filter, first, last, 3248, "epsg", 3248,
-        "WGS 84 / SCAR IMW SS25-27");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3247\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3248, "epsg", 3248,
+        "WGS 84 / SCAR IMW SS25-27", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -215,25 +240,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-27],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-27],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "248\"]]");
-    p = add_epsg_def (filter, first, last, 3249, "epsg", 3249,
-        "WGS 84 / SCAR IMW SS28-30");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3248\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3249, "epsg", 3249,
+        "WGS 84 / SCAR IMW SS28-30", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -251,25 +281,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-9],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-9],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "249\"]]");
-    p = add_epsg_def (filter, first, last, 3250, "epsg", 3250,
-        "WGS 84 / SCAR IMW SS31-33");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3249\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3250, "epsg", 3250,
+        "WGS 84 / SCAR IMW SS31-33", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -287,25 +322,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",9],PARAMETER[\"f");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "alse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "0],PARAMETER[\"central_meridian\",9],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"325");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 3251, "epsg", 3251,
-        "WGS 84 / SCAR IMW SS34-36");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3250\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3251, "epsg", 3251,
+        "WGS 84 / SCAR IMW SS34-36", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -323,25 +361,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",27],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",27],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "251\"]]");
-    p = add_epsg_def (filter, first, last, 3252, "epsg", 3252,
-        "WGS 84 / SCAR IMW SS37-39");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3251\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3252, "epsg", 3252,
+        "WGS 84 / SCAR IMW SS37-39", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -359,25 +402,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",45],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",45],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "252\"]]");
-    p = add_epsg_def (filter, first, last, 3253, "epsg", 3253,
-        "WGS 84 / SCAR IMW SS40-42");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3252\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3253, "epsg", 3253,
+        "WGS 84 / SCAR IMW SS40-42", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -395,25 +443,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",63],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",63],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "253\"]]");
-    p = add_epsg_def (filter, first, last, 3254, "epsg", 3254,
-        "WGS 84 / SCAR IMW SS43-45");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3253\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3254, "epsg", 3254,
+        "WGS 84 / SCAR IMW SS43-45", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -431,25 +484,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",81],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",81],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "254\"]]");
-    p = add_epsg_def (filter, first, last, 3255, "epsg", 3255,
-        "WGS 84 / SCAR IMW SS46-48");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3254\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3255, "epsg", 3255,
+        "WGS 84 / SCAR IMW SS46-48", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -467,25 +525,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",99],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",99],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "255\"]]");
-    p = add_epsg_def (filter, first, last, 3256, "epsg", 3256,
-        "WGS 84 / SCAR IMW SS49-51");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3255\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3256, "epsg", 3256,
+        "WGS 84 / SCAR IMW SS49-51", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -503,25 +566,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",117],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",117],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "256\"]]");
-    p = add_epsg_def (filter, first, last, 3257, "epsg", 3257,
-        "WGS 84 / SCAR IMW SS52-54");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3256\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3257, "epsg", 3257,
+        "WGS 84 / SCAR IMW SS52-54", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -539,25 +607,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",135],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",135],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "257\"]]");
-    p = add_epsg_def (filter, first, last, 3258, "epsg", 3258,
-        "WGS 84 / SCAR IMW SS55-57");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3257\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3258, "epsg", 3258,
+        "WGS 84 / SCAR IMW SS55-57", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -575,25 +648,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",153],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",153],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "258\"]]");
-    p = add_epsg_def (filter, first, last, 3259, "epsg", 3259,
-        "WGS 84 / SCAR IMW SS58-60");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3258\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3259, "epsg", 3259,
+        "WGS 84 / SCAR IMW SS58-60", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -611,25 +689,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-72.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-75.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-72.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",171],PARAMETER[\"");
+        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",171],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "259\"]]");
-    p = add_epsg_def (filter, first, last, 3260, "epsg", 3260,
-        "WGS 84 / SCAR IMW ST01-04");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3259\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3260, "epsg", 3260,
+        "WGS 84 / SCAR IMW ST01-04", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -647,25 +730,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-168],PARAMETER[");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "0],PARAMETER[\"central_meridian\",-168],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 13,
-        "3260\"]]");
-    p = add_epsg_def (filter, first, last, 3261, "epsg", 3261,
-        "WGS 84 / SCAR IMW ST05-08");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3260\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3261, "epsg", 3261,
+        "WGS 84 / SCAR IMW ST05-08", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -683,25 +771,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-144],PARAMETER[");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "0],PARAMETER[\"central_meridian\",-144],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 13,
-        "3261\"]]");
-    p = add_epsg_def (filter, first, last, 3262, "epsg", 3262,
-        "WGS 84 / SCAR IMW ST09-12");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3261\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3262, "epsg", 3262,
+        "WGS 84 / SCAR IMW ST09-12", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -719,25 +812,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-120],PARAMETER[");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "0],PARAMETER[\"central_meridian\",-120],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 13,
-        "3262\"]]");
-    p = add_epsg_def (filter, first, last, 3263, "epsg", 3263,
-        "WGS 84 / SCAR IMW ST13-16");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3262\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3263, "epsg", 3263,
+        "WGS 84 / SCAR IMW ST13-16", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -755,25 +853,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-96],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-96],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "263\"]]");
-    p = add_epsg_def (filter, first, last, 3264, "epsg", 3264,
-        "WGS 84 / SCAR IMW ST17-20");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3263\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3264, "epsg", 3264,
+        "WGS 84 / SCAR IMW ST17-20", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -791,25 +894,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-72],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-72],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "264\"]]");
-    p = add_epsg_def (filter, first, last, 3265, "epsg", 3265,
-        "WGS 84 / SCAR IMW ST21-24");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3264\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3265, "epsg", 3265,
+        "WGS 84 / SCAR IMW ST21-24", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -827,25 +935,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-48],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-48],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "265\"]]");
-    p = add_epsg_def (filter, first, last, 3266, "epsg", 3266,
-        "WGS 84 / SCAR IMW ST25-28");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3265\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3266, "epsg", 3266,
+        "WGS 84 / SCAR IMW ST25-28", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -863,25 +976,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",-24],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",-24],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "266\"]]");
-    p = add_epsg_def (filter, first, last, 3267, "epsg", 3267,
-        "WGS 84 / SCAR IMW ST29-32");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3266\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3267, "epsg", 3267,
+        "WGS 84 / SCAR IMW ST29-32", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -899,25 +1017,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",0],PARAMETER[\"f");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "alse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "0],PARAMETER[\"central_meridian\",0],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"326");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "7\"]]");
-    p = add_epsg_def (filter, first, last, 3268, "epsg", 3268,
-        "WGS 84 / SCAR IMW ST33-36");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3267\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3268, "epsg", 3268,
+        "WGS 84 / SCAR IMW ST33-36", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -935,25 +1056,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",24],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",24],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "268\"]]");
-    p = add_epsg_def (filter, first, last, 3269, "epsg", 3269,
-        "WGS 84 / SCAR IMW ST37-40");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3268\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3269, "epsg", 3269,
+        "WGS 84 / SCAR IMW ST37-40", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -971,25 +1097,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",48],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",48],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "269\"]]");
-    p = add_epsg_def (filter, first, last, 3270, "epsg", 3270,
-        "WGS 84 / SCAR IMW ST41-44");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3269\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3270, "epsg", 3270,
+        "WGS 84 / SCAR IMW ST41-44", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -1007,25 +1138,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",72],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",72],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "270\"]]");
-    p = add_epsg_def (filter, first, last, 3271, "epsg", 3271,
-        "WGS 84 / SCAR IMW ST45-48");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3270\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3271, "epsg", 3271,
+        "WGS 84 / SCAR IMW ST45-48", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -1043,25 +1179,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",96],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",96],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "271\"]]");
-    p = add_epsg_def (filter, first, last, 3272, "epsg", 3272,
-        "WGS 84 / SCAR IMW ST49-52");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3271\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3272, "epsg", 3272,
+        "WGS 84 / SCAR IMW ST49-52", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -1079,25 +1220,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",120],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",120],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "272\"]]");
-    p = add_epsg_def (filter, first, last, 3273, "epsg", 3273,
-        "WGS 84 / SCAR IMW ST53-56");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3272\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3273, "epsg", 3273,
+        "WGS 84 / SCAR IMW ST53-56", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -1115,25 +1261,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",144],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",144],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "273\"]]");
-    p = add_epsg_def (filter, first, last, 3274, "epsg", 3274,
-        "WGS 84 / SCAR IMW ST57-60");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3273\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3274, "epsg", 3274,
+        "WGS 84 / SCAR IMW ST57-60", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -1151,25 +1302,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 7,
-        "llel_1\",-76.66666666666667],PARAMETER[\"standard_parall");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 8,
-        "el_2\",-79.33333333333333],PARAMETER[\"latitude_of_origi");
+        "\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 9,
-        "n\",-90],PARAMETER[\"central_meridian\",168],PARAMETER[\"");
+        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "0],PARAMETER[\"central_meridian\",168],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "274\"]]");
-    p = add_epsg_def (filter, first, last, 3275, "epsg", 3275,
-        "WGS 84 / SCAR IMW SU01-05");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3274\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3275, "epsg", 3275,
+        "WGS 84 / SCAR IMW SU01-05", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1185,21 +1341,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",-165]");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "861111111111],PARAMETER[\"central_meridian\",-165],PARAM");
     add_srs_wkt (p, 9,
-        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],");
     add_srs_wkt (p, 10,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 11,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3275\"]]");
-    p = add_epsg_def (filter, first, last, 3276, "epsg", 3276,
-        "WGS 84 / SCAR IMW SU06-10");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 12,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"3275\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3276, "epsg", 3276,
+        "WGS 84 / SCAR IMW SU06-10", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1215,21 +1376,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",-135]");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "861111111111],PARAMETER[\"central_meridian\",-135],PARAM");
     add_srs_wkt (p, 9,
-        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],");
     add_srs_wkt (p, 10,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 11,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3276\"]]");
-    p = add_epsg_def (filter, first, last, 3277, "epsg", 3277,
-        "WGS 84 / SCAR IMW SU11-15");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 12,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"3276\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3277, "epsg", 3277,
+        "WGS 84 / SCAR IMW SU11-15", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1245,21 +1411,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",-105]");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "861111111111],PARAMETER[\"central_meridian\",-105],PARAM");
     add_srs_wkt (p, 9,
-        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],");
     add_srs_wkt (p, 10,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 11,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3277\"]]");
-    p = add_epsg_def (filter, first, last, 3278, "epsg", 3278,
-        "WGS 84 / SCAR IMW SU16-20");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 12,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"3277\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3278, "epsg", 3278,
+        "WGS 84 / SCAR IMW SU16-20", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1275,21 +1446,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",-75],");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",-75],PARAME");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3278\"]]");
-    p = add_epsg_def (filter, first, last, 3279, "epsg", 3279,
-        "WGS 84 / SCAR IMW SU21-25");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 12,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3278\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3279, "epsg", 3279,
+        "WGS 84 / SCAR IMW SU21-25", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1305,21 +1481,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",-45],");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",-45],PARAME");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3279\"]]");
-    p = add_epsg_def (filter, first, last, 3280, "epsg", 3280,
-        "WGS 84 / SCAR IMW SU26-30");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 12,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3279\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3280, "epsg", 3280,
+        "WGS 84 / SCAR IMW SU26-30", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1335,21 +1516,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",-15],");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",-15],PARAME");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3280\"]]");
-    p = add_epsg_def (filter, first, last, 3281, "epsg", 3281,
-        "WGS 84 / SCAR IMW SU31-35");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 12,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3280\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3281, "epsg", 3281,
+        "WGS 84 / SCAR IMW SU31-35", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1365,21 +1551,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",15],P");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",15],PARAMET");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PA");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3281\"]]");
-    p = add_epsg_def (filter, first, last, 3282, "epsg", 3282,
-        "WGS 84 / SCAR IMW SU36-40");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 12,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3281\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3282, "epsg", 3282,
+        "WGS 84 / SCAR IMW SU36-40", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1395,21 +1586,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",45],P");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",45],PARAMET");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PA");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3282\"]]");
-    p = add_epsg_def (filter, first, last, 3283, "epsg", 3283,
-        "WGS 84 / SCAR IMW SU41-45");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 12,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3282\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3283, "epsg", 3283,
+        "WGS 84 / SCAR IMW SU41-45", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1425,21 +1621,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",75],P");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",75],PARAMET");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PA");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3283\"]]");
-    p = add_epsg_def (filter, first, last, 3284, "epsg", 3284,
-        "WGS 84 / SCAR IMW SU46-50");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 12,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3283\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3284, "epsg", 3284,
+        "WGS 84 / SCAR IMW SU46-50", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1455,21 +1656,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",105],");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",105],PARAME");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3284\"]]");
-    p = add_epsg_def (filter, first, last, 3285, "epsg", 3285,
-        "WGS 84 / SCAR IMW SU51-55");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 12,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3284\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3285, "epsg", 3285,
+        "WGS 84 / SCAR IMW SU51-55", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1485,21 +1691,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",135],");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",135],PARAME");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3285\"]]");
-    p = add_epsg_def (filter, first, last, 3286, "epsg", 3286,
-        "WGS 84 / SCAR IMW SU56-60");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 12,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3285\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3286, "epsg", 3286,
+        "WGS 84 / SCAR IMW SU56-60", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1515,21 +1726,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",165],");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",165],PARAME");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3286\"]]");
-    p = add_epsg_def (filter, first, last, 3287, "epsg", 3287,
-        "WGS 84 / SCAR IMW SV01-10");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 12,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3286\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3287, "epsg", 3287,
+        "WGS 84 / SCAR IMW SV01-10", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1545,21 +1761,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",-150]");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "861111111111],PARAMETER[\"central_meridian\",-150],PARAM");
     add_srs_wkt (p, 9,
-        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],");
     add_srs_wkt (p, 10,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 11,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3287\"]]");
-    p = add_epsg_def (filter, first, last, 3288, "epsg", 3288,
-        "WGS 84 / SCAR IMW SV11-20");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 12,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"3287\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3288, "epsg", 3288,
+        "WGS 84 / SCAR IMW SV11-20", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1575,21 +1796,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",-90],");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",-90],PARAME");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3288\"]]");
-    p = add_epsg_def (filter, first, last, 3289, "epsg", 3289,
-        "WGS 84 / SCAR IMW SV21-30");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 12,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3288\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3289, "epsg", 3289,
+        "WGS 84 / SCAR IMW SV21-30", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1605,21 +1831,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",-30],");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",-30],PARAME");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3289\"]]");
-    p = add_epsg_def (filter, first, last, 3290, "epsg", 3290,
-        "WGS 84 / SCAR IMW SV31-40");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 12,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3289\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3290, "epsg", 3290,
+        "WGS 84 / SCAR IMW SV31-40", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1635,21 +1866,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",30],P");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",30],PARAMET");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PA");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3290\"]]");
-    p = add_epsg_def (filter, first, last, 3291, "epsg", 3291,
-        "WGS 84 / SCAR IMW SV41-50");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 12,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3290\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3291, "epsg", 3291,
+        "WGS 84 / SCAR IMW SV41-50", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1665,21 +1901,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",90],P");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",90],PARAMET");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PA");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3291\"]]");
-    p = add_epsg_def (filter, first, last, 3292, "epsg", 3292,
-        "WGS 84 / SCAR IMW SV51-60");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 12,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3291\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3292, "epsg", 3292,
+        "WGS 84 / SCAR IMW SV51-60", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1695,21 +1936,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",150],");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "861111111111],PARAMETER[\"central_meridian\",150],PARAME");
     add_srs_wkt (p, 9,
-        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3292\"]]");
-    p = add_epsg_def (filter, first, last, 3293, "epsg", 3293,
-        "WGS 84 / SCAR IMW SW01-60");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 12,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3292\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3293, "epsg", 3293,
+        "WGS 84 / SCAR IMW SW01-60", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0");
     add_proj4text (p, 1,
@@ -1725,21 +1971,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 6,
-        "Polar_Stereographic\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_");
     add_srs_wkt (p, 7,
-        "-80.23861111111111],PARAMETER[\"central_meridian\",0],PA");
+        "Stereographic\"],PARAMETER[\"latitude_of_origin\",-80.23");
     add_srs_wkt (p, 8,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "861111111111],PARAMETER[\"central_meridian\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PAR");
     add_srs_wkt (p, 10,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3293\"]]");
-    p = add_epsg_def (filter, first, last, 3294, "epsg", 3294,
-        "WGS 84 / USGS Transantarctic Mountains");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 12,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3293\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3294, "epsg", 3294,
+        "WGS 84 / USGS Transantarctic Mountains", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -1757,25 +2008,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 6,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJE");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",-76.66666666666667],PARAMETER[\"st");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 8,
-        "andard_parallel_2\",-79.33333333333333],PARAMETER[\"lati");
+        "ard_parallel_1\",-76.66666666666667],PARAMETER[\"standar");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",-78],PARAMETER[\"central_meridian\",162");
+        "d_parallel_2\",-79.33333333333333],PARAMETER[\"latitude_");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
+        "of_origin\",-78],PARAMETER[\"central_meridian\",162],PAR");
     add_srs_wkt (p, 11,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "Y[\"EPSG\",\"3294\"]]");
-    p = add_epsg_def (filter, first, last, 3296, "epsg", 3296,
-        "RGPF / UTM zone 5S");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"3294\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3296, "epsg", 3296,
+        "RGPF / UTM zone 5S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_Polynesie_Francaise", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=5 +south +ellps=GRS80 +towgs84=0.072,-0.");
     add_proj4text (p, 1,
@@ -1795,23 +2051,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4687\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        ",\"4687\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "ridian\",-153],PARAMETER[\"scale_factor\",0.9996],PARAME");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
+        "\",-153],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"3296\"]]");
-    p = add_epsg_def (filter, first, last, 3297, "epsg", 3297,
-        "RGPF / UTM zone 6S");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"3296\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3297, "epsg", 3297,
+        "RGPF / UTM zone 6S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_Polynesie_Francaise", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=6 +south +ellps=GRS80 +towgs84=0.072,-0.");
     add_proj4text (p, 1,
@@ -1831,23 +2092,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4687\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        ",\"4687\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "ridian\",-147],PARAMETER[\"scale_factor\",0.9996],PARAME");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
+        "\",-147],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"3297\"]]");
-    p = add_epsg_def (filter, first, last, 3298, "epsg", 3298,
-        "RGPF / UTM zone 7S");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"3297\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3298, "epsg", 3298,
+        "RGPF / UTM zone 7S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_Polynesie_Francaise", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=7 +south +ellps=GRS80 +towgs84=0.072,-0.");
     add_proj4text (p, 1,
@@ -1867,23 +2133,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4687\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        ",\"4687\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "ridian\",-141],PARAMETER[\"scale_factor\",0.9996],PARAME");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
+        "\",-141],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"3298\"]]");
-    p = add_epsg_def (filter, first, last, 3299, "epsg", 3299,
-        "RGPF / UTM zone 8S");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"3298\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3299, "epsg", 3299,
+        "RGPF / UTM zone 8S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_Polynesie_Francaise", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=8 +south +ellps=GRS80 +towgs84=0.072,-0.");
     add_proj4text (p, 1,
@@ -1903,23 +2174,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4687\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        ",\"4687\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "ridian\",-135],PARAMETER[\"scale_factor\",0.9996],PARAME");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
+        "\",-135],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"3299\"]]");
-    p = add_epsg_def (filter, first, last, 3300, "epsg", 3300,
-        "Estonian Coordinate System of 1992");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"3299\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3300, "epsg", 3300,
+        "Estonian Coordinate System of 1992", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Estonia_1992", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.5");
     add_proj4text (p, 1,
@@ -1941,23 +2217,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4133\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4133\"]],PR");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",59.33333333333334],PARAMETER[\"");
+        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",58],PARAMETER[\"latitude_of_origin");
+        "andard_parallel_1\",59.33333333333334],PARAMETER[\"stand");
     add_srs_wkt (p, 10,
-        "\",57.51755393055556],PARAMETER[\"central_meridian\",24]");
+        "ard_parallel_2\",58],PARAMETER[\"latitude_of_origin\",57");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        ".51755393055556],PARAMETER[\"central_meridian\",24],PARA");
     add_srs_wkt (p, 12,
-        "orthing\",6375000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 13,
-        "9001\"]],AUTHORITY[\"EPSG\",\"3300\"]]");
-    p = add_epsg_def (filter, first, last, 3301, "epsg", 3301,
-        "Estonian Coordinate System of 1997");
+        "ng\",6375000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 14,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 15,
+        "\",\"3300\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3301, "epsg", 3301,
+        "Estonian Coordinate System of 1997", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Estonia_1997", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.5");
     add_proj4text (p, 1,
@@ -1975,25 +2258,30 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4180\"]],PROJECTION[\"Lambert_Conformal_C");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",59.3333333");
+        "PSG\",\"4180\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        "3333334],PARAMETER[\"standard_parallel_2\",58],PARAMETER");
+        "P\"],PARAMETER[\"standard_parallel_1\",59.33333333333334");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",57.51755393055556],PARAMETER[\"c");
+        "],PARAMETER[\"standard_parallel_2\",58],PARAMETER[\"lati");
     add_srs_wkt (p, 10,
-        "entral_meridian\",24],PARAMETER[\"false_easting\",500000");
+        "tude_of_origin\",57.51755393055556],PARAMETER[\"central_");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_northing\",6375000],UNIT[\"metre\",1");
+        "meridian\",24],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3301");
+        "ETER[\"false_northing\",6375000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3302, "epsg", 3302,
-        "IGN63 Hiva Oa / UTM zone 7S");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AUTHORITY[\"EPSG\",\"3301\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3302, "epsg", 3302,
+        "IGN63 Hiva Oa / UTM zone 7S", 0, 0,
+        "International 1924", "Greenwich",
+        "IGN63_Hiva_Oa", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=7 +south +ellps=intl +towgs84=410.721,55");
     add_proj4text (p, 1,
@@ -2013,29 +2301,34 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "689\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4689\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "141],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",-141],P");
     add_srs_wkt (p, 10,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",10000000],UNI");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
     add_srs_wkt (p, 13,
-        "G\",\"3302\"]]");
-    p = add_epsg_def (filter, first, last, 3303, "epsg", 3303,
-        "Fatu Iva 72 / UTM zone 7S");
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "3302\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3303, "epsg", 3303,
+        "Fatu Iva 72 / UTM zone 7S", 0, 0,
+        "International 1924", "Greenwich",
+        "Fatu_Iva_72", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=7 +south +ellps=intl +towgs84=347.103,10");
     add_proj4text (p, 1,
-        "78.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +units=m ");
+        "78.125,2623.922,-33.8875,70.6773,-9.3943,186.074 +units=");
     add_proj4text (p, 2,
-        "+no_defs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Fatu Iva 72 / UTM zone 7S\",GEOGCS[\"Fatu Iva 7");
     add_srs_wkt (p, 1,
@@ -2043,29 +2336,34 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         ",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[347.1");
     add_srs_wkt (p, 3,
-        "03,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074],AUT");
+        "03,1078.125,2623.922,-33.8875,70.6773,-9.3943,186.074],A");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6688\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "UTHORITY[\"EPSG\",\"6688\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"46");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "88\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4688\"");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "41],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-141],");
     add_srs_wkt (p, 10,
-        "_easting\",500000],PARAMETER[\"false_northing\",10000000");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 13,
-        "G\",\"3303\"]]");
-    p = add_epsg_def (filter, first, last, 3304, "epsg", 3304,
-        "Tahiti 79 / UTM zone 6S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3303\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3304, "epsg", 3304,
+        "Tahiti 79 / UTM zone 6S", 0, 0,
+        "International 1924", "Greenwich",
+        "Tahiti_79", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=6 +south +ellps=intl +towgs84=221.525,15");
     add_proj4text (p, 1,
@@ -2085,23 +2383,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4690\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4690\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",-147],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
+        "igin\",0],PARAMETER[\"central_meridian\",-147],PARAMETER");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",10000000],UNIT[");
+        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "0000],PARAMETER[\"false_northing\",10000000],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "304\"]]");
-    p = add_epsg_def (filter, first, last, 3305, "epsg", 3305,
-        "Moorea 87 / UTM zone 6S");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3304\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3305, "epsg", 3305,
+        "Moorea 87 / UTM zone 6S", 0, 0,
+        "International 1924", "Greenwich",
+        "Moorea_87", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=6 +south +ellps=intl +towgs84=215.525,14");
     add_proj4text (p, 1,
@@ -2121,23 +2424,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4691\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4691\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",-147],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
+        "igin\",0],PARAMETER[\"central_meridian\",-147],PARAMETER");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",10000000],UNIT[");
+        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "0000],PARAMETER[\"false_northing\",10000000],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "305\"]]");
-    p = add_epsg_def (filter, first, last, 3306, "epsg", 3306,
-        "Maupiti 83 / UTM zone 5S");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3305\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3306, "epsg", 3306,
+        "Maupiti 83 / UTM zone 5S", 0, 0,
+        "International 1924", "Greenwich",
+        "Maupiti_83", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=5 +south +ellps=intl +towgs84=217.037,86");
     add_proj4text (p, 1,
@@ -2155,21 +2463,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4692\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ORITY[\"EPSG\",\"4692\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-153],PARAMETER[\"scale_factor\",");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ntral_meridian\",-153],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3306\"]]");
-    p = add_epsg_def (filter, first, last, 3307, "epsg", 3307,
-        "Nakhl-e Ghanem / UTM zone 39N");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"3306\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3307, "epsg", 3307,
+        "Nakhl-e Ghanem / UTM zone 39N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Nakhl_e_Ghanem", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=39 +ellps=WGS84 +towgs84=0,-0.15,0.68,0,");
     add_proj4text (p, 1,
@@ -2187,21 +2500,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4693\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4693\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",51],PARAMETER[\"scale_factor\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "\"central_meridian\",51],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"3307\"]]");
-    p = add_epsg_def (filter, first, last, 3308, "epsg", 3308,
-        "GDA94 / NSW Lambert");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3307\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3308, "epsg", 3308,
+        "GDA94 / NSW Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-30.75 +lat_2=-35.75 +lat_0=-33.25 +lon");
     add_proj4text (p, 1,
@@ -2221,23 +2539,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",-3");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "0.75],PARAMETER[\"standard_parallel_2\",-35.75],PARAMETE");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",-30.75],");
     add_srs_wkt (p, 9,
-        "R[\"latitude_of_origin\",-33.25],PARAMETER[\"central_mer");
+        "PARAMETER[\"standard_parallel_2\",-35.75],PARAMETER[\"la");
     add_srs_wkt (p, 10,
-        "idian\",147],PARAMETER[\"false_easting\",9300000],PARAME");
+        "titude_of_origin\",-33.25],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",4500000],UNIT[\"metre\",1,AUTHORI");
+        ",147],PARAMETER[\"false_easting\",9300000],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",4500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"3308\"]]");
-    p = add_epsg_def (filter, first, last, 3309, "epsg", 3309,
-        "NAD27 / California Albers");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3308\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3309, "epsg", 3309,
+        "NAD27 / California Albers", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_");
     add_proj4text (p, 1,
@@ -2247,33 +2570,40 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866");
     add_srs_wkt (p, 2,
-        "\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008");
+        "\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008");
     add_srs_wkt (p, 3,
         "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4267\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],P");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"standard_parallel_1\",34],PARAMETER[\"standar");
+        "4267\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMET");
     add_srs_wkt (p, 8,
-        "d_parallel_2\",40.5],PARAMETER[\"latitude_of_center\",0]");
+        "ER[\"standard_parallel_1\",34],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"longitude_of_center\",-120],PARAMETER[\"fal");
+        "llel_2\",40.5],PARAMETER[\"latitude_of_center\",0],PARAM");
     add_srs_wkt (p, 10,
-        "se_easting\",0],PARAMETER[\"false_northing\",-4000000],U");
+        "ETER[\"longitude_of_center\",-120],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "ting\",0],PARAMETER[\"false_northing\",-4000000],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3309\"]]");
-    p = add_epsg_def (filter, first, last, 3310, "epsg", 3310,
-        "NAD83 / California Albers");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3309\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3310, "epsg", 3310,
+        "NAD83 / California Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_");
     add_proj4text (p, 1,
-        "0=0 +y_0=-4000000 +datum=NAD83 +units=m +no_defs");
+        "0=0 +y_0=-4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
+    add_proj4text (p, 2,
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / California Albers\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -2287,23 +2617,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_E");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "qual_Area\"],PARAMETER[\"standard_parallel_1\",34],PARAM");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_A");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",40.5],PARAMETER[\"latitude_");
+        "rea\"],PARAMETER[\"standard_parallel_1\",34],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "of_center\",0],PARAMETER[\"longitude_of_center\",-120],P");
+        "standard_parallel_2\",40.5],PARAMETER[\"latitude_of_cent");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_easting\",0],PARAMETER[\"false_northing");
+        "er\",0],PARAMETER[\"longitude_of_center\",-120],PARAMETE");
     add_srs_wkt (p, 11,
-        "\",-4000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "R[\"false_easting\",0],PARAMETER[\"false_northing\",-400");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 13,
-        ",\"3310\"]]");
-    p = add_epsg_def (filter, first, last, 3311, "epsg", 3311,
-        "NAD83(HARN) / California Albers");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"331");
+    add_srs_wkt (p, 14,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3311, "epsg", 3311,
+        "NAD83(HARN) / California Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_");
     add_proj4text (p, 1,
@@ -2323,23 +2658,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "parallel_1\",34],PARAMETER[\"standard_parallel_2\",40.5]");
+        "\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"latitude_of_center\",0],PARAMETER[\"longitu");
+        "el_1\",34],PARAMETER[\"standard_parallel_2\",40.5],PARAM");
     add_srs_wkt (p, 10,
-        "de_of_center\",-120],PARAMETER[\"false_easting\",0],PARA");
+        "ETER[\"latitude_of_center\",0],PARAMETER[\"longitude_of_");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",-4000000],UNIT[\"metre\",1,AUTH");
+        "center\",-120],PARAMETER[\"false_easting\",0],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "\"false_northing\",-4000000],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 13,
-        "RTH],AUTHORITY[\"EPSG\",\"3311\"]]");
-    p = add_epsg_def (filter, first, last, 3312, "epsg", 3312,
-        "CSG67 / UTM zone 21N");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"3311\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3312, "epsg", 3312,
+        "CSG67 / UTM zone 21N", 0, 0,
+        "International 1924", "Greenwich",
+        "Centre_Spatial_Guyanais_1967", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +ellps=intl +towgs84=-186,230,110,0,0");
     add_proj4text (p, 1,
@@ -2357,21 +2697,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4623\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ORITY[\"EPSG\",\"4623\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-57],PARAMETER[\"scale_factor\",0");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "ntral_meridian\",-57],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"3312\"]]");
-    p = add_epsg_def (filter, first, last, 3313, "epsg", 3313,
-        "RGFG95 / UTM zone 21N");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"3312\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3313, "epsg", 3313,
+        "RGFG95 / UTM zone 21N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_Guyane_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2389,21 +2734,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4624\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4624\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-57],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3313\"]]");
-    p = add_epsg_def (filter, first, last, 3314, "epsg", 3314,
-        "Katanga 1955 / Katanga Lambert (deprecated)");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"3313\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3314, "epsg", 3314,
+        "Katanga 1955 / Katanga Lambert (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Katanga_1955", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-6.5 +lat_2=-11.5 +lat_0=0 +lon_0=26 +x");
     add_proj4text (p, 1,
@@ -2415,7 +2765,7 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "EOGCS[\"Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EP");
+        "Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
         "SG\",\"7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0]");
     add_srs_wkt (p, 4,
@@ -2423,25 +2773,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4695\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4695");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_1\",-6.5],PARAMETER[\"stand");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",-11.5],PARAMETER[\"latitude_of_origin\"");
+        "ER[\"standard_parallel_1\",-6.5],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        ",0],PARAMETER[\"central_meridian\",26],PARAMETER[\"false");
+        "rallel_2\",-11.5],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 11,
-        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "RAMETER[\"central_meridian\",26],PARAMETER[\"false_easti");
     add_srs_wkt (p, 12,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
+        "ng\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3314\"");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AX");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3315, "epsg", 3315,
-        "Katanga 1955 / Katanga TM (deprecated)");
+        "IS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3314\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3315, "epsg", 3315,
+        "Katanga 1955 / Katanga TM (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Katanga_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-9 +lon_0=26 +k=0.9998 +x_0=0 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2453,7 +2806,7 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "[\"Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUT");
     add_srs_wkt (p, 4,
@@ -2461,23 +2814,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"46");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "95\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4695\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",-9],PARAMETER[\"central_meridian\",2");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"scale_factor\",0.9998],PARAMETER[\"false_");
+        "e_of_origin\",-9],PARAMETER[\"central_meridian\",26],PAR");
     add_srs_wkt (p, 10,
-        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "AMETER[\"scale_factor\",0.9998],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
+        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3315\"]");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 3316, "epsg", 3316,
-        "Kasai 1953 / Congo TM zone 22");
+        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3315\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3316, "epsg", 3316,
+        "Kasai 1953 / Congo TM zone 22", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Kasai_1953", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2493,23 +2849,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"46");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "96\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4696\"]]");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",22");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_e");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",22],PARA");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",10000000],");
+        "METER[\"scale_factor\",0.9999],PARAMETER[\"false_easting");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "\",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        ",\"3316\"]]");
-    p = add_epsg_def (filter, first, last, 3317, "epsg", 3317,
-        "Kasai 1953 / Congo TM zone 24");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"331");
+    add_srs_wkt (p, 13,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3317, "epsg", 3317,
+        "Kasai 1953 / Congo TM zone 24", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Kasai_1953", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2525,23 +2886,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"46");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "96\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4696\"]]");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",24");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_e");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",24],PARA");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",10000000],");
+        "METER[\"scale_factor\",0.9999],PARAMETER[\"false_easting");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "\",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        ",\"3317\"]]");
-    p = add_epsg_def (filter, first, last, 3318, "epsg", 3318,
-        "IGC 1962 / Congo TM zone 12");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"331");
+    add_srs_wkt (p, 13,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3318, "epsg", 3318,
+        "IGC 1962 / Congo TM zone 12", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2559,21 +2925,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4697\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4697\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",12],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",12],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3318\"]]");
-    p = add_epsg_def (filter, first, last, 3319, "epsg", 3319,
-        "IGC 1962 / Congo TM zone 14");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3318\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3319, "epsg", 3319,
+        "IGC 1962 / Congo TM zone 14", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2591,21 +2962,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4697\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4697\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",14],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",14],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3319\"]]");
-    p = add_epsg_def (filter, first, last, 3320, "epsg", 3320,
-        "IGC 1962 / Congo TM zone 16");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3319\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3320, "epsg", 3320,
+        "IGC 1962 / Congo TM zone 16", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2623,21 +2999,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4697\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4697\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",16],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",16],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3320\"]]");
-    p = add_epsg_def (filter, first, last, 3321, "epsg", 3321,
-        "IGC 1962 / Congo TM zone 18");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3320\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3321, "epsg", 3321,
+        "IGC 1962 / Congo TM zone 18", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2655,21 +3036,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4697\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4697\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",18],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",18],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3321\"]]");
-    p = add_epsg_def (filter, first, last, 3322, "epsg", 3322,
-        "IGC 1962 / Congo TM zone 20");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3321\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3322, "epsg", 3322,
+        "IGC 1962 / Congo TM zone 20", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=20 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2687,21 +3073,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4697\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4697\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",20],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",20],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3322\"]]");
-    p = add_epsg_def (filter, first, last, 3323, "epsg", 3323,
-        "IGC 1962 / Congo TM zone 22");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3322\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3323, "epsg", 3323,
+        "IGC 1962 / Congo TM zone 22", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2719,21 +3110,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4697\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4697\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",22],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",22],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3323\"]]");
-    p = add_epsg_def (filter, first, last, 3324, "epsg", 3324,
-        "IGC 1962 / Congo TM zone 24");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3323\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3324, "epsg", 3324,
+        "IGC 1962 / Congo TM zone 24", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2751,21 +3147,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4697\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4697\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",24],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",24],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3324\"]]");
-    p = add_epsg_def (filter, first, last, 3325, "epsg", 3325,
-        "IGC 1962 / Congo TM zone 26");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3324\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3325, "epsg", 3325,
+        "IGC 1962 / Congo TM zone 26", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=26 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2783,21 +3184,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4697\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4697\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",26],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",26],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3325\"]]");
-    p = add_epsg_def (filter, first, last, 3326, "epsg", 3326,
-        "IGC 1962 / Congo TM zone 28");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3325\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3326, "epsg", 3326,
+        "IGC 1962 / Congo TM zone 28", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=28 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2815,21 +3221,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4697\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4697\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",28],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",28],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3326\"]]");
-    p = add_epsg_def (filter, first, last, 3327, "epsg", 3327,
-        "IGC 1962 / Congo TM zone 30");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3326\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3327, "epsg", 3327,
+        "IGC 1962 / Congo TM zone 30", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2847,21 +3258,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4697\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4697\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",30],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",30],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3327\"]]");
-    p = add_epsg_def (filter, first, last, 3328, "epsg", 3328,
-        "Pulkovo 1942(58) / GUGiK-80");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3327\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3328, "epsg", 3328,
+        "Pulkovo 1942(58) / GUGiK-80", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Oblique_Stereographic", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=52.16666666666666 +lon_0=19.16666666");
     add_proj4text (p, 1,
@@ -2883,21 +3299,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4179");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4179\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",52.16666666666666],PARAMETER[\"centr");
+        "ROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "al_meridian\",19.16666666666667],PARAMETER[\"scale_facto");
+        "e_of_origin\",52.16666666666666],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "r\",0.999714],PARAMETER[\"false_easting\",500000],PARAME");
+        "idian\",19.16666666666667],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",500000],UNIT[\"metre\",1,AUTHORIT");
+        "999714],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3328\"]]");
-    p = add_epsg_def (filter, first, last, 3329, "epsg", 3329,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5");
+        "false_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"3328\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3329, "epsg", 3329,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2917,21 +3340,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",15],PARAMETER[\"scale_factor\",1],PARAMET");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",5500000],PARAMETER[\"false_northing");
+        "idian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "lse_easting\",5500000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3329\"]]");
-    p = add_epsg_def (filter, first, last, 3330, "epsg", 3330,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 6");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3329\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3330, "epsg", 3330,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 6", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2951,21 +3379,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",18],PARAMETER[\"scale_factor\",1],PARAMET");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",6500000],PARAMETER[\"false_northing");
+        "idian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "lse_easting\",6500000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3330\"]]");
-    p = add_epsg_def (filter, first, last, 3331, "epsg", 3331,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 7");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3330\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3331, "epsg", 3331,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 7", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2985,21 +3418,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",21],PARAMETER[\"scale_factor\",1],PARAMET");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",7500000],PARAMETER[\"false_northing");
+        "idian\",21],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "lse_easting\",7500000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3331\"]]");
-    p = add_epsg_def (filter, first, last, 3332, "epsg", 3332,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 8");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3331\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3332, "epsg", 3332,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 8", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -3019,21 +3457,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",24],PARAMETER[\"scale_factor\",1],PARAMET");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",8500000],PARAMETER[\"false_northing");
+        "idian\",24],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "lse_easting\",8500000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3332\"]]");
-    p = add_epsg_def (filter, first, last, 3333, "epsg", 3333,
-        "Pulkovo 1942(58) / Gauss-Kruger zone 3");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3332\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3333, "epsg", 3333,
+        "Pulkovo 1942(58) / Gauss-Kruger zone 3", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -3053,21 +3496,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        "4179\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "dian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 10,
-        "se_easting\",3500000],PARAMETER[\"false_northing\",0],UN");
+        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ng\",3500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "EPSG\",\"3333\"]]");
-    p = add_epsg_def (filter, first, last, 3334, "epsg", 3334,
-        "Pulkovo 1942(58) / Gauss-Kruger zone 4");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3333\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3334, "epsg", 3334,
+        "Pulkovo 1942(58) / Gauss-Kruger zone 4", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -3087,21 +3535,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        "4179\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "dian\",21],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
     add_srs_wkt (p, 10,
-        "se_easting\",4500000],PARAMETER[\"false_northing\",0],UN");
+        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ng\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "EPSG\",\"3334\"]]");
-    p = add_epsg_def (filter, first, last, 3335, "epsg", 3335,
-        "Pulkovo 1942(58) / Gauss-Kruger zone 5");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3334\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3335, "epsg", 3335,
+        "Pulkovo 1942(58) / Gauss-Kruger zone 5", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -3121,21 +3574,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        "4179\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "dian\",27],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
     add_srs_wkt (p, 10,
-        "se_easting\",5500000],PARAMETER[\"false_northing\",0],UN");
+        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ng\",5500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "EPSG\",\"3335\"]]");
-    p = add_epsg_def (filter, first, last, 3336, "epsg", 3336,
-        "IGN 1962 Kerguelen / UTM zone 42S");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3335\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3336, "epsg", 3336,
+        "IGN 1962 Kerguelen / UTM zone 42S", 0, 0,
+        "International 1924", "Greenwich",
+        "IGN_1962_Kerguelen", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,");
     add_proj4text (p, 1,
@@ -3153,21 +3611,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4698\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4698\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "],PARAMETER[\"central_meridian\",69],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\",");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3336\"]]");
-    p = add_epsg_def (filter, first, last, 3337, "epsg", 3337,
-        "Le Pouce 1934 / Mauritius Grid");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3336\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3337, "epsg", 3337,
+        "Le Pouce 1934 / Mauritius Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Le_Pouce_1934", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-20.19506944444445 +lat_0=-20.195069444");
     add_proj4text (p, 1,
@@ -3189,27 +3652,34 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4699\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitu");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4699\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "de_of_origin\",-20.19506944444445],PARAMETER[\"central_m");
+        "Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "eridian\",57.52182777777778],PARAMETER[\"scale_factor\",");
+        "rigin\",-20.19506944444445],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        "1],PARAMETER[\"false_easting\",1000000],PARAMETER[\"fals");
+        "\",57.52182777777778],PARAMETER[\"scale_factor\",1],PARA");
     add_srs_wkt (p, 11,
-        "e_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "METER[\"false_easting\",1000000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "ing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "TH],AUTHORITY[\"EPSG\",\"3337\"]]");
-    p = add_epsg_def (filter, first, last, 3338, "epsg", 3338,
-        "NAD83 / Alaska Albers");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 14,
+        "THORITY[\"EPSG\",\"3337\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3338, "epsg", 3338,
+        "NAD83 / Alaska Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0");
     add_proj4text (p, 1,
-        "=0 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
+    add_proj4text (p, 2,
+        "no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Alaska Albers\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
@@ -3221,23 +3691,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Area\"],PARAMETER[\"standard_parallel_1\",55],PARAMETER[");
+        "PSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_Area\"]");
     add_srs_wkt (p, 8,
-        "\"standard_parallel_2\",65],PARAMETER[\"latitude_of_cent");
+        ",PARAMETER[\"standard_parallel_1\",55],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "er\",50],PARAMETER[\"longitude_of_center\",-154],PARAMET");
+        "ard_parallel_2\",65],PARAMETER[\"latitude_of_center\",50");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
+        "],PARAMETER[\"longitude_of_center\",-154],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "lse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3338\"]]");
-    p = add_epsg_def (filter, first, last, 3339, "epsg", 3339,
-        "IGCB 1955 / Congo TM zone 12");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3338\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3339, "epsg", 3339,
+        "IGCB 1955 / Congo TM zone 12", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Institut_Geographique_du_Congo_Belge_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -3257,23 +3732,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4701\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4701\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ian\",12],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        "2],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"3339\"]]");
-    p = add_epsg_def (filter, first, last, 3340, "epsg", 3340,
-        "IGCB 1955 / Congo TM zone 14");
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"3339\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3340, "epsg", 3340,
+        "IGCB 1955 / Congo TM zone 14", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Institut_Geographique_du_Congo_Belge_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -3293,23 +3773,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4701\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4701\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ian\",14],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        "4],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"3340\"]]");
-    p = add_epsg_def (filter, first, last, 3341, "epsg", 3341,
-        "IGCB 1955 / Congo TM zone 16");
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"3340\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3341, "epsg", 3341,
+        "IGCB 1955 / Congo TM zone 16", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Institut_Geographique_du_Congo_Belge_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -3329,23 +3814,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4701\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4701\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ian\",16],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        "6],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"3341\"]]");
-    p = add_epsg_def (filter, first, last, 3342, "epsg", 3342,
-        "IGCB 1955 / UTM zone 33S");
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"3341\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3342, "epsg", 3342,
+        "IGCB 1955 / UTM zone 33S", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Institut_Geographique_du_Congo_Belge_1955", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=33 +south +ellps=clrk80 +towgs84=-79.9,-");
     add_proj4text (p, 1,
@@ -3363,23 +3853,28 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4701\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4701");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",15],");
     add_srs_wkt (p, 10,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 13,
-        "G\",\"3342\"]]");
-    p = add_epsg_def (filter, first, last, 3343, "epsg", 3343,
-        "Mauritania 1999 / UTM zone 28N");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3342\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3343, "epsg", 3343,
+        "Mauritania 1999 / UTM zone 28N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mauritania_1999", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3397,21 +3892,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4702\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4702\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-15],PARAMETER[\"scale_factor\",");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "entral_meridian\",-15],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"3343\"]]");
-    p = add_epsg_def (filter, first, last, 3344, "epsg", 3344,
-        "Mauritania 1999 / UTM zone 29N");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"3343\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3344, "epsg", 3344,
+        "Mauritania 1999 / UTM zone 29N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mauritania_1999", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3429,21 +3929,26 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4702\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4702\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-9],PARAMETER[\"scale_factor\",0");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "entral_meridian\",-9],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"3344\"]]");
-    p = add_epsg_def (filter, first, last, 3345, "epsg", 3345,
-        "Mauritania 1999 / UTM zone 30N");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"3344\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3345, "epsg", 3345,
+        "Mauritania 1999 / UTM zone 30N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mauritania_1999", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3461,19 +3966,21 @@ initialize_epsg_12 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4702\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4702\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-3],PARAMETER[\"scale_factor\",0");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "entral_meridian\",-3],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"3345\"]]");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"3345\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_13.c b/src/srsinit/epsg_inlined_13.c
index 7bd32ce..19c0c5e 100644
--- a/src/srsinit/epsg_inlined_13.c
+++ b/src/srsinit/epsg_inlined_13.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 3346, "epsg", 3346,
-        "LKS94 / Lithuania TM");
+    p = add_epsg_def_ex (filter, first, last, 3346, "epsg", 3346,
+        "LKS94 / Lithuania TM", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Lithuania_1994_ETRS89", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -71,27 +76,32 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4669\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        ",\"4669\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "ridian\",24],PARAMETER[\"scale_factor\",0.9998],PARAMETE");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 9,
-        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
+        "\",24],PARAMETER[\"scale_factor\",0.9998],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"3346\"]]");
-    p = add_epsg_def (filter, first, last, 3347, "epsg", 3347,
-        "NAD83 / Statistics Canada Lambert");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 12,
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3346\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3347, "epsg", 3347,
+        "NAD83 / Statistics Canada Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-9");
     add_proj4text (p, 1,
-        "1.86666666666666 +x_0=6200000 +y_0=3000000 +datum=NAD83 ");
+        "1.86666666666666 +x_0=6200000 +y_0=3000000 +ellps=GRS80 ");
     add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "+towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Statistics Canada Lambert\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
@@ -105,25 +115,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",49],PARAMETER[\"standard_parallel_2\",77],PARAMETER[\"l");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",49],");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",63.390675],PARAMETER[\"central_merid");
+        "PARAMETER[\"standard_parallel_2\",77],PARAMETER[\"latitu");
     add_srs_wkt (p, 10,
-        "ian\",-91.86666666666666],PARAMETER[\"false_easting\",62");
+        "de_of_origin\",63.390675],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        "00000],PARAMETER[\"false_northing\",3000000],UNIT[\"metr");
+        ",-91.86666666666666],PARAMETER[\"false_easting\",6200000");
     add_srs_wkt (p, 12,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
+        "],PARAMETER[\"false_northing\",3000000],UNIT[\"metre\",1");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3347\"]");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AX");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 3348, "epsg", 3348,
-        "NAD83(CSRS) / Statistics Canada Lambert");
+        "IS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3347\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3348, "epsg", 3348,
+        "NAD83(CSRS) / Statistics Canada Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-9");
     add_proj4text (p, 1,
@@ -143,25 +156,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"46");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "17\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",49],PARAMETER[\"standard_pa");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "rallel_2\",77],PARAMETER[\"latitude_of_origin\",63.39067");
+        "standard_parallel_1\",49],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "5],PARAMETER[\"central_meridian\",-91.86666666666666],PA");
+        "2\",77],PARAMETER[\"latitude_of_origin\",63.390675],PARA");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",6200000],PARAMETER[\"false_nor");
+        "METER[\"central_meridian\",-91.86666666666666],PARAMETER");
     add_srs_wkt (p, 12,
-        "thing\",3000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "[\"false_easting\",6200000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        ",3000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"3348\"]]");
-    p = add_epsg_def (filter, first, last, 3349, "epsg", 3349,
-        "WGS 84 / PDC Mercator (deprecated)");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"3348\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3349, "epsg", 3349,
+        "WGS 84 / PDC Mercator (deprecated)", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Mercator_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=-150 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +");
     add_proj4text (p, 1,
@@ -177,25 +195,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "JECTION[\"Mercator_1SP\"],PARAMETER[\"central_meridian\"");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTIO");
     add_srs_wkt (p, 7,
-        ",-150],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "N[\"Mercator_1SP\"],PARAMETER[\"central_meridian\",-150]");
     add_srs_wkt (p, 8,
-        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 9,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
+        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 10,
-        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3349\"]]");
-    p = add_epsg_def (filter, first, last, 3350, "epsg", 3350,
-        "Pulkovo 1942 / CS63 zone C0");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+    add_srs_wkt (p, 11,
+        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3349\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3350, "epsg", 3350,
+        "Pulkovo 1942 / CS63 zone C0", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0.1 +lon_0=21.95 +k=1 +x_0=250000 +y_");
     add_proj4text (p, 1,
-        "0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.");
+        "0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.8");
     add_proj4text (p, 2,
-        "82,-0.12 +units=m +no_defs");
+        "2,-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / CS63 zone C0\",GEOGCS[\"Pulkovo ");
     add_srs_wkt (p, 1,
@@ -203,31 +226,38 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2");
     add_srs_wkt (p, 3,
-        "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
+        "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
         ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0.1],PARAMETER[\"central_meridian\",21.95],PARAMETE");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",250000");
+        ".1],PARAMETER[\"central_meridian\",21.95],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "ale_factor\",1],PARAMETER[\"false_easting\",250000],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3350\"]]");
-    p = add_epsg_def (filter, first, last, 3351, "epsg", 3351,
-        "Pulkovo 1942 / CS63 zone C1");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"3350\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3351, "epsg", 3351,
+        "Pulkovo 1942 / CS63 zone C1", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0.1 +lon_0=24.95 +k=1 +x_0=1250000 +y");
     add_proj4text (p, 1,
-        "_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0");
+        "_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.");
     add_proj4text (p, 2,
-        ".82,-0.12 +units=m +no_defs");
+        "82,-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / CS63 zone C1\",GEOGCS[\"Pulkovo ");
     add_srs_wkt (p, 1,
@@ -235,31 +265,38 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2");
     add_srs_wkt (p, 3,
-        "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
+        "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
         ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0.1],PARAMETER[\"central_meridian\",24.95],PARAMETE");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",125000");
+        ".1],PARAMETER[\"central_meridian\",24.95],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",1250000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3351\"]]");
-    p = add_epsg_def (filter, first, last, 3352, "epsg", 3352,
-        "Pulkovo 1942 / CS63 zone C2");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3351\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3352, "epsg", 3352,
+        "Pulkovo 1942 / CS63 zone C2", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0.1 +lon_0=27.95 +k=1 +x_0=2250000 +y");
     add_proj4text (p, 1,
-        "_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0");
+        "_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.");
     add_proj4text (p, 2,
-        ".82,-0.12 +units=m +no_defs");
+        "82,-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / CS63 zone C2\",GEOGCS[\"Pulkovo ");
     add_srs_wkt (p, 1,
@@ -267,25 +304,32 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2");
     add_srs_wkt (p, 3,
-        "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
+        "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
         ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0.1],PARAMETER[\"central_meridian\",27.95],PARAMETE");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",225000");
+        ".1],PARAMETER[\"central_meridian\",27.95],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ale_factor\",1],PARAMETER[\"false_easting\",2250000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3352\"]]");
-    p = add_epsg_def (filter, first, last, 3353, "epsg", 3353,
-        "Mhast (onshore) / UTM zone 32S");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3352\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3353, "epsg", 3353,
+        "Mhast (onshore) / UTM zone 32S", 0, 0,
+        "International 1924", "Greenwich",
+        "Mhast_onshore", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=32 +south +ellps=intl +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -299,23 +343,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4704\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4704\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",9],PAR");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",10000000],");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "g\",500000],PARAMETER[\"false_northing\",10000000],UNIT[");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
     add_srs_wkt (p, 12,
-        ",\"3353\"]]");
-    p = add_epsg_def (filter, first, last, 3354, "epsg", 3354,
-        "Mhast (offshore) / UTM zone 32S");
+        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 13,
+        "353\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3354, "epsg", 3354,
+        "Mhast (offshore) / UTM zone 32S", 0, 0,
+        "International 1924", "Greenwich",
+        "Mhast_offshore", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=32 +south +ellps=intl +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -329,23 +378,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4705\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"470");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",9],");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "PSG\",\"3354\"]]");
-    p = add_epsg_def (filter, first, last, 3355, "epsg", 3355,
-        "Egypt Gulf of Suez S-650 TL / Red Belt");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"3354\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3355, "epsg", 3355,
+        "Egypt Gulf of Suez S-650 TL / Red Belt", 0, 0,
+        "Helmert 1906", "Greenwich",
+        "Egypt_Gulf_of_Suez_S_650_TL", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=81");
     add_proj4text (p, 1,
@@ -365,23 +419,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4706\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"central");
+        "\",\"4706\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "_meridian\",31],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "TER[\"latitude_of_origin\",30],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "\"false_easting\",615000],PARAMETER[\"false_northing\",8");
+        "ian\",31],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "10000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "e_easting\",615000],PARAMETER[\"false_northing\",810000]");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"3355\"]]");
-    p = add_epsg_def (filter, first, last, 3356, "epsg", 3356,
-        "Grand Cayman 1959 / UTM zone 17N (deprecated)");
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"3355\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3356, "epsg", 3356,
+        "Grand Cayman 1959 / UTM zone 17N (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Grand_Cayman_Geodetic_Datum_1959", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +ellps=clrk66 +towgs84=-179.483,-69.3");
     add_proj4text (p, 1,
@@ -391,9 +450,9 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",GEOGCS[\"GCGD59\",DATUM[\"Grand_Cayman_Geodetic_Datum_1");
     add_srs_wkt (p, 2,
-        "959\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821390");
+        "959\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821389");
     add_srs_wkt (p, 3,
-        "06,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-179.483,-69.37");
+        "82,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-179.483,-69.37");
     add_srs_wkt (p, 4,
         "9,-27.584,-7.862,8.163,6.042,-13.925],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
@@ -401,21 +460,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 7,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4723\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 8,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4723\"]],PROJECTION[\"T");
     add_srs_wkt (p, 9,
-        "in\",0],PARAMETER[\"central_meridian\",-81],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 10,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_");
     add_srs_wkt (p, 11,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 13,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3356\"]]");
-    p = add_epsg_def (filter, first, last, 3357, "epsg", 3357,
-        "Little Cayman 1961 / UTM zone 17N (deprecated)");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 14,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3356\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3357, "epsg", 3357,
+        "Little Cayman 1961 / UTM zone 17N (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Sister_Islands_Geodetic_Datum_1961", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +ellps=clrk66 +towgs84=8.853,-52.644,");
     add_proj4text (p, 1,
@@ -427,7 +491,7 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "_1961\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213");
     add_srs_wkt (p, 3,
-        "9006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644");
+        "8982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644");
     add_srs_wkt (p, 4,
         ",180.304,-0.393,-2.323,2.96,-24.081],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
@@ -435,21 +499,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4726\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 8,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4726\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 9,
-        "n\",0],PARAMETER[\"central_meridian\",-81],PARAMETER[\"s");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 10,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        ",PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_f");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"3357\"]]");
-    p = add_epsg_def (filter, first, last, 3358, "epsg", 3358,
-        "NAD83(HARN) / North Carolina");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"3357\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3358, "epsg", 3358,
+        "NAD83(HARN) / North Carolina", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
     add_proj4text (p, 1,
@@ -469,25 +538,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",36.16666666666666],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",34.33333333333334],PARAMETER[\"latitude_of_");
+        "llel_1\",36.16666666666666],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "origin\",33.75],PARAMETER[\"central_meridian\",-79],PARA");
+        "l_2\",34.33333333333334],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",609601.22],PARAMETER[\"false_nor");
+        ",33.75],PARAMETER[\"central_meridian\",-79],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "false_easting\",609601.22],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "\"3358\"]]");
-    p = add_epsg_def (filter, first, last, 3359, "epsg", 3359,
-        "NAD83(HARN) / North Carolina (ftUS) (deprecated)");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3358\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3359, "epsg", 3359,
+        "NAD83(HARN) / North Carolina (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
     add_proj4text (p, 1,
@@ -507,25 +581,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",36.16666666666666],P");
+        "52\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",34.33333333333334],PARA");
+        "ETER[\"standard_parallel_1\",36.16666666666666],PARAMETE");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",33.75],PARAMETER[\"central_");
+        "R[\"standard_parallel_2\",34.33333333333334],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "meridian\",-79],PARAMETER[\"false_easting\",2000004.0000");
+        "latitude_of_origin\",33.75],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "08],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048");
+        "\",-79],PARAMETER[\"false_easting\",2000004.000008],PARA");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "METER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORI");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3359\"]]");
-    p = add_epsg_def (filter, first, last, 3360, "epsg", 3360,
-        "NAD83(HARN) / South Carolina");
+        "TY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 15,
+        "],AUTHORITY[\"EPSG\",\"3359\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3360, "epsg", 3360,
+        "NAD83(HARN) / South Carolina", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
     add_proj4text (p, 1,
@@ -545,25 +624,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "rd_parallel_1\",34.83333333333334],PARAMETER[\"standard_");
+        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 9,
-        "parallel_2\",32.5],PARAMETER[\"latitude_of_origin\",31.8");
+        "llel_1\",34.83333333333334],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "3333333333333],PARAMETER[\"central_meridian\",-81],PARAM");
+        "l_2\",32.5],PARAMETER[\"latitude_of_origin\",31.83333333");
     add_srs_wkt (p, 11,
-        "ETER[\"false_easting\",609600],PARAMETER[\"false_northin");
+        "333333],PARAMETER[\"central_meridian\",-81],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "false_easting\",609600],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 13,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"33");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 14,
-        "60\"]]");
-    p = add_epsg_def (filter, first, last, 3361, "epsg", 3361,
-        "NAD83(HARN) / South Carolina (ft)");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3360\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3361, "epsg", 3361,
+        "NAD83(HARN) / South Carolina (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
     add_proj4text (p, 1,
@@ -583,25 +665,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",34.83333333333334],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",32.5],PARAMETER[\"latitude_of_origin\",");
+        "_parallel_1\",34.83333333333334],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "31.83333333333333],PARAMETER[\"central_meridian\",-81],P");
+        "rallel_2\",32.5],PARAMETER[\"latitude_of_origin\",31.833");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",2000000],PARAMETER[\"false_no");
+        "33333333333],PARAMETER[\"central_meridian\",-81],PARAMET");
     add_srs_wkt (p, 12,
-        "rthing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"90");
+        "ER[\"false_easting\",2000000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 13,
-        "02\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]]");
     add_srs_wkt (p, 14,
-        "SG\",\"3361\"]]");
-    p = add_epsg_def (filter, first, last, 3362, "epsg", 3362,
-        "NAD83(HARN) / Pennsylvania North");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "3361\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3362, "epsg", 3362,
+        "NAD83(HARN) / Pennsylvania North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
     add_proj4text (p, 1,
@@ -621,25 +708,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",41.95],PARAMETER[\"standard_parallel");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "_2\",40.88333333333333],PARAMETER[\"latitude_of_origin\"");
+        "_parallel_1\",41.95],PARAMETER[\"standard_parallel_2\",4");
     add_srs_wkt (p, 10,
-        ",40.16666666666666],PARAMETER[\"central_meridian\",-77.7");
+        "0.88333333333333],PARAMETER[\"latitude_of_origin\",40.16");
     add_srs_wkt (p, 11,
-        "5],PARAMETER[\"false_easting\",600000],PARAMETER[\"false");
+        "666666666666],PARAMETER[\"central_meridian\",-77.75],PAR");
     add_srs_wkt (p, 12,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",600000],PARAMETER[\"false_north");
     add_srs_wkt (p, 13,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 14,
-        "G\",\"3362\"]]");
-    p = add_epsg_def (filter, first, last, 3363, "epsg", 3363,
-        "NAD83(HARN) / Pennsylvania North (ftUS)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "3362\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3363, "epsg", 3363,
+        "NAD83(HARN) / Pennsylvania North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
     add_proj4text (p, 1,
@@ -659,25 +751,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",41.95],PARAMETER[\"standard_p");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "arallel_2\",40.88333333333333],PARAMETER[\"latitude_of_o");
+        "tandard_parallel_1\",41.95],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "rigin\",40.16666666666666],PARAMETER[\"central_meridian\"");
+        "l_2\",40.88333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        ",-77.75],PARAMETER[\"false_easting\",1968500],PARAMETER[");
+        ",40.16666666666666],PARAMETER[\"central_meridian\",-77.7");
     add_srs_wkt (p, 12,
-        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
+        "5],PARAMETER[\"false_easting\",1968500],PARAMETER[\"fals");
     add_srs_wkt (p, 13,
-        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
     add_srs_wkt (p, 14,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3363\"]]");
-    p = add_epsg_def (filter, first, last, 3364, "epsg", 3364,
-        "NAD83(HARN) / Pennsylvania South");
+        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3363\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3364, "epsg", 3364,
+        "NAD83(HARN) / Pennsylvania South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
     add_proj4text (p, 1,
@@ -699,25 +796,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",40.96666666666667],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",39.93333333333333],PARAMETER[\"latitude");
+        "_parallel_1\",40.96666666666667],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",39.33333333333334],PARAMETER[\"central_meri");
+        "rallel_2\",39.93333333333333],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "dian\",-77.75],PARAMETER[\"false_easting\",600000],PARAM");
+        "igin\",39.33333333333334],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",-77.75],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"3364\"]]");
-    p = add_epsg_def (filter, first, last, 3365, "epsg", 3365,
-        "NAD83(HARN) / Pennsylvania South (ftUS)");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"3364\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3365, "epsg", 3365,
+        "NAD83(HARN) / Pennsylvania South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
     add_proj4text (p, 1,
@@ -739,27 +841,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",40.96666666666667],PARAMETER[");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "\"standard_parallel_2\",39.93333333333333],PARAMETER[\"l");
+        "tandard_parallel_1\",40.96666666666667],PARAMETER[\"stan");
     add_srs_wkt (p, 10,
-        "atitude_of_origin\",39.33333333333334],PARAMETER[\"centr");
+        "dard_parallel_2\",39.93333333333333],PARAMETER[\"latitud");
     add_srs_wkt (p, 11,
-        "al_meridian\",-77.75],PARAMETER[\"false_easting\",196850");
+        "e_of_origin\",39.33333333333334],PARAMETER[\"central_mer");
     add_srs_wkt (p, 12,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
+        "idian\",-77.75],PARAMETER[\"false_easting\",1968500],PAR");
     add_srs_wkt (p, 13,
-        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
+        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
     add_srs_wkt (p, 14,
-        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3365");
+        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 15,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3366, "epsg", 3366,
-        "Hong Kong 1963 Grid System (deprecated)");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3365\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3366, "epsg", 3366,
+        "Hong Kong 1963 Grid System (deprecated)", 0, 1,
+        "Clarke 1858", "Greenwich",
+        "Hong_Kong_1963", "Cassini_Soldner", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=22.31213333333334 +lon_0=114.178555555");
     add_proj4text (p, 1,
@@ -771,7 +876,7 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "S[\"Hong Kong 1963\",DATUM[\"Hong_Kong_1963\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "Clarke 1858\",6378293.645208759,294.2606763692569,AUTHOR");
+        "Clarke 1858\",6378293.645208759,294.2606763692606,AUTHOR");
     add_srs_wkt (p, 3,
         "ITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"6738\"]],PR");
     add_srs_wkt (p, 4,
@@ -779,21 +884,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4738\"]],PROJECTION[\"Cassini_So");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "ldner\"],PARAMETER[\"latitude_of_origin\",22.31213333333");
+        "HORITY[\"EPSG\",\"4738\"]],PROJECTION[\"Cassini_Soldner\"");
     add_srs_wkt (p, 8,
-        "334],PARAMETER[\"central_meridian\",114.1785555555556],P");
+        "],PARAMETER[\"latitude_of_origin\",22.31213333333334],PA");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",40243.57775604237],PARAMETER[");
+        "RAMETER[\"central_meridian\",114.1785555555556],PARAMETE");
     add_srs_wkt (p, 10,
-        "\"false_northing\",19069.93351512578],UNIT[\"metre\",1,A");
+        "R[\"false_easting\",40243.57775604237],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3366\"");
+        "_northing\",19069.93351512578],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3367, "epsg", 3367,
-        "IGN Astro 1960 / UTM zone 28N");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Ea");
+    add_srs_wkt (p, 13,
+        "sting\",EAST],AUTHORITY[\"EPSG\",\"3366\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3367, "epsg", 3367,
+        "IGN Astro 1960 / UTM zone 28N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGN_Astro_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=clrk80 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -807,23 +917,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4700\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4700\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",-15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
+        "15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
     add_srs_wkt (p, 12,
-        "G\",\"3367\"]]");
-    p = add_epsg_def (filter, first, last, 3368, "epsg", 3368,
-        "IGN Astro 1960 / UTM zone 29N");
+        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 13,
+        "367\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3368, "epsg", 3368,
+        "IGN Astro 1960 / UTM zone 29N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGN_Astro_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -837,23 +952,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4700\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4700\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",-9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        ",\"3368\"]]");
-    p = add_epsg_def (filter, first, last, 3369, "epsg", 3369,
-        "IGN Astro 1960 / UTM zone 30N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"336");
+    add_srs_wkt (p, 13,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3369, "epsg", 3369,
+        "IGN Astro 1960 / UTM zone 30N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGN_Astro_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -867,23 +987,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4700\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4700\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",-3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        ",\"3369\"]]");
-    p = add_epsg_def (filter, first, last, 3370, "epsg", 3370,
-        "NAD27 / UTM zone 59N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"336");
+    add_srs_wkt (p, 13,
+        "9\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3370, "epsg", 3370,
+        "NAD27 / UTM zone 59N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=59 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -891,29 +1016,34 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
         "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "71],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",171],P");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        "370\"]]");
-    p = add_epsg_def (filter, first, last, 3371, "epsg", 3371,
-        "NAD27 / UTM zone 60N");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3370\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3371, "epsg", 3371,
+        "NAD27 / UTM zone 60N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=60 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -921,31 +1051,38 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
         "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "77],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",177],P");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        "371\"]]");
-    p = add_epsg_def (filter, first, last, 3372, "epsg", 3372,
-        "NAD83 / UTM zone 59N");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3371\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3372, "epsg", 3372,
+        "NAD83 / UTM zone 59N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=59 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=59 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+    add_proj4text (p, 1,
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / UTM zone 59N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -957,25 +1094,32 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",171],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "idian\",171],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"3372\"]]");
-    p = add_epsg_def (filter, first, last, 3373, "epsg", 3373,
-        "NAD83 / UTM zone 60N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"3372\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3373, "epsg", 3373,
+        "NAD83 / UTM zone 60N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=60 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=60 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+    add_proj4text (p, 1,
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / UTM zone 60N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -987,23 +1131,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",177],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "idian\",177],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"3373\"]]");
-    p = add_epsg_def (filter, first, last, 3374, "epsg", 3374,
-        "FD54 / UTM zone 29N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"3373\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3374, "epsg", 3374,
+        "FD54 / UTM zone 29N", 0, 0,
+        "International 1924", "Greenwich",
+        "Faroe_Datum_1954", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +ellps=intl +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1017,21 +1166,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4741\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 6,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4741\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 7,
-        ",0],PARAMETER[\"central_meridian\",-9],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 8,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",-9],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 10,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 11,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3374\"]]");
-    p = add_epsg_def (filter, first, last, 3375, "epsg", 3375,
-        "GDM2000 / Peninsula RSO");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3374\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3375, "epsg", 3375,
+        "GDM2000 / Peninsula RSO", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Hotine_Oblique_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.02579646666");
     add_proj4text (p, 1,
@@ -1049,27 +1203,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4742\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],PARA");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"474");
     add_srs_wkt (p, 7,
-        "METER[\"latitude_of_center\",4],PARAMETER[\"longitude_of");
+        "2\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],PARAMETER[");
     add_srs_wkt (p, 8,
-        "_center\",102.25],PARAMETER[\"azimuth\",323.025796466666");
+        "\"latitude_of_center\",4],PARAMETER[\"longitude_of_cente");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"rectified_grid_angle\",323.1301023611111]");
+        "r\",102.25],PARAMETER[\"azimuth\",323.0257964666666],PAR");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"scale_factor\",0.99984],PARAMETER[\"false_e");
+        "AMETER[\"rectified_grid_angle\",323.1301023611111],PARAM");
     add_srs_wkt (p, 11,
-        "asting\",804671],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "ETER[\"scale_factor\",0.99984],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "\",804671],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"337");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 14,
-        "5\"]]");
-    p = add_epsg_def (filter, first, last, 3376, "epsg", 3376,
-        "GDM2000 / East Malaysia BRSO");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3375\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3376, "epsg", 3376,
+        "GDM2000 / East Malaysia BRSO", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Hotine_Oblique_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.9");
     add_proj4text (p, 1,
@@ -1087,25 +1244,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4742\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_center\",4],PARAMETER[\"longitud");
+        "4742\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],PARAMET");
     add_srs_wkt (p, 8,
-        "e_of_center\",115],PARAMETER[\"azimuth\",53.31580995],PA");
+        "ER[\"latitude_of_center\",4],PARAMETER[\"longitude_of_ce");
     add_srs_wkt (p, 9,
-        "RAMETER[\"rectified_grid_angle\",53.13010236111111],PARA");
+        "nter\",115],PARAMETER[\"azimuth\",53.31580995],PARAMETER");
     add_srs_wkt (p, 10,
-        "METER[\"scale_factor\",0.99984],PARAMETER[\"false_eastin");
+        "[\"rectified_grid_angle\",53.13010236111111],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "scale_factor\",0.99984],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3376\"]]");
-    p = add_epsg_def (filter, first, last, 3377, "epsg", 3377,
-        "GDM2000 / Johor Grid");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3376\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3377, "epsg", 3377,
+        "GDM2000 / Johor Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=2.121679744444445 +lon_0=103.427936236");
     add_proj4text (p, 1,
@@ -1123,23 +1285,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4742\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"lat");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4742\"");
     add_srs_wkt (p, 7,
-        "itude_of_origin\",2.121679744444445],PARAMETER[\"central");
+        "]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 8,
-        "_meridian\",103.4279362361111],PARAMETER[\"false_easting");
+        "of_origin\",2.121679744444445],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "\",-14810.562],PARAMETER[\"false_northing\",8758.32],UNI");
+        "ian\",103.4279362361111],PARAMETER[\"false_easting\",-14");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "810.562],PARAMETER[\"false_northing\",8758.32],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "3377\"]]");
-    p = add_epsg_def (filter, first, last, 3378, "epsg", 3378,
-        "GDM2000 / Sembilan and Melaka Grid");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3377\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3378, "epsg", 3378,
+        "GDM2000 / Sembilan and Melaka Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=2.682347636111111 +lon_0=101.974905041");
     add_proj4text (p, 1,
@@ -1157,23 +1324,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4742\"]],PROJECTION[\"Cassini_Soldner\"],PA");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",2.682347636111111],PARAME");
+        "SG\",\"4742\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "TER[\"central_meridian\",101.9749050416667],PARAMETER[\"");
+        "R[\"latitude_of_origin\",2.682347636111111],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "false_easting\",3673.785],PARAMETER[\"false_northing\",-");
+        "central_meridian\",101.9749050416667],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "4240.573],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "easting\",3673.785],PARAMETER[\"false_northing\",-4240.5");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "73],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"3378\"]]");
-    p = add_epsg_def (filter, first, last, 3379, "epsg", 3379,
-        "GDM2000 / PahangGrid");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"3378\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3379, "epsg", 3379,
+        "GDM2000 / PahangGrid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=3.769388088888889 +lon_0=102.368298983");
     add_proj4text (p, 1,
@@ -1191,23 +1363,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4742\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"lat");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4742\"");
     add_srs_wkt (p, 7,
-        "itude_of_origin\",3.769388088888889],PARAMETER[\"central");
+        "]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 8,
-        "_meridian\",102.3682989833333],PARAMETER[\"false_easting");
+        "of_origin\",3.769388088888889],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "\",-7368.228],PARAMETER[\"false_northing\",6485.858],UNI");
+        "ian\",102.3682989833333],PARAMETER[\"false_easting\",-73");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "68.228],PARAMETER[\"false_northing\",6485.858],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "3379\"]]");
-    p = add_epsg_def (filter, first, last, 3380, "epsg", 3380,
-        "GDM2000 / Selangor Grid");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3379\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3380, "epsg", 3380,
+        "GDM2000 / Selangor Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=3.68464905 +lon_0=101.3891079138889 +x");
     add_proj4text (p, 1,
@@ -1225,23 +1402,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4742\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"474");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",3.68464905],PARAMETER[\"central_mer");
+        "2\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        "idian\",101.3891079138889],PARAMETER[\"false_easting\",-");
+        "de_of_origin\",3.68464905],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 9,
-        "34836.161],PARAMETER[\"false_northing\",56464.049],UNIT[");
+        ",101.3891079138889],PARAMETER[\"false_easting\",-34836.1");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "61],PARAMETER[\"false_northing\",56464.049],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 12,
-        "380\"]]");
-    p = add_epsg_def (filter, first, last, 3381, "epsg", 3381,
-        "GDM2000 / Terengganu Grid");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3380\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3381, "epsg", 3381,
+        "GDM2000 / Terengganu Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=4.9762852 +lon_0=103.070275625 +x_0=19");
     add_proj4text (p, 1,
@@ -1257,21 +1437,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4742\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",4.9762852],PARAMETER[\"central_meri");
+        "42\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "dian\",103.070275625],PARAMETER[\"false_easting\",19594.");
+        "ude_of_origin\",4.9762852],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 9,
-        "245],PARAMETER[\"false_northing\",3371.895],UNIT[\"metre");
+        ",103.070275625],PARAMETER[\"false_easting\",19594.245],P");
     add_srs_wkt (p, 10,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
+        "ARAMETER[\"false_northing\",3371.895],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3381\"]]");
-    p = add_epsg_def (filter, first, last, 3382, "epsg", 3382,
-        "GDM2000 / Pinang Grid");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+    add_srs_wkt (p, 12,
+        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3381\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3382, "epsg", 3382,
+        "GDM2000 / Pinang Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=5.421517541666667 +lon_0=100.344376963");
     add_proj4text (p, 1,
@@ -1289,23 +1474,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "4742\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"lat");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4742\"");
     add_srs_wkt (p, 7,
-        "itude_of_origin\",5.421517541666667],PARAMETER[\"central");
+        "]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 8,
-        "_meridian\",100.3443769638889],PARAMETER[\"false_easting");
+        "of_origin\",5.421517541666667],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "\",-23.414],PARAMETER[\"false_northing\",62.283],UNIT[\"");
+        "ian\",100.3443769638889],PARAMETER[\"false_easting\",-23");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        ".414],PARAMETER[\"false_northing\",62.283],UNIT[\"metre\"");
     add_srs_wkt (p, 11,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"338");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 12,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 3383, "epsg", 3383,
-        "GDM2000 / Kedah and Perlis Grid");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3382\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3383, "epsg", 3383,
+        "GDM2000 / Kedah and Perlis Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=5.964672713888889 +lon_0=100.636371111");
     add_proj4text (p, 1,
@@ -1321,23 +1509,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4742\"]],PROJECTION[\"Cassini_Soldner\"],PARAME");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "TER[\"latitude_of_origin\",5.964672713888889],PARAMETER[");
+        ",\"4742\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",100.6363711111111],PARAMETER[\"fals");
+        "latitude_of_origin\",5.964672713888889],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "ral_meridian\",100.6363711111111],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 11,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3383\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3384, "epsg", 3384,
-        "GDM2000 / Perak Grid");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3383\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3384, "epsg", 3384,
+        "GDM2000 / Perak Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=4.859063022222222 +lon_0=100.815410586");
     add_proj4text (p, 1,
@@ -1355,23 +1546,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4742\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"lat");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4742\"");
     add_srs_wkt (p, 7,
-        "itude_of_origin\",4.859063022222222],PARAMETER[\"central");
+        "]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 8,
-        "_meridian\",100.8154105861111],PARAMETER[\"false_easting");
+        "of_origin\",4.859063022222222],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "\",-1.769],PARAMETER[\"false_northing\",133454.779],UNIT");
+        "ian\",100.8154105861111],PARAMETER[\"false_easting\",-1.");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "769],PARAMETER[\"false_northing\",133454.779],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        "3384\"]]");
-    p = add_epsg_def (filter, first, last, 3385, "epsg", 3385,
-        "GDM2000 / Kelantan Grid");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3384\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3385, "epsg", 3385,
+        "GDM2000 / Kelantan Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=5.972543658333334 +lon_0=102.295241669");
     add_proj4text (p, 1,
@@ -1389,23 +1585,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4742\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"474");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",5.972543658333334],PARAMETER[\"cent");
+        "2\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        "ral_meridian\",102.2952416694444],PARAMETER[\"false_east");
+        "de_of_origin\",5.972543658333334],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "ing\",13227.851],PARAMETER[\"false_northing\",8739.894],");
+        "ridian\",102.2952416694444],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "13227.851],PARAMETER[\"false_northing\",8739.894],UNIT[\"");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        ",\"3385\"]]");
-    p = add_epsg_def (filter, first, last, 3386, "epsg", 3386,
-        "KKJ / Finland zone 0");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"338");
+    add_srs_wkt (p, 13,
+        "5\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3386, "epsg", 3386,
+        "KKJ / Finland zone 0", 0, 1,
+        "International 1924", "Greenwich",
+        "Kartastokoordinaattijarjestelma_1966", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1425,21 +1626,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        ",\"4123\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "23\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",18");
     add_srs_wkt (p, 10,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        "\",\"3386\"]]");
-    p = add_epsg_def (filter, first, last, 3387, "epsg", 3387,
-        "KKJ / Finland zone 5");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3386\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3387, "epsg", 3387,
+        "KKJ / Finland zone 5", 0, 1,
+        "International 1924", "Greenwich",
+        "Kartastokoordinaattijarjestelma_1966", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1459,27 +1665,32 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        ",\"4123\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "23\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "\",33],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",33");
     add_srs_wkt (p, 10,
-        "asting\",5500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",5500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",\"3387\"]]");
-    p = add_epsg_def (filter, first, last, 3388, "epsg", 3388,
-        "Pulkovo 1942 / Caspian Sea Mercator");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3387\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3388, "epsg", 3388,
+        "Pulkovo 1942 / Caspian Sea Mercator", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Mercator_2SP", "metre",
+        "none", "North", "none", "East");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=51 +lat_ts=42 +x_0=0 +y_0=0 +ellps=kra");
     add_proj4text (p, 1,
-        "ss +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.12 +unit");
+        "ss +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / Caspian Sea Mercator\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1487,31 +1698,36 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Mercator_2SP\"],PARAMETER[\"standard_paral");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "lel_1\",42],PARAMETER[\"central_meridian\",51],PARAMETER");
+        "TION[\"Mercator_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",0],PARAMETER[\"false_northing\",0],UN");
+        ",42],PARAMETER[\"central_meridian\",51],PARAMETER[\"fals");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"3388\"]]");
-    p = add_epsg_def (filter, first, last, 3389, "epsg", 3389,
-        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 60");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"none\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AXIS[\"none\",EAST],AUTHORITY[\"EPSG\",\"3388\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3389, "epsg", 3389,
+        "Pulkovo 1942 / 3-degree Gauss-Kruger zone 60", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 60\",");
     add_srs_wkt (p, 1,
@@ -1519,33 +1735,38 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "80],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",180],P");
     add_srs_wkt (p, 10,
-        "ing\",60500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        ",60500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        ",\"3389\"]]");
-    p = add_epsg_def (filter, first, last, 3390, "epsg", 3390,
-        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 60");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"3389\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3390, "epsg", 3390,
+        "Pulkovo 1995 / 3-degree Gauss-Kruger zone 60", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 60\",");
     add_srs_wkt (p, 1,
@@ -1553,27 +1774,32 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "80],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",180],PAR");
     add_srs_wkt (p, 10,
-        "ing\",60500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",6");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "0500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"3390\"]]");
-    p = add_epsg_def (filter, first, last, 3391, "epsg", 3391,
-        "Karbala 1979 / UTM zone 37N");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"3390\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3391, "epsg", 3391,
+        "Karbala 1979 / UTM zone 37N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Karbala_1979", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=37 +ellps=clrk80 +towgs84=70.995,-335.91");
     add_proj4text (p, 1,
@@ -1591,21 +1817,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4743\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4743\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",39],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3391\"]]");
-    p = add_epsg_def (filter, first, last, 3392, "epsg", 3392,
-        "Karbala 1979 / UTM zone 38N");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3391\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3392, "epsg", 3392,
+        "Karbala 1979 / UTM zone 38N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Karbala_1979", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +ellps=clrk80 +towgs84=70.995,-335.91");
     add_proj4text (p, 1,
@@ -1623,21 +1854,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4743\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4743\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",45],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3392\"]]");
-    p = add_epsg_def (filter, first, last, 3393, "epsg", 3393,
-        "Karbala 1979 / UTM zone 39N");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3392\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3393, "epsg", 3393,
+        "Karbala 1979 / UTM zone 39N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Karbala_1979", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=39 +ellps=clrk80 +towgs84=70.995,-335.91");
     add_proj4text (p, 1,
@@ -1655,21 +1891,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4743\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4743\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "0],PARAMETER[\"central_meridian\",51],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3393\"]]");
-    p = add_epsg_def (filter, first, last, 3394, "epsg", 3394,
-        "Nahrwan 1934 / Iraq zone");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3393\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3394, "epsg", 3394,
+        "Nahrwan 1934 / Iraq zone", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nahrwan_1934", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.99878");
     add_proj4text (p, 1,
@@ -1687,23 +1928,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4744");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4744\"]],P");
     add_srs_wkt (p, 7,
-        "ER[\"latitude_of_origin\",32.5],PARAMETER[\"central_meri");
+        "ROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "dian\",45],PARAMETER[\"scale_factor\",0.9987864078],PARA");
+        "atitude_of_origin\",32.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",1500000],PARAMETER[\"false_north");
+        ",45],PARAMETER[\"scale_factor\",0.9987864078],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ing\",1166200],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "\"false_easting\",1500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "1166200],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"3394\"]]");
-    p = add_epsg_def (filter, first, last, 3395, "epsg", 3395,
-        "WGS 84 / World Mercator");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"3394\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3395, "epsg", 3395,
+        "WGS 84 / World Mercator", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Mercator_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +uni");
     add_proj4text (p, 1,
@@ -1719,19 +1965,24 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"M");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "ercator_1SP\"],PARAMETER[\"central_meridian\",0],PARAMET");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Mercato");
     add_srs_wkt (p, 7,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PA");
+        "r_1SP\"],PARAMETER[\"central_meridian\",0],PARAMETER[\"s");
     add_srs_wkt (p, 8,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "cale_factor\",1],PARAMETER[\"false_easting\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 10,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3395\"]]");
-    p = add_epsg_def (filter, first, last, 3396, "epsg", 3396,
-        "PD/83 / 3-degree Gauss-Kruger zone 3");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+    add_srs_wkt (p, 11,
+        "NORTH],AUTHORITY[\"EPSG\",\"3395\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3396, "epsg", 3396,
+        "PD/83 / 3-degree Gauss-Kruger zone 3", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Potsdam_Datum_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1747,21 +1998,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4746\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"474");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "6\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_ea");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",9],");
     add_srs_wkt (p, 9,
-        "sting\",3500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        ",3500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 11,
-        "\",\"3396\"]]");
-    p = add_epsg_def (filter, first, last, 3397, "epsg", 3397,
-        "PD/83 / 3-degree Gauss-Kruger zone 4");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"3396\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3397, "epsg", 3397,
+        "PD/83 / 3-degree Gauss-Kruger zone 4", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Potsdam_Datum_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1777,21 +2033,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4746\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"474");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "6\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",12],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",12]");
     add_srs_wkt (p, 9,
-        "asting\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"3397\"]]");
-    p = add_epsg_def (filter, first, last, 3398, "epsg", 3398,
-        "RD/83 / 3-degree Gauss-Kruger zone 4");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3397\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3398, "epsg", 3398,
+        "RD/83 / 3-degree Gauss-Kruger zone 4", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Rauenberg_Datum_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1807,21 +2068,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4745\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "45\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",12],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",12");
     add_srs_wkt (p, 9,
-        "asting\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "\",\"3398\"]]");
-    p = add_epsg_def (filter, first, last, 3399, "epsg", 3399,
-        "RD/83 / 3-degree Gauss-Kruger zone 5");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3398\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3399, "epsg", 3399,
+        "RD/83 / 3-degree Gauss-Kruger zone 5", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Rauenberg_Datum_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1837,25 +2103,32 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4745\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "45\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",15");
     add_srs_wkt (p, 9,
-        "asting\",5500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",5500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "\",\"3399\"]]");
-    p = add_epsg_def (filter, first, last, 3400, "epsg", 3400,
-        "NAD83 / Alberta 10-TM (Forest)");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3399\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3400, "epsg", 3400,
+        "NAD83 / Alberta 10-TM (Forest)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +");
     add_proj4text (p, 1,
-        "y_0=0 +datum=NAD83 +units=m +no_defs");
+        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 2,
+        "efs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Alberta 10-TM (Forest)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
@@ -1869,25 +2142,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-115],PARAMETER[\"scale_factor\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ",0.9992],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "entral_meridian\",-115],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "2],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"3400\"]]");
-    p = add_epsg_def (filter, first, last, 3401, "epsg", 3401,
-        "NAD83 / Alberta 10-TM (Resource)");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3400\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3401, "epsg", 3401,
+        "NAD83 / Alberta 10-TM (Resource)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        " +datum=NAD83 +units=m +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Alberta 10-TM (Resource)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
@@ -1901,21 +2179,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-115],PARAMETER[\"scale_facto");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "r\",0.9992],PARAMETER[\"false_easting\",0],PARAMETER[\"f");
+        "\"central_meridian\",-115],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "9992],PARAMETER[\"false_easting\",0],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"3401\"]]");
-    p = add_epsg_def (filter, first, last, 3402, "epsg", 3402,
-        "NAD83(CSRS) / Alberta 10-TM (Forest)");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"3401\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3402, "epsg", 3402,
+        "NAD83(CSRS) / Alberta 10-TM (Forest)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +");
     add_proj4text (p, 1,
@@ -1935,23 +2218,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-115],");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9992],PARAMETER[\"false_eas");
+        "_origin\",0],PARAMETER[\"central_meridian\",-115],PARAME");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "TER[\"scale_factor\",0.9992],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3402\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3403, "epsg", 3403,
-        "NAD83(CSRS) / Alberta 10-TM (Resource)");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3402\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3403, "epsg", 3403,
+        "NAD83(CSRS) / Alberta 10-TM (Resource)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1969,23 +2255,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"461");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-11");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",0.9992],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-115],PAR");
     add_srs_wkt (p, 10,
-        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "AMETER[\"scale_factor\",0.9992],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
+        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3403\"]");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 3404, "epsg", 3404,
-        "NAD83(HARN) / North Carolina (ftUS)");
+        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3403\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3404, "epsg", 3404,
+        "NAD83(HARN) / North Carolina (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
     add_proj4text (p, 1,
@@ -2007,25 +2296,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",36.16666666666666],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",34.33333333333334],PARAMETER[\"latitu");
+        "ard_parallel_1\",36.16666666666666],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",33.75],PARAMETER[\"central_meridian\",-79");
+        "_parallel_2\",34.33333333333334],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",2000000],PARAMETER[\"false");
+        "_origin\",33.75],PARAMETER[\"central_meridian\",-79],PAR");
     add_srs_wkt (p, 12,
-        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
+        "AMETER[\"false_easting\",2000000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 13,
-        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3404\"]]");
-    p = add_epsg_def (filter, first, last, 3405, "epsg", 3405,
-        "VN-2000 / UTM zone 48N");
+        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 15,
+        "ORTH],AUTHORITY[\"EPSG\",\"3404\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3405, "epsg", 3405,
+        "VN-2000 / UTM zone 48N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Vietnam_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=48 +ellps=WGS84 +towgs84=-192.873,-39.38");
     add_proj4text (p, 1,
@@ -2045,21 +2339,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4756\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4756\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",105],PAR");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
+        "rigin\",0],PARAMETER[\"central_meridian\",105],PARAMETER");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3405\"]]");
-    p = add_epsg_def (filter, first, last, 3406, "epsg", 3406,
-        "VN-2000 / UTM zone 49N");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3405\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3406, "epsg", 3406,
+        "VN-2000 / UTM zone 49N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Vietnam_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=49 +ellps=WGS84 +towgs84=-192.873,-39.38");
     add_proj4text (p, 1,
@@ -2079,21 +2378,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4756\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4756\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",111],PAR");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
+        "rigin\",0],PARAMETER[\"central_meridian\",111],PARAMETER");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3406\"]]");
-    p = add_epsg_def (filter, first, last, 3407, "epsg", 3407,
-        "Hong Kong 1963 Grid System");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3406\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3407, "epsg", 3407,
+        "Hong Kong 1963 Grid System", 0, 1,
+        "Clarke 1858", "Greenwich",
+        "Hong_Kong_1963", "Cassini_Soldner", "Clarke's foot",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=cass +lat_0=22.31213333333334 +lon_0=114.178555555");
     add_proj4text (p, 1,
@@ -2107,27 +2411,34 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         " 1963\",DATUM[\"Hong_Kong_1963\",SPHEROID[\"Clarke 1858\"");
     add_srs_wkt (p, 2,
-        ",6378293.645208759,294.2606763692569,AUTHORITY[\"EPSG\",");
+        ",6378293.645208759,294.2606763692606,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
         "\"7007\"]],AUTHORITY[\"EPSG\",\"6738\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4738\"]],PROJECTION[\"Cassini_Soldner\"],PAR");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "AMETER[\"latitude_of_origin\",22.31213333333334],PARAMET");
+        "G\",\"4738\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",114.1785555555556],PARAMETER[\"f");
+        "[\"latitude_of_origin\",22.31213333333334],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "alse_easting\",132033.92],PARAMETER[\"false_northing\",6");
+        "entral_meridian\",114.1785555555556],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "2565.96],UNIT[\"Clarke's foot\",0.3047972654,AUTHORITY[\"");
+        "asting\",132033.92],PARAMETER[\"false_northing\",62565.9");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9005\"]],AUTHORITY[\"EPSG\",\"3407\"]]");
-    p = add_epsg_def (filter, first, last, 3408, "epsg", 3408,
-        "NSIDC EASE-Grid North");
+        "6],UNIT[\"Clarke's foot\",0.3047972654,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9005\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"3407\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3408, "epsg", 3408,
+        "NSIDC EASE-Grid North", 0, 0,
+        "International 1924 Authalic Sphere", "Greenwich",
+        "Not_specified_based_on_International_1924_Authalic_Sphere", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6371228 +");
     add_proj4text (p, 1,
@@ -2147,21 +2458,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4053\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 8,
-        "OJECTION[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"l");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4053\"]],PROJECTI");
     add_srs_wkt (p, 9,
-        "atitude_of_center\",90],PARAMETER[\"longitude_of_center\"");
+        "ON[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        ",0],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nor");
+        "e_of_center\",90],PARAMETER[\"longitude_of_center\",0],P");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "ARAMETER[\"false_easting\",0],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 13,
-        "\"3408\"]]");
-    p = add_epsg_def (filter, first, last, 3409, "epsg", 3409,
-        "NSIDC EASE-Grid South");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"340");
+    add_srs_wkt (p, 14,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3409, "epsg", 3409,
+        "NSIDC EASE-Grid South", 0, 0,
+        "International 1924 Authalic Sphere", "Greenwich",
+        "Not_specified_based_on_International_1924_Authalic_Sphere", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +a=6371228 ");
     add_proj4text (p, 1,
@@ -2181,21 +2497,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4053\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 8,
-        "OJECTION[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"l");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4053\"]],PROJECTI");
     add_srs_wkt (p, 9,
-        "atitude_of_center\",-90],PARAMETER[\"longitude_of_center");
+        "ON[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "\",0],PARAMETER[\"false_easting\",0],PARAMETER[\"false_n");
+        "e_of_center\",-90],PARAMETER[\"longitude_of_center\",0],");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        ",\"3409\"]]");
-    p = add_epsg_def (filter, first, last, 3410, "epsg", 3410,
-        "NSIDC EASE-Grid Global");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"34");
+    add_srs_wkt (p, 14,
+        "09\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3410, "epsg", 3410,
+        "NSIDC EASE-Grid Global", 0, 0,
+        "International 1924 Authalic Sphere", "Greenwich",
+        "Not_specified_based_on_International_1924_Authalic_Sphere", "Cylindrical_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +a=6371228 +");
     add_proj4text (p, 1,
@@ -2215,21 +2536,24 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4053\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 8,
-        "OJECTION[\"Cylindrical_Equal_Area\"],PARAMETER[\"standar");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4053\"]],PROJECTI");
     add_srs_wkt (p, 9,
-        "d_parallel_1\",30],PARAMETER[\"central_meridian\",0],PAR");
+        "ON[\"Cylindrical_Equal_Area\"],PARAMETER[\"standard_para");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "llel_1\",30],PARAMETER[\"central_meridian\",0],PARAMETER");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "[\"false_easting\",0],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3410\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3411, "epsg", 3411,
-        "NSIDC Sea Ice Polar Stereographic North");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3410\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3411, "epsg", 3411,
+        "NSIDC Sea Ice Polar Stereographic North", 0, 0,
+        "Hughes 1980", "Greenwich",
+        "Not_specified_based_on_Hughes_1980_ellipsoid", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 ");
     add_proj4text (p, 1,
@@ -2241,7 +2565,7 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "id\",DATUM[\"Not_specified_based_on_Hughes_1980_ellipsoi");
     add_srs_wkt (p, 3,
-        "d\",SPHEROID[\"Hughes 1980\",6378273,298.279411123061,AU");
+        "d\",SPHEROID[\"Hughes 1980\",6378273,298.279411123064,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"6054\"]");
     add_srs_wkt (p, 5,
@@ -2249,21 +2573,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 7,
-        "122\"]],AUTHORITY[\"EPSG\",\"4054\"]],PROJECTION[\"Polar");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 8,
-        "_Stereographic\"],PARAMETER[\"latitude_of_origin\",70],P");
+        "],AUTHORITY[\"EPSG\",\"4054\"]],PROJECTION[\"Polar_Stere");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"central_meridian\",-45],PARAMETER[\"scale_fac");
+        "ographic\"],PARAMETER[\"latitude_of_origin\",70],PARAMET");
     add_srs_wkt (p, 10,
-        "tor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"fals");
+        "ER[\"central_meridian\",-45],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 11,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 13,
-        "SG\",\"3411\"]]");
-    p = add_epsg_def (filter, first, last, 3412, "epsg", 3412,
-        "NSIDC Sea Ice Polar Stereographic South");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "3411\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3412, "epsg", 3412,
+        "NSIDC Sea Ice Polar Stereographic South", 0, 0,
+        "Hughes 1980", "Greenwich",
+        "Not_specified_based_on_Hughes_1980_ellipsoid", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-70 +lon_0=0 +k=1 +x_0=0 ");
     add_proj4text (p, 1,
@@ -2275,7 +2604,7 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "id\",DATUM[\"Not_specified_based_on_Hughes_1980_ellipsoi");
     add_srs_wkt (p, 3,
-        "d\",SPHEROID[\"Hughes 1980\",6378273,298.279411123061,AU");
+        "d\",SPHEROID[\"Hughes 1980\",6378273,298.279411123064,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"6054\"]");
     add_srs_wkt (p, 5,
@@ -2283,21 +2612,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 7,
-        "122\"]],AUTHORITY[\"EPSG\",\"4054\"]],PROJECTION[\"Polar");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 8,
-        "_Stereographic\"],PARAMETER[\"latitude_of_origin\",-70],");
+        "],AUTHORITY[\"EPSG\",\"4054\"]],PROJECTION[\"Polar_Stere");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"central_meridian\",0],PARAMETER[\"scale_fact");
+        "ographic\"],PARAMETER[\"latitude_of_origin\",-70],PARAME");
     add_srs_wkt (p, 10,
-        "or\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false");
+        "TER[\"central_meridian\",0],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "G\",\"3412\"]]");
-    p = add_epsg_def (filter, first, last, 3413, "epsg", 3413,
-        "WGS 84 / NSIDC Sea Ice Polar Stereographic North");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "3412\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3413, "epsg", 3413,
+        "WGS 84 / NSIDC Sea Ice Polar Stereographic North", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 ");
     add_proj4text (p, 1,
@@ -2313,21 +2647,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4326\"]],PROJECTION[\"Polar_Stereographic\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",70],PARAMETER[\"central_meridian");
+        "\"]],PROJECTION[\"Polar_Stereographic\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "\",-45],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
+        "itude_of_origin\",70],PARAMETER[\"central_meridian\",-45");
     add_srs_wkt (p, 9,
-        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 11,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3413\"]]");
-    p = add_epsg_def (filter, first, last, 3414, "epsg", 3414,
-        "SVY21 / Singapore TM");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3413\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3414, "epsg", 3414,
+        "SVY21 / Singapore TM", 0, 1,
+        "WGS 84", "Greenwich",
+        "SVY21", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=1.366666666666667 +lon_0=103.83333333");
     add_proj4text (p, 1,
@@ -2345,21 +2684,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 5,
-        "]],AUTHORITY[\"EPSG\",\"4757\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 6,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",1.36666666");
+        "HORITY[\"EPSG\",\"4757\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 7,
-        "6666667],PARAMETER[\"central_meridian\",103.833333333333");
+        "tor\"],PARAMETER[\"latitude_of_origin\",1.36666666666666");
     add_srs_wkt (p, 8,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "7],PARAMETER[\"central_meridian\",103.8333333333333],PAR");
     add_srs_wkt (p, 9,
-        "ng\",28001.642],PARAMETER[\"false_northing\",38744.572],");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY");
+        "8001.642],PARAMETER[\"false_northing\",38744.572],UNIT[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"3414\"]]");
-    p = add_epsg_def (filter, first, last, 3415, "epsg", 3415,
-        "WGS 72BE / South China Sea Lambert");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3414");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3415, "epsg", 3415,
+        "WGS 72BE / South China Sea Lambert", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=18 +lat_2=24 +lat_0=21 +lon_0=114 +x_0=");
     add_proj4text (p, 1,
@@ -2379,23 +2725,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",18],PARAMETER[\"standard_parallel_2\",2");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"latitude_of_origin\",21],PARAMETER[\"cent");
+        "rallel_1\",18],PARAMETER[\"standard_parallel_2\",24],PAR");
     add_srs_wkt (p, 10,
-        "ral_meridian\",114],PARAMETER[\"false_easting\",500000],");
+        "AMETER[\"latitude_of_origin\",21],PARAMETER[\"central_me");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_northing\",500000],UNIT[\"metre\",1,AU");
+        "ridian\",114],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "TER[\"false_northing\",500000],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3415\"]]");
-    p = add_epsg_def (filter, first, last, 3416, "epsg", 3416,
-        "ETRS89 / Austria Lambert");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3415\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3416, "epsg", 3416,
+        "ETRS89 / Austria Lambert", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.3333");
     add_proj4text (p, 1,
@@ -2415,29 +2766,36 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "rallel_1\",49],PARAMETER[\"standard_parallel_2\",46],PAR");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "AMETER[\"latitude_of_origin\",47.5],PARAMETER[\"central_");
+        "_1\",49],PARAMETER[\"standard_parallel_2\",46],PARAMETER");
     add_srs_wkt (p, 10,
-        "meridian\",13.33333333333333],PARAMETER[\"false_easting\"");
+        "[\"latitude_of_origin\",47.5],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 11,
-        ",400000],PARAMETER[\"false_northing\",400000],UNIT[\"met");
+        "an\",13.33333333333333],PARAMETER[\"false_easting\",4000");
     add_srs_wkt (p, 12,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00],PARAMETER[\"false_northing\",400000],UNIT[\"metre\",");
     add_srs_wkt (p, 13,
-        "\"3416\"]]");
-    p = add_epsg_def (filter, first, last, 3417, "epsg", 3417,
-        "NAD83 / Iowa North (ftUS)");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"3416\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3417, "epsg", 3417,
+        "NAD83 / Iowa North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
     add_proj4text (p, 1,
         "667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.99");
     add_proj4text (p, 2,
-        "99898402 +datum=NAD83 +units=us-ft +no_defs");
+        "99898402 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-f");
+    add_proj4text (p, 3,
+        "t +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Iowa North (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -2451,31 +2809,36 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43.26");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "666666666667],PARAMETER[\"standard_parallel_2\",42.06666");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",43.26666666");
     add_srs_wkt (p, 9,
-        "666666667],PARAMETER[\"latitude_of_origin\",41.5],PARAME");
+        "666667],PARAMETER[\"standard_parallel_2\",42.06666666666");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-93.5],PARAMETER[\"false_eastin");
+        "667],PARAMETER[\"latitude_of_origin\",41.5],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "g\",4921250],PARAMETER[\"false_northing\",3280833.333300");
+        "central_meridian\",-93.5],PARAMETER[\"false_easting\",49");
     add_srs_wkt (p, 12,
-        "001],UNIT[\"US survey foot\",0.3048006096012192,AUTHORIT");
+        "21250],PARAMETER[\"false_northing\",3280833.333300001],U");
     add_srs_wkt (p, 13,
-        "Y[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "NIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        ",AUTHORITY[\"EPSG\",\"3417\"]]");
-    p = add_epsg_def (filter, first, last, 3418, "epsg", 3418,
-        "NAD83 / Iowa South (ftUS)");
+        "SG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 15,
+        "RITY[\"EPSG\",\"3417\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3418, "epsg", 3418,
+        "NAD83 / Iowa South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
     add_proj4text (p, 1,
         "667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +");
     add_proj4text (p, 2,
-        "datum=NAD83 +units=us-ft +no_defs");
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Iowa South (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -2489,31 +2852,38 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.78");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "333333333333],PARAMETER[\"standard_parallel_2\",40.61666");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",41.78333333");
     add_srs_wkt (p, 9,
-        "666666667],PARAMETER[\"latitude_of_origin\",40],PARAMETE");
+        "333333],PARAMETER[\"standard_parallel_2\",40.61666666666");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-93.5],PARAMETER[\"false_easting\"");
+        "667],PARAMETER[\"latitude_of_origin\",40],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        ",1640416.6667],PARAMETER[\"false_northing\",0],UNIT[\"US");
+        "ntral_meridian\",-93.5],PARAMETER[\"false_easting\",1640");
     add_srs_wkt (p, 12,
-        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+        "416.6667],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
     add_srs_wkt (p, 13,
-        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
     add_srs_wkt (p, 14,
-        "PSG\",\"3418\"]]");
-    p = add_epsg_def (filter, first, last, 3419, "epsg", 3419,
-        "NAD83 / Kansas North (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"3418\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3419, "epsg", 3419,
+        "NAD83 / Kansas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
     add_proj4text (p, 1,
         "667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.9999");
     add_proj4text (p, 2,
-        "8984 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "8984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=u");
+    add_proj4text (p, 3,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Kansas North (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -2527,33 +2897,38 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.7");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "8333333333333],PARAMETER[\"standard_parallel_2\",38.7166");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",39.7833333");
     add_srs_wkt (p, 9,
-        "6666666667],PARAMETER[\"latitude_of_origin\",38.33333333");
+        "3333333],PARAMETER[\"standard_parallel_2\",38.7166666666");
     add_srs_wkt (p, 10,
-        "333334],PARAMETER[\"central_meridian\",-98],PARAMETER[\"");
+        "6667],PARAMETER[\"latitude_of_origin\",38.33333333333334");
     add_srs_wkt (p, 11,
-        "false_easting\",1312333.3333],PARAMETER[\"false_northing");
+        "],PARAMETER[\"central_meridian\",-98],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+        "easting\",1312333.3333],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 14,
-        "],AUTHORITY[\"EPSG\",\"3419\"]]");
-    p = add_epsg_def (filter, first, last, 3420, "epsg", 3420,
-        "NAD83 / Kansas South (ftUS)");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"3419\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3420, "epsg", 3420,
+        "NAD83 / Kansas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
     add_proj4text (p, 1,
         "667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99");
     add_proj4text (p, 2,
-        "998984 +y_0=399999.99998984 +datum=NAD83 +units=us-ft +n");
+        "998984 +y_0=399999.99998984 +ellps=GRS80 +towgs84=0,0,0,");
     add_proj4text (p, 3,
-        "o_defs");
+        "0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Kansas South (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -2567,31 +2942,36 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.5");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"standard_parallel_2\",37.2666");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",38.5666666");
     add_srs_wkt (p, 9,
-        "6666666667],PARAMETER[\"latitude_of_origin\",36.66666666");
+        "6666667],PARAMETER[\"standard_parallel_2\",37.2666666666");
     add_srs_wkt (p, 10,
-        "666666],PARAMETER[\"central_meridian\",-98.5],PARAMETER[");
+        "6667],PARAMETER[\"latitude_of_origin\",36.66666666666666");
     add_srs_wkt (p, 11,
-        "\"false_easting\",1312333.3333],PARAMETER[\"false_northi");
+        "],PARAMETER[\"central_meridian\",-98.5],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "ng\",1312333.3333],UNIT[\"US survey foot\",0.30480060960");
+        "e_easting\",1312333.3333],PARAMETER[\"false_northing\",1");
     add_srs_wkt (p, 13,
-        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+        "312333.3333],UNIT[\"US survey foot\",0.3048006096012192,");
     add_srs_wkt (p, 14,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3420\"]]");
-    p = add_epsg_def (filter, first, last, 3421, "epsg", 3421,
-        "NAD83 / Nevada East (ftUS)");
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3420\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3421, "epsg", 3421,
+        "NAD83 / Nevada East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
     add_proj4text (p, 1,
-        "9999 +x_0=200000.00001016 +y_0=8000000.000010163 +datum=");
+        "9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=");
     add_proj4text (p, 2,
-        "NAD83 +units=us-ft +no_defs");
+        "GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Nevada East (ftUS)\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
@@ -2605,29 +2985,34 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",34.75],PARAME");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "TER[\"central_meridian\",-115.5833333333333],PARAMETER[\"");
+        "\"],PARAMETER[\"latitude_of_origin\",34.75],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",65616");
+        "central_meridian\",-115.5833333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "6.6667],PARAMETER[\"false_northing\",26246666.66670001],");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",656166.666");
     add_srs_wkt (p, 11,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        "7],PARAMETER[\"false_northing\",26246666.66670001],UNIT[");
     add_srs_wkt (p, 12,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"3421\"]]");
-    p = add_epsg_def (filter, first, last, 3422, "epsg", 3422,
-        "NAD83 / Nevada Central (ftUS)");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"3421\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3422, "epsg", 3422,
+        "NAD83 / Nevada Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
     add_proj4text (p, 1,
-        "9999 +x_0=500000.00001016 +y_0=6000000 +datum=NAD83 +uni");
+        "9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +tow");
     add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        "gs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Nevada Central (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -2641,29 +3026,34 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",34.75],PARA");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-116.6666666666667],PARAMETER");
+        "or\"],PARAMETER[\"latitude_of_origin\",34.75],PARAMETER[");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",16");
+        "\"central_meridian\",-116.6666666666667],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "40416.6667],PARAMETER[\"false_northing\",19685000],UNIT[");
+        "le_factor\",0.9999],PARAMETER[\"false_easting\",1640416.");
     add_srs_wkt (p, 11,
-        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "6667],PARAMETER[\"false_northing\",19685000],UNIT[\"US s");
     add_srs_wkt (p, 12,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"3422\"]]");
-    p = add_epsg_def (filter, first, last, 3423, "epsg", 3423,
-        "NAD83 / Nevada West (ftUS)");
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"3422\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3423, "epsg", 3423,
+        "NAD83 / Nevada West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
     add_proj4text (p, 1,
-        "9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +datum");
+        "9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps");
     add_proj4text (p, 2,
-        "=NAD83 +units=us-ft +no_defs");
+        "=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Nevada West (ftUS)\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
@@ -2677,29 +3067,34 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",34.75],PARAME");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "TER[\"central_meridian\",-118.5833333333333],PARAMETER[\"");
+        "\"],PARAMETER[\"latitude_of_origin\",34.75],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",26246");
+        "central_meridian\",-118.5833333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "66.6667],PARAMETER[\"false_northing\",13123333.3333],UNI");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",2624666.66");
     add_srs_wkt (p, 11,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "67],PARAMETER[\"false_northing\",13123333.3333],UNIT[\"U");
     add_srs_wkt (p, 12,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"3423\"]]");
-    p = add_epsg_def (filter, first, last, 3424, "epsg", 3424,
-        "NAD83 / New Jersey (ftUS)");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"3423\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3424, "epsg", 3424,
+        "NAD83 / New Jersey (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
-        "999 +x_0=150000 +y_0=0 +datum=NAD83 +units=us-ft +no_def");
+        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
     add_proj4text (p, 2,
-        "s");
+        ",0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / New Jersey (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -2713,23 +3108,26 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",38.83333333333");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "334],PARAMETER[\"central_meridian\",-74.5],PARAMETER[\"s");
+        "],PARAMETER[\"latitude_of_origin\",38.83333333333334],PA");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9999],PARAMETER[\"false_easting\",492125");
+        "RAMETER[\"central_meridian\",-74.5],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",492125],PARAM");
     add_srs_wkt (p, 11,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3424\"]");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 3425, "epsg", 3425,
-        "NAD83(HARN) / Iowa North (ftUS)");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3424\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3425, "epsg", 3425,
+        "NAD83(HARN) / Iowa North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
     add_proj4text (p, 1,
@@ -2751,25 +3149,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",43.26666666666667],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",42.06666666666667],PARAMETER[\"latitude_of");
+        "rallel_1\",43.26666666666667],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",41.5],PARAMETER[\"central_meridian\",-93.5],PA");
+        "lel_2\",42.06666666666667],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",4921250],PARAMETER[\"false_nor");
+        "n\",41.5],PARAMETER[\"central_meridian\",-93.5],PARAMETE");
     add_srs_wkt (p, 12,
-        "thing\",3280833.333300001],UNIT[\"US survey foot\",0.304");
+        "R[\"false_easting\",4921250],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        ",3280833.333300001],UNIT[\"US survey foot\",0.3048006096");
     add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3425\"]]");
-    p = add_epsg_def (filter, first, last, 3426, "epsg", 3426,
-        "NAD83(HARN) / Iowa South (ftUS)");
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 15,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3425\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3426, "epsg", 3426,
+        "NAD83(HARN) / Iowa South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
     add_proj4text (p, 1,
@@ -2789,25 +3192,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",41.78333333333333],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",40.61666666666667],PARAMETER[\"latitude_of");
+        "rallel_1\",41.78333333333333],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",40],PARAMETER[\"central_meridian\",-93.5],PARA");
+        "lel_2\",40.61666666666667],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",1640416.6667],PARAMETER[\"false_");
+        "n\",40],PARAMETER[\"central_meridian\",-93.5],PARAMETER[");
     add_srs_wkt (p, 12,
-        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
+        "\"false_easting\",1640416.6667],PARAMETER[\"false_northi");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3426\"]]");
-    p = add_epsg_def (filter, first, last, 3427, "epsg", 3427,
-        "NAD83(HARN) / Kansas North (ftUS)");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"3426\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3427, "epsg", 3427,
+        "NAD83(HARN) / Kansas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
     add_proj4text (p, 1,
@@ -2829,25 +3237,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",39.78333333333333],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",38.71666666666667],PARAMETER[\"latitude");
+        "_parallel_1\",39.78333333333333],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",38.33333333333334],PARAMETER[\"central_meri");
+        "rallel_2\",38.71666666666667],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "dian\",-98],PARAMETER[\"false_easting\",1312333.3333],PA");
+        "igin\",38.33333333333334],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
+        ",-98],PARAMETER[\"false_easting\",1312333.3333],PARAMETE");
     add_srs_wkt (p, 13,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3427\"]]");
-    p = add_epsg_def (filter, first, last, 3428, "epsg", 3428,
-        "NAD83(HARN) / Kansas South (ftUS)");
+        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 15,
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3427\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3428, "epsg", 3428,
+        "NAD83(HARN) / Kansas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
     add_proj4text (p, 1,
@@ -2869,27 +3282,32 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",38.56666666666667],PARAMETER[\"stand");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",37.26666666666667],PARAMETER[\"latitude");
+        "_parallel_1\",38.56666666666667],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",36.66666666666666],PARAMETER[\"central_meri");
+        "rallel_2\",37.26666666666667],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "dian\",-98.5],PARAMETER[\"false_easting\",1312333.3333],");
+        "igin\",36.66666666666666],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "PARAMETER[\"false_northing\",1312333.3333],UNIT[\"US sur");
+        ",-98.5],PARAMETER[\"false_easting\",1312333.3333],PARAME");
     add_srs_wkt (p, 13,
-        "vey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "TER[\"false_northing\",1312333.3333],UNIT[\"US survey fo");
     add_srs_wkt (p, 14,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
     add_srs_wkt (p, 15,
-        ",\"3428\"]]");
-    p = add_epsg_def (filter, first, last, 3429, "epsg", 3429,
-        "NAD83(HARN) / Nevada East (ftUS)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"34");
+    add_srs_wkt (p, 16,
+        "28\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3429, "epsg", 3429,
+        "NAD83(HARN) / Nevada East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
     add_proj4text (p, 1,
@@ -2909,23 +3327,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",34.75],PARAMETER[\"central_meridian\",-115.58");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "33333333333],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
+        "in\",34.75],PARAMETER[\"central_meridian\",-115.58333333");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",656166.6667],PARAMETER[\"false_north");
+        "33333],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "ing\",26246666.66670001],UNIT[\"US survey foot\",0.30480");
+        "lse_easting\",656166.6667],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+        "26246666.66670001],UNIT[\"US survey foot\",0.30480060960");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3429\"]]");
-    p = add_epsg_def (filter, first, last, 3430, "epsg", 3430,
-        "NAD83(HARN) / Nevada Central (ftUS)");
+        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3429\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3430, "epsg", 3430,
+        "NAD83(HARN) / Nevada Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
     add_proj4text (p, 1,
@@ -2945,23 +3368,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",34.75],PARAMETER[\"central_meridian\",-116");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        ".6666666666667],PARAMETER[\"scale_factor\",0.9999],PARAM");
+        "rigin\",34.75],PARAMETER[\"central_meridian\",-116.66666");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",1640416.6667],PARAMETER[\"false_n");
+        "66666667],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "orthing\",19685000],UNIT[\"US survey foot\",0.3048006096");
+        "false_easting\",1640416.6667],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "\",19685000],UNIT[\"US survey foot\",0.3048006096012192,");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3430\"]]");
-    p = add_epsg_def (filter, first, last, 3431, "epsg", 3431,
-        "NAD83(HARN) / Nevada West (ftUS)");
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3430\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3431, "epsg", 3431,
+        "NAD83(HARN) / Nevada West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
     add_proj4text (p, 1,
@@ -2981,23 +3409,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",34.75],PARAMETER[\"central_meridian\",-118.58");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "33333333333],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
+        "in\",34.75],PARAMETER[\"central_meridian\",-118.58333333");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",2624666.6667],PARAMETER[\"false_nort");
+        "33333],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "hing\",13123333.3333],UNIT[\"US survey foot\",0.30480060");
+        "lse_easting\",2624666.6667],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+        ",13123333.3333],UNIT[\"US survey foot\",0.30480060960121");
     add_srs_wkt (p, 13,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3431\"]]");
-    p = add_epsg_def (filter, first, last, 3432, "epsg", 3432,
-        "NAD83(HARN) / New Jersey (ftUS)");
+        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3431\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3432, "epsg", 3432,
+        "NAD83(HARN) / New Jersey (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
@@ -3017,29 +3450,36 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",38.83333333333334],PARAMETER[\"central_meridian\"");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        ",-74.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"f");
+        ",38.83333333333334],PARAMETER[\"central_meridian\",-74.5");
     add_srs_wkt (p, 10,
-        "alse_easting\",492125],PARAMETER[\"false_northing\",0],U");
+        "],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "NIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EP");
+        "asting\",492125],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "SG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"3432\"]]");
-    p = add_epsg_def (filter, first, last, 3433, "epsg", 3433,
-        "NAD83 / Arkansas North (ftUS)");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"3432\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3433, "epsg", 3433,
+        "NAD83 / Arkansas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
     add_proj4text (p, 1,
         "333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.9999");
     add_proj4text (p, 2,
-        "8984 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "8984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=u");
+    add_proj4text (p, 3,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Arkansas North (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -3053,31 +3493,38 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".23333333333333],PARAMETER[\"standard_parallel_2\",34.93");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.23333");
     add_srs_wkt (p, 9,
-        "333333333333],PARAMETER[\"latitude_of_origin\",34.333333");
+        "333333333],PARAMETER[\"standard_parallel_2\",34.93333333");
     add_srs_wkt (p, 10,
-        "33333334],PARAMETER[\"central_meridian\",-92],PARAMETER[");
+        "333333],PARAMETER[\"latitude_of_origin\",34.333333333333");
     add_srs_wkt (p, 11,
-        "\"false_easting\",1312333.3333],PARAMETER[\"false_northi");
+        "34],PARAMETER[\"central_meridian\",-92],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
+        "e_easting\",1312333.3333],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"3433\"]]");
-    p = add_epsg_def (filter, first, last, 3434, "epsg", 3434,
-        "NAD83 / Arkansas South (ftUS)");
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"3433\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3434, "epsg", 3434,
+        "NAD83 / Arkansas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
     add_proj4text (p, 1,
         ".66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399");
     add_proj4text (p, 2,
-        "999.99998984 +datum=NAD83 +units=us-ft +no_defs");
+        "999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 3,
+        "us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Arkansas South (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -3091,31 +3538,38 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",34");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".76666666666667],PARAMETER[\"standard_parallel_2\",33.3]");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",34.76666");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"latitude_of_origin\",32.66666666666666],PAR");
+        "666666667],PARAMETER[\"standard_parallel_2\",33.3],PARAM");
     add_srs_wkt (p, 10,
-        "AMETER[\"central_meridian\",-92],PARAMETER[\"false_easti");
+        "ETER[\"latitude_of_origin\",32.66666666666666],PARAMETER");
     add_srs_wkt (p, 11,
-        "ng\",1312333.3333],PARAMETER[\"false_northing\",1312333.");
+        "[\"central_meridian\",-92],PARAMETER[\"false_easting\",1");
     add_srs_wkt (p, 12,
-        "3333],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+        "312333.3333],PARAMETER[\"false_northing\",1312333.3333],");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 14,
-        "],AUTHORITY[\"EPSG\",\"3434\"]]");
-    p = add_epsg_def (filter, first, last, 3435, "epsg", 3435,
-        "NAD83 / Illinois East (ftUS)");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"3434\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3435, "epsg", 3435,
+        "NAD83 / Illinois East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
     add_proj4text (p, 1,
         "333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0");
     add_proj4text (p, 2,
-        "=0 +datum=NAD83 +units=us-ft +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_");
+    add_proj4text (p, 3,
+        "defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Illinois East (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -3129,29 +3583,34 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",36.66666666");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "666666],PARAMETER[\"central_meridian\",-88.3333333333333");
+        "or\"],PARAMETER[\"latitude_of_origin\",36.66666666666666");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",0.999975],PARAMETER[\"fals");
+        "],PARAMETER[\"central_meridian\",-88.33333333333333],PAR");
     add_srs_wkt (p, 10,
-        "e_easting\",984250.0000000002],PARAMETER[\"false_northin");
+        "AMETER[\"scale_factor\",0.999975],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        "g\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+        "ing\",984250.0000000002],PARAMETER[\"false_northing\",0]");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "H],AUTHORITY[\"EPSG\",\"3435\"]]");
-    p = add_epsg_def (filter, first, last, 3436, "epsg", 3436,
-        "NAD83 / Illinois West (ftUS)");
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"3435\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3436, "epsg", 3436,
+        "NAD83 / Illinois West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
     add_proj4text (p, 1,
-        "666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +dat");
+        "666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ell");
     add_proj4text (p, 2,
-        "um=NAD83 +units=us-ft +no_defs");
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Illinois West (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -3165,29 +3624,34 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",36.66666666");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "666666],PARAMETER[\"central_meridian\",-90.1666666666666");
+        "or\"],PARAMETER[\"latitude_of_origin\",36.66666666666666");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.999941177],PARAMETER[\"f");
+        "],PARAMETER[\"central_meridian\",-90.16666666666667],PAR");
     add_srs_wkt (p, 10,
-        "alse_easting\",2296583.333300001],PARAMETER[\"false_nort");
+        "AMETER[\"scale_factor\",0.999941177],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+        "asting\",2296583.333300001],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"3436\"]]");
-    p = add_epsg_def (filter, first, last, 3437, "epsg", 3437,
-        "NAD83 / New Hampshire (ftUS)");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"3436\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3437, "epsg", 3437,
+        "NAD83 / New Hampshire (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "99966667 +x_0=300000.0000000001 +y_0=0 +datum=NAD83 +uni");
+        "99966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +tow");
     add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        "gs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / New Hampshire (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -3201,29 +3665,34 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",42.5],PARAM");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-71.66666666666667],PARAMETER[");
+        "or\"],PARAMETER[\"latitude_of_origin\",42.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999966667],PARAMETER[\"false_easting\"");
+        "central_meridian\",-71.66666666666667],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        ",984250.0000000002],PARAMETER[\"false_northing\",0],UNIT");
+        "_factor\",0.999966667],PARAMETER[\"false_easting\",98425");
     add_srs_wkt (p, 11,
-        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "0.0000000002],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 12,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"3437\"]]");
-    p = add_epsg_def (filter, first, last, 3438, "epsg", 3438,
-        "NAD83 / Rhode Island (ftUS)");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"3437\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3438, "epsg", 3438,
+        "NAD83 / Rhode Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
     add_proj4text (p, 1,
-        "9999375 +x_0=99999.99998983997 +y_0=0 +datum=NAD83 +unit");
+        "9999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +towg");
     add_proj4text (p, 2,
-        "s=us-ft +no_defs");
+        "s84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Rhode Island (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -3237,27 +3706,34 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",41.0833333333");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "3334],PARAMETER[\"central_meridian\",-71.5],PARAMETER[\"");
+        "\"],PARAMETER[\"latitude_of_origin\",41.08333333333334],");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.99999375],PARAMETER[\"false_easting\",3");
+        "PARAMETER[\"central_meridian\",-71.5],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "28083.3333],PARAMETER[\"false_northing\",0],UNIT[\"US su");
+        "factor\",0.99999375],PARAMETER[\"false_easting\",328083.");
     add_srs_wkt (p, 11,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "3333],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
     add_srs_wkt (p, 13,
-        "\",\"3438\"]]");
-    p = add_epsg_def (filter, first, last, 3439, "epsg", 3439,
-        "PSD93 / UTM zone 39N");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 14,
+        "438\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3439, "epsg", 3439,
+        "PSD93 / UTM zone 39N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "PDO_Survey_Datum_1993", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=39 +ellps=clrk80 +towgs84=-180.624,-225.");
     add_proj4text (p, 1,
-        "516,173.919,-0.81,-1.898,8.336,16.7101 +units=m +no_defs");
+        "516,173.919,-0.81,-1.898,8.336,16.71006 +units=m +no_def");
+    add_proj4text (p, 2,
+        "s");
     add_srs_wkt (p, 0,
         "PROJCS[\"PSD93 / UTM zone 39N\",GEOGCS[\"PSD93\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -3265,33 +3741,40 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "[-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.7101],A");
+        "[-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006],");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6134\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "AUTHORITY[\"EPSG\",\"6134\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4134\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4134\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",51],PA");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"343");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 3440, "epsg", 3440,
-        "PSD93 / UTM zone 40N");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3439\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3440, "epsg", 3440,
+        "PSD93 / UTM zone 40N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "PDO_Survey_Datum_1993", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=40 +ellps=clrk80 +towgs84=-180.624,-225.");
     add_proj4text (p, 1,
-        "516,173.919,-0.81,-1.898,8.336,16.7101 +units=m +no_defs");
+        "516,173.919,-0.81,-1.898,8.336,16.71006 +units=m +no_def");
+    add_proj4text (p, 2,
+        "s");
     add_srs_wkt (p, 0,
         "PROJCS[\"PSD93 / UTM zone 40N\",GEOGCS[\"PSD93\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -3299,29 +3782,34 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "[-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.7101],A");
+        "[-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006],");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6134\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "AUTHORITY[\"EPSG\",\"6134\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4134\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4134\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",57],PA");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"344");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 3441, "epsg", 3441,
-        "NAD83(HARN) / Arkansas North (ftUS)");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3440\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3441, "epsg", 3441,
+        "NAD83(HARN) / Arkansas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
     add_proj4text (p, 1,
@@ -3343,27 +3831,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",36.23333333333333],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",34.93333333333333],PARAMETER[\"latitu");
+        "ard_parallel_1\",36.23333333333333],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",34.33333333333334],PARAMETER[\"central_me");
+        "_parallel_2\",34.93333333333333],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "ridian\",-92],PARAMETER[\"false_easting\",1312333.3333],");
+        "_origin\",34.33333333333334],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 12,
-        "PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",");
+        "n\",-92],PARAMETER[\"false_easting\",1312333.3333],PARAM");
     add_srs_wkt (p, 13,
-        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3441\"]");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 15,
-        "]");
-    p = add_epsg_def (filter, first, last, 3442, "epsg", 3442,
-        "NAD83(HARN) / Arkansas South (ftUS)");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3441\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3442, "epsg", 3442,
+        "NAD83(HARN) / Arkansas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
     add_proj4text (p, 1,
@@ -3385,25 +3876,30 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",34.76666666666667],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",33.3],PARAMETER[\"latitude_of_origin\"");
+        "ard_parallel_1\",34.76666666666667],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        ",32.66666666666666],PARAMETER[\"central_meridian\",-92],");
+        "_parallel_2\",33.3],PARAMETER[\"latitude_of_origin\",32.");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_easting\",1312333.3333],PARAMETER[\"fa");
+        "66666666666666],PARAMETER[\"central_meridian\",-92],PARA");
     add_srs_wkt (p, 12,
-        "lse_northing\",1312333.3333],UNIT[\"US survey foot\",0.3");
+        "METER[\"false_easting\",1312333.3333],PARAMETER[\"false_");
     add_srs_wkt (p, 13,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "northing\",1312333.3333],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3442\"]]");
-    p = add_epsg_def (filter, first, last, 3443, "epsg", 3443,
-        "NAD83(HARN) / Illinois East (ftUS)");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 15,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3442\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3443, "epsg", 3443,
+        "NAD83(HARN) / Illinois East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
     add_proj4text (p, 1,
@@ -3425,23 +3921,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",36.66666666666666],PARAMETER[\"central_meri");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "dian\",-88.33333333333333],PARAMETER[\"scale_factor\",0.");
+        "igin\",36.66666666666666],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "999975],PARAMETER[\"false_easting\",984250.0000000002],P");
+        ",-88.33333333333333],PARAMETER[\"scale_factor\",0.999975");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "],PARAMETER[\"false_easting\",984250.0000000002],PARAMET");
     add_srs_wkt (p, 12,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        "ER[\"false_northing\",0],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 13,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3443\"]]");
-    p = add_epsg_def (filter, first, last, 3444, "epsg", 3444,
-        "NAD83(HARN) / Illinois West (ftUS)");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3443\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3444, "epsg", 3444,
+        "NAD83(HARN) / Illinois West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
     add_proj4text (p, 1,
@@ -3461,25 +3962,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",36.66666666666666],PARAMETER[\"central_meri");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "dian\",-90.16666666666667],PARAMETER[\"scale_factor\",0.");
+        "igin\",36.66666666666666],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "999941177],PARAMETER[\"false_easting\",2296583.333300001");
+        ",-90.16666666666667],PARAMETER[\"scale_factor\",0.999941");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "177],PARAMETER[\"false_easting\",2296583.333300001],PARA");
     add_srs_wkt (p, 12,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3444\"]");
+        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 3445, "epsg", 3445,
-        "NAD83(HARN) / New Hampshire (ftUS)");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3444\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3445, "epsg", 3445,
+        "NAD83(HARN) / New Hampshire (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -3499,23 +4003,28 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",42.5],PARAMETER[\"central_meridian\",-71.66");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"scale_factor\",0.999966667],PA");
+        "igin\",42.5],PARAMETER[\"central_meridian\",-71.66666666");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",984250.0000000002],PARAMETER[\"");
+        "666667],PARAMETER[\"scale_factor\",0.999966667],PARAMETE");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "R[\"false_easting\",984250.0000000002],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3445\"]]");
-    p = add_epsg_def (filter, first, last, 3446, "epsg", 3446,
-        "NAD83(HARN) / Rhode Island (ftUS)");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3445\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3446, "epsg", 3446,
+        "NAD83(HARN) / Rhode Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
     add_proj4text (p, 1,
@@ -3535,21 +4044,23 @@ initialize_epsg_13 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",41.08333333333334],PARAMETER[\"central_meridi");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "an\",-71.5],PARAMETER[\"scale_factor\",0.99999375],PARAM");
+        "in\",41.08333333333334],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",328083.3333],PARAMETER[\"false_no");
+        "71.5],PARAMETER[\"scale_factor\",0.99999375],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "false_easting\",328083.3333],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3446\"]]");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"3446\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_14.c b/src/srsinit/epsg_inlined_14.c
index 25bbd15..103cc5e 100644
--- a/src/srsinit/epsg_inlined_14.c
+++ b/src/srsinit/epsg_inlined_14.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 3447, "epsg", 3447,
-        "ETRS89 / Belgian Lambert 2005");
+    p = add_epsg_def_ex (filter, first, last, 3447, "epsg", 3447,
+        "ETRS89 / Belgian Lambert 2005", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666");
     add_proj4text (p, 1,
@@ -75,25 +80,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",49.83333333333334],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",51.16666666666666],PARAMETER[\"latitude_of");
+        "rallel_1\",49.83333333333334],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",50.797815],PARAMETER[\"central_meridian\",4.35");
+        "lel_2\",51.16666666666666],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "9215833333333],PARAMETER[\"false_easting\",150328],PARAM");
+        "n\",50.797815],PARAMETER[\"central_meridian\",4.35921583");
     add_srs_wkt (p, 12,
-        "ETER[\"false_northing\",166262],UNIT[\"metre\",1,AUTHORI");
+        "3333333],PARAMETER[\"false_easting\",150328],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "false_northing\",166262],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        "],AUTHORITY[\"EPSG\",\"3447\"]]");
-    p = add_epsg_def (filter, first, last, 3448, "epsg", 3448,
-        "JAD2001 / Jamaica Metric Grid");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 15,
+        "RITY[\"EPSG\",\"3447\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3448, "epsg", 3448,
+        "JAD2001 / Jamaica Metric Grid", 0, 0,
+        "WGS 84", "Greenwich",
+        "Jamaica_2001", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=750");
     add_proj4text (p, 1,
@@ -111,23 +121,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4758\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "_1SP\"],PARAMETER[\"latitude_of_origin\",18],PARAMETER[\"");
+        "\",\"4758\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"");
     add_srs_wkt (p, 8,
-        "central_meridian\",-77],PARAMETER[\"scale_factor\",1],PA");
+        "],PARAMETER[\"latitude_of_origin\",18],PARAMETER[\"centr");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",750000],PARAMETER[\"false_nort");
+        "al_meridian\",-77],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "hing\",650000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "ER[\"false_easting\",750000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        ",650000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"3448\"]]");
-    p = add_epsg_def (filter, first, last, 3449, "epsg", 3449,
-        "JAD2001 / UTM zone 17N");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"3448\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3449, "epsg", 3449,
+        "JAD2001 / UTM zone 17N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Jamaica_2001", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -143,23 +158,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4758\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "58\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-8");
     add_srs_wkt (p, 9,
-        "alse_easting\",500000],PARAMETER[\"false_northing\",0],U");
+        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        ",\"3449\"]]");
-    p = add_epsg_def (filter, first, last, 3450, "epsg", 3450,
-        "JAD2001 / UTM zone 18N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"344");
+    add_srs_wkt (p, 13,
+        "9\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3450, "epsg", 3450,
+        "JAD2001 / UTM zone 18N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Jamaica_2001", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -175,29 +195,36 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4758\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "58\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-7");
     add_srs_wkt (p, 9,
-        "alse_easting\",500000],PARAMETER[\"false_northing\",0],U");
+        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        ",\"3450\"]]");
-    p = add_epsg_def (filter, first, last, 3451, "epsg", 3451,
-        "NAD83 / Louisiana North (ftUS)");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"345");
+    add_srs_wkt (p, 13,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3451, "epsg", 3451,
+        "NAD83 / Louisiana North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
     add_proj4text (p, 1,
         "667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0");
     add_proj4text (p, 2,
-        "=0 +datum=NAD83 +units=us-ft +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_");
+    add_proj4text (p, 3,
+        "defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Louisiana North (ftUS)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
@@ -211,31 +238,36 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "2.66666666666666],PARAMETER[\"standard_parallel_2\",31.1");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",32.6666");
     add_srs_wkt (p, 9,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",30.5],PA");
+        "6666666666],PARAMETER[\"standard_parallel_2\",31.1666666");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-92.5],PARAMETER[\"false_ea");
+        "6666667],PARAMETER[\"latitude_of_origin\",30.5],PARAMETE");
     add_srs_wkt (p, 11,
-        "sting\",3280833.333300001],PARAMETER[\"false_northing\",");
+        "R[\"central_meridian\",-92.5],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        ",3280833.333300001],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "UTHORITY[\"EPSG\",\"3451\"]]");
-    p = add_epsg_def (filter, first, last, 3452, "epsg", 3452,
-        "NAD83 / Louisiana South (ftUS)");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"3451\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3452, "epsg", 3452,
+        "NAD83 / Louisiana South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
     add_proj4text (p, 1,
-        ".33333333333333 +x_0=999999.9999898402 +y_0=0 +datum=NAD");
+        ".33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
-        "83 +units=us-ft +no_defs");
+        "80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Louisiana South (ftUS)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
@@ -249,31 +281,38 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "0.7],PARAMETER[\"standard_parallel_2\",29.3],PARAMETER[\"");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",30.7],P");
     add_srs_wkt (p, 9,
-        "latitude_of_origin\",28.5],PARAMETER[\"central_meridian\"");
+        "ARAMETER[\"standard_parallel_2\",29.3],PARAMETER[\"latit");
     add_srs_wkt (p, 10,
-        ",-91.33333333333333],PARAMETER[\"false_easting\",3280833");
+        "ude_of_origin\",28.5],PARAMETER[\"central_meridian\",-91");
     add_srs_wkt (p, 11,
-        ".333300001],PARAMETER[\"false_northing\",0],UNIT[\"US su");
+        ".33333333333333],PARAMETER[\"false_easting\",3280833.333");
     add_srs_wkt (p, 12,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "300001],PARAMETER[\"false_northing\",0],UNIT[\"US survey");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 14,
-        "\",\"3452\"]]");
-    p = add_epsg_def (filter, first, last, 3453, "epsg", 3453,
-        "NAD83 / Louisiana Offshore (ftUS)");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "3452\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3453, "epsg", 3453,
+        "NAD83 / Louisiana Offshore (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
         "667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=999999.99");
     add_proj4text (p, 2,
-        "99898402 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "99898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 3,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Louisiana Offshore (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
@@ -287,31 +326,38 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",27.83333333333333],PARAMETER[\"standard_parallel_2\",26");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",27.8");
     add_srs_wkt (p, 9,
-        ".16666666666667],PARAMETER[\"latitude_of_origin\",25.5],");
+        "3333333333333],PARAMETER[\"standard_parallel_2\",26.1666");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-91.33333333333333],PARAM");
+        "6666666667],PARAMETER[\"latitude_of_origin\",25.5],PARAM");
     add_srs_wkt (p, 11,
-        "ETER[\"false_easting\",3280833.333300001],PARAMETER[\"fa");
+        "ETER[\"central_meridian\",-91.33333333333333],PARAMETER[");
     add_srs_wkt (p, 12,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "\"false_easting\",3280833.333300001],PARAMETER[\"false_n");
     add_srs_wkt (p, 13,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
     add_srs_wkt (p, 14,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3453\"]]");
-    p = add_epsg_def (filter, first, last, 3454, "epsg", 3454,
-        "NAD83 / South Dakota North (ftUS) (deprecated)");
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3453\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3454, "epsg", 3454,
+        "NAD83 / South Dakota North (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
     add_proj4text (p, 1,
         ".33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y");
     add_proj4text (p, 2,
-        "_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +n");
+    add_proj4text (p, 3,
+        "o_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / South Dakota North (ftUS) (deprecated)\"");
     add_srs_wkt (p, 1,
@@ -325,31 +371,38 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",44.4],PARAMETER[\"standard_parallel_2\",42");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        ".83333333333334],PARAMETER[\"latitude_of_origin\",42.333");
+        "lel_1\",44.4],PARAMETER[\"standard_parallel_2\",42.83333");
     add_srs_wkt (p, 10,
-        "33333333334],PARAMETER[\"central_meridian\",-100.3333333");
+        "333333334],PARAMETER[\"latitude_of_origin\",42.333333333");
     add_srs_wkt (p, 11,
-        "333333],PARAMETER[\"false_easting\",1968500],PARAMETER[\"");
+        "33334],PARAMETER[\"central_meridian\",-100.3333333333333");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "],PARAMETER[\"false_easting\",1968500],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3454\"]]");
-    p = add_epsg_def (filter, first, last, 3455, "epsg", 3455,
-        "NAD83 / South Dakota South (ftUS)");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3454\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3455, "epsg", 3455,
+        "NAD83 / South Dakota South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
     add_proj4text (p, 1,
         ".33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y");
     add_proj4text (p, 2,
-        "_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +n");
+    add_proj4text (p, 3,
+        "o_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / South Dakota South (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
@@ -363,25 +416,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",44.4],PARAMETER[\"standard_parallel_2\",42.833333333333");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44.4");
     add_srs_wkt (p, 9,
-        "34],PARAMETER[\"latitude_of_origin\",42.33333333333334],");
+        "],PARAMETER[\"standard_parallel_2\",42.83333333333334],P");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-100.3333333333333],PARAM");
+        "ARAMETER[\"latitude_of_origin\",42.33333333333334],PARAM");
     add_srs_wkt (p, 11,
-        "ETER[\"false_easting\",1968500],PARAMETER[\"false_northi");
+        "ETER[\"central_meridian\",-100.3333333333333],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
+        "\"false_easting\",1968500],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"3455\"]]");
-    p = add_epsg_def (filter, first, last, 3456, "epsg", 3456,
-        "NAD83(HARN) / Louisiana North (ftUS)");
+        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"3455\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3456, "epsg", 3456,
+        "NAD83(HARN) / Louisiana North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
     add_proj4text (p, 1,
@@ -403,25 +461,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",32.66666666666666],PARAMETER[\"sta");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",31.16666666666667],PARAMETER[\"latitu");
+        "ard_parallel_1\",32.66666666666666],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "de_of_origin\",30.5],PARAMETER[\"central_meridian\",-92.");
+        "_parallel_2\",31.16666666666667],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "5],PARAMETER[\"false_easting\",3280833.333300001],PARAME");
+        "_origin\",30.5],PARAMETER[\"central_meridian\",-92.5],PA");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+        "RAMETER[\"false_easting\",3280833.333300001],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
     add_srs_wkt (p, 14,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3456\"]]");
-    p = add_epsg_def (filter, first, last, 3457, "epsg", 3457,
-        "NAD83(HARN) / Louisiana South (ftUS)");
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 15,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3456\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3457, "epsg", 3457,
+        "NAD83(HARN) / Louisiana South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
     add_proj4text (p, 1,
@@ -441,25 +504,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",30.7],PARAMETER[\"standard_paralle");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "l_2\",29.3],PARAMETER[\"latitude_of_origin\",28.5],PARAM");
+        "ard_parallel_1\",30.7],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-91.33333333333333],PARAMETER[");
+        ",29.3],PARAMETER[\"latitude_of_origin\",28.5],PARAMETER[");
     add_srs_wkt (p, 11,
-        "\"false_easting\",3280833.333300001],PARAMETER[\"false_n");
+        "\"central_meridian\",-91.33333333333333],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
+        "se_easting\",3280833.333300001],PARAMETER[\"false_northi");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3457\"]]");
-    p = add_epsg_def (filter, first, last, 3458, "epsg", 3458,
-        "NAD83(HARN) / South Dakota North (ftUS)");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"3457\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3458, "epsg", 3458,
+        "NAD83(HARN) / South Dakota North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
     add_proj4text (p, 1,
@@ -481,27 +549,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",45.68333333333333],PARAMETER[");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "\"standard_parallel_2\",44.41666666666666],PARAMETER[\"l");
+        "tandard_parallel_1\",45.68333333333333],PARAMETER[\"stan");
     add_srs_wkt (p, 10,
-        "atitude_of_origin\",43.83333333333334],PARAMETER[\"centr");
+        "dard_parallel_2\",44.41666666666666],PARAMETER[\"latitud");
     add_srs_wkt (p, 11,
-        "al_meridian\",-100],PARAMETER[\"false_easting\",1968500]");
+        "e_of_origin\",43.83333333333334],PARAMETER[\"central_mer");
     add_srs_wkt (p, 12,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "idian\",-100],PARAMETER[\"false_easting\",1968500],PARAM");
     add_srs_wkt (p, 13,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3458\"]");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 15,
-        "]");
-    p = add_epsg_def (filter, first, last, 3459, "epsg", 3459,
-        "NAD83(HARN) / South Dakota South (ftUS)");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3458\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3459, "epsg", 3459,
+        "NAD83(HARN) / South Dakota South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
     add_proj4text (p, 1,
@@ -523,27 +594,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",44.4],PARAMETER[\"standard_pa");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "rallel_2\",42.83333333333334],PARAMETER[\"latitude_of_or");
+        "tandard_parallel_1\",44.4],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "igin\",42.33333333333334],PARAMETER[\"central_meridian\"");
+        "_2\",42.83333333333334],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        ",-100.3333333333333],PARAMETER[\"false_easting\",1968500");
+        ",42.33333333333334],PARAMETER[\"central_meridian\",-100.");
     add_srs_wkt (p, 12,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "3333333333333],PARAMETER[\"false_easting\",1968500],PARA");
     add_srs_wkt (p, 13,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
     add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3459\"]");
+        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
     add_srs_wkt (p, 15,
-        "]");
-    p = add_epsg_def (filter, first, last, 3460, "epsg", 3460,
-        "Fiji 1986 / Fiji Map Grid");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3459\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3460, "epsg", 3460,
+        "Fiji 1986 / Fiji Map Grid", 0, 0,
+        "WGS 72", "Greenwich",
+        "Fiji_Geodetic_Datum_1986", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=200");
     add_proj4text (p, 1,
@@ -563,21 +637,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4720\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",-17],PARAME");
+        "ORITY[\"EPSG\",\"4720\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "TER[\"central_meridian\",178.75],PARAMETER[\"scale_facto");
+        "or\"],PARAMETER[\"latitude_of_origin\",-17],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "r\",0.99985],PARAMETER[\"false_easting\",2000000],PARAME");
+        "central_meridian\",178.75],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",4000000],UNIT[\"metre\",1,AUTHORI");
+        "99985],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "false_northing\",4000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"3460\"]]");
-    p = add_epsg_def (filter, first, last, 3461, "epsg", 3461,
-        "Dabola 1981 / UTM zone 28N");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3460\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3461, "epsg", 3461,
+        "Dabola 1981 / UTM zone 28N", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Dabola_1981", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-83,");
     add_proj4text (p, 1,
@@ -587,7 +666,7 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "81\",DATUM[\"Dabola_1981\",SPHEROID[\"Clarke 1880 (IGN)\"");
     add_srs_wkt (p, 2,
-        ",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"");
+        ",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"");
     add_srs_wkt (p, 3,
         "]],TOWGS84[-83,37,124,0,0,0,0],AUTHORITY[\"EPSG\",\"6155");
     add_srs_wkt (p, 4,
@@ -595,21 +674,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4155\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4155\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-15],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-15],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3461\"]]");
-    p = add_epsg_def (filter, first, last, 3462, "epsg", 3462,
-        "Dabola 1981 / UTM zone 29N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"3461\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3462, "epsg", 3462,
+        "Dabola 1981 / UTM zone 29N", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Dabola_1981", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-83,");
     add_proj4text (p, 1,
@@ -619,7 +703,7 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "81\",DATUM[\"Dabola_1981\",SPHEROID[\"Clarke 1880 (IGN)\"");
     add_srs_wkt (p, 2,
-        ",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"");
+        ",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"");
     add_srs_wkt (p, 3,
         "]],TOWGS84[-83,37,124,0,0,0,0],AUTHORITY[\"EPSG\",\"6155");
     add_srs_wkt (p, 4,
@@ -627,25 +711,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4155\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4155\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-9],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-9],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3462\"]]");
-    p = add_epsg_def (filter, first, last, 3463, "epsg", 3463,
-        "NAD83 / Maine CS2000 Central");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"3462\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3463, "epsg", 3463,
+        "NAD83 / Maine CS2000 Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=5");
     add_proj4text (p, 1,
-        "00000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "00000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Maine CS2000 Central\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -659,21 +750,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",43.5],PARAM");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-69.125],PARAMETER[\"scale_fac");
+        "or\"],PARAMETER[\"latitude_of_origin\",43.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "tor\",0.99998],PARAMETER[\"false_easting\",500000],PARAM");
+        "central_meridian\",-69.125],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ".99998],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3463\"]]");
-    p = add_epsg_def (filter, first, last, 3464, "epsg", 3464,
-        "NAD83(HARN) / Maine CS2000 Central");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"3463\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3464, "epsg", 3464,
+        "NAD83(HARN) / Maine CS2000 Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=5");
     add_proj4text (p, 1,
@@ -693,21 +789,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",43.5],PARAMETER[\"central_meridian\",-69.12");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",0.99998],PARAMETER[\"false");
+        "igin\",43.5],PARAMETER[\"central_meridian\",-69.125],PAR");
     add_srs_wkt (p, 10,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "AMETER[\"scale_factor\",0.99998],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3464\"]]");
-    p = add_epsg_def (filter, first, last, 3465, "epsg", 3465,
-        "NAD83(NSRS2007) / Alabama East");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3464\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3465, "epsg", 3465,
+        "NAD83(NSRS2007) / Alabama East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -727,23 +828,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",30.5],PARAMETER[\"central_meridian\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",-85.83333333333333],PARAMETER[\"scale_factor\",0.99996]");
+        "e_of_origin\",30.5],PARAMETER[\"central_meridian\",-85.8");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",200000],PARAMETER[\"false_n");
+        "3333333333333],PARAMETER[\"scale_factor\",0.99996],PARAM");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ETER[\"false_easting\",200000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        ",\"3465\"]]");
-    p = add_epsg_def (filter, first, last, 3466, "epsg", 3466,
-        "NAD83(NSRS2007) / Alabama West");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"34");
+    add_srs_wkt (p, 14,
+        "65\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3466, "epsg", 3466,
+        "NAD83(NSRS2007) / Alabama West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=6");
     add_proj4text (p, 1,
@@ -763,23 +869,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",30],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "87.5],PARAMETER[\"scale_factor\",0.999933333],PARAMETER[");
+        "e_of_origin\",30],PARAMETER[\"central_meridian\",-87.5],");
     add_srs_wkt (p, 10,
-        "\"false_easting\",600000],PARAMETER[\"false_northing\",0");
+        "PARAMETER[\"scale_factor\",0.999933333],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "e_easting\",600000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3466\"]");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 3467, "epsg", 3467,
-        "NAD83(NSRS2007) / Alaska Albers");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3466\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3467, "epsg", 3467,
+        "NAD83(NSRS2007) / Alaska Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0");
     add_proj4text (p, 1,
@@ -799,23 +908,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMETE");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "R[\"standard_parallel_1\",55],PARAMETER[\"standard_paral");
+        "],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "lel_2\",65],PARAMETER[\"latitude_of_center\",50],PARAMET");
+        "andard_parallel_1\",55],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "ER[\"longitude_of_center\",-154],PARAMETER[\"false_easti");
+        ",65],PARAMETER[\"latitude_of_center\",50],PARAMETER[\"lo");
     add_srs_wkt (p, 11,
-        "ng\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "ngitude_of_center\",-154],PARAMETER[\"false_easting\",0]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3467\"]]");
-    p = add_epsg_def (filter, first, last, 3468, "epsg", 3468,
-        "NAD83(NSRS2007) / Alaska zone 1");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"3467\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3468, "epsg", 3468,
+        "NAD83(NSRS2007) / Alaska zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Hotine_Oblique_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=32");
     add_proj4text (p, 1,
@@ -837,27 +951,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],PARAMETE");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_center\",57],PARAMETER[\"longitude_of_ce");
+        "],PROJECTION[\"Hotine_Oblique_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "nter\",-133.6666666666667],PARAMETER[\"azimuth\",323.130");
+        "titude_of_center\",57],PARAMETER[\"longitude_of_center\"");
     add_srs_wkt (p, 10,
-        "1023611111],PARAMETER[\"rectified_grid_angle\",323.13010");
+        ",-133.6666666666667],PARAMETER[\"azimuth\",323.130102361");
     add_srs_wkt (p, 11,
-        "23611111],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "1111],PARAMETER[\"rectified_grid_angle\",323.13010236111");
     add_srs_wkt (p, 12,
-        "false_easting\",5000000],PARAMETER[\"false_northing\",-5");
+        "11],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "_easting\",5000000],PARAMETER[\"false_northing\",-500000");
     add_srs_wkt (p, 14,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 15,
-        "468\"]]");
-    p = add_epsg_def (filter, first, last, 3469, "epsg", 3469,
-        "NAD83(NSRS2007) / Alaska zone 2");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3468\"]");
+    add_srs_wkt (p, 16,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3469, "epsg", 3469,
+        "NAD83(NSRS2007) / Alaska zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
@@ -877,21 +996,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",54],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "-142],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "de_of_origin\",54],PARAMETER[\"central_meridian\",-142],");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3469\"]]");
-    p = add_epsg_def (filter, first, last, 3470, "epsg", 3470,
-        "NAD83(NSRS2007) / Alaska zone 3");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3469\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3470, "epsg", 3470,
+        "NAD83(NSRS2007) / Alaska zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
@@ -911,21 +1035,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",54],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "-146],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "de_of_origin\",54],PARAMETER[\"central_meridian\",-146],");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3470\"]]");
-    p = add_epsg_def (filter, first, last, 3471, "epsg", 3471,
-        "NAD83(NSRS2007) / Alaska zone 4");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3470\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3471, "epsg", 3471,
+        "NAD83(NSRS2007) / Alaska zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
@@ -945,21 +1074,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",54],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "-150],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "de_of_origin\",54],PARAMETER[\"central_meridian\",-150],");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3471\"]]");
-    p = add_epsg_def (filter, first, last, 3472, "epsg", 3472,
-        "NAD83(NSRS2007) / Alaska zone 5");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3471\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3472, "epsg", 3472,
+        "NAD83(NSRS2007) / Alaska zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
@@ -979,21 +1113,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",54],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "-154],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "de_of_origin\",54],PARAMETER[\"central_meridian\",-154],");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3472\"]]");
-    p = add_epsg_def (filter, first, last, 3473, "epsg", 3473,
-        "NAD83(NSRS2007) / Alaska zone 6");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3472\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3473, "epsg", 3473,
+        "NAD83(NSRS2007) / Alaska zone 6", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
@@ -1013,21 +1152,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",54],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "-158],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "de_of_origin\",54],PARAMETER[\"central_meridian\",-158],");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3473\"]]");
-    p = add_epsg_def (filter, first, last, 3474, "epsg", 3474,
-        "NAD83(NSRS2007) / Alaska zone 7");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3473\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3474, "epsg", 3474,
+        "NAD83(NSRS2007) / Alaska zone 7", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
@@ -1047,21 +1191,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",54],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "-162],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "de_of_origin\",54],PARAMETER[\"central_meridian\",-162],");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3474\"]]");
-    p = add_epsg_def (filter, first, last, 3475, "epsg", 3475,
-        "NAD83(NSRS2007) / Alaska zone 8");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3474\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3475, "epsg", 3475,
+        "NAD83(NSRS2007) / Alaska zone 8", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
@@ -1081,21 +1230,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",54],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "-166],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "de_of_origin\",54],PARAMETER[\"central_meridian\",-166],");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3475\"]]");
-    p = add_epsg_def (filter, first, last, 3476, "epsg", 3476,
-        "NAD83(NSRS2007) / Alaska zone 9");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3475\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3476, "epsg", 3476,
+        "NAD83(NSRS2007) / Alaska zone 9", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
@@ -1115,21 +1269,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",54],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "-170],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "de_of_origin\",54],PARAMETER[\"central_meridian\",-170],");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3476\"]]");
-    p = add_epsg_def (filter, first, last, 3477, "epsg", 3477,
-        "NAD83(NSRS2007) / Alaska zone 10");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3476\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3477, "epsg", 3477,
+        "NAD83(NSRS2007) / Alaska zone 10", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333");
     add_proj4text (p, 1,
@@ -1149,25 +1308,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",53.83333333333334],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",51.83333333333334],PARAMETER");
+        "[\"standard_parallel_1\",53.83333333333334],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",51],PARAMETER[\"central_meridian");
+        "standard_parallel_2\",51.83333333333334],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "\",-176],PARAMETER[\"false_easting\",1000000],PARAMETER[");
+        "itude_of_origin\",51],PARAMETER[\"central_meridian\",-17");
     add_srs_wkt (p, 12,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "6],PARAMETER[\"false_easting\",1000000],PARAMETER[\"fals");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"3477\"]]");
-    p = add_epsg_def (filter, first, last, 3478, "epsg", 3478,
-        "NAD83(NSRS2007) / Arizona Central");
+        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 15,
+        "SG\",\"3477\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3478, "epsg", 3478,
+        "NAD83(NSRS2007) / Arizona Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1187,23 +1351,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",31],PARAMETER[\"central_meridian\",");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "-111.9166666666667],PARAMETER[\"scale_factor\",0.9999],P");
+        "ude_of_origin\",31],PARAMETER[\"central_meridian\",-111.");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_easting\",213360],PARAMETER[\"false_nor");
+        "9166666666667],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "TER[\"false_easting\",213360],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 13,
-        "\"3478\"]]");
-    p = add_epsg_def (filter, first, last, 3479, "epsg", 3479,
-        "NAD83(NSRS2007) / Arizona Central (ft)");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"347");
+    add_srs_wkt (p, 14,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3479, "epsg", 3479,
+        "NAD83(NSRS2007) / Arizona Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1223,23 +1392,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",31],PARAMETER[\"central_meri");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "dian\",-111.9166666666667],PARAMETER[\"scale_factor\",0.");
+        "latitude_of_origin\",31],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 10,
-        "9999],PARAMETER[\"false_easting\",700000],PARAMETER[\"fa");
+        "-111.9166666666667],PARAMETER[\"scale_factor\",0.9999],P");
     add_srs_wkt (p, 11,
-        "lse_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\"");
+        "ARAMETER[\"false_easting\",700000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        ",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "thing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"3479\"]]");
-    p = add_epsg_def (filter, first, last, 3480, "epsg", 3480,
-        "NAD83(NSRS2007) / Arizona East");
+        "2\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"3479\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3480, "epsg", 3480,
+        "NAD83(NSRS2007) / Arizona East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1259,23 +1433,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",31],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "110.1666666666667],PARAMETER[\"scale_factor\",0.9999],PA");
+        "e_of_origin\",31],PARAMETER[\"central_meridian\",-110.16");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",213360],PARAMETER[\"false_nort");
+        "66666666667],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",213360],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "3480\"]]");
-    p = add_epsg_def (filter, first, last, 3481, "epsg", 3481,
-        "NAD83(NSRS2007) / Arizona East (ft)");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3480\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3481, "epsg", 3481,
+        "NAD83(NSRS2007) / Arizona East (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -1295,23 +1474,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",31],PARAMETER[\"central_meridia");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "n\",-110.1666666666667],PARAMETER[\"scale_factor\",0.999");
+        "titude_of_origin\",31],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 10,
-        "9],PARAMETER[\"false_easting\",700000],PARAMETER[\"false");
+        "10.1666666666667],PARAMETER[\"scale_factor\",0.9999],PAR");
     add_srs_wkt (p, 11,
-        "_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"");
+        "AMETER[\"false_easting\",700000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "ing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"3481\"]]");
-    p = add_epsg_def (filter, first, last, 3482, "epsg", 3482,
-        "NAD83(NSRS2007) / Arizona West");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"3481\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3482, "epsg", 3482,
+        "NAD83(NSRS2007) / Arizona West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
     add_proj4text (p, 1,
@@ -1331,23 +1515,26 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",31],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "113.75],PARAMETER[\"scale_factor\",0.999933333],PARAMETE");
+        "e_of_origin\",31],PARAMETER[\"central_meridian\",-113.75");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",213360],PARAMETER[\"false_northing\"");
+        "],PARAMETER[\"scale_factor\",0.999933333],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "lse_easting\",213360],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3482\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3483, "epsg", 3483,
-        "NAD83(NSRS2007) / Arizona West (ft)");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3482\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3483, "epsg", 3483,
+        "NAD83(NSRS2007) / Arizona West (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
     add_proj4text (p, 1,
@@ -1367,23 +1554,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",31],PARAMETER[\"central_meridia");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "n\",-113.75],PARAMETER[\"scale_factor\",0.999933333],PAR");
+        "titude_of_origin\",31],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",700000],PARAMETER[\"false_north");
+        "13.75],PARAMETER[\"scale_factor\",0.999933333],PARAMETER");
     add_srs_wkt (p, 11,
-        "ing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"");
+        "[\"false_easting\",700000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AX");
     add_srs_wkt (p, 13,
-        ",\"3483\"]]");
-    p = add_epsg_def (filter, first, last, 3484, "epsg", 3484,
-        "NAD83(NSRS2007) / Arkansas North");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"34");
+    add_srs_wkt (p, 14,
+        "83\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3484, "epsg", 3484,
+        "NAD83(NSRS2007) / Arkansas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
     add_proj4text (p, 1,
@@ -1403,25 +1595,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",36.23333333333333],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",34.93333333333333],PARAMETER");
+        "[\"standard_parallel_1\",36.23333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",34.33333333333334],PARAMETER[\"c");
+        "standard_parallel_2\",34.93333333333333],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "entral_meridian\",-92],PARAMETER[\"false_easting\",40000");
+        "itude_of_origin\",34.33333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 12,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_meridian\",-92],PARAMETER[\"false_easting\",400000],PAR");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 14,
-        "RTH],AUTHORITY[\"EPSG\",\"3484\"]]");
-    p = add_epsg_def (filter, first, last, 3485, "epsg", 3485,
-        "NAD83(NSRS2007) / Arkansas North (ftUS)");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"3484\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3485, "epsg", 3485,
+        "NAD83(NSRS2007) / Arkansas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
     add_proj4text (p, 1,
@@ -1443,27 +1640,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",36.23333333333333]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",34.93333333333333],PA");
+        "AMETER[\"standard_parallel_1\",36.23333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",34.33333333333334],PARAME");
+        "TER[\"standard_parallel_2\",34.93333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "TER[\"central_meridian\",-92],PARAMETER[\"false_easting\"");
+        "[\"latitude_of_origin\",34.33333333333334],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        ",1312333.3333],PARAMETER[\"false_northing\",0],UNIT[\"US");
+        "entral_meridian\",-92],PARAMETER[\"false_easting\",13123");
     add_srs_wkt (p, 13,
-        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+        "33.3333],PARAMETER[\"false_northing\",0],UNIT[\"US surve");
     add_srs_wkt (p, 14,
-        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
     add_srs_wkt (p, 15,
-        "PSG\",\"3485\"]]");
-    p = add_epsg_def (filter, first, last, 3486, "epsg", 3486,
-        "NAD83(NSRS2007) / Arkansas South");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 16,
+        "\"3485\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3486, "epsg", 3486,
+        "NAD83(NSRS2007) / Arkansas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
     add_proj4text (p, 1,
@@ -1483,25 +1685,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",34.76666666666667],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",33.3],PARAMETER[\"latitude_o");
+        "[\"standard_parallel_1\",34.76666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "f_origin\",32.66666666666666],PARAMETER[\"central_meridi");
+        "standard_parallel_2\",33.3],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 11,
-        "an\",-92],PARAMETER[\"false_easting\",400000],PARAMETER[");
+        "in\",32.66666666666666],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 12,
-        "\"false_northing\",400000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "92],PARAMETER[\"false_easting\",400000],PARAMETER[\"fals");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "e_northing\",400000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"3486\"]]");
-    p = add_epsg_def (filter, first, last, 3487, "epsg", 3487,
-        "NAD83(NSRS2007) / Arkansas South (ftUS)");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"3486\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3487, "epsg", 3487,
+        "NAD83(NSRS2007) / Arkansas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
     add_proj4text (p, 1,
@@ -1523,27 +1730,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",34.76666666666667]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",33.3],PARAMETER[\"lat");
+        "AMETER[\"standard_parallel_1\",34.76666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",32.66666666666666],PARAMETER[\"central");
+        "TER[\"standard_parallel_2\",33.3],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 11,
-        "_meridian\",-92],PARAMETER[\"false_easting\",1312333.333");
+        "f_origin\",32.66666666666666],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 12,
-        "3],PARAMETER[\"false_northing\",1312333.3333],UNIT[\"US ");
+        "an\",-92],PARAMETER[\"false_easting\",1312333.3333],PARA");
     add_srs_wkt (p, 13,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "METER[\"false_northing\",1312333.3333],UNIT[\"US survey ");
     add_srs_wkt (p, 14,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 15,
-        "SG\",\"3487\"]]");
-    p = add_epsg_def (filter, first, last, 3488, "epsg", 3488,
-        "NAD83(NSRS2007) / California Albers");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "3487\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3488, "epsg", 3488,
+        "NAD83(NSRS2007) / California Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_");
     add_proj4text (p, 1,
@@ -1563,23 +1775,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARA");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_1\",34],PARAMETER[\"standard_p");
+        "9\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMETER[");
     add_srs_wkt (p, 9,
-        "arallel_2\",40.5],PARAMETER[\"latitude_of_center\",0],PA");
+        "\"standard_parallel_1\",34],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "RAMETER[\"longitude_of_center\",-120],PARAMETER[\"false_");
+        "l_2\",40.5],PARAMETER[\"latitude_of_center\",0],PARAMETE");
     add_srs_wkt (p, 11,
-        "easting\",0],PARAMETER[\"false_northing\",-4000000],UNIT");
+        "R[\"longitude_of_center\",-120],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 12,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        "g\",0],PARAMETER[\"false_northing\",-4000000],UNIT[\"met");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3488\"]]");
-    p = add_epsg_def (filter, first, last, 3489, "epsg", 3489,
-        "NAD83(NSRS2007) / California zone 1");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3488\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3489, "epsg", 3489,
+        "NAD83(NSRS2007) / California zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
     add_proj4text (p, 1,
@@ -1599,25 +1816,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",41.66666666666666],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",40],PARAMETER[\"latitude_");
+        "TER[\"standard_parallel_1\",41.66666666666666],PARAMETER");
     add_srs_wkt (p, 10,
-        "of_origin\",39.33333333333334],PARAMETER[\"central_merid");
+        "[\"standard_parallel_2\",40],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 11,
-        "ian\",-122],PARAMETER[\"false_easting\",2000000],PARAMET");
+        "gin\",39.33333333333334],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 12,
-        "ER[\"false_northing\",500000],UNIT[\"metre\",1,AUTHORITY");
+        "-122],PARAMETER[\"false_easting\",2000000],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "alse_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"3489\"]]");
-    p = add_epsg_def (filter, first, last, 3490, "epsg", 3490,
-        "NAD83(NSRS2007) / California zone 1 (ftUS)");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"3489\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3490, "epsg", 3490,
+        "NAD83(NSRS2007) / California zone 1 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
     add_proj4text (p, 1,
@@ -1639,27 +1861,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",41.6666666666666");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"standard_parallel_2\",40],PARAMETER[\"lat");
+        "PARAMETER[\"standard_parallel_1\",41.66666666666666],PAR");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",39.33333333333334],PARAMETER[\"central");
+        "AMETER[\"standard_parallel_2\",40],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "_meridian\",-122],PARAMETER[\"false_easting\",6561666.66");
+        "of_origin\",39.33333333333334],PARAMETER[\"central_merid");
     add_srs_wkt (p, 12,
-        "7],PARAMETER[\"false_northing\",1640416.667],UNIT[\"US s");
+        "ian\",-122],PARAMETER[\"false_easting\",6561666.667],PAR");
     add_srs_wkt (p, 13,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_northing\",1640416.667],UNIT[\"US survey ");
     add_srs_wkt (p, 14,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 15,
-        "G\",\"3490\"]]");
-    p = add_epsg_def (filter, first, last, 3491, "epsg", 3491,
-        "NAD83(NSRS2007) / California zone 2");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "3490\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3491, "epsg", 3491,
+        "NAD83(NSRS2007) / California zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
     add_proj4text (p, 1,
@@ -1681,25 +1908,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",39.83333333333334],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",38.33333333333334],PARAME");
+        "TER[\"standard_parallel_1\",39.83333333333334],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",37.66666666666666],PARAMETER[");
+        "[\"standard_parallel_2\",38.33333333333334],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\"central_meridian\",-122],PARAMETER[\"false_easting\",2");
+        "latitude_of_origin\",37.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        "000000],PARAMETER[\"false_northing\",500000],UNIT[\"metr");
+        "ral_meridian\",-122],PARAMETER[\"false_easting\",2000000");
     add_srs_wkt (p, 13,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "],PARAMETER[\"false_northing\",500000],UNIT[\"metre\",1,");
     add_srs_wkt (p, 14,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3491\"]]");
-    p = add_epsg_def (filter, first, last, 3492, "epsg", 3492,
-        "NAD83(NSRS2007) / California zone 2 (ftUS)");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3491\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3492, "epsg", 3492,
+        "NAD83(NSRS2007) / California zone 2 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
     add_proj4text (p, 1,
@@ -1721,27 +1953,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",39.8333333333333");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"standard_parallel_2\",38.33333333333334],");
+        "PARAMETER[\"standard_parallel_1\",39.83333333333334],PAR");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"latitude_of_origin\",37.66666666666666],PARA");
+        "AMETER[\"standard_parallel_2\",38.33333333333334],PARAME");
     add_srs_wkt (p, 11,
-        "METER[\"central_meridian\",-122],PARAMETER[\"false_easti");
+        "TER[\"latitude_of_origin\",37.66666666666666],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ng\",6561666.667],PARAMETER[\"false_northing\",1640416.6");
+        "\"central_meridian\",-122],PARAMETER[\"false_easting\",6");
     add_srs_wkt (p, 13,
-        "67],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "561666.667],PARAMETER[\"false_northing\",1640416.667],UN");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
     add_srs_wkt (p, 15,
-        "AUTHORITY[\"EPSG\",\"3492\"]]");
-    p = add_epsg_def (filter, first, last, 3493, "epsg", 3493,
-        "NAD83(NSRS2007) / California zone 3");
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 16,
+        "ITY[\"EPSG\",\"3492\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3493, "epsg", 3493,
+        "NAD83(NSRS2007) / California zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
     add_proj4text (p, 1,
@@ -1761,25 +1998,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",38.43333333333333],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",37.06666666666667],PARAME");
+        "TER[\"standard_parallel_1\",38.43333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",36.5],PARAMETER[\"central_mer");
+        "[\"standard_parallel_2\",37.06666666666667],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "idian\",-120.5],PARAMETER[\"false_easting\",2000000],PAR");
+        "latitude_of_origin\",36.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "AMETER[\"false_northing\",500000],UNIT[\"metre\",1,AUTHO");
+        ",-120.5],PARAMETER[\"false_easting\",2000000],PARAMETER[");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "\"false_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"3493\"]]");
-    p = add_epsg_def (filter, first, last, 3494, "epsg", 3494,
-        "NAD83(NSRS2007) / California zone 3 (ftUS)");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"3493\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3494, "epsg", 3494,
+        "NAD83(NSRS2007) / California zone 3 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
     add_proj4text (p, 1,
@@ -1801,27 +2043,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",38.4333333333333");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"standard_parallel_2\",37.06666666666667],");
+        "PARAMETER[\"standard_parallel_1\",38.43333333333333],PAR");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"latitude_of_origin\",36.5],PARAMETER[\"centr");
+        "AMETER[\"standard_parallel_2\",37.06666666666667],PARAME");
     add_srs_wkt (p, 11,
-        "al_meridian\",-120.5],PARAMETER[\"false_easting\",656166");
+        "TER[\"latitude_of_origin\",36.5],PARAMETER[\"central_mer");
     add_srs_wkt (p, 12,
-        "6.667],PARAMETER[\"false_northing\",1640416.667],UNIT[\"");
+        "idian\",-120.5],PARAMETER[\"false_easting\",6561666.667]");
     add_srs_wkt (p, 13,
-        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_northing\",1640416.667],UNIT[\"US sur");
     add_srs_wkt (p, 14,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "vey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
     add_srs_wkt (p, 15,
-        "EPSG\",\"3494\"]]");
-    p = add_epsg_def (filter, first, last, 3495, "epsg", 3495,
-        "NAD83(NSRS2007) / California zone 4");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"3494\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3495, "epsg", 3495,
+        "NAD83(NSRS2007) / California zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
     add_proj4text (p, 1,
@@ -1841,25 +2088,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",37.25],PARAMETER[\"sta");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",36],PARAMETER[\"latitude_of_origin\",");
+        "TER[\"standard_parallel_1\",37.25],PARAMETER[\"standard_");
     add_srs_wkt (p, 10,
-        "35.33333333333334],PARAMETER[\"central_meridian\",-119],");
+        "parallel_2\",36],PARAMETER[\"latitude_of_origin\",35.333");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_easting\",2000000],PARAMETER[\"false_n");
+        "33333333334],PARAMETER[\"central_meridian\",-119],PARAME");
     add_srs_wkt (p, 12,
-        "orthing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "TER[\"false_easting\",2000000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 13,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "g\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"3495\"]]");
-    p = add_epsg_def (filter, first, last, 3496, "epsg", 3496,
-        "NAD83(NSRS2007) / California zone 4 (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"3495\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3496, "epsg", 3496,
+        "NAD83(NSRS2007) / California zone 4 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
     add_proj4text (p, 1,
@@ -1881,27 +2133,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",37.25],PARAMETER");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",36],PARAMETER[\"latitude_of_ori");
+        "PARAMETER[\"standard_parallel_1\",37.25],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "gin\",35.33333333333334],PARAMETER[\"central_meridian\",");
+        "ndard_parallel_2\",36],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        "-119],PARAMETER[\"false_easting\",6561666.667],PARAMETER");
+        "35.33333333333334],PARAMETER[\"central_meridian\",-119],");
     add_srs_wkt (p, 12,
-        "[\"false_northing\",1640416.667],UNIT[\"US survey foot\"");
+        "PARAMETER[\"false_easting\",6561666.667],PARAMETER[\"fal");
     add_srs_wkt (p, 13,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "se_northing\",1640416.667],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3496\"]");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 15,
-        "]");
-    p = add_epsg_def (filter, first, last, 3497, "epsg", 3497,
-        "NAD83(NSRS2007) / California zone 5");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3496\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3497, "epsg", 3497,
+        "NAD83(NSRS2007) / California zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
     add_proj4text (p, 1,
@@ -1921,25 +2176,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",35.46666666666667],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",34.03333333333333],PARAME");
+        "TER[\"standard_parallel_1\",35.46666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",33.5],PARAMETER[\"central_mer");
+        "[\"standard_parallel_2\",34.03333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "idian\",-118],PARAMETER[\"false_easting\",2000000],PARAM");
+        "latitude_of_origin\",33.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "ETER[\"false_northing\",500000],UNIT[\"metre\",1,AUTHORI");
+        ",-118],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "false_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        "],AUTHORITY[\"EPSG\",\"3497\"]]");
-    p = add_epsg_def (filter, first, last, 3498, "epsg", 3498,
-        "NAD83(NSRS2007) / California zone 5 (ftUS)");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 15,
+        "RITY[\"EPSG\",\"3497\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3498, "epsg", 3498,
+        "NAD83(NSRS2007) / California zone 5 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
     add_proj4text (p, 1,
@@ -1961,27 +2221,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",35.4666666666666");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"standard_parallel_2\",34.03333333333333],");
+        "PARAMETER[\"standard_parallel_1\",35.46666666666667],PAR");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"latitude_of_origin\",33.5],PARAMETER[\"centr");
+        "AMETER[\"standard_parallel_2\",34.03333333333333],PARAME");
     add_srs_wkt (p, 11,
-        "al_meridian\",-118],PARAMETER[\"false_easting\",6561666.");
+        "TER[\"latitude_of_origin\",33.5],PARAMETER[\"central_mer");
     add_srs_wkt (p, 12,
-        "667],PARAMETER[\"false_northing\",1640416.667],UNIT[\"US");
+        "idian\",-118],PARAMETER[\"false_easting\",6561666.667],P");
     add_srs_wkt (p, 13,
-        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_northing\",1640416.667],UNIT[\"US surve");
     add_srs_wkt (p, 14,
-        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
     add_srs_wkt (p, 15,
-        "PSG\",\"3498\"]]");
-    p = add_epsg_def (filter, first, last, 3499, "epsg", 3499,
-        "NAD83(NSRS2007) / California zone 6");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 16,
+        "\"3498\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3499, "epsg", 3499,
+        "NAD83(NSRS2007) / California zone 6", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
     add_proj4text (p, 1,
@@ -2003,25 +2268,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",33.88333333333333],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",32.78333333333333],PARAME");
+        "TER[\"standard_parallel_1\",33.88333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",32.16666666666666],PARAMETER[");
+        "[\"standard_parallel_2\",32.78333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\"central_meridian\",-116.25],PARAMETER[\"false_easting\"");
+        "latitude_of_origin\",32.16666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        ",2000000],PARAMETER[\"false_northing\",500000],UNIT[\"me");
+        "ral_meridian\",-116.25],PARAMETER[\"false_easting\",2000");
     add_srs_wkt (p, 13,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "000],PARAMETER[\"false_northing\",500000],UNIT[\"metre\"");
     add_srs_wkt (p, 14,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3499\"]]");
-    p = add_epsg_def (filter, first, last, 3500, "epsg", 3500,
-        "NAD83(NSRS2007) / California zone 6 (ftUS)");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3499\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3500, "epsg", 3500,
+        "NAD83(NSRS2007) / California zone 6 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
     add_proj4text (p, 1,
@@ -2043,27 +2313,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",33.8833333333333");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"standard_parallel_2\",32.78333333333333],");
+        "PARAMETER[\"standard_parallel_1\",33.88333333333333],PAR");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"latitude_of_origin\",32.16666666666666],PARA");
+        "AMETER[\"standard_parallel_2\",32.78333333333333],PARAME");
     add_srs_wkt (p, 11,
-        "METER[\"central_meridian\",-116.25],PARAMETER[\"false_ea");
+        "TER[\"latitude_of_origin\",32.16666666666666],PARAMETER[");
     add_srs_wkt (p, 12,
-        "sting\",6561666.667],PARAMETER[\"false_northing\",164041");
+        "\"central_meridian\",-116.25],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 13,
-        "6.667],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+        ",6561666.667],PARAMETER[\"false_northing\",1640416.667],");
     add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 15,
-        "H],AUTHORITY[\"EPSG\",\"3500\"]]");
-    p = add_epsg_def (filter, first, last, 3501, "epsg", 3501,
-        "NAD83(NSRS2007) / Colorado Central");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 16,
+        "ORITY[\"EPSG\",\"3500\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3501, "epsg", 3501,
+        "NAD83(NSRS2007) / Colorado Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
     add_proj4text (p, 1,
@@ -2083,25 +2358,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_1\",39.75],PARAMETER[\"stan");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 9,
-        "dard_parallel_2\",38.45],PARAMETER[\"latitude_of_origin\"");
+        "ER[\"standard_parallel_1\",39.75],PARAMETER[\"standard_p");
     add_srs_wkt (p, 10,
-        ",37.83333333333334],PARAMETER[\"central_meridian\",-105.");
+        "arallel_2\",38.45],PARAMETER[\"latitude_of_origin\",37.8");
     add_srs_wkt (p, 11,
-        "5],PARAMETER[\"false_easting\",914401.8289],PARAMETER[\"");
+        "3333333333334],PARAMETER[\"central_meridian\",-105.5],PA");
     add_srs_wkt (p, 12,
-        "false_northing\",304800.6096],UNIT[\"metre\",1,AUTHORITY");
+        "RAMETER[\"false_easting\",914401.8289],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "_northing\",304800.6096],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"3501\"]]");
-    p = add_epsg_def (filter, first, last, 3502, "epsg", 3502,
-        "NAD83(NSRS2007) / Colorado Central (ftUS)");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 15,
+        "RITY[\"EPSG\",\"3501\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3502, "epsg", 3502,
+        "NAD83(NSRS2007) / Colorado Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
     add_proj4text (p, 1,
@@ -2123,25 +2403,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",39.75],PARAMETER");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",38.45],PARAMETER[\"latitude_of_");
+        "PARAMETER[\"standard_parallel_1\",39.75],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "origin\",37.83333333333334],PARAMETER[\"central_meridian");
+        "ndard_parallel_2\",38.45],PARAMETER[\"latitude_of_origin");
     add_srs_wkt (p, 11,
-        "\",-105.5],PARAMETER[\"false_easting\",3000000],PARAMETE");
+        "\",37.83333333333334],PARAMETER[\"central_meridian\",-10");
     add_srs_wkt (p, 12,
-        "R[\"false_northing\",1000000],UNIT[\"US survey foot\",0.");
+        "5.5],PARAMETER[\"false_easting\",3000000],PARAMETER[\"fa");
     add_srs_wkt (p, 13,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "lse_northing\",1000000],UNIT[\"US survey foot\",0.304800");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3502\"]]");
-    p = add_epsg_def (filter, first, last, 3503, "epsg", 3503,
-        "NAD83(NSRS2007) / Colorado North");
+        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 15,
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3502\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3503, "epsg", 3503,
+        "NAD83(NSRS2007) / Colorado North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
     add_proj4text (p, 1,
@@ -2163,25 +2448,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",40.78333333333333],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",39.71666666666667],PARAMETER");
+        "[\"standard_parallel_1\",40.78333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",39.33333333333334],PARAMETER[\"c");
+        "standard_parallel_2\",39.71666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "entral_meridian\",-105.5],PARAMETER[\"false_easting\",91");
+        "itude_of_origin\",39.33333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 12,
-        "4401.8289],PARAMETER[\"false_northing\",304800.6096],UNI");
+        "_meridian\",-105.5],PARAMETER[\"false_easting\",914401.8");
     add_srs_wkt (p, 13,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "289],PARAMETER[\"false_northing\",304800.6096],UNIT[\"me");
     add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3503\"]]");
-    p = add_epsg_def (filter, first, last, 3504, "epsg", 3504,
-        "NAD83(NSRS2007) / Colorado North (ftUS)");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 15,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3503\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3504, "epsg", 3504,
+        "NAD83(NSRS2007) / Colorado North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
     add_proj4text (p, 1,
@@ -2203,27 +2493,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",40.78333333333333]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",39.71666666666667],PA");
+        "AMETER[\"standard_parallel_1\",40.78333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",39.33333333333334],PARAME");
+        "TER[\"standard_parallel_2\",39.71666666666667],PARAMETER");
     add_srs_wkt (p, 11,
-        "TER[\"central_meridian\",-105.5],PARAMETER[\"false_easti");
+        "[\"latitude_of_origin\",39.33333333333334],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        "ng\",3000000],PARAMETER[\"false_northing\",1000000],UNIT");
+        "entral_meridian\",-105.5],PARAMETER[\"false_easting\",30");
     add_srs_wkt (p, 13,
-        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "00000],PARAMETER[\"false_northing\",1000000],UNIT[\"US s");
     add_srs_wkt (p, 14,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 15,
-        "[\"EPSG\",\"3504\"]]");
-    p = add_epsg_def (filter, first, last, 3505, "epsg", 3505,
-        "NAD83(NSRS2007) / Colorado South");
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"3504\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3505, "epsg", 3505,
+        "NAD83(NSRS2007) / Colorado South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
     add_proj4text (p, 1,
@@ -2245,25 +2540,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",38.43333333333333],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",37.23333333333333],PARAMETER");
+        "[\"standard_parallel_1\",38.43333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",36.66666666666666],PARAMETER[\"c");
+        "standard_parallel_2\",37.23333333333333],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "entral_meridian\",-105.5],PARAMETER[\"false_easting\",91");
+        "itude_of_origin\",36.66666666666666],PARAMETER[\"central");
     add_srs_wkt (p, 12,
-        "4401.8289],PARAMETER[\"false_northing\",304800.6096],UNI");
+        "_meridian\",-105.5],PARAMETER[\"false_easting\",914401.8");
     add_srs_wkt (p, 13,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "289],PARAMETER[\"false_northing\",304800.6096],UNIT[\"me");
     add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3505\"]]");
-    p = add_epsg_def (filter, first, last, 3506, "epsg", 3506,
-        "NAD83(NSRS2007) / Colorado South (ftUS)");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 15,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3505\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3506, "epsg", 3506,
+        "NAD83(NSRS2007) / Colorado South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
     add_proj4text (p, 1,
@@ -2285,27 +2585,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",38.43333333333333]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",37.23333333333333],PA");
+        "AMETER[\"standard_parallel_1\",38.43333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",36.66666666666666],PARAME");
+        "TER[\"standard_parallel_2\",37.23333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "TER[\"central_meridian\",-105.5],PARAMETER[\"false_easti");
+        "[\"latitude_of_origin\",36.66666666666666],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        "ng\",3000000],PARAMETER[\"false_northing\",1000000],UNIT");
+        "entral_meridian\",-105.5],PARAMETER[\"false_easting\",30");
     add_srs_wkt (p, 13,
-        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "00000],PARAMETER[\"false_northing\",1000000],UNIT[\"US s");
     add_srs_wkt (p, 14,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 15,
-        "[\"EPSG\",\"3506\"]]");
-    p = add_epsg_def (filter, first, last, 3507, "epsg", 3507,
-        "NAD83(NSRS2007) / Connecticut");
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"3506\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3507, "epsg", 3507,
+        "NAD83(NSRS2007) / Connecticut", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
     add_proj4text (p, 1,
@@ -2327,25 +2632,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_1\",41.86666666666667],PARAMETER");
+        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",41.2],PARAMETER[\"latitude_of_o");
+        "standard_parallel_1\",41.86666666666667],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "rigin\",40.83333333333334],PARAMETER[\"central_meridian\"");
+        "ndard_parallel_2\",41.2],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        ",-72.75],PARAMETER[\"false_easting\",304800.6096],PARAME");
+        ",40.83333333333334],PARAMETER[\"central_meridian\",-72.7");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",152400.3048],UNIT[\"metre\",1,AUT");
+        "5],PARAMETER[\"false_easting\",304800.6096],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "false_northing\",152400.3048],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"3507\"]]");
-    p = add_epsg_def (filter, first, last, 3508, "epsg", 3508,
-        "NAD83(NSRS2007) / Connecticut (ftUS)");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"3507\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3508, "epsg", 3508,
+        "NAD83(NSRS2007) / Connecticut (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
     add_proj4text (p, 1,
@@ -2367,27 +2677,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",41.86666666666667],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",41.2],PARAMETER[\"latitud");
+        "TER[\"standard_parallel_1\",41.86666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "e_of_origin\",40.83333333333334],PARAMETER[\"central_mer");
+        "[\"standard_parallel_2\",41.2],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 11,
-        "idian\",-72.75],PARAMETER[\"false_easting\",1000000],PAR");
+        "rigin\",40.83333333333334],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "AMETER[\"false_northing\",500000],UNIT[\"US survey foot\"");
+        ",-72.75],PARAMETER[\"false_easting\",1000000],PARAMETER[");
     add_srs_wkt (p, 13,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "\"false_northing\",500000],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3508\"]");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 15,
-        "]");
-    p = add_epsg_def (filter, first, last, 3509, "epsg", 3509,
-        "NAD83(NSRS2007) / Delaware");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3508\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3509, "epsg", 3509,
+        "NAD83(NSRS2007) / Delaware", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -2407,23 +2720,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],PRO");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",38],PARAMETER[\"central_meridian\",-75.4");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        "1666666666667],PARAMETER[\"scale_factor\",0.999995],PARA");
+        "_origin\",38],PARAMETER[\"central_meridian\",-75.4166666");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",200000],PARAMETER[\"false_northi");
+        "6666667],PARAMETER[\"scale_factor\",0.999995],PARAMETER[");
     add_srs_wkt (p, 11,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "\"false_easting\",200000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 12,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        "509\"]]");
-    p = add_epsg_def (filter, first, last, 3510, "epsg", 3510,
-        "NAD83(NSRS2007) / Delaware (ftUS)");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3509\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3510, "epsg", 3510,
+        "NAD83(NSRS2007) / Delaware (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -2443,23 +2761,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",38],PARAMETER[\"central_meridian\",");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "-75.41666666666667],PARAMETER[\"scale_factor\",0.999995]");
+        "ude_of_origin\",38],PARAMETER[\"central_meridian\",-75.4");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",656166.667],PARAMETER[\"fal");
+        "1666666666667],PARAMETER[\"scale_factor\",0.999995],PARA");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "METER[\"false_easting\",656166.667],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
     add_srs_wkt (p, 13,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3510\"]]");
-    p = add_epsg_def (filter, first, last, 3511, "epsg", 3511,
-        "NAD83(NSRS2007) / Florida East");
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3510\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3511, "epsg", 3511,
+        "NAD83(NSRS2007) / Florida East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
     add_proj4text (p, 1,
@@ -2479,23 +2802,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",24.33333333333333],PARAMETER[\"centr");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "al_meridian\",-81],PARAMETER[\"scale_factor\",0.99994117");
+        "e_of_origin\",24.33333333333333],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "7],PARAMETER[\"false_easting\",200000],PARAMETER[\"false");
+        "idian\",-81],PARAMETER[\"scale_factor\",0.999941177],PAR");
     add_srs_wkt (p, 11,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",200000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "G\",\"3511\"]]");
-    p = add_epsg_def (filter, first, last, 3512, "epsg", 3512,
-        "NAD83(NSRS2007) / Florida East (ftUS)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "3511\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3512, "epsg", 3512,
+        "NAD83(NSRS2007) / Florida East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
     add_proj4text (p, 1,
@@ -2515,23 +2843,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",24.33333333333333],PARAMETER[");
+        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "\"central_meridian\",-81],PARAMETER[\"scale_factor\",0.9");
+        "atitude_of_origin\",24.33333333333333],PARAMETER[\"centr");
     add_srs_wkt (p, 10,
-        "99941177],PARAMETER[\"false_easting\",656166.667],PARAME");
+        "al_meridian\",-81],PARAMETER[\"scale_factor\",0.99994117");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+        "7],PARAMETER[\"false_easting\",656166.667],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3512\"]]");
-    p = add_epsg_def (filter, first, last, 3513, "epsg", 3513,
-        "NAD83(NSRS2007) / Florida GDL Albers");
+        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3512\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3513, "epsg", 3513,
+        "NAD83(NSRS2007) / Florida GDL Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_");
     add_proj4text (p, 1,
@@ -2551,23 +2884,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARA");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_1\",24],PARAMETER[\"standard_p");
+        "9\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMETER[");
     add_srs_wkt (p, 9,
-        "arallel_2\",31.5],PARAMETER[\"latitude_of_center\",24],P");
+        "\"standard_parallel_1\",24],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"longitude_of_center\",-84],PARAMETER[\"false_");
+        "l_2\",31.5],PARAMETER[\"latitude_of_center\",24],PARAMET");
     add_srs_wkt (p, 11,
-        "easting\",400000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "ER[\"longitude_of_center\",-84],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "g\",400000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 13,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3513\"]]");
-    p = add_epsg_def (filter, first, last, 3514, "epsg", 3514,
-        "NAD83(NSRS2007) / Florida North");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3513\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3514, "epsg", 3514,
+        "NAD83(NSRS2007) / Florida North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
     add_proj4text (p, 1,
@@ -2587,25 +2925,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_1\",30.75],PARAMETER[\"standar");
+        "],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[");
     add_srs_wkt (p, 9,
-        "d_parallel_2\",29.58333333333333],PARAMETER[\"latitude_o");
+        "\"standard_parallel_1\",30.75],PARAMETER[\"standard_para");
     add_srs_wkt (p, 10,
-        "f_origin\",29],PARAMETER[\"central_meridian\",-84.5],PAR");
+        "llel_2\",29.58333333333333],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",600000],PARAMETER[\"false_north");
+        "in\",29],PARAMETER[\"central_meridian\",-84.5],PARAMETER");
     add_srs_wkt (p, 12,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",600000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "3514\"]]");
-    p = add_epsg_def (filter, first, last, 3515, "epsg", 3515,
-        "NAD83(NSRS2007) / Florida North (ftUS)");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3514\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3515, "epsg", 3515,
+        "NAD83(NSRS2007) / Florida North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
     add_proj4text (p, 1,
@@ -2625,25 +2968,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",30.75],PARAMETER[\"s");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "tandard_parallel_2\",29.58333333333333],PARAMETER[\"lati");
+        "AMETER[\"standard_parallel_1\",30.75],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "tude_of_origin\",29],PARAMETER[\"central_meridian\",-84.");
+        "rd_parallel_2\",29.58333333333333],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "5],PARAMETER[\"false_easting\",1968500],PARAMETER[\"fals");
+        "of_origin\",29],PARAMETER[\"central_meridian\",-84.5],PA");
     add_srs_wkt (p, 12,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "RAMETER[\"false_easting\",1968500],PARAMETER[\"false_nor");
     add_srs_wkt (p, 13,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3515\"]]");
-    p = add_epsg_def (filter, first, last, 3516, "epsg", 3516,
-        "NAD83(NSRS2007) / Florida West");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 15,
+        "NORTH],AUTHORITY[\"EPSG\",\"3515\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3516, "epsg", 3516,
+        "NAD83(NSRS2007) / Florida West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
     add_proj4text (p, 1,
@@ -2663,23 +3011,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",24.33333333333333],PARAMETER[\"centr");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "al_meridian\",-82],PARAMETER[\"scale_factor\",0.99994117");
+        "e_of_origin\",24.33333333333333],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "7],PARAMETER[\"false_easting\",200000],PARAMETER[\"false");
+        "idian\",-82],PARAMETER[\"scale_factor\",0.999941177],PAR");
     add_srs_wkt (p, 11,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",200000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "G\",\"3516\"]]");
-    p = add_epsg_def (filter, first, last, 3517, "epsg", 3517,
-        "NAD83(NSRS2007) / Florida West (ftUS)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "3516\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3517, "epsg", 3517,
+        "NAD83(NSRS2007) / Florida West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
     add_proj4text (p, 1,
@@ -2699,23 +3052,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",24.33333333333333],PARAMETER[");
+        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "\"central_meridian\",-82],PARAMETER[\"scale_factor\",0.9");
+        "atitude_of_origin\",24.33333333333333],PARAMETER[\"centr");
     add_srs_wkt (p, 10,
-        "99941177],PARAMETER[\"false_easting\",656166.667],PARAME");
+        "al_meridian\",-82],PARAMETER[\"scale_factor\",0.99994117");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+        "7],PARAMETER[\"false_easting\",656166.667],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3517\"]]");
-    p = add_epsg_def (filter, first, last, 3518, "epsg", 3518,
-        "NAD83(NSRS2007) / Georgia East");
+        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3517\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3518, "epsg", 3518,
+        "NAD83(NSRS2007) / Georgia East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -2735,23 +3093,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",30],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "82.16666666666667],PARAMETER[\"scale_factor\",0.9999],PA");
+        "e_of_origin\",30],PARAMETER[\"central_meridian\",-82.166");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",200000],PARAMETER[\"false_nort");
+        "66666666667],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",200000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "3518\"]]");
-    p = add_epsg_def (filter, first, last, 3519, "epsg", 3519,
-        "NAD83(NSRS2007) / Georgia East (ftUS)");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3518\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3519, "epsg", 3519,
+        "NAD83(NSRS2007) / Georgia East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -2771,23 +3134,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",30],PARAMETER[\"central_merid");
+        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "ian\",-82.16666666666667],PARAMETER[\"scale_factor\",0.9");
+        "atitude_of_origin\",30],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "999],PARAMETER[\"false_easting\",656166.667],PARAMETER[\"");
+        "82.16666666666667],PARAMETER[\"scale_factor\",0.9999],PA");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "RAMETER[\"false_easting\",656166.667],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3519\"]]");
-    p = add_epsg_def (filter, first, last, 3520, "epsg", 3520,
-        "NAD83(NSRS2007) / Georgia West");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"3519\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3520, "epsg", 3520,
+        "NAD83(NSRS2007) / Georgia West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -2807,23 +3175,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",30],PARAMETER[\"central_meridian\",-");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "84.16666666666667],PARAMETER[\"scale_factor\",0.9999],PA");
+        "e_of_origin\",30],PARAMETER[\"central_meridian\",-84.166");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",700000],PARAMETER[\"false_nort");
+        "66666666667],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",700000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "3520\"]]");
-    p = add_epsg_def (filter, first, last, 3521, "epsg", 3521,
-        "NAD83(NSRS2007) / Georgia West (ftUS)");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3520\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3521, "epsg", 3521,
+        "NAD83(NSRS2007) / Georgia West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
     add_proj4text (p, 1,
@@ -2843,23 +3216,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",30],PARAMETER[\"central_merid");
+        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "ian\",-84.16666666666667],PARAMETER[\"scale_factor\",0.9");
+        "atitude_of_origin\",30],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "999],PARAMETER[\"false_easting\",2296583.333],PARAMETER[");
+        "84.16666666666667],PARAMETER[\"scale_factor\",0.9999],PA");
     add_srs_wkt (p, 11,
-        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
+        "RAMETER[\"false_easting\",2296583.333],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 13,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3521\"]]");
-    p = add_epsg_def (filter, first, last, 3522, "epsg", 3522,
-        "NAD83(NSRS2007) / Idaho Central");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3521\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3522, "epsg", 3522,
+        "NAD83(NSRS2007) / Idaho Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
     add_proj4text (p, 1,
@@ -2879,23 +3257,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",41.66666666666666],PARAMETER[\"cent");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-114],PARAMETER[\"scale_factor\",0.999947");
+        "de_of_origin\",41.66666666666666],PARAMETER[\"central_me");
     add_srs_wkt (p, 10,
-        "368],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "ridian\",-114],PARAMETER[\"scale_factor\",0.999947368],P");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 13,
-        "PSG\",\"3522\"]]");
-    p = add_epsg_def (filter, first, last, 3523, "epsg", 3523,
-        "NAD83(NSRS2007) / Idaho Central (ftUS)");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3522\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3523, "epsg", 3523,
+        "NAD83(NSRS2007) / Idaho Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
     add_proj4text (p, 1,
@@ -2915,23 +3298,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",41.66666666666666],PARAMETER");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",-114],PARAMETER[\"scale_factor\",0");
+        "latitude_of_origin\",41.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        ".999947368],PARAMETER[\"false_easting\",1640416.667],PAR");
+        "ral_meridian\",-114],PARAMETER[\"scale_factor\",0.999947");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
+        "368],PARAMETER[\"false_easting\",1640416.667],PARAMETER[");
     add_srs_wkt (p, 12,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3523\"]]");
-    p = add_epsg_def (filter, first, last, 3524, "epsg", 3524,
-        "NAD83(NSRS2007) / Idaho East");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3523\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3524, "epsg", 3524,
+        "NAD83(NSRS2007) / Idaho East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
     add_proj4text (p, 1,
@@ -2951,23 +3339,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",41.66666666666666],PARAMETER[\"central");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "_meridian\",-112.1666666666667],PARAMETER[\"scale_factor");
+        "of_origin\",41.66666666666666],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "\",0.999947368],PARAMETER[\"false_easting\",200000],PARA");
+        "ian\",-112.1666666666667],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "99947368],PARAMETER[\"false_easting\",200000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"3524\"]]");
-    p = add_epsg_def (filter, first, last, 3525, "epsg", 3525,
-        "NAD83(NSRS2007) / Idaho East (ftUS)");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"3524\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3525, "epsg", 3525,
+        "NAD83(NSRS2007) / Idaho East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
     add_proj4text (p, 1,
@@ -2989,25 +3382,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",41.66666666666666],PARAMETER[\"");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "central_meridian\",-112.1666666666667],PARAMETER[\"scale");
+        "titude_of_origin\",41.66666666666666],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "_factor\",0.999947368],PARAMETER[\"false_easting\",65616");
+        "l_meridian\",-112.1666666666667],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 11,
-        "6.667],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
+        "r\",0.999947368],PARAMETER[\"false_easting\",656166.667]");
     add_srs_wkt (p, 12,
-        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "3525\"]]");
-    p = add_epsg_def (filter, first, last, 3526, "epsg", 3526,
-        "NAD83(NSRS2007) / Idaho West");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3525\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3526, "epsg", 3526,
+        "NAD83(NSRS2007) / Idaho West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
     add_proj4text (p, 1,
@@ -3027,23 +3425,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",41.66666666666666],PARAMETER[\"central");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "_meridian\",-115.75],PARAMETER[\"scale_factor\",0.999933");
+        "of_origin\",41.66666666666666],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "333],PARAMETER[\"false_easting\",800000],PARAMETER[\"fal");
+        "ian\",-115.75],PARAMETER[\"scale_factor\",0.999933333],P");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",800000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 13,
-        "PSG\",\"3526\"]]");
-    p = add_epsg_def (filter, first, last, 3527, "epsg", 3527,
-        "NAD83(NSRS2007) / Idaho West (ftUS)");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3526\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3527, "epsg", 3527,
+        "NAD83(NSRS2007) / Idaho West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
     add_proj4text (p, 1,
@@ -3063,23 +3466,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",41.66666666666666],PARAMETER[\"");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "central_meridian\",-115.75],PARAMETER[\"scale_factor\",0");
+        "titude_of_origin\",41.66666666666666],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        ".999933333],PARAMETER[\"false_easting\",2624666.667],PAR");
+        "l_meridian\",-115.75],PARAMETER[\"scale_factor\",0.99993");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
+        "3333],PARAMETER[\"false_easting\",2624666.667],PARAMETER");
     add_srs_wkt (p, 12,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "[\"false_northing\",0],UNIT[\"US survey foot\",0.3048006");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3527\"]]");
-    p = add_epsg_def (filter, first, last, 3528, "epsg", 3528,
-        "NAD83(NSRS2007) / Illinois East");
+        "096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3527\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3528, "epsg", 3528,
+        "NAD83(NSRS2007) / Illinois East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
     add_proj4text (p, 1,
@@ -3099,23 +3507,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",36.66666666666666],PARAMETER[\"cent");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-88.33333333333333],PARAMETER[\"scale_fac");
+        "de_of_origin\",36.66666666666666],PARAMETER[\"central_me");
     add_srs_wkt (p, 10,
-        "tor\",0.999975],PARAMETER[\"false_easting\",300000],PARA");
+        "ridian\",-88.33333333333333],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "0.999975],PARAMETER[\"false_easting\",300000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"3528\"]]");
-    p = add_epsg_def (filter, first, last, 3529, "epsg", 3529,
-        "NAD83(NSRS2007) / Illinois East (ftUS)");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"3528\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3529, "epsg", 3529,
+        "NAD83(NSRS2007) / Illinois East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
     add_proj4text (p, 1,
@@ -3137,25 +3550,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",36.66666666666666],PARAMETER");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",-88.33333333333333],PARAMETER[\"sc");
+        "latitude_of_origin\",36.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        "ale_factor\",0.999975],PARAMETER[\"false_easting\",98425");
+        "ral_meridian\",-88.33333333333333],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 11,
-        "0.0000000002],PARAMETER[\"false_northing\",0],UNIT[\"US ");
+        "tor\",0.999975],PARAMETER[\"false_easting\",984250.00000");
     add_srs_wkt (p, 12,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "00002],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
     add_srs_wkt (p, 13,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 14,
-        "SG\",\"3529\"]]");
-    p = add_epsg_def (filter, first, last, 3530, "epsg", 3530,
-        "NAD83(NSRS2007) / Illinois West");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "3529\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3530, "epsg", 3530,
+        "NAD83(NSRS2007) / Illinois West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
     add_proj4text (p, 1,
@@ -3175,23 +3593,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",36.66666666666666],PARAMETER[\"cent");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-90.16666666666667],PARAMETER[\"scale_fac");
+        "de_of_origin\",36.66666666666666],PARAMETER[\"central_me");
     add_srs_wkt (p, 10,
-        "tor\",0.999941177],PARAMETER[\"false_easting\",700000],P");
+        "ridian\",-90.16666666666667],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "0.999941177],PARAMETER[\"false_easting\",700000],PARAMET");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"3530\"]]");
-    p = add_epsg_def (filter, first, last, 3531, "epsg", 3531,
-        "NAD83(NSRS2007) / Illinois West (ftUS)");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"3530\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3531, "epsg", 3531,
+        "NAD83(NSRS2007) / Illinois West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
     add_proj4text (p, 1,
@@ -3211,25 +3634,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",36.66666666666666],PARAMETER");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",-90.16666666666667],PARAMETER[\"sc");
+        "latitude_of_origin\",36.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        "ale_factor\",0.999941177],PARAMETER[\"false_easting\",22");
+        "ral_meridian\",-90.16666666666667],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 11,
-        "96583.333300001],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "tor\",0.999941177],PARAMETER[\"false_easting\",2296583.3");
     add_srs_wkt (p, 12,
-        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        "33300001],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
     add_srs_wkt (p, 13,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"3531\"]]");
-    p = add_epsg_def (filter, first, last, 3532, "epsg", 3532,
-        "NAD83(NSRS2007) / Indiana East");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"3531\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3532, "epsg", 3532,
+        "NAD83(NSRS2007) / Indiana East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -3249,23 +3677,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",37.5],PARAMETER[\"central_meridian\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",-85.66666666666667],PARAMETER[\"scale_factor\",0.999966");
+        "e_of_origin\",37.5],PARAMETER[\"central_meridian\",-85.6");
     add_srs_wkt (p, 10,
-        "667],PARAMETER[\"false_easting\",100000],PARAMETER[\"fal");
+        "6666666666667],PARAMETER[\"scale_factor\",0.999966667],P");
     add_srs_wkt (p, 11,
-        "se_northing\",250000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "ARAMETER[\"false_easting\",100000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "thing\",250000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"3532\"]]");
-    p = add_epsg_def (filter, first, last, 3533, "epsg", 3533,
-        "NAD83(NSRS2007) / Indiana East (ftUS)");
+        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"3532\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3533, "epsg", 3533,
+        "NAD83(NSRS2007) / Indiana East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -3285,25 +3718,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",37.5],PARAMETER[\"central_mer");
+        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "idian\",-85.66666666666667],PARAMETER[\"scale_factor\",0");
+        "atitude_of_origin\",37.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        ".999966667],PARAMETER[\"false_easting\",328083.333],PARA");
+        ",-85.66666666666667],PARAMETER[\"scale_factor\",0.999966");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",820208.3330000002],UNIT[\"US su");
+        "667],PARAMETER[\"false_easting\",328083.333],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "false_northing\",820208.3330000002],UNIT[\"US survey foo");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
     add_srs_wkt (p, 14,
-        "\",\"3533\"]]");
-    p = add_epsg_def (filter, first, last, 3534, "epsg", 3534,
-        "NAD83(NSRS2007) / Indiana West");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"353");
+    add_srs_wkt (p, 15,
+        "3\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3534, "epsg", 3534,
+        "NAD83(NSRS2007) / Indiana West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -3323,23 +3761,28 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",37.5],PARAMETER[\"central_meridian\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",-87.08333333333333],PARAMETER[\"scale_factor\",0.999966");
+        "e_of_origin\",37.5],PARAMETER[\"central_meridian\",-87.0");
     add_srs_wkt (p, 10,
-        "667],PARAMETER[\"false_easting\",900000],PARAMETER[\"fal");
+        "8333333333333],PARAMETER[\"scale_factor\",0.999966667],P");
     add_srs_wkt (p, 11,
-        "se_northing\",250000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "ARAMETER[\"false_easting\",900000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "thing\",250000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"3534\"]]");
-    p = add_epsg_def (filter, first, last, 3535, "epsg", 3535,
-        "NAD83(NSRS2007) / Indiana West (ftUS)");
+        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"3534\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3535, "epsg", 3535,
+        "NAD83(NSRS2007) / Indiana West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -3359,25 +3802,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",37.5],PARAMETER[\"central_mer");
+        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "idian\",-87.08333333333333],PARAMETER[\"scale_factor\",0");
+        "atitude_of_origin\",37.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        ".999966667],PARAMETER[\"false_easting\",2952750],PARAMET");
+        ",-87.08333333333333],PARAMETER[\"scale_factor\",0.999966");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",820208.3330000002],UNIT[\"US surve");
+        "667],PARAMETER[\"false_easting\",2952750],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
+        "lse_northing\",820208.3330000002],UNIT[\"US survey foot\"");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "\"3535\"]]");
-    p = add_epsg_def (filter, first, last, 3536, "epsg", 3536,
-        "NAD83(NSRS2007) / Iowa North");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3535\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3536, "epsg", 3536,
+        "NAD83(NSRS2007) / Iowa North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
     add_proj4text (p, 1,
@@ -3397,25 +3845,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",43.26666666666667],PARAMETER[");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "\"standard_parallel_2\",42.06666666666667],PARAMETER[\"l");
+        "tandard_parallel_1\",43.26666666666667],PARAMETER[\"stan");
     add_srs_wkt (p, 10,
-        "atitude_of_origin\",41.5],PARAMETER[\"central_meridian\"");
+        "dard_parallel_2\",42.06666666666667],PARAMETER[\"latitud");
     add_srs_wkt (p, 11,
-        ",-93.5],PARAMETER[\"false_easting\",1500000],PARAMETER[\"");
+        "e_of_origin\",41.5],PARAMETER[\"central_meridian\",-93.5");
     add_srs_wkt (p, 12,
-        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "],PARAMETER[\"false_easting\",1500000],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"3536\"]]");
-    p = add_epsg_def (filter, first, last, 3537, "epsg", 3537,
-        "NAD83(NSRS2007) / Iowa North (ftUS)");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"3536\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3537, "epsg", 3537,
+        "NAD83(NSRS2007) / Iowa North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
     add_proj4text (p, 1,
@@ -3437,27 +3890,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",43.26666666666667],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",42.06666666666667],PARAME");
+        "TER[\"standard_parallel_1\",43.26666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",41.5],PARAMETER[\"central_mer");
+        "[\"standard_parallel_2\",42.06666666666667],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "idian\",-93.5],PARAMETER[\"false_easting\",4921250],PARA");
+        "latitude_of_origin\",41.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",3280833.333300001],UNIT[\"US su");
+        ",-93.5],PARAMETER[\"false_easting\",4921250],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "false_northing\",3280833.333300001],UNIT[\"US survey foo");
     add_srs_wkt (p, 14,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
     add_srs_wkt (p, 15,
-        "\",\"3537\"]]");
-    p = add_epsg_def (filter, first, last, 3538, "epsg", 3538,
-        "NAD83(NSRS2007) / Iowa South");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"353");
+    add_srs_wkt (p, 16,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3538, "epsg", 3538,
+        "NAD83(NSRS2007) / Iowa South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
     add_proj4text (p, 1,
@@ -3477,25 +3935,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",41.78333333333333],PARAMETER[");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "\"standard_parallel_2\",40.61666666666667],PARAMETER[\"l");
+        "tandard_parallel_1\",41.78333333333333],PARAMETER[\"stan");
     add_srs_wkt (p, 10,
-        "atitude_of_origin\",40],PARAMETER[\"central_meridian\",-");
+        "dard_parallel_2\",40.61666666666667],PARAMETER[\"latitud");
     add_srs_wkt (p, 11,
-        "93.5],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "e_of_origin\",40],PARAMETER[\"central_meridian\",-93.5],");
     add_srs_wkt (p, 12,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"3538\"]]");
-    p = add_epsg_def (filter, first, last, 3539, "epsg", 3539,
-        "NAD83(NSRS2007) / Iowa South (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"3538\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3539, "epsg", 3539,
+        "NAD83(NSRS2007) / Iowa South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
     add_proj4text (p, 1,
@@ -3515,25 +3978,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",41.78333333333333],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",40.61666666666667],PARAME");
+        "TER[\"standard_parallel_1\",41.78333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",40],PARAMETER[\"central_merid");
+        "[\"standard_parallel_2\",40.61666666666667],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ian\",-93.5],PARAMETER[\"false_easting\",1640416.6667],P");
+        "latitude_of_origin\",40],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 12,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "-93.5],PARAMETER[\"false_easting\",1640416.6667],PARAMET");
     add_srs_wkt (p, 13,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        "ER[\"false_northing\",0],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 14,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3539\"]]");
-    p = add_epsg_def (filter, first, last, 3540, "epsg", 3540,
-        "NAD83(NSRS2007) / Kansas North");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 15,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3539\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3540, "epsg", 3540,
+        "NAD83(NSRS2007) / Kansas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
     add_proj4text (p, 1,
@@ -3553,25 +4021,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",39.78333333333333],PARAMETE");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "R[\"standard_parallel_2\",38.71666666666667],PARAMETER[\"");
+        "standard_parallel_1\",39.78333333333333],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",38.33333333333334],PARAMETER[\"cent");
+        "ndard_parallel_2\",38.71666666666667],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "ral_meridian\",-98],PARAMETER[\"false_easting\",400000],");
+        "de_of_origin\",38.33333333333334],PARAMETER[\"central_me");
     add_srs_wkt (p, 12,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "ridian\",-98],PARAMETER[\"false_easting\",400000],PARAME");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 14,
-        "],AUTHORITY[\"EPSG\",\"3540\"]]");
-    p = add_epsg_def (filter, first, last, 3541, "epsg", 3541,
-        "NAD83(NSRS2007) / Kansas North (ftUS)");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"3540\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3541, "epsg", 3541,
+        "NAD83(NSRS2007) / Kansas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
     add_proj4text (p, 1,
@@ -3593,27 +4066,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",39.78333333333333],P");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",38.71666666666667],PARA");
+        "ETER[\"standard_parallel_1\",39.78333333333333],PARAMETE");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",38.33333333333334],PARAMETE");
+        "R[\"standard_parallel_2\",38.71666666666667],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "R[\"central_meridian\",-98],PARAMETER[\"false_easting\",");
+        "latitude_of_origin\",38.33333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        "1312333.3333],PARAMETER[\"false_northing\",0],UNIT[\"US ");
+        "ral_meridian\",-98],PARAMETER[\"false_easting\",1312333.");
     add_srs_wkt (p, 13,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "3333],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
     add_srs_wkt (p, 14,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
     add_srs_wkt (p, 15,
-        "SG\",\"3541\"]]");
-    p = add_epsg_def (filter, first, last, 3542, "epsg", 3542,
-        "NAD83(NSRS2007) / Kansas South");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 16,
+        "541\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3542, "epsg", 3542,
+        "NAD83(NSRS2007) / Kansas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
     add_proj4text (p, 1,
@@ -3635,25 +4113,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",38.56666666666667],PARAMETE");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "R[\"standard_parallel_2\",37.26666666666667],PARAMETER[\"");
+        "standard_parallel_1\",38.56666666666667],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",36.66666666666666],PARAMETER[\"cent");
+        "ndard_parallel_2\",37.26666666666667],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "ral_meridian\",-98.5],PARAMETER[\"false_easting\",400000");
+        "de_of_origin\",36.66666666666666],PARAMETER[\"central_me");
     add_srs_wkt (p, 12,
-        "],PARAMETER[\"false_northing\",400000],UNIT[\"metre\",1,");
+        "ridian\",-98.5],PARAMETER[\"false_easting\",400000],PARA");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "METER[\"false_northing\",400000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3542\"]]");
-    p = add_epsg_def (filter, first, last, 3543, "epsg", 3543,
-        "NAD83(NSRS2007) / Kansas South (ftUS)");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 15,
+        "H],AUTHORITY[\"EPSG\",\"3542\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3543, "epsg", 3543,
+        "NAD83(NSRS2007) / Kansas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
     add_proj4text (p, 1,
@@ -3675,27 +4158,32 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",38.56666666666667],P");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",37.26666666666667],PARA");
+        "ETER[\"standard_parallel_1\",38.56666666666667],PARAMETE");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",36.66666666666666],PARAMETE");
+        "R[\"standard_parallel_2\",37.26666666666667],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "R[\"central_meridian\",-98.5],PARAMETER[\"false_easting\"");
+        "latitude_of_origin\",36.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        ",1312333.3333],PARAMETER[\"false_northing\",1312333.3333");
+        "ral_meridian\",-98.5],PARAMETER[\"false_easting\",131233");
     add_srs_wkt (p, 13,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "3.3333],PARAMETER[\"false_northing\",1312333.3333],UNIT[");
     add_srs_wkt (p, 14,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 15,
-        "HORITY[\"EPSG\",\"3543\"]]");
-    p = add_epsg_def (filter, first, last, 3544, "epsg", 3544,
-        "NAD83(NSRS2007) / Kentucky North");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"3543\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3544, "epsg", 3544,
+        "NAD83(NSRS2007) / Kentucky North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
     add_proj4text (p, 1,
@@ -3715,25 +4203,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",37.96666666666667],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",38.96666666666667],PARAMETER");
+        "[\"standard_parallel_1\",37.96666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",37.5],PARAMETER[\"central_meridi");
+        "standard_parallel_2\",38.96666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "an\",-84.25],PARAMETER[\"false_easting\",500000],PARAMET");
+        "itude_of_origin\",37.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 12,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "84.25],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"3544\"]]");
-    p = add_epsg_def (filter, first, last, 3545, "epsg", 3545,
-        "NAD83(NSRS2007) / Kentucky North (ftUS)");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"3544\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3545, "epsg", 3545,
+        "NAD83(NSRS2007) / Kentucky North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
     add_proj4text (p, 1,
@@ -3755,27 +4248,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",37.96666666666667]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",38.96666666666667],PA");
+        "AMETER[\"standard_parallel_1\",37.96666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",37.5],PARAMETER[\"central");
+        "TER[\"standard_parallel_2\",38.96666666666667],PARAMETER");
     add_srs_wkt (p, 11,
-        "_meridian\",-84.25],PARAMETER[\"false_easting\",1640416.");
+        "[\"latitude_of_origin\",37.5],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 12,
-        "667],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
+        "an\",-84.25],PARAMETER[\"false_easting\",1640416.667],PA");
     add_srs_wkt (p, 13,
-        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
+        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
     add_srs_wkt (p, 14,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"35");
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 15,
-        "45\"]]");
-    p = add_epsg_def (filter, first, last, 3546, "epsg", 3546,
-        "NAD83(NSRS2007) / Kentucky Single Zone");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3545\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3546, "epsg", 3546,
+        "NAD83(NSRS2007) / Kentucky Single Zone", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666");
     add_proj4text (p, 1,
@@ -3797,25 +4293,30 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",37.08333333333334],P");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",38.66666666666666],PARA");
+        "AMETER[\"standard_parallel_1\",37.08333333333334],PARAME");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",36.33333333333334],PARAMETE");
+        "TER[\"standard_parallel_2\",38.66666666666666],PARAMETER");
     add_srs_wkt (p, 11,
-        "R[\"central_meridian\",-85.75],PARAMETER[\"false_easting");
+        "[\"latitude_of_origin\",36.33333333333334],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        "\",1500000],PARAMETER[\"false_northing\",1000000],UNIT[\"");
+        "entral_meridian\",-85.75],PARAMETER[\"false_easting\",15");
     add_srs_wkt (p, 13,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "00000],PARAMETER[\"false_northing\",1000000],UNIT[\"metr");
     add_srs_wkt (p, 14,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3546\"]]");
-    p = add_epsg_def (filter, first, last, 3547, "epsg", 3547,
-        "NAD83(NSRS2007) / Kentucky Single Zone (ftUS)");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 15,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3546\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3547, "epsg", 3547,
+        "NAD83(NSRS2007) / Kentucky Single Zone (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666");
     add_proj4text (p, 1,
@@ -3837,25 +4338,27 @@ initialize_epsg_14 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",37.083333333");
+        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 9,
-        "33334],PARAMETER[\"standard_parallel_2\",38.666666666666");
+        "\"],PARAMETER[\"standard_parallel_1\",37.08333333333334]");
     add_srs_wkt (p, 10,
-        "66],PARAMETER[\"latitude_of_origin\",36.33333333333334],");
+        ",PARAMETER[\"standard_parallel_2\",38.66666666666666],PA");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"central_meridian\",-85.75],PARAMETER[\"false");
+        "RAMETER[\"latitude_of_origin\",36.33333333333334],PARAME");
     add_srs_wkt (p, 12,
-        "_easting\",4921250],PARAMETER[\"false_northing\",3280833");
+        "TER[\"central_meridian\",-85.75],PARAMETER[\"false_easti");
     add_srs_wkt (p, 13,
-        ".333],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+        "ng\",4921250],PARAMETER[\"false_northing\",3280833.333],");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 15,
-        "],AUTHORITY[\"EPSG\",\"3547\"]]");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 16,
+        "ORITY[\"EPSG\",\"3547\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_15.c b/src/srsinit/epsg_inlined_15.c
index 93c9ea9..9cfdb14 100644
--- a/src/srsinit/epsg_inlined_15.c
+++ b/src/srsinit/epsg_inlined_15.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 3548, "epsg", 3548,
-        "NAD83(NSRS2007) / Kentucky South");
+    p = add_epsg_def_ex (filter, first, last, 3548, "epsg", 3548,
+        "NAD83(NSRS2007) / Kentucky South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
     add_proj4text (p, 1,
@@ -75,25 +80,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",37.93333333333333],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",36.73333333333333],PARAMETER");
+        "[\"standard_parallel_1\",37.93333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",36.33333333333334],PARAMETER[\"c");
+        "standard_parallel_2\",36.73333333333333],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "entral_meridian\",-85.75],PARAMETER[\"false_easting\",50");
+        "itude_of_origin\",36.33333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 12,
-        "0000],PARAMETER[\"false_northing\",500000],UNIT[\"metre\"");
+        "_meridian\",-85.75],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 13,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "PARAMETER[\"false_northing\",500000],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3548\"]]");
-    p = add_epsg_def (filter, first, last, 3549, "epsg", 3549,
-        "NAD83(NSRS2007) / Kentucky South (ftUS)");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 15,
+        "NORTH],AUTHORITY[\"EPSG\",\"3548\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3549, "epsg", 3549,
+        "NAD83(NSRS2007) / Kentucky South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
     add_proj4text (p, 1,
@@ -115,27 +125,32 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",37.93333333333333]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",36.73333333333333],PA");
+        "AMETER[\"standard_parallel_1\",37.93333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",36.33333333333334],PARAME");
+        "TER[\"standard_parallel_2\",36.73333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "TER[\"central_meridian\",-85.75],PARAMETER[\"false_easti");
+        "[\"latitude_of_origin\",36.33333333333334],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        "ng\",1640416.667],PARAMETER[\"false_northing\",1640416.6");
+        "entral_meridian\",-85.75],PARAMETER[\"false_easting\",16");
     add_srs_wkt (p, 13,
-        "67],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "40416.667],PARAMETER[\"false_northing\",1640416.667],UNI");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 15,
-        "AUTHORITY[\"EPSG\",\"3549\"]]");
-    p = add_epsg_def (filter, first, last, 3550, "epsg", 3550,
-        "NAD83(NSRS2007) / Louisiana North");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 16,
+        "TY[\"EPSG\",\"3549\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3550, "epsg", 3550,
+        "NAD83(NSRS2007) / Louisiana North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
     add_proj4text (p, 1,
@@ -155,25 +170,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",32.66666666666666],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",31.16666666666667],PARAMETER");
+        "[\"standard_parallel_1\",32.66666666666666],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",30.5],PARAMETER[\"central_meridi");
+        "standard_parallel_2\",31.16666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "an\",-92.5],PARAMETER[\"false_easting\",1000000],PARAMET");
+        "itude_of_origin\",30.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 12,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "92.5],PARAMETER[\"false_easting\",1000000],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"3550\"]]");
-    p = add_epsg_def (filter, first, last, 3551, "epsg", 3551,
-        "NAD83(NSRS2007) / Louisiana North (ftUS)");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"3550\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3551, "epsg", 3551,
+        "NAD83(NSRS2007) / Louisiana North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
     add_proj4text (p, 1,
@@ -195,27 +215,32 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",32.66666666666666]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",31.16666666666667],PA");
+        "AMETER[\"standard_parallel_1\",32.66666666666666],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",30.5],PARAMETER[\"central");
+        "TER[\"standard_parallel_2\",31.16666666666667],PARAMETER");
     add_srs_wkt (p, 11,
-        "_meridian\",-92.5],PARAMETER[\"false_easting\",3280833.3");
+        "[\"latitude_of_origin\",30.5],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 12,
-        "33300001],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "an\",-92.5],PARAMETER[\"false_easting\",3280833.33330000");
     add_srs_wkt (p, 13,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "1],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
     add_srs_wkt (p, 14,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
     add_srs_wkt (p, 15,
-        ",\"3551\"]]");
-    p = add_epsg_def (filter, first, last, 3552, "epsg", 3552,
-        "NAD83(NSRS2007) / Louisiana South");
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3551");
+    add_srs_wkt (p, 16,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3552, "epsg", 3552,
+        "NAD83(NSRS2007) / Louisiana South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
     add_proj4text (p, 1,
@@ -235,25 +260,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",30.7],PARAMETER[\"standar");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "d_parallel_2\",29.3],PARAMETER[\"latitude_of_origin\",28");
+        "[\"standard_parallel_1\",30.7],PARAMETER[\"standard_para");
     add_srs_wkt (p, 10,
-        ".5],PARAMETER[\"central_meridian\",-91.33333333333333],P");
+        "llel_2\",29.3],PARAMETER[\"latitude_of_origin\",28.5],PA");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",1000000],PARAMETER[\"false_no");
+        "RAMETER[\"central_meridian\",-91.33333333333333],PARAMET");
     add_srs_wkt (p, 12,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ER[\"false_easting\",1000000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 14,
-        ",\"3552\"]]");
-    p = add_epsg_def (filter, first, last, 3553, "epsg", 3553,
-        "NAD83(NSRS2007) / Louisiana South (ftUS)");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"355");
+    add_srs_wkt (p, 15,
+        "2\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3553, "epsg", 3553,
+        "NAD83(NSRS2007) / Louisiana South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
     add_proj4text (p, 1,
@@ -273,25 +303,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",30.7],PARAMETER[\"");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",29.3],PARAMETER[\"latitude_of_orig");
+        "AMETER[\"standard_parallel_1\",30.7],PARAMETER[\"standar");
     add_srs_wkt (p, 10,
-        "in\",28.5],PARAMETER[\"central_meridian\",-91.3333333333");
+        "d_parallel_2\",29.3],PARAMETER[\"latitude_of_origin\",28");
     add_srs_wkt (p, 11,
-        "3333],PARAMETER[\"false_easting\",3280833.333300001],PAR");
+        ".5],PARAMETER[\"central_meridian\",-91.33333333333333],P");
     add_srs_wkt (p, 12,
-        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
+        "ARAMETER[\"false_easting\",3280833.333300001],PARAMETER[");
     add_srs_wkt (p, 13,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3553\"]]");
-    p = add_epsg_def (filter, first, last, 3554, "epsg", 3554,
-        "NAD83(NSRS2007) / Maine CS2000 Central");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3553\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3554, "epsg", 3554,
+        "NAD83(NSRS2007) / Maine CS2000 Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=5");
     add_proj4text (p, 1,
@@ -311,23 +346,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",43.5],PARAMETER[\"central_me");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ridian\",-69.125],PARAMETER[\"scale_factor\",0.99998],PA");
+        "latitude_of_origin\",43.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        ",-69.125],PARAMETER[\"scale_factor\",0.99998],PARAMETER[");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        "3554\"]]");
-    p = add_epsg_def (filter, first, last, 3555, "epsg", 3555,
-        "NAD83(NSRS2007) / Maine CS2000 East");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3554\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3555, "epsg", 3555,
+        "NAD83(NSRS2007) / Maine CS2000 East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0");
     add_proj4text (p, 1,
@@ -347,23 +387,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",43.83333333333334],PARAMETER[\"");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "central_meridian\",-67.875],PARAMETER[\"scale_factor\",0");
+        "titude_of_origin\",43.83333333333334],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        ".99998],PARAMETER[\"false_easting\",700000],PARAMETER[\"");
+        "l_meridian\",-67.875],PARAMETER[\"scale_factor\",0.99998");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",700000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"3555\"]]");
-    p = add_epsg_def (filter, first, last, 3556, "epsg", 3556,
-        "NAD83(NSRS2007) / Maine CS2000 West");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"3555\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3556, "epsg", 3556,
+        "NAD83(NSRS2007) / Maine CS2000 West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0");
     add_proj4text (p, 1,
@@ -383,23 +428,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",42.83333333333334],PARAMETER[\"");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "central_meridian\",-70.375],PARAMETER[\"scale_factor\",0");
+        "titude_of_origin\",42.83333333333334],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        ".99998],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
+        "l_meridian\",-70.375],PARAMETER[\"scale_factor\",0.99998");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",300000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"3556\"]]");
-    p = add_epsg_def (filter, first, last, 3557, "epsg", 3557,
-        "NAD83(NSRS2007) / Maine East");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"3556\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3557, "epsg", 3557,
+        "NAD83(NSRS2007) / Maine East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
@@ -419,23 +469,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",43.66666666666666],PARAMETER[\"central");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "_meridian\",-68.5],PARAMETER[\"scale_factor\",0.9999],PA");
+        "of_origin\",43.66666666666666],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",300000],PARAMETER[\"false_nort");
+        "ian\",-68.5],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",300000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "3557\"]]");
-    p = add_epsg_def (filter, first, last, 3558, "epsg", 3558,
-        "NAD83(NSRS2007) / Maine West");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3557\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3558, "epsg", 3558,
+        "NAD83(NSRS2007) / Maine West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
@@ -455,23 +510,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",42.83333333333334],PARAMETER[\"central");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "_meridian\",-70.16666666666667],PARAMETER[\"scale_factor");
+        "of_origin\",42.83333333333334],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "\",0.999966667],PARAMETER[\"false_easting\",900000],PARA");
+        "ian\",-70.16666666666667],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "99966667],PARAMETER[\"false_easting\",900000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"3558\"]]");
-    p = add_epsg_def (filter, first, last, 3559, "epsg", 3559,
-        "NAD83(NSRS2007) / Maryland");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"3558\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3559, "epsg", 3559,
+        "NAD83(NSRS2007) / Maryland", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
     add_proj4text (p, 1,
@@ -491,33 +551,36 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],PRO");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",39.45],PARAMETER[\"standard_par");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "allel_2\",38.3],PARAMETER[\"latitude_of_origin\",37.6666");
+        "ndard_parallel_1\",39.45],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "6666666666],PARAMETER[\"central_meridian\",-77],PARAMETE");
+        "2\",38.3],PARAMETER[\"latitude_of_origin\",37.6666666666");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",400000],PARAMETER[\"false_northing\"");
+        "6666],PARAMETER[\"central_meridian\",-77],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "lse_easting\",400000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 13,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3559\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3560, "epsg", 3560,
-        "NAD83 / Utah North (ftUS)");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3559\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3560, "epsg", 3560,
+        "NAD83 / Utah North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
         "667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0");
     add_proj4text (p, 2,
-        "0001016 +y_0=999999.9999898402 +datum=NAD83 +units=us-ft");
+        "0001016 +y_0=999999.9999898402 +ellps=GRS80 +towgs84=0,0");
     add_proj4text (p, 3,
-        " +no_defs");
+        ",0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Utah North (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -531,25 +594,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.78");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "333333333333],PARAMETER[\"standard_parallel_2\",40.71666");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",41.78333333");
     add_srs_wkt (p, 9,
-        "666666667],PARAMETER[\"latitude_of_origin\",40.333333333");
+        "333333],PARAMETER[\"standard_parallel_2\",40.71666666666");
     add_srs_wkt (p, 10,
-        "33334],PARAMETER[\"central_meridian\",-111.5],PARAMETER[");
+        "667],PARAMETER[\"latitude_of_origin\",40.33333333333334]");
     add_srs_wkt (p, 11,
-        "\"false_easting\",1640416.6667],PARAMETER[\"false_northi");
+        ",PARAMETER[\"central_meridian\",-111.5],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "ng\",3280833.333300001],UNIT[\"US survey foot\",0.304800");
+        "e_easting\",1640416.6667],PARAMETER[\"false_northing\",3");
     add_srs_wkt (p, 13,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+        "280833.333300001],UNIT[\"US survey foot\",0.304800609601");
     add_srs_wkt (p, 14,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3560\"]]");
-    p = add_epsg_def (filter, first, last, 3561, "epsg", 3561,
-        "Old Hawaiian / Hawaii zone 1");
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 15,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3560\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3561, "epsg", 3561,
+        "Old Hawaiian / Hawaii zone 1", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Old_Hawaiian", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.");
     add_proj4text (p, 1,
@@ -561,7 +629,7 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "aiian\",DATUM[\"Old_Hawaiian\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],TOWGS84[61,-285,-181,0,0,0,0],AUTHORITY[\"EPSG\",\"613");
     add_srs_wkt (p, 4,
@@ -569,23 +637,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4135\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",1");
+        "EAST],AUTHORITY[\"EPSG\",\"4135\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8.83333333333333],PARAMETER[\"central_meridian\",-155.5]");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",18.8333");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.999966667],PARAMETER[\"fal");
+        "3333333333],PARAMETER[\"central_meridian\",-155.5],PARAM");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "ETER[\"scale_factor\",0.999966667],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"US");
     add_srs_wkt (p, 12,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"3561\"]]");
-    p = add_epsg_def (filter, first, last, 3562, "epsg", 3562,
-        "Old Hawaiian / Hawaii zone 2");
+        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"3561\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3562, "epsg", 3562,
+        "Old Hawaiian / Hawaii zone 2", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Old_Hawaiian", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666");
     add_proj4text (p, 1,
@@ -599,7 +672,7 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "aiian\",DATUM[\"Old_Hawaiian\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],TOWGS84[61,-285,-181,0,0,0,0],AUTHORITY[\"EPSG\",\"613");
     add_srs_wkt (p, 4,
@@ -607,23 +680,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4135\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
+        "EAST],AUTHORITY[\"EPSG\",\"4135\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "0.33333333333333],PARAMETER[\"central_meridian\",-156.66");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",20.3333");
     add_srs_wkt (p, 9,
-        "66666666667],PARAMETER[\"scale_factor\",0.999966667],PAR");
+        "3333333333],PARAMETER[\"central_meridian\",-156.66666666");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "66667],PARAMETER[\"scale_factor\",0.999966667],PARAMETER");
     add_srs_wkt (p, 11,
-        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
     add_srs_wkt (p, 13,
-        "RTH],AUTHORITY[\"EPSG\",\"3562\"]]");
-    p = add_epsg_def (filter, first, last, 3563, "epsg", 3563,
-        "Old Hawaiian / Hawaii zone 3");
+        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"3562\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3563, "epsg", 3563,
+        "Old Hawaiian / Hawaii zone 3", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Old_Hawaiian", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99");
     add_proj4text (p, 1,
@@ -635,7 +713,7 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "aiian\",DATUM[\"Old_Hawaiian\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],TOWGS84[61,-285,-181,0,0,0,0],AUTHORITY[\"EPSG\",\"613");
     add_srs_wkt (p, 4,
@@ -643,23 +721,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4135\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
+        "EAST],AUTHORITY[\"EPSG\",\"4135\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "1.16666666666667],PARAMETER[\"central_meridian\",-158],P");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",21.1666");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.99999],PARAMETER[\"false_eas");
+        "6666666667],PARAMETER[\"central_meridian\",-158],PARAMET");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"US");
+        "ER[\"scale_factor\",0.99999],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"US surve");
     add_srs_wkt (p, 12,
-        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
     add_srs_wkt (p, 13,
-        "PSG\",\"3563\"]]");
-    p = add_epsg_def (filter, first, last, 3564, "epsg", 3564,
-        "Old Hawaiian / Hawaii zone 4");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3563\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3564, "epsg", 3564,
+        "Old Hawaiian / Hawaii zone 4", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Old_Hawaiian", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.");
     add_proj4text (p, 1,
@@ -671,7 +754,7 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "aiian\",DATUM[\"Old_Hawaiian\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],TOWGS84[61,-285,-181,0,0,0,0],AUTHORITY[\"EPSG\",\"613");
     add_srs_wkt (p, 4,
@@ -679,23 +762,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4135\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
+        "EAST],AUTHORITY[\"EPSG\",\"4135\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "1.83333333333333],PARAMETER[\"central_meridian\",-159.5]");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",21.8333");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.99999],PARAMETER[\"false_e");
+        "3333333333],PARAMETER[\"central_meridian\",-159.5],PARAM");
     add_srs_wkt (p, 10,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "ETER[\"scale_factor\",0.99999],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"US sur");
     add_srs_wkt (p, 12,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "vey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"3564\"]]");
-    p = add_epsg_def (filter, first, last, 3565, "epsg", 3565,
-        "Old Hawaiian / Hawaii zone 5");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"3564\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3565, "epsg", 3565,
+        "Old Hawaiian / Hawaii zone 5", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Old_Hawaiian", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666");
     add_proj4text (p, 1,
@@ -707,7 +795,7 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "aiian\",DATUM[\"Old_Hawaiian\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],TOWGS84[61,-285,-181,0,0,0,0],AUTHORITY[\"EPSG\",\"613");
     add_srs_wkt (p, 4,
@@ -715,29 +803,36 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4135\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
+        "EAST],AUTHORITY[\"EPSG\",\"4135\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "1.66666666666667],PARAMETER[\"central_meridian\",-160.16");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",21.6666");
     add_srs_wkt (p, 9,
-        "66666666667],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
+        "6666666667],PARAMETER[\"central_meridian\",-160.16666666");
     add_srs_wkt (p, 10,
-        "alse_easting\",500000],PARAMETER[\"false_northing\",0],U");
+        "66667],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "NIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EP");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "SG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"3565\"]]");
-    p = add_epsg_def (filter, first, last, 3566, "epsg", 3566,
-        "NAD83 / Utah Central (ftUS)");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"3565\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3566, "epsg", 3566,
+        "NAD83 / Utah Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
         "8.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0");
     add_proj4text (p, 2,
-        "=2000000.00001016 +datum=NAD83 +units=us-ft +no_defs");
+        "=2000000.00001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
+    add_proj4text (p, 3,
+        "nits=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Utah Central (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -751,31 +846,38 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.6");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "5],PARAMETER[\"standard_parallel_2\",39.01666666666667],");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",40.65],PAR");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",38.33333333333334],PARA");
+        "AMETER[\"standard_parallel_2\",39.01666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-111.5],PARAMETER[\"false_eas");
+        "TER[\"latitude_of_origin\",38.33333333333334],PARAMETER[");
     add_srs_wkt (p, 11,
-        "ting\",1640416.6667],PARAMETER[\"false_northing\",656166");
+        "\"central_meridian\",-111.5],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "6.666700001],UNIT[\"US survey foot\",0.3048006096012192,");
+        ",1640416.6667],PARAMETER[\"false_northing\",6561666.6667");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "00001],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3566\"]]");
-    p = add_epsg_def (filter, first, last, 3567, "epsg", 3567,
-        "NAD83 / Utah South (ftUS)");
+        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 15,
+        "H],AUTHORITY[\"EPSG\",\"3566\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3567, "epsg", 3567,
+        "NAD83 / Utah South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
         "6.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0");
     add_proj4text (p, 2,
-        "=3000000 +datum=NAD83 +units=us-ft +no_defs");
+        "=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-f");
+    add_proj4text (p, 3,
+        "t +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Utah South (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -789,25 +891,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.35");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",37.21666666666667],P");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",38.35],PARA");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"latitude_of_origin\",36.66666666666666],PARAM");
+        "METER[\"standard_parallel_2\",37.21666666666667],PARAMET");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-111.5],PARAMETER[\"false_east");
+        "ER[\"latitude_of_origin\",36.66666666666666],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ing\",1640416.6667],PARAMETER[\"false_northing\",9842500");
+        "central_meridian\",-111.5],PARAMETER[\"false_easting\",1");
     add_srs_wkt (p, 12,
-        ".000000002],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "640416.6667],PARAMETER[\"false_northing\",9842500.000000");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "002],UNIT[\"US survey foot\",0.3048006096012192,AUTHORIT");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3567\"]]");
-    p = add_epsg_def (filter, first, last, 3568, "epsg", 3568,
-        "NAD83(HARN) / Utah North (ftUS)");
+        "Y[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 15,
+        ",AUTHORITY[\"EPSG\",\"3567\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3568, "epsg", 3568,
+        "NAD83(HARN) / Utah North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
@@ -829,27 +936,32 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",41.78333333333333],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",40.71666666666667],PARAMETER[\"latitude_of");
+        "rallel_1\",41.78333333333333],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",40.33333333333334],PARAMETER[\"central_meridia");
+        "lel_2\",40.71666666666667],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "n\",-111.5],PARAMETER[\"false_easting\",1640416.6667],PA");
+        "n\",40.33333333333334],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 12,
-        "RAMETER[\"false_northing\",3280833.333300001],UNIT[\"US ");
+        "11.5],PARAMETER[\"false_easting\",1640416.6667],PARAMETE");
     add_srs_wkt (p, 13,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "R[\"false_northing\",3280833.333300001],UNIT[\"US survey");
     add_srs_wkt (p, 14,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 15,
-        "SG\",\"3568\"]]");
-    p = add_epsg_def (filter, first, last, 3569, "epsg", 3569,
-        "NAD83(HARN) / Utah Central (ftUS)");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "3568\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3569, "epsg", 3569,
+        "NAD83(HARN) / Utah Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -871,27 +983,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",40.65],PARAMETER[\"standard_parallel");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "_2\",39.01666666666667],PARAMETER[\"latitude_of_origin\"");
+        "_parallel_1\",40.65],PARAMETER[\"standard_parallel_2\",3");
     add_srs_wkt (p, 10,
-        ",38.33333333333334],PARAMETER[\"central_meridian\",-111.");
+        "9.01666666666667],PARAMETER[\"latitude_of_origin\",38.33");
     add_srs_wkt (p, 11,
-        "5],PARAMETER[\"false_easting\",1640416.6667],PARAMETER[\"");
+        "333333333334],PARAMETER[\"central_meridian\",-111.5],PAR");
     add_srs_wkt (p, 12,
-        "false_northing\",6561666.666700001],UNIT[\"US survey foo");
+        "AMETER[\"false_easting\",1640416.6667],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "_northing\",6561666.666700001],UNIT[\"US survey foot\",0");
     add_srs_wkt (p, 14,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"356");
+        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
     add_srs_wkt (p, 15,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 3570, "epsg", 3570,
-        "NAD83(HARN) / Utah South (ftUS)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3569\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3570, "epsg", 3570,
+        "NAD83(HARN) / Utah South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -913,27 +1028,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",38.35],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",37.21666666666667],PARAMETER[\"latitude_of_origin\",36.");
+        "rallel_1\",38.35],PARAMETER[\"standard_parallel_2\",37.2");
     add_srs_wkt (p, 10,
-        "66666666666666],PARAMETER[\"central_meridian\",-111.5],P");
+        "1666666666667],PARAMETER[\"latitude_of_origin\",36.66666");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",1640416.6667],PARAMETER[\"fal");
+        "666666666],PARAMETER[\"central_meridian\",-111.5],PARAME");
     add_srs_wkt (p, 12,
-        "se_northing\",9842500.000000002],UNIT[\"US survey foot\"");
+        "TER[\"false_easting\",1640416.6667],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "rthing\",9842500.000000002],UNIT[\"US survey foot\",0.30");
     add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3570\"]");
+        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
     add_srs_wkt (p, 15,
-        "]");
-    p = add_epsg_def (filter, first, last, 3571, "epsg", 3571,
-        "WGS 84 / North Pole LAEA Bering Sea");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3570\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3571, "epsg", 3571,
+        "WGS 84 / North Pole LAEA Bering Sea", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=90 +lon_0=180 +x_0=0 +y_0=0 +datum=WGS");
     add_proj4text (p, 1,
@@ -949,21 +1067,26 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 6,
-        "OJECTION[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"l");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
     add_srs_wkt (p, 7,
-        "atitude_of_center\",90],PARAMETER[\"longitude_of_center\"");
+        "ON[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        ",180],PARAMETER[\"false_easting\",0],PARAMETER[\"false_n");
+        "e_of_center\",90],PARAMETER[\"longitude_of_center\",180]");
     add_srs_wkt (p, 9,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        ",PARAMETER[\"false_easting\",0],PARAMETER[\"false_northi");
     add_srs_wkt (p, 10,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 11,
-        ",\"3571\"]]");
-    p = add_epsg_def (filter, first, last, 3572, "epsg", 3572,
-        "WGS 84 / North Pole LAEA Alaska");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 12,
+        "571\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3572, "epsg", 3572,
+        "WGS 84 / North Pole LAEA Alaska", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=90 +lon_0=-150 +x_0=0 +y_0=0 +datum=WG");
     add_proj4text (p, 1,
@@ -979,21 +1102,26 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latit");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "ude_of_center\",90],PARAMETER[\"longitude_of_center\",-1");
+        "Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 8,
-        "50],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nor");
+        "center\",90],PARAMETER[\"longitude_of_center\",-150],PAR");
     add_srs_wkt (p, 9,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 10,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 11,
-        "\"3572\"]]");
-    p = add_epsg_def (filter, first, last, 3573, "epsg", 3573,
-        "WGS 84 / North Pole LAEA Canada");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3572\"");
+    add_srs_wkt (p, 12,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3573, "epsg", 3573,
+        "WGS 84 / North Pole LAEA Canada", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=90 +lon_0=-100 +x_0=0 +y_0=0 +datum=WG");
     add_proj4text (p, 1,
@@ -1009,21 +1137,26 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latit");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "ude_of_center\",90],PARAMETER[\"longitude_of_center\",-1");
+        "Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 8,
-        "00],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nor");
+        "center\",90],PARAMETER[\"longitude_of_center\",-100],PAR");
     add_srs_wkt (p, 9,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 10,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 11,
-        "\"3573\"]]");
-    p = add_epsg_def (filter, first, last, 3574, "epsg", 3574,
-        "WGS 84 / North Pole LAEA Atlantic");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3573\"");
+    add_srs_wkt (p, 12,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3574, "epsg", 3574,
+        "WGS 84 / North Pole LAEA Atlantic", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=90 +lon_0=-40 +x_0=0 +y_0=0 +datum=WGS");
     add_proj4text (p, 1,
@@ -1039,21 +1172,26 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"lati");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "tude_of_center\",90],PARAMETER[\"longitude_of_center\",-");
+        "\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "40],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nor");
+        "f_center\",90],PARAMETER[\"longitude_of_center\",-40],PA");
     add_srs_wkt (p, 9,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "RAMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 10,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 11,
-        "\"3574\"]]");
-    p = add_epsg_def (filter, first, last, 3575, "epsg", 3575,
-        "WGS 84 / North Pole LAEA Europe");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3574\"");
+    add_srs_wkt (p, 12,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3575, "epsg", 3575,
+        "WGS 84 / North Pole LAEA Europe", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=90 +lon_0=10 +x_0=0 +y_0=0 +datum=WGS8");
     add_proj4text (p, 1,
@@ -1069,21 +1207,26 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latit");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "ude_of_center\",90],PARAMETER[\"longitude_of_center\",10");
+        "Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
+        "center\",90],PARAMETER[\"longitude_of_center\",10],PARAM");
     add_srs_wkt (p, 9,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ETER[\"false_easting\",0],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 10,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 11,
-        "3575\"]]");
-    p = add_epsg_def (filter, first, last, 3576, "epsg", 3576,
-        "WGS 84 / North Pole LAEA Russia");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3575\"]");
+    add_srs_wkt (p, 12,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3576, "epsg", 3576,
+        "WGS 84 / North Pole LAEA Russia", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +datum=WGS8");
     add_proj4text (p, 1,
@@ -1099,21 +1242,26 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latit");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "ude_of_center\",90],PARAMETER[\"longitude_of_center\",90");
+        "Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
+        "center\",90],PARAMETER[\"longitude_of_center\",90],PARAM");
     add_srs_wkt (p, 9,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ETER[\"false_easting\",0],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 10,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 11,
-        "3576\"]]");
-    p = add_epsg_def (filter, first, last, 3577, "epsg", 3577,
-        "GDA94 / Australian Albers");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3576\"]");
+    add_srs_wkt (p, 12,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3577, "epsg", 3577,
+        "GDA94 / Australian Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Albers_Conic_Equal_Area", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=132 +x_0");
     add_proj4text (p, 1,
@@ -1133,29 +1281,34 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Alber");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "s_Conic_Equal_Area\"],PARAMETER[\"standard_parallel_1\",");
+        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Albers_Coni");
     add_srs_wkt (p, 8,
-        "-18],PARAMETER[\"standard_parallel_2\",-36],PARAMETER[\"");
+        "c_Equal_Area\"],PARAMETER[\"standard_parallel_1\",-18],P");
     add_srs_wkt (p, 9,
-        "latitude_of_center\",0],PARAMETER[\"longitude_of_center\"");
+        "ARAMETER[\"standard_parallel_2\",-36],PARAMETER[\"latitu");
     add_srs_wkt (p, 10,
-        ",132],PARAMETER[\"false_easting\",0],PARAMETER[\"false_n");
+        "de_of_center\",0],PARAMETER[\"longitude_of_center\",132]");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        ",PARAMETER[\"false_easting\",0],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"3577\"]]");
-    p = add_epsg_def (filter, first, last, 3578, "epsg", 3578,
-        "NAD83 / Yukon Albers");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"3577\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3578, "epsg", 3578,
+        "NAD83 / Yukon Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Albers_Conic_Equal_Area", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +");
     add_proj4text (p, 1,
-        "lon_0=-132.5 +x_0=500000 +y_0=500000 +datum=NAD83 +units");
+        "lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Yukon Albers\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -1167,25 +1320,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_A");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "rea\"],PARAMETER[\"standard_parallel_1\",61.666666666666");
+        "PSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_Area\"]");
     add_srs_wkt (p, 8,
-        "66],PARAMETER[\"standard_parallel_2\",68],PARAMETER[\"la");
+        ",PARAMETER[\"standard_parallel_1\",61.66666666666666],PA");
     add_srs_wkt (p, 9,
-        "titude_of_center\",59],PARAMETER[\"longitude_of_center\"");
+        "RAMETER[\"standard_parallel_2\",68],PARAMETER[\"latitude");
     add_srs_wkt (p, 10,
-        ",-132.5],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "_of_center\",59],PARAMETER[\"longitude_of_center\",-132.");
     add_srs_wkt (p, 11,
-        "false_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "5],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3578\"]]");
-    p = add_epsg_def (filter, first, last, 3579, "epsg", 3579,
-        "NAD83(CSRS) / Yukon Albers");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"3578\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3579, "epsg", 3579,
+        "NAD83(CSRS) / Yukon Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Albers_Conic_Equal_Area", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +");
     add_proj4text (p, 1,
@@ -1205,29 +1363,36 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_p");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "arallel_1\",61.66666666666666],PARAMETER[\"standard_para");
+        "Albers_Conic_Equal_Area\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "llel_2\",68],PARAMETER[\"latitude_of_center\",59],PARAME");
+        "_1\",61.66666666666666],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "TER[\"longitude_of_center\",-132.5],PARAMETER[\"false_ea");
+        ",68],PARAMETER[\"latitude_of_center\",59],PARAMETER[\"lo");
     add_srs_wkt (p, 11,
-        "sting\",500000],PARAMETER[\"false_northing\",500000],UNI");
+        "ngitude_of_center\",-132.5],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "500000],PARAMETER[\"false_northing\",500000],UNIT[\"metr");
     add_srs_wkt (p, 13,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "3579\"]]");
-    p = add_epsg_def (filter, first, last, 3580, "epsg", 3580,
-        "NAD83 / NWT Lambert");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3579\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3580, "epsg", 3580,
+        "NAD83 / NWT Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=62 +lat_2=70 +lat_0=0 +lon_0=-112 +x_0=");
     add_proj4text (p, 1,
-        "0 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +n");
+    add_proj4text (p, 2,
+        "o_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / NWT Lambert\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -1239,25 +1404,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",62],PARAMET");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",70],PARAMETER[\"latitude_of_o");
+        "P\"],PARAMETER[\"standard_parallel_1\",62],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "rigin\",0],PARAMETER[\"central_meridian\",-112],PARAMETE");
+        "tandard_parallel_2\",70],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",0],PARAMETER[\"false_northing\",0],U");
+        ",0],PARAMETER[\"central_meridian\",-112],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "se_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 13,
-        ",\"3580\"]]");
-    p = add_epsg_def (filter, first, last, 3581, "epsg", 3581,
-        "NAD83(CSRS) / NWT Lambert");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3580");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3581, "epsg", 3581,
+        "NAD83(CSRS) / NWT Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=62 +lat_2=70 +lat_0=0 +lon_0=-112 +x_0=");
     add_proj4text (p, 1,
@@ -1277,23 +1447,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",62],PARAMETER[\"standard_parallel_2\",70],");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "lel_1\",62],PARAMETER[\"standard_parallel_2\",70],PARAME");
     add_srs_wkt (p, 10,
-        "meridian\",-112],PARAMETER[\"false_easting\",0],PARAMETE");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "an\",-112],PARAMETER[\"false_easting\",0],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "NORTH],AUTHORITY[\"EPSG\",\"3581\"]]");
-    p = add_epsg_def (filter, first, last, 3582, "epsg", 3582,
-        "NAD83(NSRS2007) / Maryland (ftUS)");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"3581\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3582, "epsg", 3582,
+        "NAD83(NSRS2007) / Maryland (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
     add_proj4text (p, 1,
@@ -1313,25 +1488,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",39.45],PARAMETER[\"standa");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "rd_parallel_2\",38.3],PARAMETER[\"latitude_of_origin\",3");
+        "[\"standard_parallel_1\",39.45],PARAMETER[\"standard_par");
     add_srs_wkt (p, 10,
-        "7.66666666666666],PARAMETER[\"central_meridian\",-77],PA");
+        "allel_2\",38.3],PARAMETER[\"latitude_of_origin\",37.6666");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",1312333.333],PARAMETER[\"false");
+        "6666666666],PARAMETER[\"central_meridian\",-77],PARAMETE");
     add_srs_wkt (p, 12,
-        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
+        "R[\"false_easting\",1312333.333],PARAMETER[\"false_north");
     add_srs_wkt (p, 13,
-        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3582\"]]");
-    p = add_epsg_def (filter, first, last, 3583, "epsg", 3583,
-        "NAD83(NSRS2007) / Massachusetts Island");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"3582\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3583, "epsg", 3583,
+        "NAD83(NSRS2007) / Massachusetts Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
     add_proj4text (p, 1,
@@ -1351,25 +1531,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",41.48333333333333],P");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",41.28333333333333],PARA");
+        "AMETER[\"standard_parallel_1\",41.48333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",41],PARAMETER[\"central_mer");
+        "TER[\"standard_parallel_2\",41.28333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "idian\",-70.5],PARAMETER[\"false_easting\",500000],PARAM");
+        "[\"latitude_of_origin\",41],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "\",-70.5],PARAMETER[\"false_easting\",500000],PARAMETER[");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"3583\"]]");
-    p = add_epsg_def (filter, first, last, 3584, "epsg", 3584,
-        "NAD83(NSRS2007) / Massachusetts Island (ftUS)");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"3583\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3584, "epsg", 3584,
+        "NAD83(NSRS2007) / Massachusetts Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
     add_proj4text (p, 1,
@@ -1391,27 +1576,32 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",41.483333333");
+        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 9,
-        "33333],PARAMETER[\"standard_parallel_2\",41.283333333333");
+        "\"],PARAMETER[\"standard_parallel_1\",41.48333333333333]");
     add_srs_wkt (p, 10,
-        "33],PARAMETER[\"latitude_of_origin\",41],PARAMETER[\"cen");
+        ",PARAMETER[\"standard_parallel_2\",41.28333333333333],PA");
     add_srs_wkt (p, 11,
-        "tral_meridian\",-70.5],PARAMETER[\"false_easting\",16404");
+        "RAMETER[\"latitude_of_origin\",41],PARAMETER[\"central_m");
     add_srs_wkt (p, 12,
-        "16.667],PARAMETER[\"false_northing\",0],UNIT[\"US survey");
+        "eridian\",-70.5],PARAMETER[\"false_easting\",1640416.667");
     add_srs_wkt (p, 13,
-        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
     add_srs_wkt (p, 14,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
     add_srs_wkt (p, 15,
-        "3584\"]]");
-    p = add_epsg_def (filter, first, last, 3585, "epsg", 3585,
-        "NAD83(NSRS2007) / Massachusetts Mainland");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3584\"]");
+    add_srs_wkt (p, 16,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3585, "epsg", 3585,
+        "NAD83(NSRS2007) / Massachusetts Mainland", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
     add_proj4text (p, 1,
@@ -1431,25 +1621,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",42.68333333333333]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",41.71666666666667],PA");
+        "AMETER[\"standard_parallel_1\",42.68333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",41],PARAMETER[\"central_m");
+        "TER[\"standard_parallel_2\",41.71666666666667],PARAMETER");
     add_srs_wkt (p, 11,
-        "eridian\",-71.5],PARAMETER[\"false_easting\",200000],PAR");
+        "[\"latitude_of_origin\",41],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "AMETER[\"false_northing\",750000],UNIT[\"metre\",1,AUTHO");
+        "\",-71.5],PARAMETER[\"false_easting\",200000],PARAMETER[");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "\"false_northing\",750000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"3585\"]]");
-    p = add_epsg_def (filter, first, last, 3586, "epsg", 3586,
-        "NAD83(NSRS2007) / Massachusetts Mainland (ftUS)");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"3585\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3586, "epsg", 3586,
+        "NAD83(NSRS2007) / Massachusetts Mainland (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
     add_proj4text (p, 1,
@@ -1471,27 +1666,32 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_C");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",42.6833333");
+        "PSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 9,
-        "3333333],PARAMETER[\"standard_parallel_2\",41.7166666666");
+        "P\"],PARAMETER[\"standard_parallel_1\",42.68333333333333");
     add_srs_wkt (p, 10,
-        "6667],PARAMETER[\"latitude_of_origin\",41],PARAMETER[\"c");
+        "],PARAMETER[\"standard_parallel_2\",41.71666666666667],P");
     add_srs_wkt (p, 11,
-        "entral_meridian\",-71.5],PARAMETER[\"false_easting\",656");
+        "ARAMETER[\"latitude_of_origin\",41],PARAMETER[\"central_");
     add_srs_wkt (p, 12,
-        "166.667],PARAMETER[\"false_northing\",2460625],UNIT[\"US");
+        "meridian\",-71.5],PARAMETER[\"false_easting\",656166.667");
     add_srs_wkt (p, 13,
-        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+        "],PARAMETER[\"false_northing\",2460625],UNIT[\"US survey");
     add_srs_wkt (p, 14,
-        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 15,
-        "PSG\",\"3586\"]]");
-    p = add_epsg_def (filter, first, last, 3587, "epsg", 3587,
-        "NAD83(NSRS2007) / Michigan Central");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "3586\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3587, "epsg", 3587,
+        "NAD83(NSRS2007) / Michigan Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
     add_proj4text (p, 1,
@@ -1513,25 +1713,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_1\",45.7],PARAMETER[\"stand");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",44.18333333333333],PARAMETER[\"latitude");
+        "ER[\"standard_parallel_1\",45.7],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        "_of_origin\",43.31666666666667],PARAMETER[\"central_meri");
+        "rallel_2\",44.18333333333333],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "dian\",-84.36666666666666],PARAMETER[\"false_easting\",6");
+        "igin\",43.31666666666667],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "000000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        ",-84.36666666666666],PARAMETER[\"false_easting\",6000000");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3587\"]]");
-    p = add_epsg_def (filter, first, last, 3588, "epsg", 3588,
-        "NAD83(NSRS2007) / Michigan Central (ft)");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"3587\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3588, "epsg", 3588,
+        "NAD83(NSRS2007) / Michigan Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
     add_proj4text (p, 1,
@@ -1553,25 +1758,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",45.7],PARAMETER[\"");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",44.18333333333333],PARAMETER[\"lat");
+        "AMETER[\"standard_parallel_1\",45.7],PARAMETER[\"standar");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",43.31666666666667],PARAMETER[\"central");
+        "d_parallel_2\",44.18333333333333],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 11,
-        "_meridian\",-84.36666666666666],PARAMETER[\"false_eastin");
+        "f_origin\",43.31666666666667],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 12,
-        "g\",19685039.37],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "an\",-84.36666666666666],PARAMETER[\"false_easting\",196");
     add_srs_wkt (p, 13,
-        "foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",E");
+        "85039.37],PARAMETER[\"false_northing\",0],UNIT[\"foot\",");
     add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3588\"]]");
-    p = add_epsg_def (filter, first, last, 3589, "epsg", 3589,
-        "NAD83(NSRS2007) / Michigan North");
+        "0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 15,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3588\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3589, "epsg", 3589,
+        "NAD83(NSRS2007) / Michigan North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
     add_proj4text (p, 1,
@@ -1593,25 +1803,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",47.08333333333334],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",45.48333333333333],PARAMETER");
+        "[\"standard_parallel_1\",47.08333333333334],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",44.78333333333333],PARAMETER[\"c");
+        "standard_parallel_2\",45.48333333333333],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "entral_meridian\",-87],PARAMETER[\"false_easting\",80000");
+        "itude_of_origin\",44.78333333333333],PARAMETER[\"central");
     add_srs_wkt (p, 12,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "_meridian\",-87],PARAMETER[\"false_easting\",8000000],PA");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"3589\"]]");
-    p = add_epsg_def (filter, first, last, 3590, "epsg", 3590,
-        "NAD83(NSRS2007) / Michigan North (ft)");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"3589\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3590, "epsg", 3590,
+        "NAD83(NSRS2007) / Michigan North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
     add_proj4text (p, 1,
@@ -1633,25 +1848,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",47.08333333333334],P");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",45.48333333333333],PARA");
+        "ETER[\"standard_parallel_1\",47.08333333333334],PARAMETE");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",44.78333333333333],PARAMETE");
+        "R[\"standard_parallel_2\",45.48333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "R[\"central_meridian\",-87],PARAMETER[\"false_easting\",");
+        "latitude_of_origin\",44.78333333333333],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        "26246719.16],PARAMETER[\"false_northing\",0],UNIT[\"foot");
+        "ral_meridian\",-87],PARAMETER[\"false_easting\",26246719");
     add_srs_wkt (p, 13,
-        "\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST]");
+        ".16],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.304");
     add_srs_wkt (p, 14,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3590\"]]");
-    p = add_epsg_def (filter, first, last, 3591, "epsg", 3591,
-        "NAD83(NSRS2007) / Michigan Oblique Mercator");
+        "8,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3590\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3591, "epsg", 3591,
+        "NAD83(NSRS2007) / Michigan Oblique Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Hotine_Oblique_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=33");
     add_proj4text (p, 1,
@@ -1673,27 +1893,32 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4759\"]],PROJECTION[\"Hotine_Oblique_Mercator");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_center\",45.30916666666666],");
+        "\",\"4759\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],PA");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"longitude_of_center\",-86],PARAMETER[\"azimu");
+        "RAMETER[\"latitude_of_center\",45.30916666666666],PARAME");
     add_srs_wkt (p, 10,
-        "th\",337.25556],PARAMETER[\"rectified_grid_angle\",337.2");
+        "TER[\"longitude_of_center\",-86],PARAMETER[\"azimuth\",3");
     add_srs_wkt (p, 11,
-        "5556],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "37.25556],PARAMETER[\"rectified_grid_angle\",337.25556],");
     add_srs_wkt (p, 12,
-        "se_easting\",2546731.496],PARAMETER[\"false_northing\",-");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 13,
-        "4354009.816],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ting\",2546731.496],PARAMETER[\"false_northing\",-435400");
     add_srs_wkt (p, 14,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "9.816],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 15,
-        ",\"3591\"]]");
-    p = add_epsg_def (filter, first, last, 3592, "epsg", 3592,
-        "NAD83(NSRS2007) / Michigan South");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"35");
+    add_srs_wkt (p, 16,
+        "91\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3592, "epsg", 3592,
+        "NAD83(NSRS2007) / Michigan South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
     add_proj4text (p, 1,
@@ -1713,25 +1938,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",43.66666666666666],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",42.1],PARAMETER[\"latitude_o");
+        "[\"standard_parallel_1\",43.66666666666666],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "f_origin\",41.5],PARAMETER[\"central_meridian\",-84.3666");
+        "standard_parallel_2\",42.1],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 11,
-        "6666666666],PARAMETER[\"false_easting\",4000000],PARAMET");
+        "in\",41.5],PARAMETER[\"central_meridian\",-84.3666666666");
     add_srs_wkt (p, 12,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "6666],PARAMETER[\"false_easting\",4000000],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"3592\"]]");
-    p = add_epsg_def (filter, first, last, 3593, "epsg", 3593,
-        "NAD83(NSRS2007) / Michigan South (ft)");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"3592\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3593, "epsg", 3593,
+        "NAD83(NSRS2007) / Michigan South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
     add_proj4text (p, 1,
@@ -1751,25 +1981,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",43.66666666666666],P");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",42.1],PARAMETER[\"latit");
+        "ETER[\"standard_parallel_1\",43.66666666666666],PARAMETE");
     add_srs_wkt (p, 10,
-        "ude_of_origin\",41.5],PARAMETER[\"central_meridian\",-84");
+        "R[\"standard_parallel_2\",42.1],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        ".36666666666666],PARAMETER[\"false_easting\",13123359.58");
+        "origin\",41.5],PARAMETER[\"central_meridian\",-84.366666");
     add_srs_wkt (p, 12,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,A");
+        "66666666],PARAMETER[\"false_easting\",13123359.58],PARAM");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "ETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORIT");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3593\"]]");
-    p = add_epsg_def (filter, first, last, 3594, "epsg", 3594,
-        "NAD83(NSRS2007) / Minnesota Central");
+        "Y[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 15,
+        ",AUTHORITY[\"EPSG\",\"3593\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3594, "epsg", 3594,
+        "NAD83(NSRS2007) / Minnesota Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
@@ -1789,25 +2024,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",47.05],PARAMETER[\"sta");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",45.61666666666667],PARAMETER[\"latitu");
+        "TER[\"standard_parallel_1\",47.05],PARAMETER[\"standard_");
     add_srs_wkt (p, 10,
-        "de_of_origin\",45],PARAMETER[\"central_meridian\",-94.25");
+        "parallel_2\",45.61666666666667],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",800000],PARAMETER[\"false_");
+        "origin\",45],PARAMETER[\"central_meridian\",-94.25],PARA");
     add_srs_wkt (p, 12,
-        "northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "METER[\"false_easting\",800000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 13,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "ng\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"3594\"]]");
-    p = add_epsg_def (filter, first, last, 3595, "epsg", 3595,
-        "NAD83(NSRS2007) / Minnesota North");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"3594\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3595, "epsg", 3595,
+        "NAD83(NSRS2007) / Minnesota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
@@ -1829,25 +2069,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",48.63333333333333],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",47.03333333333333],PARAMETER");
+        "[\"standard_parallel_1\",48.63333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",46.5],PARAMETER[\"central_meridi");
+        "standard_parallel_2\",47.03333333333333],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "an\",-93.1],PARAMETER[\"false_easting\",800000],PARAMETE");
+        "itude_of_origin\",46.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 12,
-        "R[\"false_northing\",100000],UNIT[\"metre\",1,AUTHORITY[");
+        "93.1],PARAMETER[\"false_easting\",800000],PARAMETER[\"fa");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "lse_northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 14,
-        "UTHORITY[\"EPSG\",\"3595\"]]");
-    p = add_epsg_def (filter, first, last, 3596, "epsg", 3596,
-        "NAD83(NSRS2007) / Minnesota South");
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"3595\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3596, "epsg", 3596,
+        "NAD83(NSRS2007) / Minnesota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
@@ -1867,25 +2112,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",45.21666666666667],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",43.78333333333333],PARAMETER");
+        "[\"standard_parallel_1\",45.21666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",43],PARAMETER[\"central_meridian");
+        "standard_parallel_2\",43.78333333333333],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "\",-94],PARAMETER[\"false_easting\",800000],PARAMETER[\"");
+        "itude_of_origin\",43],PARAMETER[\"central_meridian\",-94");
     add_srs_wkt (p, 12,
-        "false_northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "],PARAMETER[\"false_easting\",800000],PARAMETER[\"false_");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"3596\"]]");
-    p = add_epsg_def (filter, first, last, 3597, "epsg", 3597,
-        "NAD83(NSRS2007) / Mississippi East");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"3596\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3597, "epsg", 3597,
+        "NAD83(NSRS2007) / Mississippi East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -1905,23 +2155,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",29.5],PARAMETER[\"central_meridi");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "an\",-88.83333333333333],PARAMETER[\"scale_factor\",0.99");
+        "itude_of_origin\",29.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "995],PARAMETER[\"false_easting\",300000],PARAMETER[\"fal");
+        "88.83333333333333],PARAMETER[\"scale_factor\",0.99995],P");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",300000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 13,
-        "PSG\",\"3597\"]]");
-    p = add_epsg_def (filter, first, last, 3598, "epsg", 3598,
-        "NAD83(NSRS2007) / Mississippi East (ftUS)");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3597\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3598, "epsg", 3598,
+        "NAD83(NSRS2007) / Mississippi East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -1941,25 +2196,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",29.5],PARAMETER[\"central");
+        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "_meridian\",-88.83333333333333],PARAMETER[\"scale_factor");
+        "R[\"latitude_of_origin\",29.5],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "\",0.99995],PARAMETER[\"false_easting\",984250.000000000");
+        "ian\",-88.83333333333333],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 11,
-        "2],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
+        "9995],PARAMETER[\"false_easting\",984250.0000000002],PAR");
     add_srs_wkt (p, 12,
-        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
+        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
     add_srs_wkt (p, 13,
-        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3598");
+        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 14,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3599, "epsg", 3599,
-        "NAD83(NSRS2007) / Mississippi West");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3598\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3599, "epsg", 3599,
+        "NAD83(NSRS2007) / Mississippi West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -1979,23 +2237,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",29.5],PARAMETER[\"central_meridi");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "an\",-90.33333333333333],PARAMETER[\"scale_factor\",0.99");
+        "itude_of_origin\",29.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 10,
-        "995],PARAMETER[\"false_easting\",700000],PARAMETER[\"fal");
+        "90.33333333333333],PARAMETER[\"scale_factor\",0.99995],P");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",700000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 13,
-        "PSG\",\"3599\"]]");
-    p = add_epsg_def (filter, first, last, 3600, "epsg", 3600,
-        "NAD83(NSRS2007) / Mississippi West (ftUS)");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3599\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3600, "epsg", 3600,
+        "NAD83(NSRS2007) / Mississippi West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -2015,23 +2278,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",29.5],PARAMETER[\"central");
+        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "_meridian\",-90.33333333333333],PARAMETER[\"scale_factor");
+        "R[\"latitude_of_origin\",29.5],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "\",0.99995],PARAMETER[\"false_easting\",2296583.333],PAR");
+        "ian\",-90.33333333333333],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
+        "9995],PARAMETER[\"false_easting\",2296583.333],PARAMETER");
     add_srs_wkt (p, 12,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "[\"false_northing\",0],UNIT[\"US survey foot\",0.3048006");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3600\"]]");
-    p = add_epsg_def (filter, first, last, 3601, "epsg", 3601,
-        "NAD83(NSRS2007) / Missouri Central");
+        "096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3600\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3601, "epsg", 3601,
+        "NAD83(NSRS2007) / Missouri Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9");
     add_proj4text (p, 1,
@@ -2051,23 +2319,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",35.83333333333334],PARAMETER[\"c");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "entral_meridian\",-92.5],PARAMETER[\"scale_factor\",0.99");
+        "itude_of_origin\",35.83333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 10,
-        "9933333],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "_meridian\",-92.5],PARAMETER[\"scale_factor\",0.99993333");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "3],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"3601\"]]");
-    p = add_epsg_def (filter, first, last, 3602, "epsg", 3602,
-        "NAD83(NSRS2007) / Missouri East");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"3601\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3602, "epsg", 3602,
+        "NAD83(NSRS2007) / Missouri East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9");
     add_proj4text (p, 1,
@@ -2087,23 +2360,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",35.83333333333334],PARAMETER[\"cent");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-90.5],PARAMETER[\"scale_factor\",0.99993");
+        "de_of_origin\",35.83333333333334],PARAMETER[\"central_me");
     add_srs_wkt (p, 10,
-        "3333],PARAMETER[\"false_easting\",250000],PARAMETER[\"fa");
+        "ridian\",-90.5],PARAMETER[\"scale_factor\",0.999933333],");
     add_srs_wkt (p, 11,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",250000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"3602\"]]");
-    p = add_epsg_def (filter, first, last, 3603, "epsg", 3603,
-        "NAD83(NSRS2007) / Missouri West");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"3602\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3603, "epsg", 3603,
+        "NAD83(NSRS2007) / Missouri West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9");
     add_proj4text (p, 1,
@@ -2123,23 +2401,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",36.16666666666666],PARAMETER[\"cent");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-94.5],PARAMETER[\"scale_factor\",0.99994");
+        "de_of_origin\",36.16666666666666],PARAMETER[\"central_me");
     add_srs_wkt (p, 10,
-        "1177],PARAMETER[\"false_easting\",850000],PARAMETER[\"fa");
+        "ridian\",-94.5],PARAMETER[\"scale_factor\",0.999941177],");
     add_srs_wkt (p, 11,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",850000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"3603\"]]");
-    p = add_epsg_def (filter, first, last, 3604, "epsg", 3604,
-        "NAD83(NSRS2007) / Montana");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"3603\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3604, "epsg", 3604,
+        "NAD83(NSRS2007) / Montana", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
     add_proj4text (p, 1,
@@ -2159,23 +2442,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",49],PARAMETER[\"standard_parallel_");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "2\",45],PARAMETER[\"latitude_of_origin\",44.25],PARAMETE");
+        "ard_parallel_1\",49],PARAMETER[\"standard_parallel_2\",4");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-109.5],PARAMETER[\"false_easting");
+        "5],PARAMETER[\"latitude_of_origin\",44.25],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "\",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "entral_meridian\",-109.5],PARAMETER[\"false_easting\",60");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3604\"]]");
-    p = add_epsg_def (filter, first, last, 3605, "epsg", 3605,
-        "NAD83(NSRS2007) / Montana (ft)");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3604\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3605, "epsg", 3605,
+        "NAD83(NSRS2007) / Montana (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
     add_proj4text (p, 1,
@@ -2195,25 +2483,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",49],PARAMETER[\"standard_pa");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "rallel_2\",45],PARAMETER[\"latitude_of_origin\",44.25],P");
+        "standard_parallel_1\",49],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"central_meridian\",-109.5],PARAMETER[\"false_");
+        "2\",45],PARAMETER[\"latitude_of_origin\",44.25],PARAMETE");
     add_srs_wkt (p, 11,
-        "easting\",1968503.937],PARAMETER[\"false_northing\",0],U");
+        "R[\"central_meridian\",-109.5],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "NIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"");
+        "\",1968503.937],PARAMETER[\"false_northing\",0],UNIT[\"f");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3605\"]");
+        "oot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 3606, "epsg", 3606,
-        "NAD83(NSRS2007) / Nebraska");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3605\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3606, "epsg", 3606,
+        "NAD83(NSRS2007) / Nebraska", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
@@ -2233,23 +2524,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],PRO");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",43],PARAMETER[\"standard_parall");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "el_2\",40],PARAMETER[\"latitude_of_origin\",39.833333333");
+        "ndard_parallel_1\",43],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "33334],PARAMETER[\"central_meridian\",-100],PARAMETER[\"");
+        ",40],PARAMETER[\"latitude_of_origin\",39.83333333333334]");
     add_srs_wkt (p, 11,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        ",PARAMETER[\"central_meridian\",-100],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3606\"]]");
-    p = add_epsg_def (filter, first, last, 3607, "epsg", 3607,
-        "NAD83(NSRS2007) / Nevada Central");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3606\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3607, "epsg", 3607,
+        "NAD83(NSRS2007) / Nevada Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
     add_proj4text (p, 1,
@@ -2269,23 +2565,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",34.75],PARAMETER[\"central_meridian");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "\",-116.6666666666667],PARAMETER[\"scale_factor\",0.9999");
+        "ude_of_origin\",34.75],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "16.6666666666667],PARAMETER[\"scale_factor\",0.9999],PAR");
     add_srs_wkt (p, 11,
-        "northing\",6000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "ing\",6000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"3607\"]]");
-    p = add_epsg_def (filter, first, last, 3608, "epsg", 3608,
-        "NAD83(NSRS2007) / Nevada Central (ftUS)");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"3607\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3608, "epsg", 3608,
+        "NAD83(NSRS2007) / Nevada Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
     add_proj4text (p, 1,
@@ -2305,25 +2606,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",34.75],PARAMETER[\"central_");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "meridian\",-116.6666666666667],PARAMETER[\"scale_factor\"");
+        "latitude_of_origin\",34.75],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        ",0.9999],PARAMETER[\"false_easting\",1640416.6667],PARAM");
+        "\",-116.6666666666667],PARAMETER[\"scale_factor\",0.9999");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",19685000],UNIT[\"US survey foot\"");
+        "],PARAMETER[\"false_easting\",1640416.6667],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "false_northing\",19685000],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3608\"]");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 3609, "epsg", 3609,
-        "NAD83(NSRS2007) / Nevada East");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3608\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3609, "epsg", 3609,
+        "NAD83(NSRS2007) / Nevada East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
     add_proj4text (p, 1,
@@ -2343,23 +2647,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",34.75],PARAMETER[\"central_meridian\"");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        ",-115.5833333333333],PARAMETER[\"scale_factor\",0.9999],");
+        "_of_origin\",34.75],PARAMETER[\"central_meridian\",-115.");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",200000],PARAMETER[\"false_no");
+        "5833333333333],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 11,
-        "rthing\",8000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "TER[\"false_easting\",200000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "\",8000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"3609\"]]");
-    p = add_epsg_def (filter, first, last, 3610, "epsg", 3610,
-        "NAD83(NSRS2007) / Nevada East (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"3609\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3610, "epsg", 3610,
+        "NAD83(NSRS2007) / Nevada East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
     add_proj4text (p, 1,
@@ -2379,25 +2688,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",34.75],PARAMETER[\"central_meri");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "dian\",-115.5833333333333],PARAMETER[\"scale_factor\",0.");
+        "titude_of_origin\",34.75],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "9999],PARAMETER[\"false_easting\",656166.6667],PARAMETER");
+        ",-115.5833333333333],PARAMETER[\"scale_factor\",0.9999],");
     add_srs_wkt (p, 11,
-        "[\"false_northing\",26246666.66670001],UNIT[\"US survey ");
+        "PARAMETER[\"false_easting\",656166.6667],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+        "se_northing\",26246666.66670001],UNIT[\"US survey foot\"");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "3610\"]]");
-    p = add_epsg_def (filter, first, last, 3611, "epsg", 3611,
-        "NAD83(NSRS2007) / Nevada West");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3610\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3611, "epsg", 3611,
+        "NAD83(NSRS2007) / Nevada West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
     add_proj4text (p, 1,
@@ -2417,23 +2731,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",34.75],PARAMETER[\"central_meridian\"");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        ",-118.5833333333333],PARAMETER[\"scale_factor\",0.9999],");
+        "_of_origin\",34.75],PARAMETER[\"central_meridian\",-118.");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",800000],PARAMETER[\"false_no");
+        "5833333333333],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 11,
-        "rthing\",4000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "TER[\"false_easting\",800000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "\",4000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"3611\"]]");
-    p = add_epsg_def (filter, first, last, 3612, "epsg", 3612,
-        "NAD83(NSRS2007) / Nevada West (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"3611\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3612, "epsg", 3612,
+        "NAD83(NSRS2007) / Nevada West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
     add_proj4text (p, 1,
@@ -2453,25 +2772,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",34.75],PARAMETER[\"central_meri");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "dian\",-118.5833333333333],PARAMETER[\"scale_factor\",0.");
+        "titude_of_origin\",34.75],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "9999],PARAMETER[\"false_easting\",2624666.6667],PARAMETE");
+        ",-118.5833333333333],PARAMETER[\"scale_factor\",0.9999],");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",13123333.3333],UNIT[\"US survey foo");
+        "PARAMETER[\"false_easting\",2624666.6667],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "lse_northing\",13123333.3333],UNIT[\"US survey foot\",0.");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"361");
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 14,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 3613, "epsg", 3613,
-        "NAD83(NSRS2007) / New Hampshire");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3612\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3613, "epsg", 3613,
+        "NAD83(NSRS2007) / New Hampshire", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -2491,23 +2813,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",42.5],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        ",-71.66666666666667],PARAMETER[\"scale_factor\",0.999966");
+        "de_of_origin\",42.5],PARAMETER[\"central_meridian\",-71.");
     add_srs_wkt (p, 10,
-        "667],PARAMETER[\"false_easting\",300000],PARAMETER[\"fal");
+        "66666666666667],PARAMETER[\"scale_factor\",0.999966667],");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "PSG\",\"3613\"]]");
-    p = add_epsg_def (filter, first, last, 3614, "epsg", 3614,
-        "NAD83(NSRS2007) / New Hampshire (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"3613\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3614, "epsg", 3614,
+        "NAD83(NSRS2007) / New Hampshire (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -2527,25 +2854,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",42.5],PARAMETER[\"central_me");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ridian\",-71.66666666666667],PARAMETER[\"scale_factor\",");
+        "latitude_of_origin\",42.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "0.999966667],PARAMETER[\"false_easting\",984250.00000000");
+        ",-71.66666666666667],PARAMETER[\"scale_factor\",0.999966");
     add_srs_wkt (p, 11,
-        "02],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+        "667],PARAMETER[\"false_easting\",984250.0000000002],PARA");
     add_srs_wkt (p, 12,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"361");
+        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
     add_srs_wkt (p, 14,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 3615, "epsg", 3615,
-        "NAD83(NSRS2007) / New Jersey");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3614\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3615, "epsg", 3615,
+        "NAD83(NSRS2007) / New Jersey", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
@@ -2565,23 +2895,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",38.83333333333334],PARAMETER[\"central");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "_meridian\",-74.5],PARAMETER[\"scale_factor\",0.9999],PA");
+        "of_origin\",38.83333333333334],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",150000],PARAMETER[\"false_nort");
+        "ian\",-74.5],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",150000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "3615\"]]");
-    p = add_epsg_def (filter, first, last, 3616, "epsg", 3616,
-        "NAD83(NSRS2007) / New Jersey (ftUS)");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3615\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3616, "epsg", 3616,
+        "NAD83(NSRS2007) / New Jersey (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
@@ -2601,23 +2936,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",38.83333333333334],PARAMETER[\"");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "central_meridian\",-74.5],PARAMETER[\"scale_factor\",0.9");
+        "titude_of_origin\",38.83333333333334],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "999],PARAMETER[\"false_easting\",492125],PARAMETER[\"fal");
+        "l_meridian\",-74.5],PARAMETER[\"scale_factor\",0.9999],P");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "ARAMETER[\"false_easting\",492125],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 13,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3616\"]]");
-    p = add_epsg_def (filter, first, last, 3617, "epsg", 3617,
-        "NAD83(NSRS2007) / New Mexico Central");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 14,
+        "NORTH],AUTHORITY[\"EPSG\",\"3616\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3617, "epsg", 3617,
+        "NAD83(NSRS2007) / New Mexico Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
     add_proj4text (p, 1,
@@ -2637,23 +2977,26 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",31],PARAMETER[\"central_meridia");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "n\",-106.25],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
+        "titude_of_origin\",31],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
+        "06.25],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3617\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3618, "epsg", 3618,
-        "NAD83(NSRS2007) / New Mexico Central (ftUS)");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3617\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3618, "epsg", 3618,
+        "NAD83(NSRS2007) / New Mexico Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
     add_proj4text (p, 1,
@@ -2673,23 +3016,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"central");
+        "\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "_meridian\",-106.25],PARAMETER[\"scale_factor\",0.9999],");
+        "TER[\"latitude_of_origin\",31],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",1640416.667],PARAMETER[\"fal");
+        "ian\",-106.25],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "TER[\"false_easting\",1640416.667],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 13,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3618\"]]");
-    p = add_epsg_def (filter, first, last, 3619, "epsg", 3619,
-        "NAD83(NSRS2007) / New Mexico East");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 14,
+        "NORTH],AUTHORITY[\"EPSG\",\"3618\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3619, "epsg", 3619,
+        "NAD83(NSRS2007) / New Mexico East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -2709,23 +3057,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",31],PARAMETER[\"central_meridian\",");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "-104.3333333333333],PARAMETER[\"scale_factor\",0.9999090");
+        "ude_of_origin\",31],PARAMETER[\"central_meridian\",-104.");
     add_srs_wkt (p, 10,
-        "91],PARAMETER[\"false_easting\",165000],PARAMETER[\"fals");
+        "3333333333333],PARAMETER[\"scale_factor\",0.999909091],P");
     add_srs_wkt (p, 11,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "ARAMETER[\"false_easting\",165000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 13,
-        "SG\",\"3619\"]]");
-    p = add_epsg_def (filter, first, last, 3620, "epsg", 3620,
-        "NAD83(NSRS2007) / New Mexico East (ftUS)");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3619\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3620, "epsg", 3620,
+        "NAD83(NSRS2007) / New Mexico East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -2745,23 +3098,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",31],PARAMETER[\"central_mer");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "idian\",-104.3333333333333],PARAMETER[\"scale_factor\",0");
+        "latitude_of_origin\",31],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 10,
-        ".999909091],PARAMETER[\"false_easting\",541337.5],PARAME");
+        "-104.3333333333333],PARAMETER[\"scale_factor\",0.9999090");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+        "91],PARAMETER[\"false_easting\",541337.5],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3620\"]]");
-    p = add_epsg_def (filter, first, last, 3621, "epsg", 3621,
-        "NAD83(NSRS2007) / New Mexico West");
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3620\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3621, "epsg", 3621,
+        "NAD83(NSRS2007) / New Mexico West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -2781,23 +3139,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",31],PARAMETER[\"central_meridian\",");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "-107.8333333333333],PARAMETER[\"scale_factor\",0.9999166");
+        "ude_of_origin\",31],PARAMETER[\"central_meridian\",-107.");
     add_srs_wkt (p, 10,
-        "67],PARAMETER[\"false_easting\",830000],PARAMETER[\"fals");
+        "8333333333333],PARAMETER[\"scale_factor\",0.999916667],P");
     add_srs_wkt (p, 11,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "ARAMETER[\"false_easting\",830000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 13,
-        "SG\",\"3621\"]]");
-    p = add_epsg_def (filter, first, last, 3622, "epsg", 3622,
-        "NAD83(NSRS2007) / New Mexico West (ftUS)");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3621\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3622, "epsg", 3622,
+        "NAD83(NSRS2007) / New Mexico West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -2817,23 +3180,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",31],PARAMETER[\"central_mer");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "idian\",-107.8333333333333],PARAMETER[\"scale_factor\",0");
+        "latitude_of_origin\",31],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 10,
-        ".999916667],PARAMETER[\"false_easting\",2723091.667],PAR");
+        "-107.8333333333333],PARAMETER[\"scale_factor\",0.9999166");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
+        "67],PARAMETER[\"false_easting\",2723091.667],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3622\"]]");
-    p = add_epsg_def (filter, first, last, 3623, "epsg", 3623,
-        "NAD83(NSRS2007) / New York Central");
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3622\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3623, "epsg", 3623,
+        "NAD83(NSRS2007) / New York Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -2853,23 +3221,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",40],PARAMETER[\"central_meridian");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "\",-76.58333333333333],PARAMETER[\"scale_factor\",0.9999");
+        "itude_of_origin\",40],PARAMETER[\"central_meridian\",-76");
     add_srs_wkt (p, 10,
-        "375],PARAMETER[\"false_easting\",250000],PARAMETER[\"fal");
+        ".58333333333333],PARAMETER[\"scale_factor\",0.9999375],P");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ARAMETER[\"false_easting\",250000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 13,
-        "PSG\",\"3623\"]]");
-    p = add_epsg_def (filter, first, last, 3624, "epsg", 3624,
-        "NAD83(NSRS2007) / New York Central (ftUS)");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3623\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3624, "epsg", 3624,
+        "NAD83(NSRS2007) / New York Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -2889,25 +3262,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",40],PARAMETER[\"central_m");
+        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "eridian\",-76.58333333333333],PARAMETER[\"scale_factor\"");
+        "R[\"latitude_of_origin\",40],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        ",0.9999375],PARAMETER[\"false_easting\",820208.333000000");
+        "n\",-76.58333333333333],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 11,
-        "2],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
+        "9375],PARAMETER[\"false_easting\",820208.3330000002],PAR");
     add_srs_wkt (p, 12,
-        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
+        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
     add_srs_wkt (p, 13,
-        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3624");
+        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 14,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3625, "epsg", 3625,
-        "NAD83(NSRS2007) / New York East");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3624\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3625, "epsg", 3625,
+        "NAD83(NSRS2007) / New York East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
@@ -2927,23 +3303,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",38.83333333333334],PARAMETER[\"cent");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-74.5],PARAMETER[\"scale_factor\",0.9999]");
+        "de_of_origin\",38.83333333333334],PARAMETER[\"central_me");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",150000],PARAMETER[\"false_n");
+        "ridian\",-74.5],PARAMETER[\"scale_factor\",0.9999],PARAM");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ETER[\"false_easting\",150000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        ",\"3625\"]]");
-    p = add_epsg_def (filter, first, last, 3626, "epsg", 3626,
-        "NAD83(NSRS2007) / New York East (ftUS)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"36");
+    add_srs_wkt (p, 14,
+        "25\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3626, "epsg", 3626,
+        "NAD83(NSRS2007) / New York East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
@@ -2963,23 +3344,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",38.83333333333334],PARAMETER");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",-74.5],PARAMETER[\"scale_factor\",");
+        "latitude_of_origin\",38.83333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        "0.9999],PARAMETER[\"false_easting\",492125],PARAMETER[\"");
+        "ral_meridian\",-74.5],PARAMETER[\"scale_factor\",0.9999]");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        ",PARAMETER[\"false_easting\",492125],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3626\"]]");
-    p = add_epsg_def (filter, first, last, 3627, "epsg", 3627,
-        "NAD83(NSRS2007) / New York Long Island");
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3626\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3627, "epsg", 3627,
+        "NAD83(NSRS2007) / New York Long Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
     add_proj4text (p, 1,
@@ -2999,25 +3385,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",41.03333333333333],P");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",40.66666666666666],PARA");
+        "AMETER[\"standard_parallel_1\",41.03333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",40.16666666666666],PARAMETE");
+        "TER[\"standard_parallel_2\",40.66666666666666],PARAMETER");
     add_srs_wkt (p, 11,
-        "R[\"central_meridian\",-74],PARAMETER[\"false_easting\",");
+        "[\"latitude_of_origin\",40.16666666666666],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        "300000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "entral_meridian\",-74],PARAMETER[\"false_easting\",30000");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3627\"]]");
-    p = add_epsg_def (filter, first, last, 3628, "epsg", 3628,
-        "NAD83(NSRS2007) / New York Long Island (ftUS)");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"3627\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3628, "epsg", 3628,
+        "NAD83(NSRS2007) / New York Long Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
     add_proj4text (p, 1,
@@ -3039,27 +3430,32 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",41.033333333");
+        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 9,
-        "33333],PARAMETER[\"standard_parallel_2\",40.666666666666");
+        "\"],PARAMETER[\"standard_parallel_1\",41.03333333333333]");
     add_srs_wkt (p, 10,
-        "66],PARAMETER[\"latitude_of_origin\",40.16666666666666],");
+        ",PARAMETER[\"standard_parallel_2\",40.66666666666666],PA");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"central_meridian\",-74],PARAMETER[\"false_ea");
+        "RAMETER[\"latitude_of_origin\",40.16666666666666],PARAME");
     add_srs_wkt (p, 12,
-        "sting\",984250.0000000002],PARAMETER[\"false_northing\",");
+        "TER[\"central_meridian\",-74],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 13,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        ",984250.0000000002],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 15,
-        "UTHORITY[\"EPSG\",\"3628\"]]");
-    p = add_epsg_def (filter, first, last, 3629, "epsg", 3629,
-        "NAD83(NSRS2007) / New York West");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"3628\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3629, "epsg", 3629,
+        "NAD83(NSRS2007) / New York West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -3079,23 +3475,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",40],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "-78.58333333333333],PARAMETER[\"scale_factor\",0.9999375");
+        "de_of_origin\",40],PARAMETER[\"central_meridian\",-78.58");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",350000],PARAMETER[\"false_");
+        "333333333333],PARAMETER[\"scale_factor\",0.9999375],PARA");
     add_srs_wkt (p, 11,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",350000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 13,
-        "\",\"3629\"]]");
-    p = add_epsg_def (filter, first, last, 3630, "epsg", 3630,
-        "NAD83(NSRS2007) / New York West (ftUS)");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 14,
+        "629\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3630, "epsg", 3630,
+        "NAD83(NSRS2007) / New York West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
     add_proj4text (p, 1,
@@ -3115,23 +3516,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",40],PARAMETER[\"central_meri");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "dian\",-78.58333333333333],PARAMETER[\"scale_factor\",0.");
+        "latitude_of_origin\",40],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 10,
-        "9999375],PARAMETER[\"false_easting\",1148291.667],PARAME");
+        "-78.58333333333333],PARAMETER[\"scale_factor\",0.9999375");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+        "],PARAMETER[\"false_easting\",1148291.667],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3630\"]]");
-    p = add_epsg_def (filter, first, last, 3631, "epsg", 3631,
-        "NAD83(NSRS2007) / North Carolina");
+        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3630\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3631, "epsg", 3631,
+        "NAD83(NSRS2007) / North Carolina", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
     add_proj4text (p, 1,
@@ -3151,25 +3557,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",36.16666666666666],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",34.33333333333334],PARAMETER");
+        "[\"standard_parallel_1\",36.16666666666666],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",33.75],PARAMETER[\"central_merid");
+        "standard_parallel_2\",34.33333333333334],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "ian\",-79],PARAMETER[\"false_easting\",609601.22],PARAME");
+        "itude_of_origin\",33.75],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "-79],PARAMETER[\"false_easting\",609601.22],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"3631\"]]");
-    p = add_epsg_def (filter, first, last, 3632, "epsg", 3632,
-        "NAD83(NSRS2007) / North Carolina (ftUS)");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"3631\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3632, "epsg", 3632,
+        "NAD83(NSRS2007) / North Carolina (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
     add_proj4text (p, 1,
@@ -3191,25 +3602,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",36.16666666666666]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",34.33333333333334],PA");
+        "AMETER[\"standard_parallel_1\",36.16666666666666],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",33.75],PARAMETER[\"centra");
+        "TER[\"standard_parallel_2\",34.33333333333334],PARAMETER");
     add_srs_wkt (p, 11,
-        "l_meridian\",-79],PARAMETER[\"false_easting\",2000000],P");
+        "[\"latitude_of_origin\",33.75],PARAMETER[\"central_merid");
     add_srs_wkt (p, 12,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "ian\",-79],PARAMETER[\"false_easting\",2000000],PARAMETE");
     add_srs_wkt (p, 13,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
     add_srs_wkt (p, 14,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3632\"]]");
-    p = add_epsg_def (filter, first, last, 3633, "epsg", 3633,
-        "NAD83(NSRS2007) / North Dakota North");
+        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 15,
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3632\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3633, "epsg", 3633,
+        "NAD83(NSRS2007) / North Dakota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
     add_proj4text (p, 1,
@@ -3229,25 +3645,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",48.73333333333333],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",47.43333333333333],PARAME");
+        "TER[\"standard_parallel_1\",48.73333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",47],PARAMETER[\"central_merid");
+        "[\"standard_parallel_2\",47.43333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ian\",-100.5],PARAMETER[\"false_easting\",600000],PARAME");
+        "latitude_of_origin\",47],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "-100.5],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"3633\"]]");
-    p = add_epsg_def (filter, first, last, 3634, "epsg", 3634,
-        "NAD83(NSRS2007) / North Dakota North (ft)");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"3633\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3634, "epsg", 3634,
+        "NAD83(NSRS2007) / North Dakota North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
     add_proj4text (p, 1,
@@ -3267,25 +3688,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",48.7333333333333");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"standard_parallel_2\",47.43333333333333],");
+        "PARAMETER[\"standard_parallel_1\",48.73333333333333],PAR");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"latitude_of_origin\",47],PARAMETER[\"central");
+        "AMETER[\"standard_parallel_2\",47.43333333333333],PARAME");
     add_srs_wkt (p, 11,
-        "_meridian\",-100.5],PARAMETER[\"false_easting\",1968503.");
+        "TER[\"latitude_of_origin\",47],PARAMETER[\"central_merid");
     add_srs_wkt (p, 12,
-        "937],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.304");
+        "ian\",-100.5],PARAMETER[\"false_easting\",1968503.937],P");
     add_srs_wkt (p, 13,
-        "8,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTH");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3634\"]]");
-    p = add_epsg_def (filter, first, last, 3635, "epsg", 3635,
-        "NAD83(NSRS2007) / North Dakota South");
+        "ORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"3634\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3635, "epsg", 3635,
+        "NAD83(NSRS2007) / North Dakota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
     add_proj4text (p, 1,
@@ -3307,25 +3733,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",47.48333333333333],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",46.18333333333333],PARAME");
+        "TER[\"standard_parallel_1\",47.48333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",45.66666666666666],PARAMETER[");
+        "[\"standard_parallel_2\",46.18333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\"central_meridian\",-100.5],PARAMETER[\"false_easting\"");
+        "latitude_of_origin\",45.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        ",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "ral_meridian\",-100.5],PARAMETER[\"false_easting\",60000");
     add_srs_wkt (p, 13,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3635\"]]");
-    p = add_epsg_def (filter, first, last, 3636, "epsg", 3636,
-        "NAD83(NSRS2007) / North Dakota South (ft)");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"3635\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3636, "epsg", 3636,
+        "NAD83(NSRS2007) / North Dakota South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
     add_proj4text (p, 1,
@@ -3347,25 +3778,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",47.4833333333333");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"standard_parallel_2\",46.18333333333333],");
+        "PARAMETER[\"standard_parallel_1\",47.48333333333333],PAR");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"latitude_of_origin\",45.66666666666666],PARA");
+        "AMETER[\"standard_parallel_2\",46.18333333333333],PARAME");
     add_srs_wkt (p, 11,
-        "METER[\"central_meridian\",-100.5],PARAMETER[\"false_eas");
+        "TER[\"latitude_of_origin\",45.66666666666666],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ting\",1968503.937],PARAMETER[\"false_northing\",0],UNIT");
+        "\"central_meridian\",-100.5],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 13,
-        "[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\"");
+        ",1968503.937],PARAMETER[\"false_northing\",0],UNIT[\"foo");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3636\"]]");
-    p = add_epsg_def (filter, first, last, 3637, "epsg", 3637,
-        "NAD83(NSRS2007) / Ohio North");
+        "t\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 15,
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3636\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3637, "epsg", 3637,
+        "NAD83(NSRS2007) / Ohio North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
     add_proj4text (p, 1,
@@ -3385,25 +3821,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",41.7],PARAMETER[\"standard_pa");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "rallel_2\",40.43333333333333],PARAMETER[\"latitude_of_or");
+        "tandard_parallel_1\",41.7],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "igin\",39.66666666666666],PARAMETER[\"central_meridian\"");
+        "_2\",40.43333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        ",-82.5],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+        ",39.66666666666666],PARAMETER[\"central_meridian\",-82.5");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",600000],PARAMETER[\"false_");
     add_srs_wkt (p, 13,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"3637\"]]");
-    p = add_epsg_def (filter, first, last, 3638, "epsg", 3638,
-        "NAD83(NSRS2007) / Ohio South");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 15,
+        "\",\"3637\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3638, "epsg", 3638,
+        "NAD83(NSRS2007) / Ohio South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
     add_proj4text (p, 1,
@@ -3423,25 +3864,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",40.03333333333333],PARAMETER[");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "\"standard_parallel_2\",38.73333333333333],PARAMETER[\"l");
+        "tandard_parallel_1\",40.03333333333333],PARAMETER[\"stan");
     add_srs_wkt (p, 10,
-        "atitude_of_origin\",38],PARAMETER[\"central_meridian\",-");
+        "dard_parallel_2\",38.73333333333333],PARAMETER[\"latitud");
     add_srs_wkt (p, 11,
-        "82.5],PARAMETER[\"false_easting\",600000],PARAMETER[\"fa");
+        "e_of_origin\",38],PARAMETER[\"central_meridian\",-82.5],");
     add_srs_wkt (p, 12,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",600000],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"3638\"]]");
-    p = add_epsg_def (filter, first, last, 3639, "epsg", 3639,
-        "NAD83(NSRS2007) / Oklahoma North");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"3638\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3639, "epsg", 3639,
+        "NAD83(NSRS2007) / Oklahoma North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
     add_proj4text (p, 1,
@@ -3461,25 +3907,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",36.76666666666667],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",35.56666666666667],PARAMETER");
+        "[\"standard_parallel_1\",36.76666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",35],PARAMETER[\"central_meridian");
+        "standard_parallel_2\",35.56666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "\",-98],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+        "itude_of_origin\",35],PARAMETER[\"central_meridian\",-98");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",600000],PARAMETER[\"false_");
     add_srs_wkt (p, 13,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"3639\"]]");
-    p = add_epsg_def (filter, first, last, 3640, "epsg", 3640,
-        "NAD83(NSRS2007) / Oklahoma North (ftUS)");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 15,
+        "\",\"3639\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3640, "epsg", 3640,
+        "NAD83(NSRS2007) / Oklahoma North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
     add_proj4text (p, 1,
@@ -3499,25 +3950,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",36.76666666666667]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",35.56666666666667],PA");
+        "AMETER[\"standard_parallel_1\",36.76666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",35],PARAMETER[\"central_m");
+        "TER[\"standard_parallel_2\",35.56666666666667],PARAMETER");
     add_srs_wkt (p, 11,
-        "eridian\",-98],PARAMETER[\"false_easting\",1968500],PARA");
+        "[\"latitude_of_origin\",35],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "\",-98],PARAMETER[\"false_easting\",1968500],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
     add_srs_wkt (p, 14,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3640\"]]");
-    p = add_epsg_def (filter, first, last, 3641, "epsg", 3641,
-        "NAD83(NSRS2007) / Oklahoma South");
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 15,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3640\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3641, "epsg", 3641,
+        "NAD83(NSRS2007) / Oklahoma South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
     add_proj4text (p, 1,
@@ -3537,25 +3993,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",35.23333333333333],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",33.93333333333333],PARAMETER");
+        "[\"standard_parallel_1\",35.23333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",33.33333333333334],PARAMETER[\"c");
+        "standard_parallel_2\",33.93333333333333],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "entral_meridian\",-98],PARAMETER[\"false_easting\",60000");
+        "itude_of_origin\",33.33333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 12,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_meridian\",-98],PARAMETER[\"false_easting\",600000],PAR");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 14,
-        "RTH],AUTHORITY[\"EPSG\",\"3641\"]]");
-    p = add_epsg_def (filter, first, last, 3642, "epsg", 3642,
-        "NAD83(NSRS2007) / Oklahoma South (ftUS)");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"3641\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3642, "epsg", 3642,
+        "NAD83(NSRS2007) / Oklahoma South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
     add_proj4text (p, 1,
@@ -3577,27 +4038,32 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",35.23333333333333]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",33.93333333333333],PA");
+        "AMETER[\"standard_parallel_1\",35.23333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",33.33333333333334],PARAME");
+        "TER[\"standard_parallel_2\",33.93333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "TER[\"central_meridian\",-98],PARAMETER[\"false_easting\"");
+        "[\"latitude_of_origin\",33.33333333333334],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        ",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "entral_meridian\",-98],PARAMETER[\"false_easting\",19685");
     add_srs_wkt (p, 13,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
     add_srs_wkt (p, 14,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
     add_srs_wkt (p, 15,
-        ",\"3642\"]]");
-    p = add_epsg_def (filter, first, last, 3643, "epsg", 3643,
-        "NAD83(NSRS2007) / Oregon Lambert");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"364");
+    add_srs_wkt (p, 16,
+        "2\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3643, "epsg", 3643,
+        "NAD83(NSRS2007) / Oregon LCC (m)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
     add_proj4text (p, 1,
@@ -3605,7 +4071,7 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_proj4text (p, 2,
         "0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Oregon Lambert\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(NSRS2007) / Oregon LCC (m)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
         "83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Reference_");
     add_srs_wkt (p, 2,
@@ -3617,23 +4083,28 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",43],PARAMETER[\"standard_");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "parallel_2\",45.5],PARAMETER[\"latitude_of_origin\",41.7");
+        "[\"standard_parallel_1\",43],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 10,
-        "5],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"fa");
+        "el_2\",45.5],PARAMETER[\"latitude_of_origin\",41.75],PAR");
     add_srs_wkt (p, 11,
-        "lse_easting\",400000],PARAMETER[\"false_northing\",0],UN");
+        "AMETER[\"central_meridian\",-120.5],PARAMETER[\"false_ea");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "sting\",400000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3643\"]]");
-    p = add_epsg_def (filter, first, last, 3644, "epsg", 3644,
-        "NAD83(NSRS2007) / Oregon Lambert (ft)");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3643\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3644, "epsg", 3644,
+        "NAD83(NSRS2007) / Oregon GIC Lambert (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
     add_proj4text (p, 1,
@@ -3641,37 +4112,42 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_proj4text (p, 2,
         "0,0,0,0,0 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Oregon Lambert (ft)\",GEOGCS[");
+        "PROJCS[\"NAD83(NSRS2007) / Oregon GIC Lambert (ft)\",GEO");
     add_srs_wkt (p, 1,
-        "\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Refer");
+        "GCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_R");
     add_srs_wkt (p, 2,
-        "ence_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "eference_System_2007\",SPHEROID[\"GRS 1980\",6378137,298");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        ".257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",43],PARAMETER[\"stan");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "dard_parallel_2\",45.5],PARAMETER[\"latitude_of_origin\"");
+        "PARAMETER[\"standard_parallel_1\",43],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        ",41.75],PARAMETER[\"central_meridian\",-120.5],PARAMETER");
+        "rd_parallel_2\",45.5],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",1312335.958],PARAMETER[\"false_northi");
+        "1.75],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "ng\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"");
+        "false_easting\",1312335.958],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        ",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],A");
     add_srs_wkt (p, 14,
-        ",\"3644\"]]");
-    p = add_epsg_def (filter, first, last, 3645, "epsg", 3645,
-        "NAD83(NSRS2007) / Oregon North");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 15,
+        "644\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3645, "epsg", 3645,
+        "NAD83(NSRS2007) / Oregon North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
     add_proj4text (p, 1,
@@ -3691,25 +4167,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",46],PARAMETER[\"standard_pa");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "rallel_2\",44.33333333333334],PARAMETER[\"latitude_of_or");
+        "standard_parallel_1\",46],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "igin\",43.66666666666666],PARAMETER[\"central_meridian\"");
+        "2\",44.33333333333334],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        ",-120.5],PARAMETER[\"false_easting\",2500000],PARAMETER[");
+        "43.66666666666666],PARAMETER[\"central_meridian\",-120.5");
     add_srs_wkt (p, 12,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",2500000],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"3645\"]]");
-    p = add_epsg_def (filter, first, last, 3646, "epsg", 3646,
-        "NAD83(NSRS2007) / Oregon North (ft)");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"3645\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3646, "epsg", 3646,
+        "NAD83(NSRS2007) / Oregon North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
     add_proj4text (p, 1,
@@ -3729,25 +4210,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",46],PARAMETER[\"standa");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "rd_parallel_2\",44.33333333333334],PARAMETER[\"latitude_");
+        "TER[\"standard_parallel_1\",46],PARAMETER[\"standard_par");
     add_srs_wkt (p, 10,
-        "of_origin\",43.66666666666666],PARAMETER[\"central_merid");
+        "allel_2\",44.33333333333334],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 11,
-        "ian\",-120.5],PARAMETER[\"false_easting\",8202099.738],P");
+        "gin\",43.66666666666666],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 12,
-        "ARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTH");
+        "-120.5],PARAMETER[\"false_easting\",8202099.738],PARAMET");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "ER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[");
     add_srs_wkt (p, 14,
-        "RTH],AUTHORITY[\"EPSG\",\"3646\"]]");
-    p = add_epsg_def (filter, first, last, 3647, "epsg", 3647,
-        "NAD83(NSRS2007) / Oregon South");
+        "\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"3646\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3647, "epsg", 3647,
+        "NAD83(NSRS2007) / Oregon South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
     add_proj4text (p, 1,
@@ -3767,25 +4253,30 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",44],PARAMETER[\"standard_pa");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "rallel_2\",42.33333333333334],PARAMETER[\"latitude_of_or");
+        "standard_parallel_1\",44],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "igin\",41.66666666666666],PARAMETER[\"central_meridian\"");
+        "2\",42.33333333333334],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        ",-120.5],PARAMETER[\"false_easting\",1500000],PARAMETER[");
+        "41.66666666666666],PARAMETER[\"central_meridian\",-120.5");
     add_srs_wkt (p, 12,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",1500000],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"3647\"]]");
-    p = add_epsg_def (filter, first, last, 3648, "epsg", 3648,
-        "NAD83(NSRS2007) / Oregon South (ft)");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"3647\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3648, "epsg", 3648,
+        "NAD83(NSRS2007) / Oregon South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
     add_proj4text (p, 1,
@@ -3805,23 +4296,25 @@ initialize_epsg_15 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",44],PARAMETER[\"standa");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "rd_parallel_2\",42.33333333333334],PARAMETER[\"latitude_");
+        "TER[\"standard_parallel_1\",44],PARAMETER[\"standard_par");
     add_srs_wkt (p, 10,
-        "of_origin\",41.66666666666666],PARAMETER[\"central_merid");
+        "allel_2\",42.33333333333334],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 11,
-        "ian\",-120.5],PARAMETER[\"false_easting\",4921259.843],P");
+        "gin\",41.66666666666666],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 12,
-        "ARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTH");
+        "-120.5],PARAMETER[\"false_easting\",4921259.843],PARAMET");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "ER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[");
     add_srs_wkt (p, 14,
-        "RTH],AUTHORITY[\"EPSG\",\"3648\"]]");
+        "\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"3648\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_16.c b/src/srsinit/epsg_inlined_16.c
index 8a85c37..a8c0e16 100644
--- a/src/srsinit/epsg_inlined_16.c
+++ b/src/srsinit/epsg_inlined_16.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 3649, "epsg", 3649,
-        "NAD83(NSRS2007) / Pennsylvania North");
+    p = add_epsg_def_ex (filter, first, last, 3649, "epsg", 3649,
+        "NAD83(NSRS2007) / Pennsylvania North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
     add_proj4text (p, 1,
@@ -73,25 +78,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",41.95],PARAMETER[\"sta");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",40.88333333333333],PARAMETER[\"latitu");
+        "TER[\"standard_parallel_1\",41.95],PARAMETER[\"standard_");
     add_srs_wkt (p, 10,
-        "de_of_origin\",40.16666666666666],PARAMETER[\"central_me");
+        "parallel_2\",40.88333333333333],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        "ridian\",-77.75],PARAMETER[\"false_easting\",600000],PAR");
+        "origin\",40.16666666666666],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "\",-77.75],PARAMETER[\"false_easting\",600000],PARAMETER");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 14,
-        "UTHORITY[\"EPSG\",\"3649\"]]");
-    p = add_epsg_def (filter, first, last, 3650, "epsg", 3650,
-        "NAD83(NSRS2007) / Pennsylvania North (ftUS)");
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"3649\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3650, "epsg", 3650,
+        "NAD83(NSRS2007) / Pennsylvania North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
     add_proj4text (p, 1,
@@ -111,27 +121,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",41.95],PARAMET");
+        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 9,
-        "ER[\"standard_parallel_2\",40.88333333333333],PARAMETER[");
+        "],PARAMETER[\"standard_parallel_1\",41.95],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "\"latitude_of_origin\",40.16666666666666],PARAMETER[\"ce");
+        "tandard_parallel_2\",40.88333333333333],PARAMETER[\"lati");
     add_srs_wkt (p, 11,
-        "ntral_meridian\",-77.75],PARAMETER[\"false_easting\",196");
+        "tude_of_origin\",40.16666666666666],PARAMETER[\"central_");
     add_srs_wkt (p, 12,
-        "8500],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
+        "meridian\",-77.75],PARAMETER[\"false_easting\",1968500],");
     add_srs_wkt (p, 13,
-        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+        "PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",");
     add_srs_wkt (p, 14,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
     add_srs_wkt (p, 15,
-        "650\"]]");
-    p = add_epsg_def (filter, first, last, 3651, "epsg", 3651,
-        "NAD83(NSRS2007) / Pennsylvania South");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3650\"]");
+    add_srs_wkt (p, 16,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3651, "epsg", 3651,
+        "NAD83(NSRS2007) / Pennsylvania South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
     add_proj4text (p, 1,
@@ -153,25 +168,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",40.96666666666667],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",39.93333333333333],PARAME");
+        "TER[\"standard_parallel_1\",40.96666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",39.33333333333334],PARAMETER[");
+        "[\"standard_parallel_2\",39.93333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\"central_meridian\",-77.75],PARAMETER[\"false_easting\"");
+        "latitude_of_origin\",39.33333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        ",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "ral_meridian\",-77.75],PARAMETER[\"false_easting\",60000");
     add_srs_wkt (p, 13,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3651\"]]");
-    p = add_epsg_def (filter, first, last, 3652, "epsg", 3652,
-        "NAD83(NSRS2007) / Pennsylvania South (ftUS)");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"3651\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3652, "epsg", 3652,
+        "NAD83(NSRS2007) / Pennsylvania South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
     add_proj4text (p, 1,
@@ -193,27 +213,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",40.96666666666");
+        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 9,
-        "667],PARAMETER[\"standard_parallel_2\",39.93333333333333");
+        "],PARAMETER[\"standard_parallel_1\",40.96666666666667],P");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"latitude_of_origin\",39.33333333333334],PA");
+        "ARAMETER[\"standard_parallel_2\",39.93333333333333],PARA");
     add_srs_wkt (p, 11,
-        "RAMETER[\"central_meridian\",-77.75],PARAMETER[\"false_e");
+        "METER[\"latitude_of_origin\",39.33333333333334],PARAMETE");
     add_srs_wkt (p, 12,
-        "asting\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "R[\"central_meridian\",-77.75],PARAMETER[\"false_easting");
     add_srs_wkt (p, 13,
-        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        "\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US su");
     add_srs_wkt (p, 14,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
     add_srs_wkt (p, 15,
-        "EPSG\",\"3652\"]]");
-    p = add_epsg_def (filter, first, last, 3653, "epsg", 3653,
-        "NAD83(NSRS2007) / Rhode Island");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 16,
+        "\",\"3652\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3653, "epsg", 3653,
+        "NAD83(NSRS2007) / Rhode Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
     add_proj4text (p, 1,
@@ -233,23 +258,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",41.08333333333334],PARAMETER[\"centr");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "al_meridian\",-71.5],PARAMETER[\"scale_factor\",0.999993");
+        "e_of_origin\",41.08333333333334],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "75],PARAMETER[\"false_easting\",100000],PARAMETER[\"fals");
+        "idian\",-71.5],PARAMETER[\"scale_factor\",0.99999375],PA");
     add_srs_wkt (p, 11,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 13,
-        "SG\",\"3653\"]]");
-    p = add_epsg_def (filter, first, last, 3654, "epsg", 3654,
-        "NAD83(NSRS2007) / Rhode Island (ftUS)");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "3653\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3654, "epsg", 3654,
+        "NAD83(NSRS2007) / Rhode Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
     add_proj4text (p, 1,
@@ -269,23 +299,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",41.08333333333334],PARAMETER[");
+        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "\"central_meridian\",-71.5],PARAMETER[\"scale_factor\",0");
+        "atitude_of_origin\",41.08333333333334],PARAMETER[\"centr");
     add_srs_wkt (p, 10,
-        ".99999375],PARAMETER[\"false_easting\",328083.3333],PARA");
+        "al_meridian\",-71.5],PARAMETER[\"scale_factor\",0.999993");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "75],PARAMETER[\"false_easting\",328083.3333],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3654\"]]");
-    p = add_epsg_def (filter, first, last, 3655, "epsg", 3655,
-        "NAD83(NSRS2007) / South Carolina");
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3654\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3655, "epsg", 3655,
+        "NAD83(NSRS2007) / South Carolina", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
     add_proj4text (p, 1,
@@ -305,25 +340,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",34.83333333333334],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",32.5],PARAMETER[\"latitude_o");
+        "[\"standard_parallel_1\",34.83333333333334],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "f_origin\",31.83333333333333],PARAMETER[\"central_meridi");
+        "standard_parallel_2\",32.5],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 11,
-        "an\",-81],PARAMETER[\"false_easting\",609600],PARAMETER[");
+        "in\",31.83333333333333],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 12,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "81],PARAMETER[\"false_easting\",609600],PARAMETER[\"fals");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"3655\"]]");
-    p = add_epsg_def (filter, first, last, 3656, "epsg", 3656,
-        "NAD83(NSRS2007) / South Carolina (ft)");
+        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 15,
+        "SG\",\"3655\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3656, "epsg", 3656,
+        "NAD83(NSRS2007) / South Carolina (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
     add_proj4text (p, 1,
@@ -343,25 +383,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",34.83333333333334],P");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",32.5],PARAMETER[\"latit");
+        "ETER[\"standard_parallel_1\",34.83333333333334],PARAMETE");
     add_srs_wkt (p, 10,
-        "ude_of_origin\",31.83333333333333],PARAMETER[\"central_m");
+        "R[\"standard_parallel_2\",32.5],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        "eridian\",-81],PARAMETER[\"false_easting\",2000000],PARA");
+        "origin\",31.83333333333333],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORI");
+        "\",-81],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPS");
     add_srs_wkt (p, 14,
-        "],AUTHORITY[\"EPSG\",\"3656\"]]");
-    p = add_epsg_def (filter, first, last, 3657, "epsg", 3657,
-        "NAD83(NSRS2007) / South Dakota North");
+        "G\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"3656\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3657, "epsg", 3657,
+        "NAD83(NSRS2007) / South Dakota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
     add_proj4text (p, 1,
@@ -383,25 +428,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",45.68333333333333],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",44.41666666666666],PARAME");
+        "TER[\"standard_parallel_1\",45.68333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",43.83333333333334],PARAMETER[");
+        "[\"standard_parallel_2\",44.41666666666666],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\"central_meridian\",-100],PARAMETER[\"false_easting\",6");
+        "latitude_of_origin\",43.83333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "ral_meridian\",-100],PARAMETER[\"false_easting\",600000]");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3657\"]]");
-    p = add_epsg_def (filter, first, last, 3658, "epsg", 3658,
-        "NAD83(NSRS2007) / South Dakota North (ftUS)");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 15,
+        "H],AUTHORITY[\"EPSG\",\"3657\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3658, "epsg", 3658,
+        "NAD83(NSRS2007) / South Dakota North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
     add_proj4text (p, 1,
@@ -423,27 +473,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",45.68333333333");
+        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 9,
-        "333],PARAMETER[\"standard_parallel_2\",44.41666666666666");
+        "],PARAMETER[\"standard_parallel_1\",45.68333333333333],P");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"latitude_of_origin\",43.83333333333334],PA");
+        "ARAMETER[\"standard_parallel_2\",44.41666666666666],PARA");
     add_srs_wkt (p, 11,
-        "RAMETER[\"central_meridian\",-100],PARAMETER[\"false_eas");
+        "METER[\"latitude_of_origin\",43.83333333333334],PARAMETE");
     add_srs_wkt (p, 12,
-        "ting\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"U");
+        "R[\"central_meridian\",-100],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 13,
-        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        ",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
     add_srs_wkt (p, 14,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
     add_srs_wkt (p, 15,
-        "EPSG\",\"3658\"]]");
-    p = add_epsg_def (filter, first, last, 3659, "epsg", 3659,
-        "NAD83(NSRS2007) / South Dakota South");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"3658\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3659, "epsg", 3659,
+        "NAD83(NSRS2007) / South Dakota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
     add_proj4text (p, 1,
@@ -465,25 +520,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",44.4],PARAMETER[\"stan");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "dard_parallel_2\",42.83333333333334],PARAMETER[\"latitud");
+        "TER[\"standard_parallel_1\",44.4],PARAMETER[\"standard_p");
     add_srs_wkt (p, 10,
-        "e_of_origin\",42.33333333333334],PARAMETER[\"central_mer");
+        "arallel_2\",42.83333333333334],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 11,
-        "idian\",-100.3333333333333],PARAMETER[\"false_easting\",");
+        "rigin\",42.33333333333334],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        ",-100.3333333333333],PARAMETER[\"false_easting\",600000]");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3659\"]]");
-    p = add_epsg_def (filter, first, last, 3660, "epsg", 3660,
-        "NAD83(NSRS2007) / South Dakota South (ftUS)");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 15,
+        "H],AUTHORITY[\"EPSG\",\"3659\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3660, "epsg", 3660,
+        "NAD83(NSRS2007) / South Dakota South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
     add_proj4text (p, 1,
@@ -505,27 +565,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",44.4],PARAMETE");
+        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 9,
-        "R[\"standard_parallel_2\",42.83333333333334],PARAMETER[\"");
+        "],PARAMETER[\"standard_parallel_1\",44.4],PARAMETER[\"st");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",42.33333333333334],PARAMETER[\"cent");
+        "andard_parallel_2\",42.83333333333334],PARAMETER[\"latit");
     add_srs_wkt (p, 11,
-        "ral_meridian\",-100.3333333333333],PARAMETER[\"false_eas");
+        "ude_of_origin\",42.33333333333334],PARAMETER[\"central_m");
     add_srs_wkt (p, 12,
-        "ting\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"U");
+        "eridian\",-100.3333333333333],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 13,
-        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        ",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
     add_srs_wkt (p, 14,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
     add_srs_wkt (p, 15,
-        "EPSG\",\"3660\"]]");
-    p = add_epsg_def (filter, first, last, 3661, "epsg", 3661,
-        "NAD83(NSRS2007) / Tennessee");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"3660\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3661, "epsg", 3661,
+        "NAD83(NSRS2007) / Tennessee", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
     add_proj4text (p, 1,
@@ -545,25 +610,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],PR");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",36.41666666666666],PARAMETER[\"");
+        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",35.25],PARAMETER[\"latitude_of_ori");
+        "andard_parallel_1\",36.41666666666666],PARAMETER[\"stand");
     add_srs_wkt (p, 10,
-        "gin\",34.33333333333334],PARAMETER[\"central_meridian\",");
+        "ard_parallel_2\",35.25],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "-86],PARAMETER[\"false_easting\",600000],PARAMETER[\"fal");
+        ",34.33333333333334],PARAMETER[\"central_meridian\",-86],");
     add_srs_wkt (p, 12,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "PARAMETER[\"false_easting\",600000],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "PSG\",\"3661\"]]");
-    p = add_epsg_def (filter, first, last, 3662, "epsg", 3662,
-        "NAD83(NSRS2007) / Tennessee (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"3661\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3662, "epsg", 3662,
+        "NAD83(NSRS2007) / Tennessee (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
     add_proj4text (p, 1,
@@ -583,25 +653,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_1\",36.41666666666666],PARA");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 9,
-        "METER[\"standard_parallel_2\",35.25],PARAMETER[\"latitud");
+        "ER[\"standard_parallel_1\",36.41666666666666],PARAMETER[");
     add_srs_wkt (p, 10,
-        "e_of_origin\",34.33333333333334],PARAMETER[\"central_mer");
+        "\"standard_parallel_2\",35.25],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 11,
-        "idian\",-86],PARAMETER[\"false_easting\",1968500],PARAME");
+        "rigin\",34.33333333333334],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+        ",-86],PARAMETER[\"false_easting\",1968500],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
     add_srs_wkt (p, 14,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3662\"]]");
-    p = add_epsg_def (filter, first, last, 3663, "epsg", 3663,
-        "NAD83(NSRS2007) / Texas Central");
+        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 15,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3662\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3663, "epsg", 3663,
+        "NAD83(NSRS2007) / Texas Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
     add_proj4text (p, 1,
@@ -623,25 +698,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_1\",31.88333333333333],PARAMET");
+        "],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[");
     add_srs_wkt (p, 9,
-        "ER[\"standard_parallel_2\",30.11666666666667],PARAMETER[");
+        "\"standard_parallel_1\",31.88333333333333],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "\"latitude_of_origin\",29.66666666666667],PARAMETER[\"ce");
+        "tandard_parallel_2\",30.11666666666667],PARAMETER[\"lati");
     add_srs_wkt (p, 11,
-        "ntral_meridian\",-100.3333333333333],PARAMETER[\"false_e");
+        "tude_of_origin\",29.66666666666667],PARAMETER[\"central_");
     add_srs_wkt (p, 12,
-        "asting\",700000],PARAMETER[\"false_northing\",3000000],U");
+        "meridian\",-100.3333333333333],PARAMETER[\"false_easting");
     add_srs_wkt (p, 13,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "\",700000],PARAMETER[\"false_northing\",3000000],UNIT[\"");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3663\"]]");
-    p = add_epsg_def (filter, first, last, 3664, "epsg", 3664,
-        "NAD83(NSRS2007) / Texas Central (ftUS)");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 15,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3663\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3664, "epsg", 3664,
+        "NAD83(NSRS2007) / Texas Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
     add_proj4text (p, 1,
@@ -663,27 +743,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",31.88333333333333],P");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",30.11666666666667],PARA");
+        "AMETER[\"standard_parallel_1\",31.88333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",29.66666666666667],PARAMETE");
+        "TER[\"standard_parallel_2\",30.11666666666667],PARAMETER");
     add_srs_wkt (p, 11,
-        "R[\"central_meridian\",-100.3333333333333],PARAMETER[\"f");
+        "[\"latitude_of_origin\",29.66666666666667],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        "alse_easting\",2296583.333],PARAMETER[\"false_northing\"");
+        "entral_meridian\",-100.3333333333333],PARAMETER[\"false_");
     add_srs_wkt (p, 13,
-        ",9842500.000000002],UNIT[\"US survey foot\",0.3048006096");
+        "easting\",2296583.333],PARAMETER[\"false_northing\",9842");
     add_srs_wkt (p, 14,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "500.000000002],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 15,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3664\"]]");
-    p = add_epsg_def (filter, first, last, 3665, "epsg", 3665,
-        "NAD83(NSRS2007) / Texas Centric Albers Equal Area");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 16,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3664\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3665, "epsg", 3665,
+        "NAD83(NSRS2007) / Texas Centric Albers Equal Area", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x");
     add_proj4text (p, 1,
@@ -703,25 +788,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 6,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 7,
-        "ORITY[\"EPSG\",\"4759\"]],PROJECTION[\"Albers_Conic_Equa");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 8,
-        "l_Area\"],PARAMETER[\"standard_parallel_1\",27.5],PARAME");
+        "\"EPSG\",\"4759\"]],PROJECTION[\"Albers_Conic_Equal_Area");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",35],PARAMETER[\"latitude_of_");
+        "\"],PARAMETER[\"standard_parallel_1\",27.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "center\",18],PARAMETER[\"longitude_of_center\",-100],PAR");
+        "standard_parallel_2\",35],PARAMETER[\"latitude_of_center");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",1500000],PARAMETER[\"false_nort");
+        "\",18],PARAMETER[\"longitude_of_center\",-100],PARAMETER");
     add_srs_wkt (p, 12,
-        "hing\",6000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",1500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        ",6000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 14,
-        "SG\",\"3665\"]]");
-    p = add_epsg_def (filter, first, last, 3666, "epsg", 3666,
-        "NAD83(NSRS2007) / Texas Centric Lambert Conformal");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "3665\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3666, "epsg", 3666,
+        "NAD83(NSRS2007) / Texas Centric Lambert Conformal", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x");
     add_proj4text (p, 1,
@@ -741,25 +831,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 6,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 7,
-        "ORITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 8,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",27.5],PA");
+        "\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 9,
-        "RAMETER[\"standard_parallel_2\",35],PARAMETER[\"latitude");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",27.5],PARAMETE");
     add_srs_wkt (p, 10,
-        "_of_origin\",18],PARAMETER[\"central_meridian\",-100],PA");
+        "R[\"standard_parallel_2\",35],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",1500000],PARAMETER[\"false_nor");
+        "igin\",18],PARAMETER[\"central_meridian\",-100],PARAMETE");
     add_srs_wkt (p, 12,
-        "thing\",5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "R[\"false_easting\",1500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        ",5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 14,
-        "PSG\",\"3666\"]]");
-    p = add_epsg_def (filter, first, last, 3667, "epsg", 3667,
-        "NAD83(NSRS2007) / Texas North");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "3666\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3667, "epsg", 3667,
+        "NAD83(NSRS2007) / Texas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
     add_proj4text (p, 1,
@@ -779,25 +874,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_1\",36.18333333333333],PARAMETER");
+        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",34.65],PARAMETER[\"latitude_of_");
+        "standard_parallel_1\",36.18333333333333],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "origin\",34],PARAMETER[\"central_meridian\",-101.5],PARA");
+        "ndard_parallel_2\",34.65],PARAMETER[\"latitude_of_origin");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",200000],PARAMETER[\"false_northi");
+        "\",34],PARAMETER[\"central_meridian\",-101.5],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ng\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "\"false_easting\",200000],PARAMETER[\"false_northing\",1");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 14,
-        "\",\"3667\"]]");
-    p = add_epsg_def (filter, first, last, 3668, "epsg", 3668,
-        "NAD83(NSRS2007) / Texas North (ftUS)");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 15,
+        "667\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3668, "epsg", 3668,
+        "NAD83(NSRS2007) / Texas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
     add_proj4text (p, 1,
@@ -819,25 +919,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",36.18333333333333],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",34.65],PARAMETER[\"latitu");
+        "TER[\"standard_parallel_1\",36.18333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "de_of_origin\",34],PARAMETER[\"central_meridian\",-101.5");
+        "[\"standard_parallel_2\",34.65],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",656166.667],PARAMETER[\"fa");
+        "origin\",34],PARAMETER[\"central_meridian\",-101.5],PARA");
     add_srs_wkt (p, 12,
-        "lse_northing\",3280833.333],UNIT[\"US survey foot\",0.30");
+        "METER[\"false_easting\",656166.667],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "rthing\",3280833.333],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 14,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3668\"]]");
-    p = add_epsg_def (filter, first, last, 3669, "epsg", 3669,
-        "NAD83(NSRS2007) / Texas North Central");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3668\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3669, "epsg", 3669,
+        "NAD83(NSRS2007) / Texas North Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
     add_proj4text (p, 1,
@@ -859,25 +964,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",33.96666666666667],P");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",32.13333333333333],PARA");
+        "ETER[\"standard_parallel_1\",33.96666666666667],PARAMETE");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",31.66666666666667],PARAMETE");
+        "R[\"standard_parallel_2\",32.13333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "R[\"central_meridian\",-98.5],PARAMETER[\"false_easting\"");
+        "latitude_of_origin\",31.66666666666667],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        ",600000],PARAMETER[\"false_northing\",2000000],UNIT[\"me");
+        "ral_meridian\",-98.5],PARAMETER[\"false_easting\",600000");
     add_srs_wkt (p, 13,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "],PARAMETER[\"false_northing\",2000000],UNIT[\"metre\",1");
     add_srs_wkt (p, 14,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3669\"]]");
-    p = add_epsg_def (filter, first, last, 3670, "epsg", 3670,
-        "NAD83(NSRS2007) / Texas North Central (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 15,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"3669\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3670, "epsg", 3670,
+        "NAD83(NSRS2007) / Texas North Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
     add_proj4text (p, 1,
@@ -899,27 +1009,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Coni");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "c_2SP\"],PARAMETER[\"standard_parallel_1\",33.9666666666");
+        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 9,
-        "6667],PARAMETER[\"standard_parallel_2\",32.1333333333333");
+        "],PARAMETER[\"standard_parallel_1\",33.96666666666667],P");
     add_srs_wkt (p, 10,
-        "3],PARAMETER[\"latitude_of_origin\",31.66666666666667],P");
+        "ARAMETER[\"standard_parallel_2\",32.13333333333333],PARA");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"central_meridian\",-98.5],PARAMETER[\"false_e");
+        "METER[\"latitude_of_origin\",31.66666666666667],PARAMETE");
     add_srs_wkt (p, 12,
-        "asting\",1968500],PARAMETER[\"false_northing\",6561666.6");
+        "R[\"central_meridian\",-98.5],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 13,
-        "67],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        ",1968500],PARAMETER[\"false_northing\",6561666.667],UNIT");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 15,
-        "AUTHORITY[\"EPSG\",\"3670\"]]");
-    p = add_epsg_def (filter, first, last, 3671, "epsg", 3671,
-        "NAD83(NSRS2007) / Texas South");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"3670\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3671, "epsg", 3671,
+        "NAD83(NSRS2007) / Texas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
@@ -941,25 +1056,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_1\",27.83333333333333],PARAMETER");
+        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",26.16666666666667],PARAMETER[\"");
+        "standard_parallel_1\",27.83333333333333],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",25.66666666666667],PARAMETER[\"cent");
+        "ndard_parallel_2\",26.16666666666667],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "ral_meridian\",-98.5],PARAMETER[\"false_easting\",300000");
+        "de_of_origin\",25.66666666666667],PARAMETER[\"central_me");
     add_srs_wkt (p, 12,
-        "],PARAMETER[\"false_northing\",5000000],UNIT[\"metre\",1");
+        "ridian\",-98.5],PARAMETER[\"false_easting\",300000],PARA");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "METER[\"false_northing\",5000000],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3671\"]]");
-    p = add_epsg_def (filter, first, last, 3672, "epsg", 3672,
-        "NAD83(NSRS2007) / Texas South (ftUS)");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"3671\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3672, "epsg", 3672,
+        "NAD83(NSRS2007) / Texas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
@@ -981,27 +1101,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",27.83333333333333],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",26.16666666666667],PARAME");
+        "TER[\"standard_parallel_1\",27.83333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",25.66666666666667],PARAMETER[");
+        "[\"standard_parallel_2\",26.16666666666667],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\"central_meridian\",-98.5],PARAMETER[\"false_easting\",");
+        "latitude_of_origin\",25.66666666666667],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        "984250.0000000002],PARAMETER[\"false_northing\",16404166");
+        "ral_meridian\",-98.5],PARAMETER[\"false_easting\",984250");
     add_srs_wkt (p, 13,
-        ".667],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+        ".0000000002],PARAMETER[\"false_northing\",16404166.667],");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 15,
-        "],AUTHORITY[\"EPSG\",\"3672\"]]");
-    p = add_epsg_def (filter, first, last, 3673, "epsg", 3673,
-        "NAD83(NSRS2007) / Texas South Central");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 16,
+        "ORITY[\"EPSG\",\"3672\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3673, "epsg", 3673,
+        "NAD83(NSRS2007) / Texas South Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
     add_proj4text (p, 1,
@@ -1023,25 +1148,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",30.28333333333333],P");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",28.38333333333333],PARA");
+        "ETER[\"standard_parallel_1\",30.28333333333333],PARAMETE");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",27.83333333333333],PARAMETE");
+        "R[\"standard_parallel_2\",28.38333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "R[\"central_meridian\",-99],PARAMETER[\"false_easting\",");
+        "latitude_of_origin\",27.83333333333333],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        "600000],PARAMETER[\"false_northing\",4000000],UNIT[\"met");
+        "ral_meridian\",-99],PARAMETER[\"false_easting\",600000],");
     add_srs_wkt (p, 13,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "PARAMETER[\"false_northing\",4000000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3673\"]]");
-    p = add_epsg_def (filter, first, last, 3674, "epsg", 3674,
-        "NAD83(NSRS2007) / Texas South Central (ftUS)");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3673\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3674, "epsg", 3674,
+        "NAD83(NSRS2007) / Texas South Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
     add_proj4text (p, 1,
@@ -1063,27 +1193,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Coni");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "c_2SP\"],PARAMETER[\"standard_parallel_1\",30.2833333333");
+        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 9,
-        "3333],PARAMETER[\"standard_parallel_2\",28.3833333333333");
+        "],PARAMETER[\"standard_parallel_1\",30.28333333333333],P");
     add_srs_wkt (p, 10,
-        "3],PARAMETER[\"latitude_of_origin\",27.83333333333333],P");
+        "ARAMETER[\"standard_parallel_2\",28.38333333333333],PARA");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"central_meridian\",-99],PARAMETER[\"false_eas");
+        "METER[\"latitude_of_origin\",27.83333333333333],PARAMETE");
     add_srs_wkt (p, 12,
-        "ting\",1968500],PARAMETER[\"false_northing\",13123333.33");
+        "R[\"central_meridian\",-99],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 13,
-        "3],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "1968500],PARAMETER[\"false_northing\",13123333.333],UNIT");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 15,
-        "UTHORITY[\"EPSG\",\"3674\"]]");
-    p = add_epsg_def (filter, first, last, 3675, "epsg", 3675,
-        "NAD83(NSRS2007) / Utah Central");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"3674\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3675, "epsg", 3675,
+        "NAD83(NSRS2007) / Utah Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -1103,25 +1238,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_1\",40.65],PARAMETER[\"standard");
+        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "_parallel_2\",39.01666666666667],PARAMETER[\"latitude_of");
+        "standard_parallel_1\",40.65],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 10,
-        "_origin\",38.33333333333334],PARAMETER[\"central_meridia");
+        "el_2\",39.01666666666667],PARAMETER[\"latitude_of_origin");
     add_srs_wkt (p, 11,
-        "n\",-111.5],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "\",38.33333333333334],PARAMETER[\"central_meridian\",-11");
     add_srs_wkt (p, 12,
-        "R[\"false_northing\",2000000],UNIT[\"metre\",1,AUTHORITY");
+        "1.5],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "se_northing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"3675\"]]");
-    p = add_epsg_def (filter, first, last, 3676, "epsg", 3676,
-        "NAD83(NSRS2007) / Utah Central (ft)");
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"3675\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3676, "epsg", 3676,
+        "NAD83(NSRS2007) / Utah Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -1143,25 +1283,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",40.65],PARAMETER[\"sta");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",39.01666666666667],PARAMETER[\"latitu");
+        "TER[\"standard_parallel_1\",40.65],PARAMETER[\"standard_");
     add_srs_wkt (p, 10,
-        "de_of_origin\",38.33333333333334],PARAMETER[\"central_me");
+        "parallel_2\",39.01666666666667],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        "ridian\",-111.5],PARAMETER[\"false_easting\",1640419.948");
+        "origin\",38.33333333333334],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "],PARAMETER[\"false_northing\",6561679.79],UNIT[\"foot\"");
+        "\",-111.5],PARAMETER[\"false_easting\",1640419.948],PARA");
     add_srs_wkt (p, 13,
-        ",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],A");
+        "METER[\"false_northing\",6561679.79],UNIT[\"foot\",0.304");
     add_srs_wkt (p, 14,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3676\"]]");
-    p = add_epsg_def (filter, first, last, 3677, "epsg", 3677,
-        "NAD83(NSRS2007) / Utah Central (ftUS)");
+        "8,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3676\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3677, "epsg", 3677,
+        "NAD83(NSRS2007) / Utah Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -1183,27 +1328,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",40.65],PARAMETER[\"s");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "tandard_parallel_2\",39.01666666666667],PARAMETER[\"lati");
+        "ETER[\"standard_parallel_1\",40.65],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "tude_of_origin\",38.33333333333334],PARAMETER[\"central_");
+        "_parallel_2\",39.01666666666667],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "meridian\",-111.5],PARAMETER[\"false_easting\",1640416.6");
+        "_origin\",38.33333333333334],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 12,
-        "667],PARAMETER[\"false_northing\",6561666.666700001],UNI");
+        "n\",-111.5],PARAMETER[\"false_easting\",1640416.6667],PA");
     add_srs_wkt (p, 13,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "RAMETER[\"false_northing\",6561666.666700001],UNIT[\"US ");
     add_srs_wkt (p, 14,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 15,
-        "TY[\"EPSG\",\"3677\"]]");
-    p = add_epsg_def (filter, first, last, 3678, "epsg", 3678,
-        "NAD83(NSRS2007) / Utah North");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 16,
+        "SG\",\"3677\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3678, "epsg", 3678,
+        "NAD83(NSRS2007) / Utah North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
@@ -1225,25 +1375,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",41.78333333333333],PARAMETER[");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "\"standard_parallel_2\",40.71666666666667],PARAMETER[\"l");
+        "tandard_parallel_1\",41.78333333333333],PARAMETER[\"stan");
     add_srs_wkt (p, 10,
-        "atitude_of_origin\",40.33333333333334],PARAMETER[\"centr");
+        "dard_parallel_2\",40.71666666666667],PARAMETER[\"latitud");
     add_srs_wkt (p, 11,
-        "al_meridian\",-111.5],PARAMETER[\"false_easting\",500000");
+        "e_of_origin\",40.33333333333334],PARAMETER[\"central_mer");
     add_srs_wkt (p, 12,
-        "],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\",1");
+        "idian\",-111.5],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "METER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3678\"]]");
-    p = add_epsg_def (filter, first, last, 3679, "epsg", 3679,
-        "NAD83(NSRS2007) / Utah North (ft)");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"3678\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3679, "epsg", 3679,
+        "NAD83(NSRS2007) / Utah North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
@@ -1265,25 +1420,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",41.78333333333333],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",40.71666666666667],PARAMETER");
+        "[\"standard_parallel_1\",41.78333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",40.33333333333334],PARAMETER[\"c");
+        "standard_parallel_2\",40.71666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "entral_meridian\",-111.5],PARAMETER[\"false_easting\",16");
+        "itude_of_origin\",40.33333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 12,
-        "40419.948],PARAMETER[\"false_northing\",3280839.895],UNI");
+        "_meridian\",-111.5],PARAMETER[\"false_easting\",1640419.");
     add_srs_wkt (p, 13,
-        "T[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X");
+        "948],PARAMETER[\"false_northing\",3280839.895],UNIT[\"fo");
     add_srs_wkt (p, 14,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3679\"]]");
-    p = add_epsg_def (filter, first, last, 3680, "epsg", 3680,
-        "NAD83(NSRS2007) / Utah North (ftUS)");
+        "ot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 15,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3679\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3680, "epsg", 3680,
+        "NAD83(NSRS2007) / Utah North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
@@ -1305,27 +1465,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",41.78333333333333],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",40.71666666666667],PARAME");
+        "TER[\"standard_parallel_1\",41.78333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",40.33333333333334],PARAMETER[");
+        "[\"standard_parallel_2\",40.71666666666667],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\"central_meridian\",-111.5],PARAMETER[\"false_easting\"");
+        "latitude_of_origin\",40.33333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 12,
-        ",1640416.6667],PARAMETER[\"false_northing\",3280833.3333");
+        "ral_meridian\",-111.5],PARAMETER[\"false_easting\",16404");
     add_srs_wkt (p, 13,
-        "00001],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+        "16.6667],PARAMETER[\"false_northing\",3280833.333300001]");
     add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
     add_srs_wkt (p, 15,
-        "H],AUTHORITY[\"EPSG\",\"3680\"]]");
-    p = add_epsg_def (filter, first, last, 3681, "epsg", 3681,
-        "NAD83(NSRS2007) / Utah South");
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 16,
+        "HORITY[\"EPSG\",\"3680\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3681, "epsg", 3681,
+        "NAD83(NSRS2007) / Utah South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -1345,25 +1510,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",38.35],PARAMETER[\"standard_p");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "arallel_2\",37.21666666666667],PARAMETER[\"latitude_of_o");
+        "tandard_parallel_1\",38.35],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "rigin\",36.66666666666666],PARAMETER[\"central_meridian\"");
+        "l_2\",37.21666666666667],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        ",-111.5],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        ",36.66666666666666],PARAMETER[\"central_meridian\",-111.");
     add_srs_wkt (p, 12,
-        "false_northing\",3000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "5],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "_northing\",3000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"3681\"]]");
-    p = add_epsg_def (filter, first, last, 3682, "epsg", 3682,
-        "NAD83(NSRS2007) / Utah South (ft)");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"3681\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3682, "epsg", 3682,
+        "NAD83(NSRS2007) / Utah South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -1385,25 +1555,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",38.35],PARAMETER[\"standa");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "rd_parallel_2\",37.21666666666667],PARAMETER[\"latitude_");
+        "[\"standard_parallel_1\",38.35],PARAMETER[\"standard_par");
     add_srs_wkt (p, 10,
-        "of_origin\",36.66666666666666],PARAMETER[\"central_merid");
+        "allel_2\",37.21666666666667],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 11,
-        "ian\",-111.5],PARAMETER[\"false_easting\",1640419.948],P");
+        "gin\",36.66666666666666],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 12,
-        "ARAMETER[\"false_northing\",9842519.685],UNIT[\"foot\",0");
+        "-111.5],PARAMETER[\"false_easting\",1640419.948],PARAMET");
     add_srs_wkt (p, 13,
-        ".3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXI");
+        "ER[\"false_northing\",9842519.685],UNIT[\"foot\",0.3048,");
     add_srs_wkt (p, 14,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3682\"]]");
-    p = add_epsg_def (filter, first, last, 3683, "epsg", 3683,
-        "NAD83(NSRS2007) / Utah South (ftUS)");
+        "AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3682\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3683, "epsg", 3683,
+        "NAD83(NSRS2007) / Utah South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
@@ -1425,27 +1600,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",38.35],PARAMETER[\"sta");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",37.21666666666667],PARAMETER[\"latitu");
+        "TER[\"standard_parallel_1\",38.35],PARAMETER[\"standard_");
     add_srs_wkt (p, 10,
-        "de_of_origin\",36.66666666666666],PARAMETER[\"central_me");
+        "parallel_2\",37.21666666666667],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        "ridian\",-111.5],PARAMETER[\"false_easting\",1640416.666");
+        "origin\",36.66666666666666],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "7],PARAMETER[\"false_northing\",9842500.000000002],UNIT[");
+        "\",-111.5],PARAMETER[\"false_easting\",1640416.6667],PAR");
     add_srs_wkt (p, 13,
-        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "AMETER[\"false_northing\",9842500.000000002],UNIT[\"US s");
     add_srs_wkt (p, 14,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 15,
-        "[\"EPSG\",\"3683\"]]");
-    p = add_epsg_def (filter, first, last, 3684, "epsg", 3684,
-        "NAD83(NSRS2007) / Vermont");
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"3683\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3684, "epsg", 3684,
+        "NAD83(NSRS2007) / Vermont", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
     add_proj4text (p, 1,
@@ -1465,21 +1645,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4759\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",42.5],PARAMETER[\"central_meridian\",-72.5");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",0.999964286],PARAMETER[\"fa");
+        "rigin\",42.5],PARAMETER[\"central_meridian\",-72.5],PARA");
     add_srs_wkt (p, 10,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "METER[\"scale_factor\",0.999964286],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3684\"]]");
-    p = add_epsg_def (filter, first, last, 3685, "epsg", 3685,
-        "NAD83(NSRS2007) / Virginia North");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 13,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3684\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3685, "epsg", 3685,
+        "NAD83(NSRS2007) / Virginia North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
     add_proj4text (p, 1,
@@ -1499,25 +1684,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",39.2],PARAMETER[\"standar");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "d_parallel_2\",38.03333333333333],PARAMETER[\"latitude_o");
+        "[\"standard_parallel_1\",39.2],PARAMETER[\"standard_para");
     add_srs_wkt (p, 10,
-        "f_origin\",37.66666666666666],PARAMETER[\"central_meridi");
+        "llel_2\",38.03333333333333],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 11,
-        "an\",-78.5],PARAMETER[\"false_easting\",3500000],PARAMET");
+        "in\",37.66666666666666],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 12,
-        "ER[\"false_northing\",2000000],UNIT[\"metre\",1,AUTHORIT");
+        "78.5],PARAMETER[\"false_easting\",3500000],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "alse_northing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        ",AUTHORITY[\"EPSG\",\"3685\"]]");
-    p = add_epsg_def (filter, first, last, 3686, "epsg", 3686,
-        "NAD83(NSRS2007) / Virginia North (ftUS)");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 15,
+        "RITY[\"EPSG\",\"3685\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3686, "epsg", 3686,
+        "NAD83(NSRS2007) / Virginia North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
     add_proj4text (p, 1,
@@ -1539,27 +1729,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",39.2],PARAMETER[\"");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",38.03333333333333],PARAMETER[\"lat");
+        "AMETER[\"standard_parallel_1\",39.2],PARAMETER[\"standar");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",37.66666666666666],PARAMETER[\"central");
+        "d_parallel_2\",38.03333333333333],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 11,
-        "_meridian\",-78.5],PARAMETER[\"false_easting\",11482916.");
+        "f_origin\",37.66666666666666],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 12,
-        "667],PARAMETER[\"false_northing\",6561666.667],UNIT[\"US");
+        "an\",-78.5],PARAMETER[\"false_easting\",11482916.667],PA");
     add_srs_wkt (p, 13,
-        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+        "RAMETER[\"false_northing\",6561666.667],UNIT[\"US survey");
     add_srs_wkt (p, 14,
-        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 15,
-        "PSG\",\"3686\"]]");
-    p = add_epsg_def (filter, first, last, 3687, "epsg", 3687,
-        "NAD83(NSRS2007) / Virginia South");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "3686\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3687, "epsg", 3687,
+        "NAD83(NSRS2007) / Virginia South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
     add_proj4text (p, 1,
@@ -1581,25 +1776,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",37.96666666666667],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",36.76666666666667],PARAMETER");
+        "[\"standard_parallel_1\",37.96666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",36.33333333333334],PARAMETER[\"c");
+        "standard_parallel_2\",36.76666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "entral_meridian\",-78.5],PARAMETER[\"false_easting\",350");
+        "itude_of_origin\",36.33333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 12,
-        "0000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre");
+        "_meridian\",-78.5],PARAMETER[\"false_easting\",3500000],");
     add_srs_wkt (p, 13,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "PARAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 14,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3687\"]]");
-    p = add_epsg_def (filter, first, last, 3688, "epsg", 3688,
-        "NAD83(NSRS2007) / Virginia South (ftUS)");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3687\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3688, "epsg", 3688,
+        "NAD83(NSRS2007) / Virginia South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
     add_proj4text (p, 1,
@@ -1621,27 +1821,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",37.96666666666667]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",36.76666666666667],PA");
+        "AMETER[\"standard_parallel_1\",37.96666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",36.33333333333334],PARAME");
+        "TER[\"standard_parallel_2\",36.76666666666667],PARAMETER");
     add_srs_wkt (p, 11,
-        "TER[\"central_meridian\",-78.5],PARAMETER[\"false_eastin");
+        "[\"latitude_of_origin\",36.33333333333334],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        "g\",11482916.667],PARAMETER[\"false_northing\",3280833.3");
+        "entral_meridian\",-78.5],PARAMETER[\"false_easting\",114");
     add_srs_wkt (p, 13,
-        "33],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "82916.667],PARAMETER[\"false_northing\",3280833.333],UNI");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 15,
-        "AUTHORITY[\"EPSG\",\"3688\"]]");
-    p = add_epsg_def (filter, first, last, 3689, "epsg", 3689,
-        "NAD83(NSRS2007) / Washington North");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 16,
+        "TY[\"EPSG\",\"3688\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3689, "epsg", 3689,
+        "NAD83(NSRS2007) / Washington North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
     add_proj4text (p, 1,
@@ -1661,25 +1866,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_1\",48.73333333333333],PARA");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 9,
-        "METER[\"standard_parallel_2\",47.5],PARAMETER[\"latitude");
+        "ER[\"standard_parallel_1\",48.73333333333333],PARAMETER[");
     add_srs_wkt (p, 10,
-        "_of_origin\",47],PARAMETER[\"central_meridian\",-120.833");
+        "\"standard_parallel_2\",47.5],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 11,
-        "3333333333],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "igin\",47],PARAMETER[\"central_meridian\",-120.833333333");
     add_srs_wkt (p, 12,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "3333],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 13,
-        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"3689\"]]");
-    p = add_epsg_def (filter, first, last, 3690, "epsg", 3690,
-        "NAD83(NSRS2007) / Washington North (ftUS)");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"3689\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3690, "epsg", 3690,
+        "NAD83(NSRS2007) / Washington North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
     add_proj4text (p, 1,
@@ -1701,27 +1911,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",48.7333333333333");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"standard_parallel_2\",47.5],PARAMETER[\"l");
+        "PARAMETER[\"standard_parallel_1\",48.73333333333333],PAR");
     add_srs_wkt (p, 10,
-        "atitude_of_origin\",47],PARAMETER[\"central_meridian\",-");
+        "AMETER[\"standard_parallel_2\",47.5],PARAMETER[\"latitud");
     add_srs_wkt (p, 11,
-        "120.8333333333333],PARAMETER[\"false_easting\",1640416.6");
+        "e_of_origin\",47],PARAMETER[\"central_meridian\",-120.83");
     add_srs_wkt (p, 12,
-        "67],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+        "33333333333],PARAMETER[\"false_easting\",1640416.667],PA");
     add_srs_wkt (p, 13,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
     add_srs_wkt (p, 14,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"369");
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 15,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 3691, "epsg", 3691,
-        "NAD83(NSRS2007) / Washington South");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3690\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3691, "epsg", 3691,
+        "NAD83(NSRS2007) / Washington South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
     add_proj4text (p, 1,
@@ -1743,25 +1956,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_1\",47.33333333333334],PARA");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 9,
-        "METER[\"standard_parallel_2\",45.83333333333334],PARAMET");
+        "ER[\"standard_parallel_1\",47.33333333333334],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ER[\"latitude_of_origin\",45.33333333333334],PARAMETER[\"");
+        "\"standard_parallel_2\",45.83333333333334],PARAMETER[\"l");
     add_srs_wkt (p, 11,
-        "central_meridian\",-120.5],PARAMETER[\"false_easting\",5");
+        "atitude_of_origin\",45.33333333333334],PARAMETER[\"centr");
     add_srs_wkt (p, 12,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "al_meridian\",-120.5],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3691\"]]");
-    p = add_epsg_def (filter, first, last, 3692, "epsg", 3692,
-        "NAD83(NSRS2007) / Washington South (ftUS)");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"3691\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3692, "epsg", 3692,
+        "NAD83(NSRS2007) / Washington South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
     add_proj4text (p, 1,
@@ -1783,27 +2001,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",47.3333333333333");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"standard_parallel_2\",45.83333333333334],");
+        "PARAMETER[\"standard_parallel_1\",47.33333333333334],PAR");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"latitude_of_origin\",45.33333333333334],PARA");
+        "AMETER[\"standard_parallel_2\",45.83333333333334],PARAME");
     add_srs_wkt (p, 11,
-        "METER[\"central_meridian\",-120.5],PARAMETER[\"false_eas");
+        "TER[\"latitude_of_origin\",45.33333333333334],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ting\",1640416.667],PARAMETER[\"false_northing\",0],UNIT");
+        "\"central_meridian\",-120.5],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 13,
-        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        ",1640416.667],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 14,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 15,
-        "[\"EPSG\",\"3692\"]]");
-    p = add_epsg_def (filter, first, last, 3693, "epsg", 3693,
-        "NAD83(NSRS2007) / West Virginia North");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 16,
+        "SG\",\"3692\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3693, "epsg", 3693,
+        "NAD83(NSRS2007) / West Virginia North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
@@ -1823,23 +2046,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",40.25],PARAMETER[\"s");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "tandard_parallel_2\",39],PARAMETER[\"latitude_of_origin\"");
+        "ETER[\"standard_parallel_1\",40.25],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        ",38.5],PARAMETER[\"central_meridian\",-79.5],PARAMETER[\"");
+        "_parallel_2\",39],PARAMETER[\"latitude_of_origin\",38.5]");
     add_srs_wkt (p, 11,
-        "false_easting\",600000],PARAMETER[\"false_northing\",0],");
+        ",PARAMETER[\"central_meridian\",-79.5],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "_easting\",600000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3693\"]]");
-    p = add_epsg_def (filter, first, last, 3694, "epsg", 3694,
-        "NAD83(NSRS2007) / West Virginia South");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3693\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3694, "epsg", 3694,
+        "NAD83(NSRS2007) / West Virginia South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
@@ -1859,25 +2087,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",38.88333333333333],P");
+        "59\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",37.48333333333333],PARA");
+        "ETER[\"standard_parallel_1\",38.88333333333333],PARAMETE");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",37],PARAMETER[\"central_mer");
+        "R[\"standard_parallel_2\",37.48333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "idian\",-81],PARAMETER[\"false_easting\",600000],PARAMET");
+        "latitude_of_origin\",37],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 12,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "-81],PARAMETER[\"false_easting\",600000],PARAMETER[\"fal");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"3694\"]]");
-    p = add_epsg_def (filter, first, last, 3695, "epsg", 3695,
-        "NAD83(NSRS2007) / Wisconsin Central");
+        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"3694\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3695, "epsg", 3695,
+        "NAD83(NSRS2007) / Wisconsin Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
     add_proj4text (p, 1,
@@ -1897,25 +2130,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",45.5],PARAMETER[\"stan");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "dard_parallel_2\",44.25],PARAMETER[\"latitude_of_origin\"");
+        "TER[\"standard_parallel_1\",45.5],PARAMETER[\"standard_p");
     add_srs_wkt (p, 10,
-        ",43.83333333333334],PARAMETER[\"central_meridian\",-90],");
+        "arallel_2\",44.25],PARAMETER[\"latitude_of_origin\",43.8");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_easting\",600000],PARAMETER[\"false_no");
+        "3333333333334],PARAMETER[\"central_meridian\",-90],PARAM");
     add_srs_wkt (p, 12,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ETER[\"false_easting\",600000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 14,
-        ",\"3695\"]]");
-    p = add_epsg_def (filter, first, last, 3696, "epsg", 3696,
-        "NAD83(NSRS2007) / Wisconsin Central (ftUS)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"36");
+    add_srs_wkt (p, 15,
+        "95\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3696, "epsg", 3696,
+        "NAD83(NSRS2007) / Wisconsin Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
     add_proj4text (p, 1,
@@ -1935,25 +2173,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",45.5],PARAMETER[");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "\"standard_parallel_2\",44.25],PARAMETER[\"latitude_of_o");
+        "PARAMETER[\"standard_parallel_1\",45.5],PARAMETER[\"stan");
     add_srs_wkt (p, 10,
-        "rigin\",43.83333333333334],PARAMETER[\"central_meridian\"");
+        "dard_parallel_2\",44.25],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        ",-90],PARAMETER[\"false_easting\",1968500],PARAMETER[\"f");
+        ",43.83333333333334],PARAMETER[\"central_meridian\",-90],");
     add_srs_wkt (p, 12,
-        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
+        "PARAMETER[\"false_easting\",1968500],PARAMETER[\"false_n");
     add_srs_wkt (p, 13,
-        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
     add_srs_wkt (p, 14,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3696\"]]");
-    p = add_epsg_def (filter, first, last, 3697, "epsg", 3697,
-        "NAD83(NSRS2007) / Wisconsin North");
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3696\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3697, "epsg", 3697,
+        "NAD83(NSRS2007) / Wisconsin North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
     add_proj4text (p, 1,
@@ -1973,25 +2216,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",46.76666666666667],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",45.56666666666667],PARAMETER");
+        "[\"standard_parallel_1\",46.76666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",45.16666666666666],PARAMETER[\"c");
+        "standard_parallel_2\",45.56666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "entral_meridian\",-90],PARAMETER[\"false_easting\",60000");
+        "itude_of_origin\",45.16666666666666],PARAMETER[\"central");
     add_srs_wkt (p, 12,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_meridian\",-90],PARAMETER[\"false_easting\",600000],PAR");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 14,
-        "RTH],AUTHORITY[\"EPSG\",\"3697\"]]");
-    p = add_epsg_def (filter, first, last, 3698, "epsg", 3698,
-        "NAD83(NSRS2007) / Wisconsin North (ftUS)");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"3697\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3698, "epsg", 3698,
+        "NAD83(NSRS2007) / Wisconsin North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
     add_proj4text (p, 1,
@@ -2013,27 +2261,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",46.76666666666667]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",45.56666666666667],PA");
+        "AMETER[\"standard_parallel_1\",46.76666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",45.16666666666666],PARAME");
+        "TER[\"standard_parallel_2\",45.56666666666667],PARAMETER");
     add_srs_wkt (p, 11,
-        "TER[\"central_meridian\",-90],PARAMETER[\"false_easting\"");
+        "[\"latitude_of_origin\",45.16666666666666],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        ",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "entral_meridian\",-90],PARAMETER[\"false_easting\",19685");
     add_srs_wkt (p, 13,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
     add_srs_wkt (p, 14,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
     add_srs_wkt (p, 15,
-        ",\"3698\"]]");
-    p = add_epsg_def (filter, first, last, 3699, "epsg", 3699,
-        "NAD83(NSRS2007) / Wisconsin South");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"369");
+    add_srs_wkt (p, 16,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3699, "epsg", 3699,
+        "NAD83(NSRS2007) / Wisconsin South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
     add_proj4text (p, 1,
@@ -2053,25 +2306,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",44.06666666666667],PARAME");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",42.73333333333333],PARAMETER");
+        "[\"standard_parallel_1\",44.06666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"latitude_of_origin\",42],PARAMETER[\"central_meridian");
+        "standard_parallel_2\",42.73333333333333],PARAMETER[\"lat");
     add_srs_wkt (p, 11,
-        "\",-90],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+        "itude_of_origin\",42],PARAMETER[\"central_meridian\",-90");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",600000],PARAMETER[\"false_");
     add_srs_wkt (p, 13,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"3699\"]]");
-    p = add_epsg_def (filter, first, last, 3700, "epsg", 3700,
-        "NAD83(NSRS2007) / Wisconsin South (ftUS)");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 15,
+        "\",\"3699\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3700, "epsg", 3700,
+        "NAD83(NSRS2007) / Wisconsin South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
     add_proj4text (p, 1,
@@ -2091,25 +2349,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",44.06666666666667]");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",42.73333333333333],PA");
+        "AMETER[\"standard_parallel_1\",44.06666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",42],PARAMETER[\"central_m");
+        "TER[\"standard_parallel_2\",42.73333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "eridian\",-90],PARAMETER[\"false_easting\",1968500],PARA");
+        "[\"latitude_of_origin\",42],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "\",-90],PARAMETER[\"false_easting\",1968500],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
     add_srs_wkt (p, 14,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3700\"]]");
-    p = add_epsg_def (filter, first, last, 3701, "epsg", 3701,
-        "NAD83(NSRS2007) / Wisconsin Transverse Mercator");
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 15,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3700\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3701, "epsg", 3701,
+        "NAD83(NSRS2007) / Wisconsin Transverse Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y");
     add_proj4text (p, 1,
@@ -2129,23 +2392,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-90],PARAMETER[\"scale_factor\",0.9996],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_easting\",520000],PARAMETER[\"false_nor");
+        "idian\",-90],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 11,
-        "thing\",-4480000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "R[\"false_easting\",520000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        ",-4480000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 13,
-        "EPSG\",\"3701\"]]");
-    p = add_epsg_def (filter, first, last, 3702, "epsg", 3702,
-        "NAD83(NSRS2007) / Wyoming East");
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"3701\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3702, "epsg", 3702,
+        "NAD83(NSRS2007) / Wyoming East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -2165,23 +2433,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",40.5],PARAMETER[\"central_meridian\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",-105.1666666666667],PARAMETER[\"scale_factor\",0.999937");
+        "e_of_origin\",40.5],PARAMETER[\"central_meridian\",-105.");
     add_srs_wkt (p, 10,
-        "5],PARAMETER[\"false_easting\",200000],PARAMETER[\"false");
+        "1666666666667],PARAMETER[\"scale_factor\",0.9999375],PAR");
     add_srs_wkt (p, 11,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",200000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "G\",\"3702\"]]");
-    p = add_epsg_def (filter, first, last, 3703, "epsg", 3703,
-        "NAD83(NSRS2007) / Wyoming East Central");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "3702\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3703, "epsg", 3703,
+        "NAD83(NSRS2007) / Wyoming East Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -2201,23 +2474,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",40.5],PARAMETER[\"central_me");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ridian\",-107.3333333333333],PARAMETER[\"scale_factor\",");
+        "latitude_of_origin\",40.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "0.9999375],PARAMETER[\"false_easting\",400000],PARAMETER");
+        ",-107.3333333333333],PARAMETER[\"scale_factor\",0.999937");
     add_srs_wkt (p, 11,
-        "[\"false_northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "5],PARAMETER[\"false_easting\",400000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "_northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"3703\"]]");
-    p = add_epsg_def (filter, first, last, 3704, "epsg", 3704,
-        "NAD83(NSRS2007) / Wyoming West Central");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"3703\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3704, "epsg", 3704,
+        "NAD83(NSRS2007) / Wyoming West Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
     add_proj4text (p, 1,
@@ -2237,23 +2515,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",40.5],PARAMETER[\"central_me");
+        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ridian\",-108.75],PARAMETER[\"scale_factor\",0.9999375],");
+        "latitude_of_origin\",40.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",600000],PARAMETER[\"false_no");
+        ",-108.75],PARAMETER[\"scale_factor\",0.9999375],PARAMETE");
     add_srs_wkt (p, 11,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "R[\"false_easting\",600000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        ",\"3704\"]]");
-    p = add_epsg_def (filter, first, last, 3705, "epsg", 3705,
-        "NAD83(NSRS2007) / Wyoming West");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3704\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3705, "epsg", 3705,
+        "NAD83(NSRS2007) / Wyoming West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -2273,23 +2556,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",40.5],PARAMETER[\"central_meridian\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",-110.0833333333333],PARAMETER[\"scale_factor\",0.999937");
+        "e_of_origin\",40.5],PARAMETER[\"central_meridian\",-110.");
     add_srs_wkt (p, 10,
-        "5],PARAMETER[\"false_easting\",800000],PARAMETER[\"false");
+        "0833333333333],PARAMETER[\"scale_factor\",0.9999375],PAR");
     add_srs_wkt (p, 11,
-        "_northing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "AMETER[\"false_easting\",800000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "ing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"3705\"]]");
-    p = add_epsg_def (filter, first, last, 3706, "epsg", 3706,
-        "NAD83(NSRS2007) / UTM zone 59N");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"3705\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3706, "epsg", 3706,
+        "NAD83(NSRS2007) / UTM zone 59N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=59 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2307,23 +2595,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",17");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",171],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"370");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "6\"]]");
-    p = add_epsg_def (filter, first, last, 3707, "epsg", 3707,
-        "NAD83(NSRS2007) / UTM zone 60N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3706\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3707, "epsg", 3707,
+        "NAD83(NSRS2007) / UTM zone 60N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=60 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2341,23 +2632,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",17");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",177],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"370");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "7\"]]");
-    p = add_epsg_def (filter, first, last, 3708, "epsg", 3708,
-        "NAD83(NSRS2007) / UTM zone 1N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3707\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3708, "epsg", 3708,
+        "NAD83(NSRS2007) / UTM zone 1N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=1 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -2375,23 +2669,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-17");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-177],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"370");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "8\"]]");
-    p = add_epsg_def (filter, first, last, 3709, "epsg", 3709,
-        "NAD83(NSRS2007) / UTM zone 2N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3708\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3709, "epsg", 3709,
+        "NAD83(NSRS2007) / UTM zone 2N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=2 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -2409,23 +2706,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-17");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-171],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"370");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 3710, "epsg", 3710,
-        "NAD83(NSRS2007) / UTM zone 3N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3709\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3710, "epsg", 3710,
+        "NAD83(NSRS2007) / UTM zone 3N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=3 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -2443,23 +2743,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-16");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-165],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"371");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 3711, "epsg", 3711,
-        "NAD83(NSRS2007) / UTM zone 4N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3710\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3711, "epsg", 3711,
+        "NAD83(NSRS2007) / UTM zone 4N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=4 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -2477,23 +2780,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-15");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-159],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"371");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 3712, "epsg", 3712,
-        "NAD83(NSRS2007) / UTM zone 5N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3711\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3712, "epsg", 3712,
+        "NAD83(NSRS2007) / UTM zone 5N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=5 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -2511,23 +2817,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-15");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-153],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"371");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 3713, "epsg", 3713,
-        "NAD83(NSRS2007) / UTM zone 6N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3712\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3713, "epsg", 3713,
+        "NAD83(NSRS2007) / UTM zone 6N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=6 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -2545,23 +2854,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-14");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-147],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"371");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 3714, "epsg", 3714,
-        "NAD83(NSRS2007) / UTM zone 7N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3713\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3714, "epsg", 3714,
+        "NAD83(NSRS2007) / UTM zone 7N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -2579,23 +2891,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-14");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-141],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"371");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 3715, "epsg", 3715,
-        "NAD83(NSRS2007) / UTM zone 8N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3714\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3715, "epsg", 3715,
+        "NAD83(NSRS2007) / UTM zone 8N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -2613,23 +2928,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-13");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-135],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"371");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "5\"]]");
-    p = add_epsg_def (filter, first, last, 3716, "epsg", 3716,
-        "NAD83(NSRS2007) / UTM zone 9N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3715\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3716, "epsg", 3716,
+        "NAD83(NSRS2007) / UTM zone 9N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -2647,23 +2965,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]],");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-12");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",-129],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"371");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "6\"]]");
-    p = add_epsg_def (filter, first, last, 3717, "epsg", 3717,
-        "NAD83(NSRS2007) / UTM zone 10N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3716\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3717, "epsg", 3717,
+        "NAD83(NSRS2007) / UTM zone 10N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2681,23 +3002,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "23],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-123],PA");
     add_srs_wkt (p, 10,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "717\"]]");
-    p = add_epsg_def (filter, first, last, 3718, "epsg", 3718,
-        "NAD83(NSRS2007) / UTM zone 11N");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3717\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3718, "epsg", 3718,
+        "NAD83(NSRS2007) / UTM zone 11N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2715,23 +3041,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "17],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-117],PA");
     add_srs_wkt (p, 10,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "718\"]]");
-    p = add_epsg_def (filter, first, last, 3719, "epsg", 3719,
-        "NAD83(NSRS2007) / UTM zone 12N");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3718\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3719, "epsg", 3719,
+        "NAD83(NSRS2007) / UTM zone 12N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2749,23 +3080,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-111],PA");
     add_srs_wkt (p, 10,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "719\"]]");
-    p = add_epsg_def (filter, first, last, 3720, "epsg", 3720,
-        "NAD83(NSRS2007) / UTM zone 13N");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3719\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3720, "epsg", 3720,
+        "NAD83(NSRS2007) / UTM zone 13N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2783,23 +3119,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "05],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-105],PA");
     add_srs_wkt (p, 10,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 13,
-        "720\"]]");
-    p = add_epsg_def (filter, first, last, 3721, "epsg", 3721,
-        "NAD83(NSRS2007) / UTM zone 14N");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3720\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 3721, "epsg", 3721,
+        "NAD83(NSRS2007) / UTM zone 14N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2817,23 +3158,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-99],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"372");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 3722, "epsg", 3722,
-        "NAD83(NSRS2007) / UTM zone 15N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3721\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3722, "epsg", 3722,
+        "NAD83(NSRS2007) / UTM zone 15N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2851,23 +3195,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-93],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"372");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 3723, "epsg", 3723,
-        "NAD83(NSRS2007) / UTM zone 16N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3722\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3723, "epsg", 3723,
+        "NAD83(NSRS2007) / UTM zone 16N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2885,23 +3232,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-8");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-87],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"372");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 3724, "epsg", 3724,
-        "NAD83(NSRS2007) / UTM zone 17N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3723\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3724, "epsg", 3724,
+        "NAD83(NSRS2007) / UTM zone 17N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2919,23 +3269,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-8");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-81],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"372");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 3725, "epsg", 3725,
-        "NAD83(NSRS2007) / UTM zone 18N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3724\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3725, "epsg", 3725,
+        "NAD83(NSRS2007) / UTM zone 18N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2953,23 +3306,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-7");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-75],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"372");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "5\"]]");
-    p = add_epsg_def (filter, first, last, 3726, "epsg", 3726,
-        "NAD83(NSRS2007) / UTM zone 19N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3725\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3726, "epsg", 3726,
+        "NAD83(NSRS2007) / UTM zone 19N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2987,23 +3343,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-6");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-69],PAR");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"372");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "6\"]]");
-    p = add_epsg_def (filter, first, last, 3727, "epsg", 3727,
-        "Reunion 1947 / TM Reunion");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3726\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3727, "epsg", 3727,
+        "Reunion 1947 / TM Reunion", 0, 0,
+        "International 1924", "Greenwich",
+        "Reunion_1947", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333");
     add_proj4text (p, 1,
@@ -3023,21 +3382,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4626\"]],PROJECTION[\"Transverse_M");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",-21.11666666");
+        "RITY[\"EPSG\",\"4626\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "666667],PARAMETER[\"central_meridian\",55.53333333333333");
+        "r\"],PARAMETER[\"latitude_of_origin\",-21.11666666666667");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "],PARAMETER[\"central_meridian\",55.53333333333333],PARA");
     add_srs_wkt (p, 10,
-        "g\",160000],PARAMETER[\"false_northing\",50000],UNIT[\"m");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",16");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+        "0000],PARAMETER[\"false_northing\",50000],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3727\"]]");
-    p = add_epsg_def (filter, first, last, 3728, "epsg", 3728,
-        "NAD83(NSRS2007) / Ohio North (ftUS)");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3727\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3728, "epsg", 3728,
+        "NAD83(NSRS2007) / Ohio North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
     add_proj4text (p, 1,
@@ -3057,25 +3421,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",41.7],PARAMETER[\"stan");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "dard_parallel_2\",40.43333333333333],PARAMETER[\"latitud");
+        "TER[\"standard_parallel_1\",41.7],PARAMETER[\"standard_p");
     add_srs_wkt (p, 10,
-        "e_of_origin\",39.66666666666666],PARAMETER[\"central_mer");
+        "arallel_2\",40.43333333333333],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 11,
-        "idian\",-82.5],PARAMETER[\"false_easting\",1968500],PARA");
+        "rigin\",39.66666666666666],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        ",-82.5],PARAMETER[\"false_easting\",1968500],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
     add_srs_wkt (p, 14,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3728\"]]");
-    p = add_epsg_def (filter, first, last, 3729, "epsg", 3729,
-        "NAD83(NSRS2007) / Ohio South (ftUS)");
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 15,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3728\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3729, "epsg", 3729,
+        "NAD83(NSRS2007) / Ohio South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
     add_proj4text (p, 1,
@@ -3095,25 +3464,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",40.03333333333333],PAR");
+        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "AMETER[\"standard_parallel_2\",38.73333333333333],PARAME");
+        "TER[\"standard_parallel_1\",40.03333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"latitude_of_origin\",38],PARAMETER[\"central_merid");
+        "[\"standard_parallel_2\",38.73333333333333],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ian\",-82.5],PARAMETER[\"false_easting\",1968500],PARAME");
+        "latitude_of_origin\",38],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+        "-82.5],PARAMETER[\"false_easting\",1968500],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
     add_srs_wkt (p, 14,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3729\"]]");
-    p = add_epsg_def (filter, first, last, 3730, "epsg", 3730,
-        "NAD83(NSRS2007) / Wyoming East (ftUS)");
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 15,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3729\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3730, "epsg", 3730,
+        "NAD83(NSRS2007) / Wyoming East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -3133,23 +3507,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",40.5],PARAMETER[\"central_mer");
+        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "idian\",-105.1666666666667],PARAMETER[\"scale_factor\",0");
+        "atitude_of_origin\",40.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        ".9999375],PARAMETER[\"false_easting\",656166.6667],PARAM");
+        ",-105.1666666666667],PARAMETER[\"scale_factor\",0.999937");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
+        "5],PARAMETER[\"false_easting\",656166.6667],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
     add_srs_wkt (p, 13,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3730\"]]");
-    p = add_epsg_def (filter, first, last, 3731, "epsg", 3731,
-        "NAD83(NSRS2007) / Wyoming East Central (ftUS)");
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3730\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3731, "epsg", 3731,
+        "NAD83(NSRS2007) / Wyoming East Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -3169,25 +3548,30 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"cen");
+        "SG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "tral_meridian\",-107.3333333333333],PARAMETER[\"scale_fa");
+        "METER[\"latitude_of_origin\",40.5],PARAMETER[\"central_m");
     add_srs_wkt (p, 10,
-        "ctor\",0.9999375],PARAMETER[\"false_easting\",1312333.33");
+        "eridian\",-107.3333333333333],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "33],PARAMETER[\"false_northing\",328083.3333],UNIT[\"US ");
+        ",0.9999375],PARAMETER[\"false_easting\",1312333.3333],PA");
     add_srs_wkt (p, 12,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "RAMETER[\"false_northing\",328083.3333],UNIT[\"US survey");
     add_srs_wkt (p, 13,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 14,
-        "SG\",\"3731\"]]");
-    p = add_epsg_def (filter, first, last, 3732, "epsg", 3732,
-        "NAD83(NSRS2007) / Wyoming West Central (ftUS)");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "3731\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3732, "epsg", 3732,
+        "NAD83(NSRS2007) / Wyoming West Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
     add_proj4text (p, 1,
@@ -3207,23 +3591,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"cen");
+        "SG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "tral_meridian\",-108.75],PARAMETER[\"scale_factor\",0.99");
+        "METER[\"latitude_of_origin\",40.5],PARAMETER[\"central_m");
     add_srs_wkt (p, 10,
-        "99375],PARAMETER[\"false_easting\",1968500],PARAMETER[\"");
+        "eridian\",-108.75],PARAMETER[\"scale_factor\",0.9999375]");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        ",PARAMETER[\"false_easting\",1968500],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3732\"]]");
-    p = add_epsg_def (filter, first, last, 3733, "epsg", 3733,
-        "NAD83(NSRS2007) / Wyoming West (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"3732\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3733, "epsg", 3733,
+        "NAD83(NSRS2007) / Wyoming West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -3243,31 +3632,34 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",40.5],PARAMETER[\"central_mer");
+        "59\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "idian\",-110.0833333333333],PARAMETER[\"scale_factor\",0");
+        "atitude_of_origin\",40.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        ".9999375],PARAMETER[\"false_easting\",2624666.6667],PARA");
+        ",-110.0833333333333],PARAMETER[\"scale_factor\",0.999937");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",328083.3333],UNIT[\"US survey f");
+        "5],PARAMETER[\"false_easting\",2624666.6667],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+        "false_northing\",328083.3333],UNIT[\"US survey foot\",0.");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
     add_srs_wkt (p, 14,
-        "733\"]]");
-    p = add_epsg_def (filter, first, last, 3734, "epsg", 3734,
-        "NAD83 / Ohio North (ftUS)");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3733\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3734, "epsg", 3734,
+        "NAD83 / Ohio North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +datum=N");
+        ".66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=G");
     add_proj4text (p, 2,
-        "AD83 +units=us-ft +no_defs");
+        "RS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Ohio North (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -3281,31 +3673,36 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.7]");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",40.43333333333333],PA");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",41.7],PARAM");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",39.66666666666666],PARAME");
+        "ETER[\"standard_parallel_2\",40.43333333333333],PARAMETE");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-82.5],PARAMETER[\"false_eastin");
+        "R[\"latitude_of_origin\",39.66666666666666],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "g\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "central_meridian\",-82.5],PARAMETER[\"false_easting\",19");
     add_srs_wkt (p, 12,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "68500],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
     add_srs_wkt (p, 13,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 14,
-        "G\",\"3734\"]]");
-    p = add_epsg_def (filter, first, last, 3735, "epsg", 3735,
-        "NAD83 / Ohio South (ftUS)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "3734\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3735, "epsg", 3735,
+        "NAD83 / Ohio South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +datum=NAD");
+        "333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
-        "83 +units=us-ft +no_defs");
+        "80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Ohio South (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
@@ -3319,31 +3716,36 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.03");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "333333333333],PARAMETER[\"standard_parallel_2\",38.73333");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",40.03333333");
     add_srs_wkt (p, 9,
-        "333333333],PARAMETER[\"latitude_of_origin\",38],PARAMETE");
+        "333333],PARAMETER[\"standard_parallel_2\",38.73333333333");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-82.5],PARAMETER[\"false_easting\"");
+        "333],PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        ",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "ntral_meridian\",-82.5],PARAMETER[\"false_easting\",1968");
     add_srs_wkt (p, 12,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "500],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
     add_srs_wkt (p, 14,
-        ",\"3735\"]]");
-    p = add_epsg_def (filter, first, last, 3736, "epsg", 3736,
-        "NAD83 / Wyoming East (ftUS)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"37");
+    add_srs_wkt (p, 15,
+        "35\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3736, "epsg", 3736,
+        "NAD83 / Wyoming East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "999375 +x_0=200000.00001016 +y_0=0 +datum=NAD83 +units=u");
+        "999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +towgs84");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Wyoming East (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -3357,29 +3759,34 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",40.5],PARAMET");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-105.1666666666667],PARAMETER[\"");
+        "\"],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999375],PARAMETER[\"false_easting\",65");
+        "entral_meridian\",-105.1666666666667],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "6166.6667],PARAMETER[\"false_northing\",0],UNIT[\"US sur");
+        "factor\",0.9999375],PARAMETER[\"false_easting\",656166.6");
     add_srs_wkt (p, 11,
-        "vey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "667],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
     add_srs_wkt (p, 13,
-        ",\"3736\"]]");
-    p = add_epsg_def (filter, first, last, 3737, "epsg", 3737,
-        "NAD83 / Wyoming East Central (ftUS)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"37");
+    add_srs_wkt (p, 14,
+        "36\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3737, "epsg", 3737,
+        "NAD83 / Wyoming East Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "999375 +x_0=399999.99998984 +y_0=99999.99998983997 +datu");
+        "999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellp");
     add_proj4text (p, 2,
-        "m=NAD83 +units=us-ft +no_defs");
+        "s=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Wyoming East Central (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -3393,27 +3800,34 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-107.3333333333333],PAR");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5],PARA");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_eas");
+        "METER[\"central_meridian\",-107.3333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "ting\",1312333.3333],PARAMETER[\"false_northing\",328083");
+        "[\"scale_factor\",0.9999375],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        ".3333],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+        ",1312333.3333],PARAMETER[\"false_northing\",328083.3333]");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "H],AUTHORITY[\"EPSG\",\"3737\"]]");
-    p = add_epsg_def (filter, first, last, 3738, "epsg", 3738,
-        "NAD83 / Wyoming West Central (ftUS)");
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"3737\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3738, "epsg", 3738,
+        "NAD83 / Wyoming West Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
     add_proj4text (p, 1,
-        "=600000 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Wyoming West Central (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -3427,29 +3841,32 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-108.75],PARAMETER[\"sc");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5],PARA");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9999375],PARAMETER[\"false_easting\",1968");
+        "METER[\"central_meridian\",-108.75],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "500],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
+        "ctor\",0.9999375],PARAMETER[\"false_easting\",1968500],P");
     add_srs_wkt (p, 11,
-        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
+        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
     add_srs_wkt (p, 12,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"37");
+        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
     add_srs_wkt (p, 13,
-        "38\"]]");
-    p = add_epsg_def (filter, first, last, 3739, "epsg", 3739,
-        "NAD83 / Wyoming West (ftUS)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3738\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3739, "epsg", 3739,
+        "NAD83 / Wyoming West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
     add_proj4text (p, 1,
-        "999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +da");
+        "999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +el");
     add_proj4text (p, 2,
-        "tum=NAD83 +units=us-ft +no_defs");
+        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Wyoming West (ftUS)\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
@@ -3463,23 +3880,28 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",40.5],PARAMET");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-110.0833333333333],PARAMETER[\"");
+        "\"],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999375],PARAMETER[\"false_easting\",26");
+        "entral_meridian\",-110.0833333333333],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "24666.6667],PARAMETER[\"false_northing\",328083.3333],UN");
+        "factor\",0.9999375],PARAMETER[\"false_easting\",2624666.");
     add_srs_wkt (p, 11,
-        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+        "6667],PARAMETER[\"false_northing\",328083.3333],UNIT[\"U");
     add_srs_wkt (p, 12,
-        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"3739\"]]");
-    p = add_epsg_def (filter, first, last, 3740, "epsg", 3740,
-        "NAD83(HARN) / UTM zone 10N");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"3739\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3740, "epsg", 3740,
+        "NAD83(HARN) / UTM zone 10N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3497,21 +3919,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-123],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-123],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3740\"]]");
-    p = add_epsg_def (filter, first, last, 3741, "epsg", 3741,
-        "NAD83(HARN) / UTM zone 11N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3740\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3741, "epsg", 3741,
+        "NAD83(HARN) / UTM zone 11N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3529,21 +3956,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-117],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-117],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3741\"]]");
-    p = add_epsg_def (filter, first, last, 3742, "epsg", 3742,
-        "NAD83(HARN) / UTM zone 12N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3741\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3742, "epsg", 3742,
+        "NAD83(HARN) / UTM zone 12N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3561,21 +3993,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-111],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-111],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3742\"]]");
-    p = add_epsg_def (filter, first, last, 3743, "epsg", 3743,
-        "NAD83(HARN) / UTM zone 13N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3742\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3743, "epsg", 3743,
+        "NAD83(HARN) / UTM zone 13N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3593,21 +4030,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-105],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-105],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3743\"]]");
-    p = add_epsg_def (filter, first, last, 3744, "epsg", 3744,
-        "NAD83(HARN) / UTM zone 14N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3743\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3744, "epsg", 3744,
+        "NAD83(HARN) / UTM zone 14N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3625,21 +4067,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-99],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-99],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3744\"]]");
-    p = add_epsg_def (filter, first, last, 3745, "epsg", 3745,
-        "NAD83(HARN) / UTM zone 15N");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3744\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3745, "epsg", 3745,
+        "NAD83(HARN) / UTM zone 15N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3657,21 +4104,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-93],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-93],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3745\"]]");
-    p = add_epsg_def (filter, first, last, 3746, "epsg", 3746,
-        "NAD83(HARN) / UTM zone 16N");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3745\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3746, "epsg", 3746,
+        "NAD83(HARN) / UTM zone 16N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3689,21 +4141,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-87],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-87],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3746\"]]");
-    p = add_epsg_def (filter, first, last, 3747, "epsg", 3747,
-        "NAD83(HARN) / UTM zone 17N");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3746\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3747, "epsg", 3747,
+        "NAD83(HARN) / UTM zone 17N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3721,21 +4178,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-81],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3747\"]]");
-    p = add_epsg_def (filter, first, last, 3748, "epsg", 3748,
-        "NAD83(HARN) / UTM zone 18N");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3747\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3748, "epsg", 3748,
+        "NAD83(HARN) / UTM zone 18N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3753,21 +4215,26 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-75],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-75],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3748\"]]");
-    p = add_epsg_def (filter, first, last, 3749, "epsg", 3749,
-        "NAD83(HARN) / UTM zone 19N");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3748\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3749, "epsg", 3749,
+        "NAD83(HARN) / UTM zone 19N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -3785,19 +4252,21 @@ initialize_epsg_16 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-69],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3749\"]]");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3749\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_17.c b/src/srsinit/epsg_inlined_17.c
index 893b968..3934515 100644
--- a/src/srsinit/epsg_inlined_17.c
+++ b/src/srsinit/epsg_inlined_17.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 3750, "epsg", 3750,
-        "NAD83(HARN) / UTM zone 4N");
+    p = add_epsg_def_ex (filter, first, last, 3750, "epsg", 3750,
+        "NAD83(HARN) / UTM zone 4N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=4 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -71,21 +76,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",-159],PARAMETER[\"");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        ",PARAMETER[\"central_meridian\",-159],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3750\"]]");
-    p = add_epsg_def (filter, first, last, 3751, "epsg", 3751,
-        "NAD83(HARN) / UTM zone 5N");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3750\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3751, "epsg", 3751,
+        "NAD83(HARN) / UTM zone 5N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=5 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
@@ -103,21 +113,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",-153],PARAMETER[\"");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        ",PARAMETER[\"central_meridian\",-153],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3751\"]]");
-    p = add_epsg_def (filter, first, last, 3752, "epsg", 3752,
-        "WGS 84 / Mercator 41 (deprecated)");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3751\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3752, "epsg", 3752,
+        "WGS 84 / Mercator 41 (deprecated)", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=100 +lat_ts=-41 +x_0=0 +y_0=0 +datum=W");
     add_proj4text (p, 1,
@@ -133,21 +148,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "CTION[\"Mercator_1SP\"],PARAMETER[\"latitude_of_origin\"");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        ",-41],PARAMETER[\"central_meridian\",100],PARAMETER[\"sc");
+        "\"Mercator_1SP\"],PARAMETER[\"latitude_of_origin\",-41],");
     add_srs_wkt (p, 8,
-        "ale_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER");
+        "PARAMETER[\"central_meridian\",100],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 9,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "ctor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"fal");
     add_srs_wkt (p, 10,
-        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"3752\"]]");
-    p = add_epsg_def (filter, first, last, 3753, "epsg", 3753,
-        "NAD83(HARN) / Ohio North (ftUS)");
+        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"3752\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3753, "epsg", 3753,
+        "NAD83(HARN) / Ohio North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
     add_proj4text (p, 1,
@@ -167,25 +187,30 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",41.7],PARAMETER[\"standard_parallel_2\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ",40.43333333333333],PARAMETER[\"latitude_of_origin\",39.");
+        "rallel_1\",41.7],PARAMETER[\"standard_parallel_2\",40.43");
     add_srs_wkt (p, 10,
-        "66666666666666],PARAMETER[\"central_meridian\",-82.5],PA");
+        "333333333333],PARAMETER[\"latitude_of_origin\",39.666666");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",1968500],PARAMETER[\"false_nor");
+        "66666666],PARAMETER[\"central_meridian\",-82.5],PARAMETE");
     add_srs_wkt (p, 12,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "R[\"false_easting\",1968500],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 14,
-        "NORTH],AUTHORITY[\"EPSG\",\"3753\"]]");
-    p = add_epsg_def (filter, first, last, 3754, "epsg", 3754,
-        "NAD83(HARN) / Ohio South (ftUS)");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"3753\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3754, "epsg", 3754,
+        "NAD83(HARN) / Ohio South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
     add_proj4text (p, 1,
@@ -205,25 +230,30 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",40.03333333333333],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",38.73333333333333],PARAMETER[\"latitude_of");
+        "rallel_1\",40.03333333333333],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",38],PARAMETER[\"central_meridian\",-82.5],PARA");
+        "lel_2\",38.73333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",1968500],PARAMETER[\"false_north");
+        "n\",38],PARAMETER[\"central_meridian\",-82.5],PARAMETER[");
     add_srs_wkt (p, 12,
-        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
+        "\"false_easting\",1968500],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
     add_srs_wkt (p, 14,
-        "RTH],AUTHORITY[\"EPSG\",\"3754\"]]");
-    p = add_epsg_def (filter, first, last, 3755, "epsg", 3755,
-        "NAD83(HARN) / Wyoming East (ftUS)");
+        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"3754\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3755, "epsg", 3755,
+        "NAD83(HARN) / Wyoming East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
     add_proj4text (p, 1,
@@ -243,23 +273,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",40.5],PARAMETER[\"central_meridian\",-105.166");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "6666666667],PARAMETER[\"scale_factor\",0.9999375],PARAME");
+        "in\",40.5],PARAMETER[\"central_meridian\",-105.166666666");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",656166.6667],PARAMETER[\"false_nor");
+        "6667],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "false_easting\",656166.6667],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 13,
-        "NORTH],AUTHORITY[\"EPSG\",\"3755\"]]");
-    p = add_epsg_def (filter, first, last, 3756, "epsg", 3756,
-        "NAD83(HARN) / Wyoming East Central (ftUS)");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"3755\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3756, "epsg", 3756,
+        "NAD83(HARN) / Wyoming East Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -279,23 +314,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "52\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",40.5],PARAMETER[\"central_meridian\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",-107.3333333333333],PARAMETER[\"scale_factor\",0.999937");
+        "e_of_origin\",40.5],PARAMETER[\"central_meridian\",-107.");
     add_srs_wkt (p, 10,
-        "5],PARAMETER[\"false_easting\",1312333.3333],PARAMETER[\"");
+        "3333333333333],PARAMETER[\"scale_factor\",0.9999375],PAR");
     add_srs_wkt (p, 11,
-        "false_northing\",328083.3333],UNIT[\"US survey foot\",0.");
+        "AMETER[\"false_easting\",1312333.3333],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "_northing\",328083.3333],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3756\"]]");
-    p = add_epsg_def (filter, first, last, 3757, "epsg", 3757,
-        "NAD83(HARN) / Wyoming West Central (ftUS)");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3756\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3757, "epsg", 3757,
+        "NAD83(HARN) / Wyoming West Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
     add_proj4text (p, 1,
@@ -315,23 +355,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "52\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",40.5],PARAMETER[\"central_meridian\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",-108.75],PARAMETER[\"scale_factor\",0.9999375],PARAMETE");
+        "e_of_origin\",40.5],PARAMETER[\"central_meridian\",-108.");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",1968500],PARAMETER[\"false_northing\"");
+        "75],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "lse_easting\",1968500],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "NIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"3757\"]]");
-    p = add_epsg_def (filter, first, last, 3758, "epsg", 3758,
-        "NAD83(HARN) / Wyoming West (ftUS)");
+        "SG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"3757\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3758, "epsg", 3758,
+        "NAD83(HARN) / Wyoming West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
     add_proj4text (p, 1,
@@ -351,29 +396,34 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",40.5],PARAMETER[\"central_meridian\",-110.083");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "3333333333],PARAMETER[\"scale_factor\",0.9999375],PARAME");
+        "in\",40.5],PARAMETER[\"central_meridian\",-110.083333333");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",2624666.6667],PARAMETER[\"false_no");
+        "3333],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "rthing\",328083.3333],UNIT[\"US survey foot\",0.30480060");
+        "false_easting\",2624666.6667],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+        "\",328083.3333],UNIT[\"US survey foot\",0.30480060960121");
     add_srs_wkt (p, 13,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3758\"]]");
-    p = add_epsg_def (filter, first, last, 3759, "epsg", 3759,
-        "NAD83 / Hawaii zone 3 (ftUS)");
+        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3758\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3759, "epsg", 3759,
+        "NAD83 / Hawaii zone 3 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99");
     add_proj4text (p, 1,
-        "999 +x_0=500000.00001016 +y_0=0 +datum=NAD83 +units=us-f");
+        "999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,");
     add_proj4text (p, 2,
-        "t +no_defs");
+        "0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Hawaii zone 3 (ftUS)\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -387,23 +437,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",21.16666666");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "666667],PARAMETER[\"central_meridian\",-158],PARAMETER[\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",21.16666666666667");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.99999],PARAMETER[\"false_easting\",1640");
+        "],PARAMETER[\"central_meridian\",-158],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "416.6667],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "_factor\",0.99999],PARAMETER[\"false_easting\",1640416.6");
     add_srs_wkt (p, 11,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "667],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
     add_srs_wkt (p, 13,
-        ",\"3759\"]]");
-    p = add_epsg_def (filter, first, last, 3760, "epsg", 3760,
-        "NAD83(HARN) / Hawaii zone 3 (ftUS)");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"37");
+    add_srs_wkt (p, 14,
+        "59\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3760, "epsg", 3760,
+        "NAD83(HARN) / Hawaii zone 3 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99");
     add_proj4text (p, 1,
@@ -423,23 +478,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "_of_origin\",21.16666666666667],PARAMETER[\"central_meri");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "dian\",-158],PARAMETER[\"scale_factor\",0.99999],PARAMET");
+        "igin\",21.16666666666667],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",1640416.6667],PARAMETER[\"false_nor");
+        ",-158],PARAMETER[\"scale_factor\",0.99999],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "alse_easting\",1640416.6667],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 13,
-        "NORTH],AUTHORITY[\"EPSG\",\"3760\"]]");
-    p = add_epsg_def (filter, first, last, 3761, "epsg", 3761,
-        "NAD83(CSRS) / UTM zone 22N");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"3760\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3761, "epsg", 3761,
+        "NAD83(CSRS) / UTM zone 22N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -457,21 +517,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",0],PARAMETER[\"central_meridian\",-51],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "0],PARAMETER[\"central_meridian\",-51],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3761\"]]");
-    p = add_epsg_def (filter, first, last, 3762, "epsg", 3762,
-        "WGS 84 / South Georgia Lambert");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3761\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3762, "epsg", 3762,
+        "WGS 84 / South Georgia Lambert", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-54 +lat_2=-54.75 +lat_0=-55 +lon_0=-37");
     add_proj4text (p, 1,
@@ -487,23 +552,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "_parallel_1\",-54],PARAMETER[\"standard_parallel_2\",-54");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        ".75],PARAMETER[\"latitude_of_origin\",-55],PARAMETER[\"c");
+        "lel_1\",-54],PARAMETER[\"standard_parallel_2\",-54.75],P");
     add_srs_wkt (p, 9,
-        "entral_meridian\",-37],PARAMETER[\"false_easting\",0],PA");
+        "ARAMETER[\"latitude_of_origin\",-55],PARAMETER[\"central");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "_meridian\",-37],PARAMETER[\"false_easting\",0],PARAMETE");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"3762\"]]");
-    p = add_epsg_def (filter, first, last, 3763, "epsg", 3763,
-        "ETRS89 / Portugal TM06");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"3762\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3763, "epsg", 3763,
+        "ETRS89 / Portugal TM06", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=39.66825833333333 +lon_0=-8.133108333");
     add_proj4text (p, 1,
@@ -523,21 +593,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "39.66825833333333],PARAMETER[\"central_meridian\",-8.133");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",39.668");
     add_srs_wkt (p, 9,
-        "108333333334],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "25833333333],PARAMETER[\"central_meridian\",-8.133108333");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "333334],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3763\"]]");
-    p = add_epsg_def (filter, first, last, 3764, "epsg", 3764,
-        "NZGD2000 / Chatham Island Circuit 2000");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3763\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3764, "epsg", 3764,
+        "NZGD2000 / Chatham Island Circuit 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-44 +lon_0=-176.5 +k=1 +x_0=400000 +y");
     add_proj4text (p, 1,
@@ -557,21 +632,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",-44],PARAMETER[\"central_meridian\",-176.5],PARA");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",40");
+        ",-44],PARAMETER[\"central_meridian\",-176.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",800000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",400000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"37");
+        "RAMETER[\"false_northing\",800000],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "64\"]]");
-    p = add_epsg_def (filter, first, last, 3765, "epsg", 3765,
-        "HTRS96 / Croatia TM");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3764\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3765, "epsg", 3765,
+        "HTRS96 / Croatia TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Croatian_Terrestrial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=16.5 +k=0.9999 +x_0=500000 +");
     add_proj4text (p, 1,
@@ -591,21 +671,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4761\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "UTHORITY[\"EPSG\",\"4761\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",16.5],PARAMETER[\"scale_factor");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "\",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "central_meridian\",16.5],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "99],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"3765\"]]");
-    p = add_epsg_def (filter, first, last, 3766, "epsg", 3766,
-        "HTRS96 / Croatia LCC");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3765\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3766, "epsg", 3766,
+        "HTRS96 / Croatia LCC", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Croatian_Terrestrial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.91666666666666 +lat_2=43.08333333333");
     add_proj4text (p, 1,
@@ -625,23 +710,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4761\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4761\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",45.91666666666666],PARAMETER[\"standard_parallel_2\",43");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.9");
     add_srs_wkt (p, 9,
-        ".08333333333334],PARAMETER[\"latitude_of_origin\",0],PAR");
+        "1666666666666],PARAMETER[\"standard_parallel_2\",43.0833");
     add_srs_wkt (p, 10,
-        "AMETER[\"central_meridian\",16.5],PARAMETER[\"false_east");
+        "3333333334],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 11,
-        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "R[\"central_meridian\",16.5],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 13,
-        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3766\"]]");
-    p = add_epsg_def (filter, first, last, 3767, "epsg", 3767,
-        "HTRS96 / UTM zone 33N");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"3766\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3767, "epsg", 3767,
+        "HTRS96 / UTM zone 33N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Croatian_Terrestrial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -659,21 +749,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4761\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4761\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",15],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "R[\"central_meridian\",15],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"3767\"]]");
-    p = add_epsg_def (filter, first, last, 3768, "epsg", 3768,
-        "HTRS96 / UTM zone 34N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"3767\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3768, "epsg", 3768,
+        "HTRS96 / UTM zone 34N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Croatian_Terrestrial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -691,21 +786,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4761\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4761\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",21],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "R[\"central_meridian\",21],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"3768\"]]");
-    p = add_epsg_def (filter, first, last, 3769, "epsg", 3769,
-        "Bermuda 1957 / UTM zone 20N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"3768\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3769, "epsg", 3769,
+        "Bermuda 1957 / UTM zone 20N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Bermuda_1957", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=clrk66 +towgs84=-73,213,296,0,");
     add_proj4text (p, 1,
@@ -715,7 +815,7 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "1957\",DATUM[\"Bermuda_1957\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",TOWGS84[-73,213,296,0,0,0,0],AUTHORITY[\"EPSG\",\"6216\"");
     add_srs_wkt (p, 4,
@@ -723,21 +823,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4216\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4216\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-63],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3769\"]]");
-    p = add_epsg_def (filter, first, last, 3770, "epsg", 3770,
-        "BDA2000 / Bermuda 2000 National Grid");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"3769\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3770, "epsg", 3770,
+        "BDA2000 / Bermuda 2000 National Grid", 0, 0,
+        "WGS 84", "Greenwich",
+        "Bermuda_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=32 +lon_0=-64.75 +k=1 +x_0=550000 +y_");
     add_proj4text (p, 1,
@@ -755,23 +860,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4762\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",32],PARAMETER[\"c");
+        "\"EPSG\",\"4762\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-64.75],PARAMETER[\"scale_factor\",1],");
+        "PARAMETER[\"latitude_of_origin\",32],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",550000],PARAMETER[\"false_no");
+        "_meridian\",-64.75],PARAMETER[\"scale_factor\",1],PARAME");
     add_srs_wkt (p, 10,
-        "rthing\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "TER[\"false_easting\",550000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "\",100000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"3770\"]]");
-    p = add_epsg_def (filter, first, last, 3771, "epsg", 3771,
-        "NAD27 / Alberta 3TM ref merid 111 W");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3770\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3771, "epsg", 3771,
+        "NAD27 / Alberta 3TM ref merid 111 W", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -781,29 +891,34 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
     add_srs_wkt (p, 2,
-        "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS");
+        "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
         "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-111],PARAMETER[\"scale_factor\",0.9999],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
+        "idian\",-111],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"3771\"]]");
-    p = add_epsg_def (filter, first, last, 3772, "epsg", 3772,
-        "NAD27 / Alberta 3TM ref merid 114 W");
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"3771\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3772, "epsg", 3772,
+        "NAD27 / Alberta 3TM ref merid 114 W", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -813,29 +928,34 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
     add_srs_wkt (p, 2,
-        "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS");
+        "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
         "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-114],PARAMETER[\"scale_factor\",0.9999],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
+        "idian\",-114],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"3772\"]]");
-    p = add_epsg_def (filter, first, last, 3773, "epsg", 3773,
-        "NAD27 / Alberta 3TM ref merid 117 W");
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"3772\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3773, "epsg", 3773,
+        "NAD27 / Alberta 3TM ref merid 117 W", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -845,29 +965,34 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
     add_srs_wkt (p, 2,
-        "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS");
+        "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
         "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-117],PARAMETER[\"scale_factor\",0.9999],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
+        "idian\",-117],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"3773\"]]");
-    p = add_epsg_def (filter, first, last, 3774, "epsg", 3774,
-        "NAD27 / Alberta 3TM ref merid 120 W (deprecated)");
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"3773\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3774, "epsg", 3774,
+        "NAD27 / Alberta 3TM ref merid 120 W (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -877,7 +1002,7 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ")\",GEOGCS[\"NAD27\",DATUM[\"North_American_Datum_1927\"");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006,AU");
+        ",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138982,AU");
     add_srs_wkt (p, 3,
         "THORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]");
     add_srs_wkt (p, 4,
@@ -885,25 +1010,30 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4267\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-120],PARAMETER[\"scale_fac");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "tor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "R[\"central_meridian\",-120],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"3774\"]]");
-    p = add_epsg_def (filter, first, last, 3775, "epsg", 3775,
-        "NAD83 / Alberta 3TM ref merid 111 W");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3774\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3775, "epsg", 3775,
+        "NAD83 / Alberta 3TM ref merid 111 W", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        " +datum=NAD83 +units=m +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Alberta 3TM ref merid 111 W\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -917,25 +1047,30 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-111],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "ctor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[");
+        "ER[\"central_meridian\",-111],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        ",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"3775\"]]");
-    p = add_epsg_def (filter, first, last, 3776, "epsg", 3776,
-        "NAD83 / Alberta 3TM ref merid 114 W");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3775\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3776, "epsg", 3776,
+        "NAD83 / Alberta 3TM ref merid 114 W", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        " +datum=NAD83 +units=m +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Alberta 3TM ref merid 114 W\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -949,25 +1084,30 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-114],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "ctor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[");
+        "ER[\"central_meridian\",-114],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        ",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"3776\"]]");
-    p = add_epsg_def (filter, first, last, 3777, "epsg", 3777,
-        "NAD83 / Alberta 3TM ref merid 117 W");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3776\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3777, "epsg", 3777,
+        "NAD83 / Alberta 3TM ref merid 117 W", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        " +datum=NAD83 +units=m +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Alberta 3TM ref merid 117 W\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -981,25 +1121,30 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-117],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "ctor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[");
+        "ER[\"central_meridian\",-117],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        ",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"3777\"]]");
-    p = add_epsg_def (filter, first, last, 3778, "epsg", 3778,
-        "NAD83 / Alberta 3TM ref merid 120 W (deprecated)");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3777\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3778, "epsg", 3778,
+        "NAD83 / Alberta 3TM ref merid 120 W (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        " +datum=NAD83 +units=m +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Alberta 3TM ref merid 120 W (deprecated");
     add_srs_wkt (p, 1,
@@ -1013,21 +1158,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",-120],PARAMETE");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0");
+        ",0],PARAMETER[\"central_meridian\",-120],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"3778\"]]");
-    p = add_epsg_def (filter, first, last, 3779, "epsg", 3779,
-        "NAD83(CSRS) / Alberta 3TM ref merid 111 W");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"3778\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3779, "epsg", 3779,
+        "NAD83(CSRS) / Alberta 3TM ref merid 111 W", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1045,23 +1195,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4617\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "111],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fals");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-111],");
     add_srs_wkt (p, 10,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "ting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3779\"");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3780, "epsg", 3780,
-        "NAD83(CSRS) / Alberta 3TM ref merid 114 W");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3779\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3780, "epsg", 3780,
+        "NAD83(CSRS) / Alberta 3TM ref merid 114 W", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1079,23 +1232,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4617\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "114],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fals");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-114],");
     add_srs_wkt (p, 10,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "ting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3780\"");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3781, "epsg", 3781,
-        "NAD83(CSRS) / Alberta 3TM ref merid 117 W");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3780\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3781, "epsg", 3781,
+        "NAD83(CSRS) / Alberta 3TM ref merid 117 W", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1113,23 +1269,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4617\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "117],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fals");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-117],");
     add_srs_wkt (p, 10,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "ting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3781\"");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3782, "epsg", 3782,
-        "NAD83(CSRS) / Alberta 3TM ref merid 120 W (deprecated)");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3781\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3782, "epsg", 3782,
+        "NAD83(CSRS) / Alberta 3TM ref merid 120 W (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1147,23 +1306,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4617\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4617\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "l_meridian\",-120],PARAMETER[\"scale_factor\",0.9999],PA");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "dian\",-120],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "R[\"false_easting\",0],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
     add_srs_wkt (p, 13,
-        "PSG\",\"3782\"]]");
-    p = add_epsg_def (filter, first, last, 3783, "epsg", 3783,
-        "Pitcairn 2006 / Pitcairn TM 2006");
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"3782\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3783, "epsg", 3783,
+        "Pitcairn 2006 / Pitcairn TM 2006", 0, 0,
+        "WGS 84", "Greenwich",
+        "Pitcairn_2006", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-25.06855261111111 +lon_0=-130.112967");
     add_proj4text (p, 1,
@@ -1183,23 +1347,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4763\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",-25.068552611");
+        "ITY[\"EPSG\",\"4763\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "11111],PARAMETER[\"central_meridian\",-130.1129671111111");
+        "\"],PARAMETER[\"latitude_of_origin\",-25.06855261111111]");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        ",PARAMETER[\"central_meridian\",-130.1129671111111],PARA");
     add_srs_wkt (p, 10,
-        "g\",14200],PARAMETER[\"false_northing\",15500],UNIT[\"me");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",14");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "200],PARAMETER[\"false_northing\",15500],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3783\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3784, "epsg", 3784,
-        "Pitcairn 1967 / UTM zone 9S");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3783\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3784, "epsg", 3784,
+        "Pitcairn 1967 / UTM zone 9S", 0, 0,
+        "International 1924", "Greenwich",
+        "Pitcairn_1967", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=9 +south +ellps=intl +towgs84=185,165,42");
     add_proj4text (p, 1,
@@ -1217,21 +1384,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4729\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ORITY[\"EPSG\",\"4729\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-129],PARAMETER[\"scale_factor\",");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ntral_meridian\",-129],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"3784\"]]");
-    p = add_epsg_def (filter, first, last, 3785, "epsg", 3785,
-        "Popular Visualisation CRS / Mercator (deprecated)");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"3784\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3785, "epsg", 3785,
+        "Popular Visualisation CRS / Mercator (deprecated)", 0, 0,
+        "Popular Visualisation Sphere", "Greenwich",
+        "Popular_Visualisation_Datum", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 ");
     add_proj4text (p, 1,
@@ -1251,25 +1423,30 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 6,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 7,
-        "HORITY[\"EPSG\",\"4055\"]],PROJECTION[\"Mercator_1SP\"],");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",0],PARAMETER[\"scale_fact");
+        "[\"EPSG\",\"4055\"]],PROJECTION[\"Mercator_1SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false");
+        "TER[\"central_meridian\",0],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],EXTENSION[\"PRO");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "J4\",\"+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],EXTENSION[\"PROJ4\",\"");
     add_srs_wkt (p, 13,
-        "_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +");
+        "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 ");
     add_srs_wkt (p, 14,
-        "wktext  +no_defs\"],AUTHORITY[\"EPSG\",\"3785\"]]");
-    p = add_epsg_def (filter, first, last, 3786, "epsg", 3786,
-        "World Equidistant Cylindrical (Sphere) (deprecated)");
+        "+x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext ");
+    add_srs_wkt (p, 15,
+        " +no_defs\"],AUTHORITY[\"EPSG\",\"3785\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3786, "epsg", 3786,
+        "World Equidistant Cylindrical (Sphere) (deprecated)", 0, 0,
+        "GRS 1980 Authalic Sphere", "Greenwich",
+        "Not_specified_based_on_GRS_1980_Authalic_Sphere", "Equirectangular", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6");
     add_proj4text (p, 1,
@@ -1289,23 +1466,30 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4047\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 8,
-        "OJECTION[\"Equirectangular\"],PARAMETER[\"latitude_of_or");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4047\"]],PROJECTI");
     add_srs_wkt (p, 9,
-        "igin\",0],PARAMETER[\"central_meridian\",0],PARAMETER[\"");
+        "ON[\"Equirectangular\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        ",0],PARAMETER[\"central_meridian\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3786\"]]");
-    p = add_epsg_def (filter, first, last, 3787, "epsg", 3787,
-        "MGI / Slovene National Grid (deprecated)");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3786\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3787, "epsg", 3787,
+        "MGI / Slovene National Grid (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "Y", "East", "X", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "0=-5000000 +datum=hermannskogel +units=m +no_defs");
+        "0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919");
+    add_proj4text (p, 2,
+        ",5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"MGI / Slovene National Grid (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
@@ -1321,21 +1505,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_M");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "RITY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",15],PARAMETER[\"scale_factor\",0.9");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "999],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "tral_meridian\",15],PARAMETER[\"scale_factor\",0.9999],P");
     add_srs_wkt (p, 11,
-        "se_northing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "G\",\"9001\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHOR");
+        "thing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"3787\"]]");
-    p = add_epsg_def (filter, first, last, 3788, "epsg", 3788,
-        "NZGD2000 / Auckland Islands TM 2000");
+        "9001\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"3787\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3788, "epsg", 3788,
+        "NZGD2000 / Auckland Islands TM 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=166 +k=1 +x_0=3500000 +y_0=1");
     add_proj4text (p, 1,
@@ -1355,21 +1544,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",166],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",1],PARAMETER[\"false_easting\",3500000],P");
+        "],PARAMETER[\"central_meridian\",166],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
+        "factor\",1],PARAMETER[\"false_easting\",3500000],PARAMET");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3788\"");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3789, "epsg", 3789,
-        "NZGD2000 / Campbell Island TM 2000");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AUTHORITY[\"EPSG\",\"3788\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3789, "epsg", 3789,
+        "NZGD2000 / Campbell Island TM 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=169 +k=1 +x_0=3500000 +y_0=1");
     add_proj4text (p, 1,
@@ -1389,21 +1583,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",169],PARAMETER[\"s");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "cale_factor\",1],PARAMETER[\"false_easting\",3500000],PA");
+        ",PARAMETER[\"central_meridian\",169],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
+        "actor\",1],PARAMETER[\"false_easting\",3500000],PARAMETE");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3789\"]");
+        "R[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 3790, "epsg", 3790,
-        "NZGD2000 / Antipodes Islands TM 2000");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Ea");
+    add_srs_wkt (p, 13,
+        "sting\",EAST],AUTHORITY[\"EPSG\",\"3789\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3790, "epsg", 3790,
+        "NZGD2000 / Antipodes Islands TM 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=179 +k=1 +x_0=3500000 +y_0=1");
     add_proj4text (p, 1,
@@ -1423,21 +1622,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",179],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",1],PARAMETER[\"false_easting\",3500000],P");
+        "],PARAMETER[\"central_meridian\",179],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
+        "factor\",1],PARAMETER[\"false_easting\",3500000],PARAMET");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3790\"");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3791, "epsg", 3791,
-        "NZGD2000 / Raoul Island TM 2000");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AUTHORITY[\"EPSG\",\"3790\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3791, "epsg", 3791,
+        "NZGD2000 / Raoul Island TM 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-178 +k=1 +x_0=3500000 +y_0=");
     add_proj4text (p, 1,
@@ -1457,19 +1661,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-178],PARAMETER[\"scal");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",3500000],PARAM");
+        "AMETER[\"central_meridian\",-178],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "or\",1],PARAMETER[\"false_easting\",3500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3791\"]]");
-    p = add_epsg_def (filter, first, last, 3793, "epsg", 3793,
-        "NZGD2000 / Chatham Islands TM 2000");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"3791\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3793, "epsg", 3793,
+        "NZGD2000 / Chatham Islands TM 2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-176.5 +k=1 +x_0=3500000 +y_");
     add_proj4text (p, 1,
@@ -1489,21 +1700,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",-176.5],PARAMETER[");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",3500000]");
+        ",PARAMETER[\"central_meridian\",-176.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1");
+        "e_factor\",1],PARAMETER[\"false_easting\",3500000],PARAM");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3793");
+        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3794, "epsg", 3794,
-        "Slovenia 1996 / Slovene National Grid");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Easting\",EAST],AUTHORITY[\"EPSG\",\"3793\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3794, "epsg", 3794,
+        "Slovenia 1996 / Slovene National Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Slovenia_Geodetic_Datum_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -1523,21 +1739,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4765\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4765\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",15],PARAMETER[");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",500");
+        ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",-5000000],UNIT[\"metre");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
+        "RAMETER[\"false_northing\",-5000000],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3794\"]]");
-    p = add_epsg_def (filter, first, last, 3795, "epsg", 3795,
-        "NAD27 / Cuba Norte");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3794\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3795, "epsg", 3795,
+        "NAD27 / Cuba Norte", 0, 1,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "metre",
+        "Y", "North", "X", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=23 +lat_2=21.7 +lat_0=22.35 +lon_0=-81 ");
     add_proj4text (p, 1,
@@ -1549,29 +1770,34 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
         "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "METER[\"standard_parallel_1\",23],PARAMETER[\"standard_p");
+        "],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[");
     add_srs_wkt (p, 8,
-        "arallel_2\",21.7],PARAMETER[\"latitude_of_origin\",22.35");
+        "\"standard_parallel_1\",23],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"central_meridian\",-81],PARAMETER[\"false_");
+        "l_2\",21.7],PARAMETER[\"latitude_of_origin\",22.35],PARA");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",280296.01");
+        "METER[\"central_meridian\",-81],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "6],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "g\",500000],PARAMETER[\"false_northing\",280296.016],UNI");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"3795\"]]");
-    p = add_epsg_def (filter, first, last, 3796, "epsg", 3796,
-        "NAD27 / Cuba Sur");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AXIS[\"X\",EAST],AUTHORITY[\"EPSG\",\"3795\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3796, "epsg", 3796,
+        "NAD27 / Cuba Sur", 0, 1,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "metre",
+        "Y", "North", "X", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=21.3 +lat_2=20.13333333333333 +lat_0=20");
     add_proj4text (p, 1,
@@ -1583,31 +1809,36 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "th_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637820");
     add_srs_wkt (p, 2,
-        "6.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTH");
+        "6.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTH");
     add_srs_wkt (p, 3,
         "ORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"426");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]],");
     add_srs_wkt (p, 7,
-        "TER[\"standard_parallel_1\",21.3],PARAMETER[\"standard_p");
+        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "arallel_2\",20.13333333333333],PARAMETER[\"latitude_of_o");
+        "standard_parallel_1\",21.3],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 9,
-        "rigin\",20.71666666666667],PARAMETER[\"central_meridian\"");
+        "l_2\",20.13333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        ",-76.83333333333333],PARAMETER[\"false_easting\",500000]");
+        ",20.71666666666667],PARAMETER[\"central_meridian\",-76.8");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",229126.939],UNIT[\"metre\"");
+        "3333333333333],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"37");
+        "ETER[\"false_northing\",229126.939],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 13,
-        "96\"]]");
-    p = add_epsg_def (filter, first, last, 3797, "epsg", 3797,
-        "NAD27 / MTQ Lambert");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\",NORTH],AXIS[\"X\",");
+    add_srs_wkt (p, 14,
+        "EAST],AUTHORITY[\"EPSG\",\"3796\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3797, "epsg", 3797,
+        "NAD27 / MTQ Lambert", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=");
     add_proj4text (p, 1,
@@ -1617,33 +1848,40 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
         "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "AMETER[\"standard_parallel_1\",50],PARAMETER[\"standard_");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 8,
-        "parallel_2\",46],PARAMETER[\"latitude_of_origin\",44],PA");
+        "[\"standard_parallel_1\",50],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "RAMETER[\"central_meridian\",-70],PARAMETER[\"false_east");
+        "el_2\",46],PARAMETER[\"latitude_of_origin\",44],PARAMETE");
     add_srs_wkt (p, 10,
-        "ing\",800000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "R[\"central_meridian\",-70],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "800000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3797\"]]");
-    p = add_epsg_def (filter, first, last, 3798, "epsg", 3798,
-        "NAD83 / MTQ Lambert");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"3797\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3798, "epsg", 3798,
+        "NAD83 / MTQ Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=");
     add_proj4text (p, 1,
-        "800000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "800000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / MTQ Lambert\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -1655,25 +1893,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",50],PARAMET");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",46],PARAMETER[\"latitude_of_o");
+        "P\"],PARAMETER[\"standard_parallel_1\",50],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "rigin\",44],PARAMETER[\"central_meridian\",-70],PARAMETE");
+        "tandard_parallel_2\",46],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",800000],PARAMETER[\"false_northing\"");
+        ",44],PARAMETER[\"central_meridian\",-70],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "se_easting\",800000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3798\"");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3799, "epsg", 3799,
-        "NAD83(CSRS) / MTQ Lambert");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3798\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3799, "epsg", 3799,
+        "NAD83(CSRS) / MTQ Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=");
     add_proj4text (p, 1,
@@ -1693,23 +1934,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",50],PARAMETER[\"standard_parallel_2\",46],");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",44],PARAMETER[\"central");
+        "lel_1\",50],PARAMETER[\"standard_parallel_2\",46],PARAME");
     add_srs_wkt (p, 10,
-        "_meridian\",-70],PARAMETER[\"false_easting\",800000],PAR");
+        "TER[\"latitude_of_origin\",44],PARAMETER[\"central_merid");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "ian\",-70],PARAMETER[\"false_easting\",800000],PARAMETER");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"3799\"]]");
-    p = add_epsg_def (filter, first, last, 3800, "epsg", 3800,
-        "NAD27 / Alberta 3TM ref merid 120 W");
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"3799\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3800, "epsg", 3800,
+        "NAD27 / Alberta 3TM ref merid 120 W", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1719,33 +1965,38 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
     add_srs_wkt (p, 2,
-        "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS");
+        "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
         "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-120],PARAMETER[\"scale_factor\",0.9999],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
+        "idian\",-120],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"3800\"]]");
-    p = add_epsg_def (filter, first, last, 3801, "epsg", 3801,
-        "NAD83 / Alberta 3TM ref merid 120 W");
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"3800\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3801, "epsg", 3801,
+        "NAD83 / Alberta 3TM ref merid 120 W", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        " +datum=NAD83 +units=m +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Alberta 3TM ref merid 120 W\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -1759,21 +2010,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-120],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "ctor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[");
+        "ER[\"central_meridian\",-120],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        ",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"3801\"]]");
-    p = add_epsg_def (filter, first, last, 3802, "epsg", 3802,
-        "NAD83(CSRS) / Alberta 3TM ref merid 120 W");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"3801\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3802, "epsg", 3802,
+        "NAD83(CSRS) / Alberta 3TM ref merid 120 W", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
@@ -1791,23 +2047,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4617\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "120],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fals");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-120],");
     add_srs_wkt (p, 10,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "ting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3802\"");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3812, "epsg", 3812,
-        "ETRS89 / Belgian Lambert 2008");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3802\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3812, "epsg", 3812,
+        "ETRS89 / Belgian Lambert 2008", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666");
     add_proj4text (p, 1,
@@ -1829,29 +2088,36 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",49.83333333333334],PARAMETER[\"standard");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "_parallel_2\",51.16666666666666],PARAMETER[\"latitude_of");
+        "rallel_1\",49.83333333333334],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "_origin\",50.797815],PARAMETER[\"central_meridian\",4.35");
+        "lel_2\",51.16666666666666],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "9215833333333],PARAMETER[\"false_easting\",649328],PARAM");
+        "n\",50.797815],PARAMETER[\"central_meridian\",4.35921583");
     add_srs_wkt (p, 12,
-        "ETER[\"false_northing\",665262],UNIT[\"metre\",1,AUTHORI");
+        "3333333],PARAMETER[\"false_easting\",649328],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "false_northing\",665262],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        "],AUTHORITY[\"EPSG\",\"3812\"]]");
-    p = add_epsg_def (filter, first, last, 3814, "epsg", 3814,
-        "NAD83 / Mississippi TM");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 15,
+        "RITY[\"EPSG\",\"3812\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3814, "epsg", 3814,
+        "NAD83 / Mississippi TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=32.5 +lon_0=-89.75 +k=0.9998335 +x_0=");
     add_proj4text (p, 1,
-        "500000 +y_0=1300000 +datum=NAD83 +units=m +no_defs");
+        "500000 +y_0=1300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+    add_proj4text (p, 2,
+        "+units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Mississippi TM\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
@@ -1863,23 +2129,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",32.5],PARAMETER[\"");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "central_meridian\",-89.75],PARAMETER[\"scale_factor\",0.");
+        "PARAMETER[\"latitude_of_origin\",32.5],PARAMETER[\"centr");
     add_srs_wkt (p, 9,
-        "9998335],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "al_meridian\",-89.75],PARAMETER[\"scale_factor\",0.99983");
     add_srs_wkt (p, 10,
-        "false_northing\",1300000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "35],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "e_northing\",1300000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"3814\"]]");
-    p = add_epsg_def (filter, first, last, 3815, "epsg", 3815,
-        "NAD83(HARN) / Mississippi TM");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"3814\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3815, "epsg", 3815,
+        "NAD83(HARN) / Mississippi TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=32.5 +lon_0=-89.75 +k=0.9998335 +x_0=");
     add_proj4text (p, 1,
@@ -1899,21 +2170,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "igin\",32.5],PARAMETER[\"central_meridian\",-89.75],PARA");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.9998335],PARAMETER[\"false_east");
+        "32.5],PARAMETER[\"central_meridian\",-89.75],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",1300000],UNIT");
+        "scale_factor\",0.9998335],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        "0000],PARAMETER[\"false_northing\",1300000],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3815\"]]");
-    p = add_epsg_def (filter, first, last, 3816, "epsg", 3816,
-        "NAD83(NSRS2007) / Mississippi TM");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3815\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3816, "epsg", 3816,
+        "NAD83(NSRS2007) / Mississippi TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=32.5 +lon_0=-89.75 +k=0.9998335 +x_0=");
     add_proj4text (p, 1,
@@ -1933,23 +2209,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",32.5],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",-89.75],PARAMETER[\"scale_factor\",0.9998335],PARAMETER");
+        "ude_of_origin\",32.5],PARAMETER[\"central_meridian\",-89");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        ".75],PARAMETER[\"scale_factor\",0.9998335],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "1300000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "alse_easting\",500000],PARAMETER[\"false_northing\",1300");
     add_srs_wkt (p, 12,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
     add_srs_wkt (p, 13,
-        "3816\"]]");
-    p = add_epsg_def (filter, first, last, 3819, "epsg", 3819,
-        "HD1909");
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3816");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3819, "epsg", 3819,
+        "HD1909", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Hungarian_Datum_1909", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=595.48,121.69,515.3");
     add_proj4text (p, 1,
@@ -1965,11 +2246,16 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"3819\"]]");
-    p = add_epsg_def (filter, first, last, 3821, "epsg", 3821,
-        "TWD67");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 7,
+        "[\"EPSG\",\"3819\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3821, "epsg", 3821,
+        "TWD67", 1, 1,
+        "GRS 1967 Modified", "Greenwich",
+        "Taiwan_Datum_1967", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=aust_SA +no_defs");
     add_srs_wkt (p, 0,
@@ -1981,11 +2267,16 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 4,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 5,
-        "EPSG\",\"3821\"]]");
-    p = add_epsg_def (filter, first, last, 3824, "epsg", 3824,
-        "TWD97");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"3821\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3824, "epsg", 3824,
+        "TWD97", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Taiwan_Datum_1997", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -2001,9 +2292,14 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"3824\"]]");
-    p = add_epsg_def (filter, first, last, 3825, "epsg", 3825,
-        "TWD97 / TM2 zone 119");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 6,
+        "T],AUTHORITY[\"EPSG\",\"3824\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3825, "epsg", 3825,
+        "TWD97 / TM2 zone 119", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Taiwan_Datum_1997", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.9999 +x_0=250000 +y");
     add_proj4text (p, 1,
@@ -2021,23 +2317,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"3824\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "3824\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",119],PARAMETER[\"scale_factor\",0.9999],PARAMETER[");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "\"false_easting\",250000],PARAMETER[\"false_northing\",0");
+        "19],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "_easting\",250000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 11,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3825\"]");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 3826, "epsg", 3826,
-        "TWD97 / TM2 zone 121");
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3825\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3826, "epsg", 3826,
+        "TWD97 / TM2 zone 121", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Taiwan_Datum_1997", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.9999 +x_0=250000 +y");
     add_proj4text (p, 1,
@@ -2055,23 +2354,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"3824\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "3824\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",121],PARAMETER[\"scale_factor\",0.9999],PARAMETER[");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "\"false_easting\",250000],PARAMETER[\"false_northing\",0");
+        "21],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "_easting\",250000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 11,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3826\"]");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 3827, "epsg", 3827,
-        "TWD67 / TM2 zone 119");
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3826\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3827, "epsg", 3827,
+        "TWD67 / TM2 zone 119", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "Taiwan_Datum_1967", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.9999 +x_0=250000 +y");
     add_proj4text (p, 1,
@@ -2087,21 +2389,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"3821\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"3821\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "igin\",0],PARAMETER[\"central_meridian\",119],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 8,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",250");
+        "0],PARAMETER[\"central_meridian\",119],PARAMETER[\"scale");
     add_srs_wkt (p, 9,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",250000],PA");
     add_srs_wkt (p, 10,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        "NORTH],AUTHORITY[\"EPSG\",\"3827\"]]");
-    p = add_epsg_def (filter, first, last, 3828, "epsg", 3828,
-        "TWD67 / TM2 zone 121");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AUTHORITY[\"EPSG\",\"3827\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3828, "epsg", 3828,
+        "TWD67 / TM2 zone 121", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "Taiwan_Datum_1967", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.9999 +x_0=250000 +y");
     add_proj4text (p, 1,
@@ -2117,21 +2424,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"3821\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"3821\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "igin\",0],PARAMETER[\"central_meridian\",121],PARAMETER[");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 8,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",250");
+        "0],PARAMETER[\"central_meridian\",121],PARAMETER[\"scale");
     add_srs_wkt (p, 9,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",250000],PA");
     add_srs_wkt (p, 10,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        "NORTH],AUTHORITY[\"EPSG\",\"3828\"]]");
-    p = add_epsg_def (filter, first, last, 3829, "epsg", 3829,
-        "Hu Tzu Shan 1950 / UTM zone 51N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AUTHORITY[\"EPSG\",\"3828\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3829, "epsg", 3829,
+        "Hu Tzu Shan 1950 / UTM zone 51N", 0, 0,
+        "International 1924", "Greenwich",
+        "Hu_Tzu_Shan_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=51 +ellps=intl +towgs84=-637,-549,-203,0");
     add_proj4text (p, 1,
@@ -2149,21 +2461,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4236\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4236\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",123],PARAMETER[\"scal");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "ARAMETER[\"central_meridian\",123],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3829\"]]");
-    p = add_epsg_def (filter, first, last, 3832, "epsg", 3832,
-        "WGS 84 / PDC Mercator");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3829\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3832, "epsg", 3832,
+        "WGS 84 / PDC Mercator", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Mercator_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=150 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +u");
     add_proj4text (p, 1,
@@ -2179,19 +2496,24 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Merc");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "ator_1SP\"],PARAMETER[\"central_meridian\",150],PARAMETE");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Mercator_1");
     add_srs_wkt (p, 7,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PAR");
+        "SP\"],PARAMETER[\"central_meridian\",150],PARAMETER[\"sc");
     add_srs_wkt (p, 8,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "ale_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 10,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"3832\"]]");
-    p = add_epsg_def (filter, first, last, 3833, "epsg", 3833,
-        "Pulkovo 1942(58) / Gauss-Kruger zone 2");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 11,
+        "ORTH],AUTHORITY[\"EPSG\",\"3832\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3833, "epsg", 3833,
+        "Pulkovo 1942(58) / Gauss-Kruger zone 2", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2211,21 +2533,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        "4179\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "dian\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
     add_srs_wkt (p, 10,
-        "e_easting\",2500000],PARAMETER[\"false_northing\",0],UNI");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "g\",2500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "EPSG\",\"3833\"]]");
-    p = add_epsg_def (filter, first, last, 3834, "epsg", 3834,
-        "Pulkovo 1942(83) / Gauss-Kruger zone 2");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3833\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3834, "epsg", 3834,
+        "Pulkovo 1942(83) / Gauss-Kruger zone 2", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2245,19 +2572,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"sc");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ale_factor\",1],PARAMETER[\"false_easting\",2500000],PAR");
+        "],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "ctor\",1],PARAMETER[\"false_easting\",2500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3834\"]]");
-    p = add_epsg_def (filter, first, last, 3835, "epsg", 3835,
-        "Pulkovo 1942(83) / Gauss-Kruger zone 3");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 12,
+        "\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"3834\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3835, "epsg", 3835,
+        "Pulkovo 1942(83) / Gauss-Kruger zone 3", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2277,19 +2611,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",1],PARAMETER[\"false_easting\",3500000],PA");
+        "],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "actor\",1],PARAMETER[\"false_easting\",3500000],PARAMETE");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3835\"]]");
-    p = add_epsg_def (filter, first, last, 3836, "epsg", 3836,
-        "Pulkovo 1942(83) / Gauss-Kruger zone 4");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 12,
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3835\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3836, "epsg", 3836,
+        "Pulkovo 1942(83) / Gauss-Kruger zone 4", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2309,19 +2650,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",1],PARAMETER[\"false_easting\",4500000],PA");
+        "],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "actor\",1],PARAMETER[\"false_easting\",4500000],PARAMETE");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3836\"]]");
-    p = add_epsg_def (filter, first, last, 3837, "epsg", 3837,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 12,
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"3836\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3837, "epsg", 3837,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2341,21 +2689,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",9],PARAMETER[\"scale_factor\",1],PARAMETE");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",3500000],PARAMETER[\"false_northing\"");
+        "idian\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "se_easting\",3500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"3837\"]]");
-    p = add_epsg_def (filter, first, last, 3838, "epsg", 3838,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3837\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3838, "epsg", 3838,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2375,21 +2728,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",12],PARAMETER[\"scale_factor\",1],PARAMET");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",4500000],PARAMETER[\"false_northing");
+        "idian\",12],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "lse_easting\",4500000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3838\"]]");
-    p = add_epsg_def (filter, first, last, 3839, "epsg", 3839,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 9");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3838\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3839, "epsg", 3839,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 9", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2409,21 +2767,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",27],PARAMETER[\"scale_factor\",1],PARAMET");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",9500000],PARAMETER[\"false_northing");
+        "idian\",27],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "lse_easting\",9500000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"3839\"]]");
-    p = add_epsg_def (filter, first, last, 3840, "epsg", 3840,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 10");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3839\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3840, "epsg", 3840,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 10", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2443,21 +2806,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",30],PARAMETER[\"scale_factor\",1],PARAMET");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",10500000],PARAMETER[\"false_northin");
+        "idian\",30],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AU");
+        "lse_easting\",10500000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"3840\"]]");
-    p = add_epsg_def (filter, first, last, 3841, "epsg", 3841,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 6");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3840\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3841, "epsg", 3841,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 6", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2477,21 +2845,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",18],PARA");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",65");
+        "rigin\",0],PARAMETER[\"central_meridian\",18],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",6500000]");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3841\"");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3842, "epsg", 3842,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 7 (deprecated)");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"3841\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3842, "epsg", 3842,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 7 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2511,21 +2884,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4178\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "78\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "an\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",18");
     add_srs_wkt (p, 10,
-        "_easting\",6500000],PARAMETER[\"false_northing\",0],UNIT");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "g\",6500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "PSG\",\"3842\"]]");
-    p = add_epsg_def (filter, first, last, 3843, "epsg", 3843,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 8 (deprecated)");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3842\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3843, "epsg", 3843,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 8 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2545,21 +2923,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4178\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "78\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "an\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",18");
     add_srs_wkt (p, 10,
-        "_easting\",6500000],PARAMETER[\"false_northing\",0],UNIT");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "g\",6500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "PSG\",\"3843\"]]");
-    p = add_epsg_def (filter, first, last, 3844, "epsg", 3844,
-        "Pulkovo 1942(58) / Stereo70");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3843\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3844, "epsg", 3844,
+        "Pulkovo 1942(58) / Stereo70", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Oblique_Stereographic", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 ");
     add_proj4text (p, 1,
@@ -2579,21 +2962,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4179");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"l");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4179\"]],P");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",46],PARAMETER[\"central_meridian\",2");
+        "ROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",0.99975],PARAMETER[\"false");
+        "e_of_origin\",46],PARAMETER[\"central_meridian\",25],PAR");
     add_srs_wkt (p, 10,
-        "_easting\",500000],PARAMETER[\"false_northing\",500000],");
+        "AMETER[\"scale_factor\",0.99975],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY");
+        "ng\",500000],PARAMETER[\"false_northing\",500000],UNIT[\"");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"3844\"]]");
-    p = add_epsg_def (filter, first, last, 3845, "epsg", 3845,
-        "SWEREF99 / RT90 7.5 gon V emulation");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3844\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3845, "epsg", 3845,
+        "SWEREF99 / RT90 7.5 gon V emulation", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=11.30625 +k=1.000006 +x_0=15");
     add_proj4text (p, 1,
@@ -2611,21 +2999,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",11.30625],PARAMETER[\"scale_factor\",1.00");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "0006],PARAMETER[\"false_easting\",1500025.141],PARAMETER");
+        "idian\",11.30625],PARAMETER[\"scale_factor\",1.000006],P");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",-667.282],UNIT[\"metre\",1,AUTHORITY");
+        "ARAMETER[\"false_easting\",1500025.141],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3845\"]]");
-    p = add_epsg_def (filter, first, last, 3846, "epsg", 3846,
-        "SWEREF99 / RT90 5 gon V emulation");
+        "e_northing\",-667.282],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 12,
+        "\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"3845\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3846, "epsg", 3846,
+        "SWEREF99 / RT90 5 gon V emulation", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=13.55626666666667 +k=1.00000");
     add_proj4text (p, 1,
@@ -2643,23 +3038,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",13.55626666666667],PARAMETER[\"scale_factor");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "\",1.0000058],PARAMETER[\"false_easting\",1500044.695],P");
+        "idian\",13.55626666666667],PARAMETER[\"scale_factor\",1.");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",-667.13],UNIT[\"metre\",1,AU");
+        "0000058],PARAMETER[\"false_easting\",1500044.695],PARAME");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3846\"]");
+        "TER[\"false_northing\",-667.13],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 3847, "epsg", 3847,
-        "SWEREF99 / RT90 2.5 gon V emulation");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"3846\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3847, "epsg", 3847,
+        "SWEREF99 / RT90 2.5 gon V emulation", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15.80628452944445 +k=1.00000");
     add_proj4text (p, 1,
@@ -2677,23 +3077,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",15.80628452944445],PARAMETER[\"scale_fact");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "or\",1.00000561024],PARAMETER[\"false_easting\",1500064.");
+        "idian\",15.80628452944445],PARAMETER[\"scale_factor\",1.");
     add_srs_wkt (p, 10,
-        "274],PARAMETER[\"false_northing\",-667.711],UNIT[\"metre");
+        "00000561024],PARAMETER[\"false_easting\",1500064.274],PA");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "RAMETER[\"false_northing\",-667.711],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "3847\"]]");
-    p = add_epsg_def (filter, first, last, 3848, "epsg", 3848,
-        "SWEREF99 / RT90 0 gon emulation");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"3847\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3848, "epsg", 3848,
+        "SWEREF99 / RT90 0 gon emulation", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18.0563 +k=1.0000054 +x_0=15");
     add_proj4text (p, 1,
@@ -2711,21 +3116,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "G\",\"4619\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 8,
-        "_meridian\",18.0563],PARAMETER[\"scale_factor\",1.000005");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "4],PARAMETER[\"false_easting\",1500083.521],PARAMETER[\"");
+        "ian\",18.0563],PARAMETER[\"scale_factor\",1.0000054],PAR");
     add_srs_wkt (p, 10,
-        "false_northing\",-668.844],UNIT[\"metre\",1,AUTHORITY[\"");
+        "AMETER[\"false_easting\",1500083.521],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3848\"]]");
-    p = add_epsg_def (filter, first, last, 3849, "epsg", 3849,
-        "SWEREF99 / RT90 2.5 gon O emulation");
+        "northing\",-668.844],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"3848\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3849, "epsg", 3849,
+        "SWEREF99 / RT90 2.5 gon O emulation", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=20.30631666666667 +k=1.00000");
     add_proj4text (p, 1,
@@ -2743,23 +3155,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",20.30631666666667],PARAMETER[\"scale_fact");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "or\",1.0000052],PARAMETER[\"false_easting\",1500102.765]");
+        "idian\",20.30631666666667],PARAMETER[\"scale_factor\",1.");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",-670.706],UNIT[\"metre\",1");
+        "0000052],PARAMETER[\"false_easting\",1500102.765],PARAME");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3849");
+        "TER[\"false_northing\",-670.706],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 3850, "epsg", 3850,
-        "SWEREF99 / RT90 5 gon O emulation");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"3849\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3850, "epsg", 3850,
+        "SWEREF99 / RT90 5 gon O emulation", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=22.55633333333333 +k=1.00000");
     add_proj4text (p, 1,
@@ -2777,23 +3194,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"4619\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",22.55633333333333],PARAMETER[\"scale_factor");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "\",1.0000049],PARAMETER[\"false_easting\",1500121.846],P");
+        "idian\",22.55633333333333],PARAMETER[\"scale_factor\",1.");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",-672.557],UNIT[\"metre\",1,A");
+        "0000049],PARAMETER[\"false_easting\",1500121.846],PARAME");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3850\"");
+        "TER[\"false_northing\",-672.557],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 3851, "epsg", 3851,
-        "NZGD2000 / NZCS2000");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"3850\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3851, "epsg", 3851,
+        "NZGD2000 / NZCS2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-37.5 +lat_2=-44.5 +lat_0=-41 +lon_0=17");
     add_proj4text (p, 1,
@@ -2813,21 +3235,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",-3");
+        "ORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "7.5],PARAMETER[\"standard_parallel_2\",-44.5],PARAMETER[");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",-37.5],P");
     add_srs_wkt (p, 9,
-        "\"latitude_of_origin\",-41],PARAMETER[\"central_meridian");
+        "ARAMETER[\"standard_parallel_2\",-44.5],PARAMETER[\"lati");
     add_srs_wkt (p, 10,
-        "\",173],PARAMETER[\"false_easting\",3000000],PARAMETER[\"");
+        "tude_of_origin\",-41],PARAMETER[\"central_meridian\",173");
     add_srs_wkt (p, 11,
-        "false_northing\",7000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "],PARAMETER[\"false_easting\",3000000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"3851\"]]");
-    p = add_epsg_def (filter, first, last, 3852, "epsg", 3852,
-        "RSRGD2000 / DGLC2000");
+        "_northing\",7000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 14,
+        "ST],AUTHORITY[\"EPSG\",\"3851\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3852, "epsg", 3852,
+        "RSRGD2000 / DGLC2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Ross_Sea_Region_Geodetic_Datum_2000", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -2847,23 +3276,30 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4764\"]],PROJECTION[\"Lambe");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "],AUTHORITY[\"EPSG\",\"4764\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "1\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",-7");
     add_srs_wkt (p, 9,
-        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-9");
+        "6.66666666666667],PARAMETER[\"standard_parallel_2\",-79.");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"central_meridian\",157],PARAMETER[\"false");
+        "33333333333333],PARAMETER[\"latitude_of_origin\",-90],PA");
     add_srs_wkt (p, 11,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "RAMETER[\"central_meridian\",157],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EP");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 13,
-        "SG\",\"3852\"]]");
-    p = add_epsg_def (filter, first, last, 3854, "epsg", 3854,
-        "County ST74");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 14,
+        "ORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"3852\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3854, "epsg", 3854,
+        "County ST74", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18.05787 +k=0.99999506 +x_0=");
     add_proj4text (p, 1,
@@ -2881,21 +3317,28 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4619\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 6,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJE");
     add_srs_wkt (p, 7,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",18.05787");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",0.99999506],PARAMETER[\"fal");
+        "rigin\",0],PARAMETER[\"central_meridian\",18.05787],PARA");
     add_srs_wkt (p, 9,
-        "se_easting\",100182.7406],PARAMETER[\"false_northing\",-");
+        "METER[\"scale_factor\",0.99999506],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "6500620.1207],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "ting\",100182.7406],PARAMETER[\"false_northing\",-650062");
     add_srs_wkt (p, 11,
-        "\"]],AUTHORITY[\"EPSG\",\"3854\"]]");
-    p = add_epsg_def (filter, first, last, 3857, "epsg", 3857,
-        "WGS 84 / Pseudo-Mercator");
+        "0.1207],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"x\",NORTH],AXIS[\"y\",EAST],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 13,
+        "854\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3857, "epsg", 3857,
+        "WGS 84 / Pseudo-Mercator", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 ");
     add_proj4text (p, 1,
@@ -2913,25 +3356,30 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"M");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "ercator_1SP\"],PARAMETER[\"central_meridian\",0],PARAMET");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Mercato");
     add_srs_wkt (p, 7,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PA");
+        "r_1SP\"],PARAMETER[\"central_meridian\",0],PARAMETER[\"s");
     add_srs_wkt (p, 8,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "cale_factor\",1],PARAMETER[\"false_easting\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 10,
-        "EXTENSION[\"PROJ4\",\"+proj=merc +a=6378137 +b=6378137 +");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],EXTENS");
     add_srs_wkt (p, 11,
-        "lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +n");
+        "ION[\"PROJ4\",\"+proj=merc +a=6378137 +b=6378137 +lat_ts");
     add_srs_wkt (p, 12,
-        "adgrids=@null +wktext  +no_defs\"],AUTHORITY[\"EPSG\",\"");
+        "=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrid");
     add_srs_wkt (p, 13,
-        "3857\"]]");
-    p = add_epsg_def (filter, first, last, 3873, "epsg", 3873,
-        "ETRS89 / GK19FIN");
+        "s=@null +wktext  +no_defs\"],AUTHORITY[\"EPSG\",\"3857\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3873, "epsg", 3873,
+        "ETRS89 / GK19FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=19500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2949,19 +3397,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",19],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",19500000],PARAMETER[\"");
+        "R[\"central_meridian\",19],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",19500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3873\"]]");
-    p = add_epsg_def (filter, first, last, 3874, "epsg", 3874,
-        "ETRS89 / GK20FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3873\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3874, "epsg", 3874,
+        "ETRS89 / GK20FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=20500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2979,19 +3434,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",20],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",20500000],PARAMETER[\"");
+        "R[\"central_meridian\",20],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",20500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3874\"]]");
-    p = add_epsg_def (filter, first, last, 3875, "epsg", 3875,
-        "ETRS89 / GK21FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3874\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3875, "epsg", 3875,
+        "ETRS89 / GK21FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=21500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3009,19 +3471,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",21],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",21500000],PARAMETER[\"");
+        "R[\"central_meridian\",21],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",21500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3875\"]]");
-    p = add_epsg_def (filter, first, last, 3876, "epsg", 3876,
-        "ETRS89 / GK22FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3875\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3876, "epsg", 3876,
+        "ETRS89 / GK22FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=22 +k=1 +x_0=22500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3039,19 +3508,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",22],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",22500000],PARAMETER[\"");
+        "R[\"central_meridian\",22],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",22500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3876\"]]");
-    p = add_epsg_def (filter, first, last, 3877, "epsg", 3877,
-        "ETRS89 / GK23FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3876\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3877, "epsg", 3877,
+        "ETRS89 / GK23FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=23500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3069,19 +3545,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",23],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",23500000],PARAMETER[\"");
+        "R[\"central_meridian\",23],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",23500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3877\"]]");
-    p = add_epsg_def (filter, first, last, 3878, "epsg", 3878,
-        "ETRS89 / GK24FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3877\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3878, "epsg", 3878,
+        "ETRS89 / GK24FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=24500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3099,19 +3582,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",24],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",24500000],PARAMETER[\"");
+        "R[\"central_meridian\",24],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",24500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3878\"]]");
-    p = add_epsg_def (filter, first, last, 3879, "epsg", 3879,
-        "ETRS89 / GK25FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3878\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3879, "epsg", 3879,
+        "ETRS89 / GK25FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=25500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3129,19 +3619,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",25],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",25500000],PARAMETER[\"");
+        "R[\"central_meridian\",25],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",25500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3879\"]]");
-    p = add_epsg_def (filter, first, last, 3880, "epsg", 3880,
-        "ETRS89 / GK26FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3879\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3880, "epsg", 3880,
+        "ETRS89 / GK26FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=26 +k=1 +x_0=26500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3159,19 +3656,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",26],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",26500000],PARAMETER[\"");
+        "R[\"central_meridian\",26],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",26500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3880\"]]");
-    p = add_epsg_def (filter, first, last, 3881, "epsg", 3881,
-        "ETRS89 / GK27FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3880\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3881, "epsg", 3881,
+        "ETRS89 / GK27FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=27500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3189,19 +3693,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",27],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",27500000],PARAMETER[\"");
+        "R[\"central_meridian\",27],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",27500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3881\"]]");
-    p = add_epsg_def (filter, first, last, 3882, "epsg", 3882,
-        "ETRS89 / GK28FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3881\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3882, "epsg", 3882,
+        "ETRS89 / GK28FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=28500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3219,19 +3730,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",28],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",28500000],PARAMETER[\"");
+        "R[\"central_meridian\",28],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",28500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3882\"]]");
-    p = add_epsg_def (filter, first, last, 3883, "epsg", 3883,
-        "ETRS89 / GK29FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3882\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3883, "epsg", 3883,
+        "ETRS89 / GK29FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=29500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3249,19 +3767,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",29],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",29500000],PARAMETER[\"");
+        "R[\"central_meridian\",29],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",29500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3883\"]]");
-    p = add_epsg_def (filter, first, last, 3884, "epsg", 3884,
-        "ETRS89 / GK30FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3883\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3884, "epsg", 3884,
+        "ETRS89 / GK30FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=30500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3279,19 +3804,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",30],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",30500000],PARAMETER[\"");
+        "R[\"central_meridian\",30],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",30500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3884\"]]");
-    p = add_epsg_def (filter, first, last, 3885, "epsg", 3885,
-        "ETRS89 / GK31FIN");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3884\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3885, "epsg", 3885,
+        "ETRS89 / GK31FIN", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=31500000 +y_0=0");
     add_proj4text (p, 1,
@@ -3309,19 +3841,26 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",31],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",31500000],PARAMETER[\"");
+        "R[\"central_meridian\",31],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",31500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"3885\"]]");
-    p = add_epsg_def (filter, first, last, 3889, "epsg", 3889,
-        "IGRS");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"3885\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3889, "epsg", 3889,
+        "IGRS", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Iraqi_Geospatial_Reference_System", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -3337,7 +3876,9 @@ initialize_epsg_17 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"3889\"]]");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"3889\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_18.c b/src/srsinit/epsg_inlined_18.c
index ddfffa7..fe91485 100644
--- a/src/srsinit/epsg_inlined_18.c
+++ b/src/srsinit/epsg_inlined_18.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,11 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 3890, "epsg", 3890,
-        "IGRS / UTM zone 37N");
+    p = add_epsg_def_ex (filter, first, last, 3890, "epsg", 3890,
+        "IGRS / UTM zone 37N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Iraqi_Geospatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=37 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -71,21 +76,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"3889\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"3889\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",39],PARAMETER[\"scale_factor\",0.99");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "ral_meridian\",39],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"3890\"]]");
-    p = add_epsg_def (filter, first, last, 3891, "epsg", 3891,
-        "IGRS / UTM zone 38N");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"3890\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3891, "epsg", 3891,
+        "IGRS / UTM zone 38N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Iraqi_Geospatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -103,21 +113,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"3889\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"3889\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",45],PARAMETER[\"scale_factor\",0.99");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "ral_meridian\",45],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"3891\"]]");
-    p = add_epsg_def (filter, first, last, 3892, "epsg", 3892,
-        "IGRS / UTM zone 39N");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"3891\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3892, "epsg", 3892,
+        "IGRS / UTM zone 39N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Iraqi_Geospatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=39 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -135,21 +150,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"3889\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"3889\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",51],PARAMETER[\"scale_factor\",0.99");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "ral_meridian\",51],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"3892\"]]");
-    p = add_epsg_def (filter, first, last, 3893, "epsg", 3893,
-        "ED50 / Iraq National Grid");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"3892\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3893, "epsg", 3893,
+        "ED50 / Iraq National Grid", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=29.02626833333333 +lon_0=46.5 +k=0.99");
     add_proj4text (p, 1,
@@ -169,21 +189,171 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mer");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",29.02626833333");
+        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "333],PARAMETER[\"central_meridian\",46.5],PARAMETER[\"sc");
+        "],PARAMETER[\"latitude_of_origin\",29.02626833333333],PA");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9994],PARAMETER[\"false_easting\",800000]");
+        "RAMETER[\"central_meridian\",46.5],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "tor\",0.9994],PARAMETER[\"false_easting\",800000],PARAME");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"3893\"]]");
-    p = add_epsg_def (filter, first, last, 3906, "epsg", 3906,
-        "MGI 1901");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3893\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3901, "epsg", 3901,
+        "KKJ / Finland Uniform Coordinate System", 0, 1,
+        "International 1924", "Greenwich",
+        "Kartastokoordinaattijarjestelma_1966", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 ");
+    add_proj4text (p, 1,
+        "+ellps=intl +towgs84=-96.062,-82.428,-121.753,4.801,0.34");
+    add_proj4text (p, 2,
+        "5,-1.376,1.496 +units=m +vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"KKJ / Finland Uniform Coordinate System + N60");
+    add_srs_wkt (p, 1,
+        " height\",PROJCS[\"KKJ / Finland Uniform Coordinate Syst");
+    add_srs_wkt (p, 2,
+        "em\",GEOGCS[\"KKJ\",DATUM[\"Kartastokoordinaattijarjeste");
+    add_srs_wkt (p, 3,
+        "lma_1966\",SPHEROID[\"International 1924\",6378388,297,A");
+    add_srs_wkt (p, 4,
+        "UTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-96.062,-82.428,-12");
+    add_srs_wkt (p, 5,
+        "1.753,4.801,0.345,-1.376,1.496],AUTHORITY[\"EPSG\",\"612");
+    add_srs_wkt (p, 6,
+        "3\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+    add_srs_wkt (p, 7,
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 8,
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 9,
+        "EAST],AUTHORITY[\"EPSG\",\"4123\"]],PROJECTION[\"Transve");
+    add_srs_wkt (p, 10,
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+    add_srs_wkt (p, 11,
+        "METER[\"central_meridian\",27],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 12,
+        ",1],PARAMETER[\"false_easting\",3500000],PARAMETER[\"fal");
+    add_srs_wkt (p, 13,
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"2393\"]],VERT_CS[\"N60 height\",VERT_DATUM[\"Hel");
+    add_srs_wkt (p, 16,
+        "sinki 1960\",2005,AUTHORITY[\"EPSG\",\"5116\"]],UNIT[\"m");
+    add_srs_wkt (p, 17,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],A");
+    add_srs_wkt (p, 18,
+        "UTHORITY[\"EPSG\",\"5717\"]],AUTHORITY[\"EPSG\",\"3901\"");
+    add_srs_wkt (p, 19,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 3902, "epsg", 3902,
+        "ETRS89 / TM35FIN(N,E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+    add_proj4text (p, 1,
+        "units=m +vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"ETRS89 / TM35FIN(N,E) + N60 height\",PROJCS[\"");
+    add_srs_wkt (p, 1,
+        "ETRS89 / TM35FIN(N,E)\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
+    add_srs_wkt (p, 2,
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
+    add_srs_wkt (p, 3,
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+    add_srs_wkt (p, 4,
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
+    add_srs_wkt (p, 5,
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+    add_srs_wkt (p, 6,
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+    add_srs_wkt (p, 7,
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 8,
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
+    add_srs_wkt (p, 9,
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+    add_srs_wkt (p, 10,
+        "entral_meridian\",27],PARAMETER[\"scale_factor\",0.9996]");
+    add_srs_wkt (p, 11,
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+    add_srs_wkt (p, 12,
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 13,
+        "]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"5048\"]],VERT_CS[\"N60 height\",VERT_DAT");
+    add_srs_wkt (p, 15,
+        "UM[\"Helsinki 1960\",2005,AUTHORITY[\"EPSG\",\"5116\"]],");
+    add_srs_wkt (p, 16,
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up");
+    add_srs_wkt (p, 17,
+        "\",UP],AUTHORITY[\"EPSG\",\"5717\"]],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 18,
+        "\"3902\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3903, "epsg", 3903,
+        "ETRS89 / TM35FIN(N,E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+    add_proj4text (p, 1,
+        "units=m +vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"ETRS89 / TM35FIN(N,E) + N2000 height\",PROJCS");
+    add_srs_wkt (p, 1,
+        "[\"ETRS89 / TM35FIN(N,E)\",GEOGCS[\"ETRS89\",DATUM[\"Eur");
+    add_srs_wkt (p, 2,
+        "opean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS");
+    add_srs_wkt (p, 3,
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
+    add_srs_wkt (p, 4,
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
+    add_srs_wkt (p, 5,
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+    add_srs_wkt (p, 6,
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+    add_srs_wkt (p, 7,
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 8,
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
+    add_srs_wkt (p, 9,
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+    add_srs_wkt (p, 10,
+        "\"central_meridian\",27],PARAMETER[\"scale_factor\",0.99");
+    add_srs_wkt (p, 11,
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 12,
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 13,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5048\"]],VERT_CS[\"N2000 height\",VE");
+    add_srs_wkt (p, 15,
+        "RT_DATUM[\"N2000\",2005,AUTHORITY[\"EPSG\",\"1030\"]],UN");
+    add_srs_wkt (p, 16,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\"");
+    add_srs_wkt (p, 17,
+        ",UP],AUTHORITY[\"EPSG\",\"3900\"]],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 18,
+        "3903\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3906, "epsg", 3906,
+        "MGI 1901", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "MGI_1901", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=682,-203,480,0,0,0,");
     add_proj4text (p, 1,
@@ -199,9 +369,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"3906\"]]");
-    p = add_epsg_def (filter, first, last, 3907, "epsg", 3907,
-        "MGI 1901 / Balkans zone 5");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 6,
+        "\",EAST],AUTHORITY[\"EPSG\",\"3906\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3907, "epsg", 3907,
+        "MGI 1901 / Balkans zone 5", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "MGI_1901", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=5500000 +y");
     add_proj4text (p, 1,
@@ -219,21 +394,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",15],PARAMETER[\"scale_factor\",0.9999]");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",5500000],PARAMETER[\"false_");
+        "_meridian\",15],PARAMETER[\"scale_factor\",0.9999],PARAM");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "ETER[\"false_easting\",5500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AUTHORITY[\"EPSG\",\"3907\"]]");
-    p = add_epsg_def (filter, first, last, 3908, "epsg", 3908,
-        "MGI 1901 / Balkans zone 6");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 13,
+        "907\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3908, "epsg", 3908,
+        "MGI 1901 / Balkans zone 6", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "MGI_1901", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=6500000 +y");
     add_proj4text (p, 1,
@@ -251,21 +433,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",18],PARAMETER[\"scale_factor\",0.9999]");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",6500000],PARAMETER[\"false_");
+        "_meridian\",18],PARAMETER[\"scale_factor\",0.9999],PARAM");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "ETER[\"false_easting\",6500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AUTHORITY[\"EPSG\",\"3908\"]]");
-    p = add_epsg_def (filter, first, last, 3909, "epsg", 3909,
-        "MGI 1901 / Balkans zone 7");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 13,
+        "908\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3909, "epsg", 3909,
+        "MGI 1901 / Balkans zone 7", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "MGI_1901", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y");
     add_proj4text (p, 1,
@@ -283,21 +472,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",21],PARAMETER[\"scale_factor\",0.9999]");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",7500000],PARAMETER[\"false_");
+        "_meridian\",21],PARAMETER[\"scale_factor\",0.9999],PARAM");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "ETER[\"false_easting\",7500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AUTHORITY[\"EPSG\",\"3909\"]]");
-    p = add_epsg_def (filter, first, last, 3910, "epsg", 3910,
-        "MGI 1901 / Balkans zone 8");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 13,
+        "909\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3910, "epsg", 3910,
+        "MGI 1901 / Balkans zone 8", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "MGI_1901", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=8500000 +y");
     add_proj4text (p, 1,
@@ -315,21 +511,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",24],PARAMETER[\"scale_factor\",0.9999]");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",8500000],PARAMETER[\"false_");
+        "_meridian\",24],PARAMETER[\"scale_factor\",0.9999],PARAM");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "ETER[\"false_easting\",8500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AUTHORITY[\"EPSG\",\"3910\"]]");
-    p = add_epsg_def (filter, first, last, 3911, "epsg", 3911,
-        "MGI 1901 / Slovenia Grid");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 13,
+        "910\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3911, "epsg", 3911,
+        "MGI 1901 / Slovenia Grid", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "MGI_1901", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -347,21 +550,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",15],PARAMETER[\"scale_factor\",0.9999],");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
+        "meridian\",15],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "]],AUTHORITY[\"EPSG\",\"3911\"]]");
-    p = add_epsg_def (filter, first, last, 3912, "epsg", 3912,
-        "MGI 1901 / Slovene National Grid");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"391");
+    add_srs_wkt (p, 13,
+        "1\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3912, "epsg", 3912,
+        "MGI 1901 / Slovene National Grid", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "MGI_1901", "Transverse_Mercator", "metre",
+        "Y", "East", "X", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -381,21 +591,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",15],PARAMETER[\"scale_factor\",0");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ".9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "entral_meridian\",15],PARAMETER[\"scale_factor\",0.9999]");
     add_srs_wkt (p, 10,
-        "alse_northing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTH");
+        "orthing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"3912\"]]");
-    p = add_epsg_def (filter, first, last, 3920, "epsg", 3920,
-        "Puerto Rico / UTM zone 20N");
+        "\"9001\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"3912\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3920, "epsg", 3920,
+        "Puerto Rico / UTM zone 20N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Puerto_Rico", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=clrk66 +towgs84=11,72,-101,0,0");
     add_proj4text (p, 1,
@@ -405,7 +620,7 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "co\",DATUM[\"Puerto_Rico\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TO");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TO");
     add_srs_wkt (p, 3,
         "WGS84[11,72,-101,0,0,0,0],AUTHORITY[\"EPSG\",\"6139\"]],");
     add_srs_wkt (p, 4,
@@ -413,21 +628,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4139\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4139\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-63],PARAMETER[\"scale_factor");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "\"central_meridian\",-63],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"3920\"]]");
-    p = add_epsg_def (filter, first, last, 3942, "epsg", 3942,
-        "RGF93 / CC42");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"3920\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3942, "epsg", 3942,
+        "RGF93 / CC42", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.25 +lat_2=42.75 +lat_0=42 +lon_0=3 +");
     add_proj4text (p, 1,
@@ -445,25 +665,30 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",41.25],PARAM");
+        "SG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",42.75],PARAMETER[\"latitude");
+        "\"],PARAMETER[\"standard_parallel_1\",41.25],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "_of_origin\",42],PARAMETER[\"central_meridian\",3],PARAM");
+        "standard_parallel_2\",42.75],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",1700000],PARAMETER[\"false_northi");
+        "gin\",42],PARAMETER[\"central_meridian\",3],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ng\",1200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "false_easting\",1700000],PARAMETER[\"false_northing\",12");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "\",\"3942\"]]");
-    p = add_epsg_def (filter, first, last, 3943, "epsg", 3943,
-        "RGF93 / CC43");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+    add_srs_wkt (p, 14,
+        "42\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3943, "epsg", 3943,
+        "RGF93 / CC43", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=42.25 +lat_2=43.75 +lat_0=43 +lon_0=3 +");
     add_proj4text (p, 1,
@@ -481,25 +706,30 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",42.25],PARAM");
+        "SG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",43.75],PARAMETER[\"latitude");
+        "\"],PARAMETER[\"standard_parallel_1\",42.25],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "_of_origin\",43],PARAMETER[\"central_meridian\",3],PARAM");
+        "standard_parallel_2\",43.75],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",1700000],PARAMETER[\"false_northi");
+        "gin\",43],PARAMETER[\"central_meridian\",3],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ng\",2200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "false_easting\",1700000],PARAMETER[\"false_northing\",22");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "\",\"3943\"]]");
-    p = add_epsg_def (filter, first, last, 3944, "epsg", 3944,
-        "RGF93 / CC44");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+    add_srs_wkt (p, 14,
+        "43\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3944, "epsg", 3944,
+        "RGF93 / CC44", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=43.25 +lat_2=44.75 +lat_0=44 +lon_0=3 +");
     add_proj4text (p, 1,
@@ -517,25 +747,30 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",43.25],PARAM");
+        "SG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",44.75],PARAMETER[\"latitude");
+        "\"],PARAMETER[\"standard_parallel_1\",43.25],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "_of_origin\",44],PARAMETER[\"central_meridian\",3],PARAM");
+        "standard_parallel_2\",44.75],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",1700000],PARAMETER[\"false_northi");
+        "gin\",44],PARAMETER[\"central_meridian\",3],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ng\",3200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "false_easting\",1700000],PARAMETER[\"false_northing\",32");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "\",\"3944\"]]");
-    p = add_epsg_def (filter, first, last, 3945, "epsg", 3945,
-        "RGF93 / CC45");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+    add_srs_wkt (p, 14,
+        "44\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3945, "epsg", 3945,
+        "RGF93 / CC45", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.25 +lat_2=45.75 +lat_0=45 +lon_0=3 +");
     add_proj4text (p, 1,
@@ -553,25 +788,30 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",44.25],PARAM");
+        "SG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",45.75],PARAMETER[\"latitude");
+        "\"],PARAMETER[\"standard_parallel_1\",44.25],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "_of_origin\",45],PARAMETER[\"central_meridian\",3],PARAM");
+        "standard_parallel_2\",45.75],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",1700000],PARAMETER[\"false_northi");
+        "gin\",45],PARAMETER[\"central_meridian\",3],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ng\",4200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "false_easting\",1700000],PARAMETER[\"false_northing\",42");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "\",\"3945\"]]");
-    p = add_epsg_def (filter, first, last, 3946, "epsg", 3946,
-        "RGF93 / CC46");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+    add_srs_wkt (p, 14,
+        "45\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3946, "epsg", 3946,
+        "RGF93 / CC46", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.25 +lat_2=46.75 +lat_0=46 +lon_0=3 +");
     add_proj4text (p, 1,
@@ -589,25 +829,30 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",45.25],PARAM");
+        "SG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",46.75],PARAMETER[\"latitude");
+        "\"],PARAMETER[\"standard_parallel_1\",45.25],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "_of_origin\",46],PARAMETER[\"central_meridian\",3],PARAM");
+        "standard_parallel_2\",46.75],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",1700000],PARAMETER[\"false_northi");
+        "gin\",46],PARAMETER[\"central_meridian\",3],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ng\",5200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "false_easting\",1700000],PARAMETER[\"false_northing\",52");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "\",\"3946\"]]");
-    p = add_epsg_def (filter, first, last, 3947, "epsg", 3947,
-        "RGF93 / CC47");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+    add_srs_wkt (p, 14,
+        "46\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3947, "epsg", 3947,
+        "RGF93 / CC47", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=46.25 +lat_2=47.75 +lat_0=47 +lon_0=3 +");
     add_proj4text (p, 1,
@@ -625,25 +870,30 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",46.25],PARAM");
+        "SG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",47.75],PARAMETER[\"latitude");
+        "\"],PARAMETER[\"standard_parallel_1\",46.25],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "_of_origin\",47],PARAMETER[\"central_meridian\",3],PARAM");
+        "standard_parallel_2\",47.75],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",1700000],PARAMETER[\"false_northi");
+        "gin\",47],PARAMETER[\"central_meridian\",3],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ng\",6200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "false_easting\",1700000],PARAMETER[\"false_northing\",62");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "\",\"3947\"]]");
-    p = add_epsg_def (filter, first, last, 3948, "epsg", 3948,
-        "RGF93 / CC48");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+    add_srs_wkt (p, 14,
+        "47\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3948, "epsg", 3948,
+        "RGF93 / CC48", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=47.25 +lat_2=48.75 +lat_0=48 +lon_0=3 +");
     add_proj4text (p, 1,
@@ -661,25 +911,30 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",47.25],PARAM");
+        "SG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",48.75],PARAMETER[\"latitude");
+        "\"],PARAMETER[\"standard_parallel_1\",47.25],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "_of_origin\",48],PARAMETER[\"central_meridian\",3],PARAM");
+        "standard_parallel_2\",48.75],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",1700000],PARAMETER[\"false_northi");
+        "gin\",48],PARAMETER[\"central_meridian\",3],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ng\",7200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "false_easting\",1700000],PARAMETER[\"false_northing\",72");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "\",\"3948\"]]");
-    p = add_epsg_def (filter, first, last, 3949, "epsg", 3949,
-        "RGF93 / CC49");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+    add_srs_wkt (p, 14,
+        "48\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3949, "epsg", 3949,
+        "RGF93 / CC49", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.25 +lat_2=49.75 +lat_0=49 +lon_0=3 +");
     add_proj4text (p, 1,
@@ -697,25 +952,30 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",48.25],PARAM");
+        "SG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",49.75],PARAMETER[\"latitude");
+        "\"],PARAMETER[\"standard_parallel_1\",48.25],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "_of_origin\",49],PARAMETER[\"central_meridian\",3],PARAM");
+        "standard_parallel_2\",49.75],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",1700000],PARAMETER[\"false_northi");
+        "gin\",49],PARAMETER[\"central_meridian\",3],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ng\",8200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "false_easting\",1700000],PARAMETER[\"false_northing\",82");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "\",\"3949\"]]");
-    p = add_epsg_def (filter, first, last, 3950, "epsg", 3950,
-        "RGF93 / CC50");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+    add_srs_wkt (p, 14,
+        "49\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3950, "epsg", 3950,
+        "RGF93 / CC50", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49.25 +lat_2=50.75 +lat_0=50 +lon_0=3 +");
     add_proj4text (p, 1,
@@ -733,29 +993,36 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",49.25],PARAM");
+        "SG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",50.75],PARAMETER[\"latitude");
+        "\"],PARAMETER[\"standard_parallel_1\",49.25],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "_of_origin\",50],PARAMETER[\"central_meridian\",3],PARAM");
+        "standard_parallel_2\",50.75],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",1700000],PARAMETER[\"false_northi");
+        "gin\",50],PARAMETER[\"central_meridian\",3],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ng\",9200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "false_easting\",1700000],PARAMETER[\"false_northing\",92");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "\",\"3950\"]]");
-    p = add_epsg_def (filter, first, last, 3968, "epsg", 3968,
-        "NAD83 / Virginia Lambert");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+    add_srs_wkt (p, 14,
+        "50\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3968, "epsg", 3968,
+        "NAD83 / Virginia Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37 +lat_2=39.5 +lat_0=36 +lon_0=-79.5 +");
     add_proj4text (p, 1,
-        "x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Virginia Lambert\",GEOGCS[\"NAD83\",DAT");
     add_srs_wkt (p, 1,
@@ -767,25 +1034,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37],PAR");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",39.5],PARAMETER[\"latitud");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",37],PARAMETER");
     add_srs_wkt (p, 9,
-        "e_of_origin\",36],PARAMETER[\"central_meridian\",-79.5],");
+        "[\"standard_parallel_2\",39.5],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
+        "rigin\",36],PARAMETER[\"central_meridian\",-79.5],PARAME");
     add_srs_wkt (p, 11,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "TER[\"false_easting\",0],PARAMETER[\"false_northing\",0]");
     add_srs_wkt (p, 12,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
     add_srs_wkt (p, 13,
-        "68\"]]");
-    p = add_epsg_def (filter, first, last, 3969, "epsg", 3969,
-        "NAD83(HARN) / Virginia Lambert");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3968\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3969, "epsg", 3969,
+        "NAD83(HARN) / Virginia Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37 +lat_2=39.5 +lat_0=36 +lon_0=-79.5 +");
     add_proj4text (p, 1,
@@ -805,23 +1075,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",37],PARAMETER[\"standard_parallel_2\",3");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "9.5],PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"ce");
+        "rallel_1\",37],PARAMETER[\"standard_parallel_2\",39.5],P");
     add_srs_wkt (p, 10,
-        "ntral_meridian\",-79.5],PARAMETER[\"false_easting\",0],P");
+        "ARAMETER[\"latitude_of_origin\",36],PARAMETER[\"central_");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "meridian\",-79.5],PARAMETER[\"false_easting\",0],PARAMET");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"3969\"]]");
-    p = add_epsg_def (filter, first, last, 3970, "epsg", 3970,
-        "NAD83(NSRS2007) / Virginia Lambert");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"3969\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3970, "epsg", 3970,
+        "NAD83(NSRS2007) / Virginia Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=37 +lat_2=39.5 +lat_0=36 +lon_0=-79.5 +");
     add_proj4text (p, 1,
@@ -841,23 +1116,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_1\",37],PARAMETER[\"standar");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 9,
-        "d_parallel_2\",39.5],PARAMETER[\"latitude_of_origin\",36");
+        "ER[\"standard_parallel_1\",37],PARAMETER[\"standard_para");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"central_meridian\",-79.5],PARAMETER[\"fals");
+        "llel_2\",39.5],PARAMETER[\"latitude_of_origin\",36],PARA");
     add_srs_wkt (p, 11,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "METER[\"central_meridian\",-79.5],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 13,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3970\"]]");
-    p = add_epsg_def (filter, first, last, 3973, "epsg", 3973,
-        "WGS 84 / NSIDC EASE-Grid North");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3970\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3973, "epsg", 3973,
+        "WGS 84 / NSIDC EASE-Grid North", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84");
     add_proj4text (p, 1,
@@ -873,21 +1153,24 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitud");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "e_of_center\",90],PARAMETER[\"longitude_of_center\",0],P");
+        "ambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitude_of_c");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"false_easting\",0],PARAMETER[\"false_northing");
+        "enter\",90],PARAMETER[\"longitude_of_center\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 10,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"397");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 11,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 3974, "epsg", 3974,
-        "WGS 84 / NSIDC EASE-Grid South");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3973\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3974, "epsg", 3974,
+        "WGS 84 / NSIDC EASE-Grid South", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Azimuthal_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS8");
     add_proj4text (p, 1,
@@ -903,21 +1186,24 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitud");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "e_of_center\",-90],PARAMETER[\"longitude_of_center\",0],");
+        "ambert_Azimuthal_Equal_Area\"],PARAMETER[\"latitude_of_c");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
+        "enter\",-90],PARAMETER[\"longitude_of_center\",0],PARAME");
     add_srs_wkt (p, 9,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "TER[\"false_easting\",0],PARAMETER[\"false_northing\",0]");
     add_srs_wkt (p, 10,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"39");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
     add_srs_wkt (p, 11,
-        "74\"]]");
-    p = add_epsg_def (filter, first, last, 3975, "epsg", 3975,
-        "WGS 84 / NSIDC EASE-Grid Global");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3974\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3975, "epsg", 3975,
+        "WGS 84 / NSIDC EASE-Grid Global", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Cylindrical_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +datum=WGS84");
     add_proj4text (p, 1,
@@ -933,19 +1219,24 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "TION[\"Cylindrical_Equal_Area\"],PARAMETER[\"standard_pa");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"");
     add_srs_wkt (p, 7,
-        "rallel_1\",30],PARAMETER[\"central_meridian\",0],PARAMET");
+        "Cylindrical_Equal_Area\"],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 8,
-        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
+        "1\",30],PARAMETER[\"central_meridian\",0],PARAMETER[\"fa");
     add_srs_wkt (p, 9,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "lse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 10,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3975\"]]");
-    p = add_epsg_def (filter, first, last, 3976, "epsg", 3976,
-        "WGS 84 / NSIDC Sea Ice Polar Stereographic South");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 11,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3975\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3976, "epsg", 3976,
+        "WGS 84 / NSIDC Sea Ice Polar Stereographic South", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-70 +lon_0=0 +k=1 +x_0=0 ");
     add_proj4text (p, 1,
@@ -961,25 +1252,32 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4326\"]],PROJECTION[\"Polar_Stereographic\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",-70],PARAMETER[\"central_meridia");
+        "\"]],PROJECTION[\"Polar_Stereographic\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "itude_of_origin\",-70],PARAMETER[\"central_meridian\",0]");
     add_srs_wkt (p, 9,
-        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 10,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3976\"]]");
-    p = add_epsg_def (filter, first, last, 3978, "epsg", 3978,
-        "NAD83 / Canada Atlas Lambert");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"3976\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3978, "epsg", 3978,
+        "NAD83 / Canada Atlas Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=49 +lon_0=-95 +x_0=");
     add_proj4text (p, 1,
-        "0 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +n");
+    add_proj4text (p, 2,
+        "o_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Canada Atlas Lambert\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
@@ -993,23 +1291,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",49");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",77],PARAMETER[\"lati");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",49],PARA");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",49],PARAMETER[\"central_meridian\",-95]");
+        "METER[\"standard_parallel_2\",77],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",0],PARAMETER[\"false_northi");
+        "f_origin\",49],PARAMETER[\"central_meridian\",-95],PARAM");
     add_srs_wkt (p, 11,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "ETER[\"false_easting\",0],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 12,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"3978\"]]");
-    p = add_epsg_def (filter, first, last, 3979, "epsg", 3979,
-        "NAD83(CSRS) / Canada Atlas Lambert");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"3978\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3979, "epsg", 3979,
+        "NAD83(CSRS) / Canada Atlas Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=49 +lon_0=-95 +x_0=");
     add_proj4text (p, 1,
@@ -1029,23 +1332,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJE");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",49],PARAMETER[\"standard_parallel_");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "2\",77],PARAMETER[\"latitude_of_origin\",49],PARAMETER[\"");
+        "ard_parallel_1\",49],PARAMETER[\"standard_parallel_2\",7");
     add_srs_wkt (p, 10,
-        "central_meridian\",-95],PARAMETER[\"false_easting\",0],P");
+        "7],PARAMETER[\"latitude_of_origin\",49],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "ral_meridian\",-95],PARAMETER[\"false_easting\",0],PARAM");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3979\"]]");
-    p = add_epsg_def (filter, first, last, 3985, "epsg", 3985,
-        "Katanga 1955 / Katanga Lambert (deprecated)");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"3979\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3985, "epsg", 3985,
+        "Katanga 1955 / Katanga Lambert (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Katanga_1955", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-6.5 +lat_2=-11.5 +lat_0=9 +lon_0=26 +x");
     add_proj4text (p, 1,
@@ -1057,7 +1365,7 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "EOGCS[\"Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EP");
+        "Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
         "SG\",\"7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0]");
     add_srs_wkt (p, 4,
@@ -1065,23 +1373,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4695\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4695");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_1\",-6.5],PARAMETER[\"stand");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 9,
-        "ard_parallel_2\",-11.5],PARAMETER[\"latitude_of_origin\"");
+        "ER[\"standard_parallel_1\",-6.5],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 10,
-        ",9],PARAMETER[\"central_meridian\",26],PARAMETER[\"false");
+        "rallel_2\",-11.5],PARAMETER[\"latitude_of_origin\",9],PA");
     add_srs_wkt (p, 11,
-        "_easting\",500000],PARAMETER[\"false_northing\",500000],");
+        "RAMETER[\"central_meridian\",26],PARAMETER[\"false_easti");
     add_srs_wkt (p, 12,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "ng\",500000],PARAMETER[\"false_northing\",500000],UNIT[\"");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3985\"]]");
-    p = add_epsg_def (filter, first, last, 3986, "epsg", 3986,
-        "Katanga 1955 / Katanga Gauss zone A");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3985\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3986, "epsg", 3986,
+        "Katanga 1955 / Katanga Gauss zone A", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Katanga_1955", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-9 +lon_0=30 +k=1 +x_0=200000 +y_0=50");
     add_proj4text (p, 1,
@@ -1093,7 +1406,7 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clarke ");
     add_srs_wkt (p, 2,
-        "1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"");
+        "1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
         "7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 4,
@@ -1101,21 +1414,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4695\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4695\"]],PR");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",-9],PARAMETER[\"central_meridian\",30],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",-9],PARAMETER[\"central_meridian\",30],PARAME");
     add_srs_wkt (p, 10,
-        ",200000],PARAMETER[\"false_northing\",500000],UNIT[\"met");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",2000");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "00],PARAMETER[\"false_northing\",500000],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3986\"]]");
-    p = add_epsg_def (filter, first, last, 3987, "epsg", 3987,
-        "Katanga 1955 / Katanga Gauss zone B");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3986\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3987, "epsg", 3987,
+        "Katanga 1955 / Katanga Gauss zone B", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Katanga_1955", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-9 +lon_0=28 +k=1 +x_0=200000 +y_0=50");
     add_proj4text (p, 1,
@@ -1127,7 +1445,7 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clarke ");
     add_srs_wkt (p, 2,
-        "1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"");
+        "1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
         "7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 4,
@@ -1135,21 +1453,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4695\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4695\"]],PR");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",-9],PARAMETER[\"central_meridian\",28],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",-9],PARAMETER[\"central_meridian\",28],PARAME");
     add_srs_wkt (p, 10,
-        ",200000],PARAMETER[\"false_northing\",500000],UNIT[\"met");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",2000");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "00],PARAMETER[\"false_northing\",500000],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3987\"]]");
-    p = add_epsg_def (filter, first, last, 3988, "epsg", 3988,
-        "Katanga 1955 / Katanga Gauss zone C");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3987\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3988, "epsg", 3988,
+        "Katanga 1955 / Katanga Gauss zone C", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Katanga_1955", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-9 +lon_0=26 +k=1 +x_0=200000 +y_0=50");
     add_proj4text (p, 1,
@@ -1161,7 +1484,7 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clarke ");
     add_srs_wkt (p, 2,
-        "1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"");
+        "1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
         "7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 4,
@@ -1169,21 +1492,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4695\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4695\"]],PR");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",-9],PARAMETER[\"central_meridian\",26],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",-9],PARAMETER[\"central_meridian\",26],PARAME");
     add_srs_wkt (p, 10,
-        ",200000],PARAMETER[\"false_northing\",500000],UNIT[\"met");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",2000");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "00],PARAMETER[\"false_northing\",500000],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3988\"]]");
-    p = add_epsg_def (filter, first, last, 3989, "epsg", 3989,
-        "Katanga 1955 / Katanga Gauss zone D");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3988\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3989, "epsg", 3989,
+        "Katanga 1955 / Katanga Gauss zone D", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Katanga_1955", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-9 +lon_0=24 +k=1 +x_0=200000 +y_0=50");
     add_proj4text (p, 1,
@@ -1195,7 +1523,7 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clarke ");
     add_srs_wkt (p, 2,
-        "1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"");
+        "1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
         "7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 4,
@@ -1203,21 +1531,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4695\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4695\"]],PR");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",-9],PARAMETER[\"central_meridian\",24],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",-9],PARAMETER[\"central_meridian\",24],PARAME");
     add_srs_wkt (p, 10,
-        ",200000],PARAMETER[\"false_northing\",500000],UNIT[\"met");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",2000");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "00],PARAMETER[\"false_northing\",500000],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3989\"]]");
-    p = add_epsg_def (filter, first, last, 3991, "epsg", 3991,
-        "Puerto Rico State Plane CS of 1927");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3989\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3991, "epsg", 3991,
+        "Puerto Rico State Plane CS of 1927", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Puerto_Rico", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333");
     add_proj4text (p, 1,
@@ -1231,7 +1564,7 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "uerto Rico\",DATUM[\"Puerto_Rico\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
         "8\"]],TOWGS84[11,72,-101,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
@@ -1239,25 +1572,30 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4139\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"4139\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "llel_1\",18.43333333333333],PARAMETER[\"standard_paralle");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "l_2\",18.03333333333333],PARAMETER[\"latitude_of_origin\"");
+        "\",18.43333333333333],PARAMETER[\"standard_parallel_2\",");
     add_srs_wkt (p, 10,
-        ",17.83333333333333],PARAMETER[\"central_meridian\",-66.4");
+        "18.03333333333333],PARAMETER[\"latitude_of_origin\",17.8");
     add_srs_wkt (p, 11,
-        "3333333333334],PARAMETER[\"false_easting\",500000],PARAM");
+        "3333333333333],PARAMETER[\"central_meridian\",-66.433333");
     add_srs_wkt (p, 12,
-        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
+        "33333334],PARAMETER[\"false_easting\",500000],PARAMETER[");
     add_srs_wkt (p, 13,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3991\"]]");
-    p = add_epsg_def (filter, first, last, 3992, "epsg", 3992,
-        "Puerto Rico / St. Croix");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3991\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3992, "epsg", 3992,
+        "Puerto Rico / St. Croix", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Puerto_Rico", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333");
     add_proj4text (p, 1,
@@ -1271,7 +1609,7 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",DATUM[\"Puerto_Rico\",SPHEROID[\"Clarke 1866\",6378206.");
     add_srs_wkt (p, 2,
-        "4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS8");
+        "4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS8");
     add_srs_wkt (p, 3,
         "4[11,72,-101,0,0,0,0],AUTHORITY[\"EPSG\",\"6139\"]],PRIM");
     add_srs_wkt (p, 4,
@@ -1279,25 +1617,30 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4139\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",18");
+        "ORITY[\"EPSG\",\"4139\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".43333333333333],PARAMETER[\"standard_parallel_2\",18.03");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",18.43333");
     add_srs_wkt (p, 9,
-        "333333333333],PARAMETER[\"latitude_of_origin\",17.833333");
+        "333333333],PARAMETER[\"standard_parallel_2\",18.03333333");
     add_srs_wkt (p, 10,
-        "33333333],PARAMETER[\"central_meridian\",-66.43333333333");
+        "333333],PARAMETER[\"latitude_of_origin\",17.833333333333");
     add_srs_wkt (p, 11,
-        "334],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "33],PARAMETER[\"central_meridian\",-66.43333333333334],P");
     add_srs_wkt (p, 12,
-        "se_northing\",100000],UNIT[\"US survey foot\",0.30480060");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 13,
-        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+        "thing\",100000],UNIT[\"US survey foot\",0.30480060960121");
     add_srs_wkt (p, 14,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3992\"]]");
-    p = add_epsg_def (filter, first, last, 3994, "epsg", 3994,
-        "WGS 84 / Mercator 41");
+        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"3992\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3994, "epsg", 3994,
+        "WGS 84 / Mercator 41", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Mercator_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=100 +lat_ts=-41 +x_0=0 +y_0=0 +datum=W");
     add_proj4text (p, 1,
@@ -1313,19 +1656,24 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Merc");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "ator_2SP\"],PARAMETER[\"standard_parallel_1\",-41],PARAM");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Mercator_2");
     add_srs_wkt (p, 7,
-        "ETER[\"central_meridian\",100],PARAMETER[\"false_easting");
+        "SP\"],PARAMETER[\"standard_parallel_1\",-41],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "central_meridian\",100],PARAMETER[\"false_easting\",0],P");
     add_srs_wkt (p, 9,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 10,
-        ",NORTH],AUTHORITY[\"EPSG\",\"3994\"]]");
-    p = add_epsg_def (filter, first, last, 3995, "epsg", 3995,
-        "WGS 84 / Arctic Polar Stereographic");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 11,
+        ",AUTHORITY[\"EPSG\",\"3994\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3995, "epsg", 3995,
+        "WGS 84 / Arctic Polar Stereographic", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=90 +lat_ts=71 +lon_0=0 +k=1 +x_0=0 +y");
     add_proj4text (p, 1,
@@ -1341,21 +1689,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 6,
-        "OJECTION[\"Polar_Stereographic\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
     add_srs_wkt (p, 7,
-        "f_origin\",71],PARAMETER[\"central_meridian\",0],PARAMET");
+        "ON[\"Polar_Stereographic\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 8,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PA");
+        "in\",71],PARAMETER[\"central_meridian\",0],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "cale_factor\",1],PARAMETER[\"false_easting\",0],PARAMETE");
     add_srs_wkt (p, 10,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"3995\"]]");
-    p = add_epsg_def (filter, first, last, 3996, "epsg", 3996,
-        "WGS 84 / IBCAO Polar Stereographic");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 12,
+        "ITY[\"EPSG\",\"3995\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3996, "epsg", 3996,
+        "WGS 84 / IBCAO Polar Stereographic", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=90 +lat_ts=75 +lon_0=0 +k=1 +x_0=0 +y");
     add_proj4text (p, 1,
@@ -1371,21 +1724,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "JECTION[\"Polar_Stereographic\"],PARAMETER[\"latitude_of");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTIO");
     add_srs_wkt (p, 7,
-        "_origin\",75],PARAMETER[\"central_meridian\",0],PARAMETE");
+        "N[\"Polar_Stereographic\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 8,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PAR");
+        "n\",75],PARAMETER[\"central_meridian\",0],PARAMETER[\"sc");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "ale_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER");
     add_srs_wkt (p, 10,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"3996\"]]");
-    p = add_epsg_def (filter, first, last, 3997, "epsg", 3997,
-        "WGS 84 / Dubai Local TM");
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"3996\"]]");
+    p = add_epsg_def_ex (filter, first, last, 3997, "epsg", 3997,
+        "WGS 84 / Dubai Local TM", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=55.33333333333334 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -1401,21 +1759,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"central_meridian\",55.33333333333334],PARA");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 8,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
+        "METER[\"central_meridian\",55.33333333333334],PARAMETER[");
     add_srs_wkt (p, 9,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 10,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 11,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3997\"]]");
-    p = add_epsg_def (filter, first, last, 4001, "epsg", 4001,
-        "Unknown datum based upon the Airy 1830 ellipsoid");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 12,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"3997\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4001, "epsg", 4001,
+        "Unknown datum based upon the Airy 1830 ellipsoid", 1, 1,
+        "Airy 1830", "Greenwich",
+        "Not_specified_based_on_Airy_1830_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=airy +no_defs");
     add_srs_wkt (p, 0,
@@ -1431,9 +1794,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4001\"]]");
-    p = add_epsg_def (filter, first, last, 4002, "epsg", 4002,
-        "Unknown datum based upon the Airy Modified 1849 ellipsoid");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 7,
+        "ORITY[\"EPSG\",\"4001\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4002, "epsg", 4002,
+        "Unknown datum based upon the Airy Modified 1849 ellipsoid", 1, 1,
+        "Airy Modified 1849", "Greenwich",
+        "Not_specified_based_on_Airy_Modified_1849_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=mod_airy +no_defs");
     add_srs_wkt (p, 0,
@@ -1449,11 +1817,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4002\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4003, "epsg", 4003,
-        "Unknown datum based upon the Australian National Spheroid");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4002\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4003, "epsg", 4003,
+        "Unknown datum based upon the Australian National Spheroid", 1, 1,
+        "Australian National Spheroid", "Greenwich",
+        "Not_specified_based_on_Australian_National_Spheroid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=aust_SA +no_defs");
     add_srs_wkt (p, 0,
@@ -1469,11 +1840,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4003\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4004, "epsg", 4004,
-        "Unknown datum based upon the Bessel 1841 ellipsoid");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4003\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4004, "epsg", 4004,
+        "Unknown datum based upon the Bessel 1841 ellipsoid", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Not_specified_based_on_Bessel_1841_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
@@ -1489,9 +1863,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4004\"]]");
-    p = add_epsg_def (filter, first, last, 4005, "epsg", 4005,
-        "Unknown datum based upon the Bessel Modified ellipsoid");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 7,
+        "],AUTHORITY[\"EPSG\",\"4004\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4005, "epsg", 4005,
+        "Unknown datum based upon the Bessel Modified ellipsoid", 1, 1,
+        "Bessel Modified", "Greenwich",
+        "Not_specified_based_on_Bessel_Modified_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6377492.018 +b=6356173.508712696 +no_de");
     add_proj4text (p, 1,
@@ -1509,9 +1888,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4005\"]]");
-    p = add_epsg_def (filter, first, last, 4006, "epsg", 4006,
-        "Unknown datum based upon the Bessel Namibia ellipsoid");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 7,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4005\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4006, "epsg", 4006,
+        "Unknown datum based upon the Bessel Namibia ellipsoid", 1, 1,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Not_specified_based_on_Bessel_Namibia_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bess_nam +no_defs");
     add_srs_wkt (p, 0,
@@ -1527,11 +1911,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4006\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4007, "epsg", 4007,
-        "Unknown datum based upon the Clarke 1858 ellipsoid");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4006\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4007, "epsg", 4007,
+        "Unknown datum based upon the Clarke 1858 ellipsoid", 1, 1,
+        "Clarke 1858", "Greenwich",
+        "Not_specified_based_on_Clarke_1858_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 ");
     add_proj4text (p, 1,
@@ -1543,15 +1930,20 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "id\",SPHEROID[\"Clarke 1858\",6378293.645208759,294.2606");
     add_srs_wkt (p, 3,
-        "763692569,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG");
+        "763692606,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 4,
         "\",\"6007\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4007\"]]");
-    p = add_epsg_def (filter, first, last, 4008, "epsg", 4008,
-        "Unknown datum based upon the Clarke 1866 ellipsoid");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 7,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4007\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4008, "epsg", 4008,
+        "Unknown datum based upon the Clarke 1866 ellipsoid", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Not_specified_based_on_Clarke_1866_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +no_defs");
     add_srs_wkt (p, 0,
@@ -1559,17 +1951,22 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "oid\",DATUM[\"Not_specified_based_on_Clarke_1866_ellipso");
     add_srs_wkt (p, 2,
-        "id\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213900");
+        "id\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898");
     add_srs_wkt (p, 3,
-        "6,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"600");
+        "2,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"600");
     add_srs_wkt (p, 4,
         "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4008\"]]");
-    p = add_epsg_def (filter, first, last, 4009, "epsg", 4009,
-        "Unknown datum based upon the Clarke 1866 Michigan ellipsoid");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 7,
+        "EAST],AUTHORITY[\"EPSG\",\"4008\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4009, "epsg", 4009,
+        "Unknown datum based upon the Clarke 1866 Michigan ellipsoid", 1, 1,
+        "Clarke 1866 Michigan", "Greenwich",
+        "Not_specified_based_on_Clarke_1866_Michigan_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378450.047548896 +b=6356826.621488444 ");
     add_proj4text (p, 1,
@@ -1581,17 +1978,22 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "6_Michigan_ellipsoid\",SPHEROID[\"Clarke 1866 Michigan\"");
     add_srs_wkt (p, 3,
-        ",6378450.047548896,294.9786971646739,AUTHORITY[\"EPSG\",");
+        ",6378450.047548896,294.9786971646772,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
         "\"7009\"]],AUTHORITY[\"EPSG\",\"6009\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4009\"]]");
-    p = add_epsg_def (filter, first, last, 4010, "epsg", 4010,
-        "Unknown datum based upon the Clarke 1880 (Benoit) ellipsoid");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 8,
+        "G\",\"4009\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4010, "epsg", 4010,
+        "Unknown datum based upon the Clarke 1880 (Benoit) ellipsoid", 1, 1,
+        "Clarke 1880 (Benoit)", "Greenwich",
+        "Not_specified_based_on_Clarke_1880_Benoit_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378300.789 +b=6356566.435 +no_defs");
     add_srs_wkt (p, 0,
@@ -1601,17 +2003,22 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "0_Benoit_ellipsoid\",SPHEROID[\"Clarke 1880 (Benoit)\",6");
     add_srs_wkt (p, 3,
-        "378300.789,293.4663155389802,AUTHORITY[\"EPSG\",\"7010\"");
+        "378300.789,293.4663155389811,AUTHORITY[\"EPSG\",\"7010\"");
     add_srs_wkt (p, 4,
         "]],AUTHORITY[\"EPSG\",\"6010\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 5,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        ",\"4010\"]]");
-    p = add_epsg_def (filter, first, last, 4011, "epsg", 4011,
-        "Unknown datum based upon the Clarke 1880 (IGN) ellipsoid");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"40");
+    add_srs_wkt (p, 8,
+        "10\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4011, "epsg", 4011,
+        "Unknown datum based upon the Clarke 1880 (IGN) ellipsoid", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Not_specified_based_on_Clarke_1880_IGN_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
     add_srs_wkt (p, 0,
@@ -1621,15 +2028,20 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "GN_ellipsoid\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,");
     add_srs_wkt (p, 3,
-        "293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORIT");
+        "293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORIT");
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"6011\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4011\"]]");
-    p = add_epsg_def (filter, first, last, 4012, "epsg", 4012,
-        "Unknown datum based upon the Clarke 1880 (RGS) ellipsoid");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 7,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4011\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4012, "epsg", 4012,
+        "Unknown datum based upon the Clarke 1880 (RGS) ellipsoid", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Not_specified_based_on_Clarke_1880_RGS_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +no_defs");
     add_srs_wkt (p, 0,
@@ -1645,9 +2057,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4012\"]]");
-    p = add_epsg_def (filter, first, last, 4013, "epsg", 4013,
-        "Unknown datum based upon the Clarke 1880 (Arc) ellipsoid");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 7,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4012\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4013, "epsg", 4013,
+        "Unknown datum based upon the Clarke 1880 (Arc) ellipsoid", 1, 1,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Not_specified_based_on_Clarke_1880_Arc_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_de");
     add_proj4text (p, 1,
@@ -1665,9 +2082,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4013\"]]");
-    p = add_epsg_def (filter, first, last, 4014, "epsg", 4014,
-        "Unknown datum based upon the Clarke 1880 (SGA 1922) ellipsoid");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 7,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4013\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4014, "epsg", 4014,
+        "Unknown datum based upon the Clarke 1880 (SGA 1922) ellipsoid", 1, 1,
+        "Clarke 1880 (SGA 1922)", "Greenwich",
+        "Not_specified_based_on_Clarke_1880_SGA_1922_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356514.996941779 +no_defs");
     add_srs_wkt (p, 0,
@@ -1683,15 +2105,20 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4014\"]]");
-    p = add_epsg_def (filter, first, last, 4015, "epsg", 4015,
-        "Unknown datum based upon the Everest 1830 (1937 Adjustment) ellipsoid");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4014\"");
+    add_srs_wkt (p, 8,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4015, "epsg", 4015,
+        "Unknown datum based upon the Everest 1830 (1937 Adjustment) ellipsoid", 1, 1,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Not_specified_based_on_Everest_1830_1937_Adjustment_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_def");
+        "+proj=longlat +a=6377276.345 +b=6356075.413140239 +no_de");
     add_proj4text (p, 1,
-        "s");
+        "fs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Unknown datum based upon the Everest 1830 (1937");
     add_srs_wkt (p, 1,
@@ -1707,9 +2134,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "]],AUTHORITY[\"EPSG\",\"4015\"]]");
-    p = add_epsg_def (filter, first, last, 4016, "epsg", 4016,
-        "Unknown datum based upon the Everest 1830 (1967 Definition) ellipsoid");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 8,
+        "HORITY[\"EPSG\",\"4015\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4016, "epsg", 4016,
+        "Unknown datum based upon the Everest 1830 (1967 Definition) ellipsoid", 1, 1,
+        "Everest 1830 (1967 Definition)", "Greenwich",
+        "Not_specified_based_on_Everest_1830_1967_Definition_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=evrstSS +no_defs");
     add_srs_wkt (p, 0,
@@ -1727,9 +2159,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "]],AUTHORITY[\"EPSG\",\"4016\"]]");
-    p = add_epsg_def (filter, first, last, 4018, "epsg", 4018,
-        "Unknown datum based upon the Everest 1830 Modified ellipsoid");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 8,
+        "HORITY[\"EPSG\",\"4016\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4018, "epsg", 4018,
+        "Unknown datum based upon the Everest 1830 Modified ellipsoid", 1, 1,
+        "Everest 1830 Modified", "Greenwich",
+        "Not_specified_based_on_Everest_1830_Modified_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6377304.063 +b=6356103.038993155 +no_de");
     add_proj4text (p, 1,
@@ -1747,11 +2184,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "4018\"]]");
-    p = add_epsg_def (filter, first, last, 4019, "epsg", 4019,
-        "Unknown datum based upon the GRS 1980 ellipsoid");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4018\"");
+    add_srs_wkt (p, 8,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4019, "epsg", 4019,
+        "Unknown datum based upon the GRS 1980 ellipsoid", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Not_specified_based_on_GRS_1980_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +no_defs");
     add_srs_wkt (p, 0,
@@ -1765,11 +2207,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4019\"]]");
-    p = add_epsg_def (filter, first, last, 4020, "epsg", 4020,
-        "Unknown datum based upon the Helmert 1906 ellipsoid");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 7,
+        "[\"EPSG\",\"4019\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4020, "epsg", 4020,
+        "Unknown datum based upon the Helmert 1906 ellipsoid", 1, 1,
+        "Helmert 1906", "Greenwich",
+        "Not_specified_based_on_Helmert_1906_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=helmert +no_defs");
     add_srs_wkt (p, 0,
@@ -1785,9 +2232,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4020\"]]");
-    p = add_epsg_def (filter, first, last, 4021, "epsg", 4021,
-        "Unknown datum based upon the Indonesian National Spheroid");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
+    add_srs_wkt (p, 7,
+        "RITY[\"EPSG\",\"4020\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4021, "epsg", 4021,
+        "Unknown datum based upon the Indonesian National Spheroid", 1, 1,
+        "Indonesian National Spheroid", "Greenwich",
+        "Not_specified_based_on_Indonesian_National_Spheroid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378160 +b=6356774.50408554 +no_defs");
     add_srs_wkt (p, 0,
@@ -1803,11 +2255,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4021");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 4022, "epsg", 4022,
-        "Unknown datum based upon the International 1924 ellipsoid");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4021\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4022, "epsg", 4022,
+        "Unknown datum based upon the International 1924 ellipsoid", 1, 1,
+        "International 1924", "Greenwich",
+        "Not_specified_based_on_International_1924_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -1823,9 +2278,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4022\"]]");
-    p = add_epsg_def (filter, first, last, 4023, "epsg", 4023,
-        "MOLDREF99");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 7,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4022\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4023, "epsg", 4023,
+        "MOLDREF99", 1, 1,
+        "GRS 1980", "Greenwich",
+        "MOLDREF99", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1841,9 +2301,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4023\"]]");
-    p = add_epsg_def (filter, first, last, 4024, "epsg", 4024,
-        "Unknown datum based upon the Krassowsky 1940 ellipsoid");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 6,
+        "AUTHORITY[\"EPSG\",\"4023\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4024, "epsg", 4024,
+        "Unknown datum based upon the Krassowsky 1940 ellipsoid", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Not_specified_based_on_Krassowsky_1940_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +no_defs");
     add_srs_wkt (p, 0,
@@ -1859,9 +2324,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4024\"]]");
-    p = add_epsg_def (filter, first, last, 4025, "epsg", 4025,
-        "Unknown datum based upon the NWL 9D ellipsoid");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 7,
+        "T],AUTHORITY[\"EPSG\",\"4024\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4025, "epsg", 4025,
+        "Unknown datum based upon the NWL 9D ellipsoid", 1, 1,
+        "NWL 9D", "Greenwich",
+        "Not_specified_based_on_NWL_9D_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS66 +no_defs");
     add_srs_wkt (p, 0,
@@ -1875,11 +2345,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4025\"]]");
-    p = add_epsg_def (filter, first, last, 4026, "epsg", 4026,
-        "MOLDREF99 / Moldova TM");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"40");
+    add_srs_wkt (p, 7,
+        "25\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4026, "epsg", 4026,
+        "MOLDREF99 / Moldova TM", 0, 1,
+        "GRS 1980", "Greenwich",
+        "MOLDREF99", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=28.4 +k=0.9999400000000001 +");
     add_proj4text (p, 1,
@@ -1897,21 +2372,28 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4023\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"40");
     add_srs_wkt (p, 7,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "23\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "an\",28.4],PARAMETER[\"scale_factor\",0.99994],PARAMETER");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",28");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",200000],PARAMETER[\"false_northing\",");
+        ".4],PARAMETER[\"scale_factor\",0.99994],PARAMETER[\"fals");
     add_srs_wkt (p, 10,
-        "-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "e_easting\",200000],PARAMETER[\"false_northing\",-500000");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"4026\"]]");
-    p = add_epsg_def (filter, first, last, 4027, "epsg", 4027,
-        "Unknown datum based upon the Plessis 1817 ellipsoid");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4026\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4027, "epsg", 4027,
+        "Unknown datum based upon the Plessis 1817 ellipsoid", 1, 1,
+        "Plessis 1817", "Greenwich",
+        "Not_specified_based_on_Plessis_1817_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6376523 +b=6355862.933255573 +no_defs");
     add_srs_wkt (p, 0,
@@ -1927,11 +2409,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4027\"]]");
-    p = add_epsg_def (filter, first, last, 4028, "epsg", 4028,
-        "Unknown datum based upon the Struve 1860 ellipsoid");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 7,
+        "ORITY[\"EPSG\",\"4027\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4028, "epsg", 4028,
+        "Unknown datum based upon the Struve 1860 ellipsoid", 1, 1,
+        "Struve 1860", "Greenwich",
+        "Not_specified_based_on_Struve_1860_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6378298.3 +b=6356657.142669561 +no_defs");
+        "+proj=longlat +a=6378298.3 +b=6356657.142669562 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Unknown datum based upon the Struve 1860 ellips");
     add_srs_wkt (p, 1,
@@ -1945,9 +2432,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4028\"]]");
-    p = add_epsg_def (filter, first, last, 4029, "epsg", 4029,
-        "Unknown datum based upon the War Office ellipsoid");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
+    add_srs_wkt (p, 7,
+        "RITY[\"EPSG\",\"4028\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4029, "epsg", 4029,
+        "Unknown datum based upon the War Office ellipsoid", 1, 1,
+        "War Office", "Greenwich",
+        "Not_specified_based_on_War_Office_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378300 +b=6356751.689189189 +no_defs");
     add_srs_wkt (p, 0,
@@ -1961,11 +2453,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4029\"]]");
-    p = add_epsg_def (filter, first, last, 4030, "epsg", 4030,
-        "Unknown datum based upon the WGS 84 ellipsoid");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 7,
+        "SG\",\"4029\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4030, "epsg", 4030,
+        "Unknown datum based upon the WGS 84 ellipsoid", 1, 1,
+        "WGS 84", "Greenwich",
+        "Not_specified_based_on_WGS_84_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +no_defs");
     add_srs_wkt (p, 0,
@@ -1979,11 +2476,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4030\"]]");
-    p = add_epsg_def (filter, first, last, 4031, "epsg", 4031,
-        "Unknown datum based upon the GEM 10C ellipsoid");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 7,
+        "G\",\"4030\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4031, "epsg", 4031,
+        "Unknown datum based upon the GEM 10C ellipsoid", 1, 1,
+        "GEM 10C", "Greenwich",
+        "Not_specified_based_on_GEM_10C_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +no_defs");
     add_srs_wkt (p, 0,
@@ -1997,11 +2499,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4031\"]]");
-    p = add_epsg_def (filter, first, last, 4032, "epsg", 4032,
-        "Unknown datum based upon the OSU86F ellipsoid");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 7,
+        "SG\",\"4031\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4032, "epsg", 4032,
+        "Unknown datum based upon the OSU86F ellipsoid", 1, 1,
+        "OSU86F", "Greenwich",
+        "Not_specified_based_on_OSU86F_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378136.2 +b=6356751.516927429 +no_defs");
     add_srs_wkt (p, 0,
@@ -2015,11 +2522,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4032\"]]");
-    p = add_epsg_def (filter, first, last, 4033, "epsg", 4033,
-        "Unknown datum based upon the OSU91A ellipsoid");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 7,
+        "SG\",\"4032\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4033, "epsg", 4033,
+        "Unknown datum based upon the OSU91A ellipsoid", 1, 1,
+        "OSU91A", "Greenwich",
+        "Not_specified_based_on_OSU91A_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378136.3 +b=6356751.616592146 +no_defs");
     add_srs_wkt (p, 0,
@@ -2033,11 +2545,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4033\"]]");
-    p = add_epsg_def (filter, first, last, 4034, "epsg", 4034,
-        "Unknown datum based upon the Clarke 1880 ellipsoid");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 7,
+        "SG\",\"4033\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4034, "epsg", 4034,
+        "Unknown datum based upon the Clarke 1880 ellipsoid", 1, 1,
+        "Clarke 1880", "Greenwich",
+        "Not_specified_based_on_Clarke_1880_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.144808011 +b=6356514.966204134 ");
     add_proj4text (p, 1,
@@ -2049,15 +2566,20 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "id\",SPHEROID[\"Clarke 1880\",6378249.144808011,293.4663");
     add_srs_wkt (p, 3,
-        "076556349,AUTHORITY[\"EPSG\",\"7034\"]],AUTHORITY[\"EPSG");
+        "076556365,AUTHORITY[\"EPSG\",\"7034\"]],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 4,
         "\",\"6034\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4034\"]]");
-    p = add_epsg_def (filter, first, last, 4035, "epsg", 4035,
-        "Unknown datum based upon the Authalic Sphere");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 7,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4034\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4035, "epsg", 4035,
+        "Unknown datum based upon the Authalic Sphere", 1, 1,
+        "Sphere", "Greenwich",
+        "Not_specified_based_on_Authalic_Sphere", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6371000 +b=6371000 +no_defs");
     add_srs_wkt (p, 0,
@@ -2071,11 +2593,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"40");
+        "33,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "35\"]]");
-    p = add_epsg_def (filter, first, last, 4036, "epsg", 4036,
-        "Unknown datum based upon the GRS 1967 ellipsoid");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4035\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4036, "epsg", 4036,
+        "Unknown datum based upon the GRS 1967 ellipsoid", 1, 1,
+        "GRS 1967", "Greenwich",
+        "Not_specified_based_on_GRS_1967_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS67 +no_defs");
     add_srs_wkt (p, 0,
@@ -2089,11 +2614,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4036\"]]");
-    p = add_epsg_def (filter, first, last, 4037, "epsg", 4037,
-        "WGS 84 / TMzn35N");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 7,
+        "[\"EPSG\",\"4036\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4037, "epsg", 4037,
+        "WGS 84 / TMzn35N", 0, 1,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=35 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2107,19 +2637,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 5,
-        "\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 6,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "UTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 7,
-        "ETER[\"central_meridian\",27],PARAMETER[\"scale_factor\"");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "central_meridian\",27],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 9,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4037\"]]");
-    p = add_epsg_def (filter, first, last, 4038, "epsg", 4038,
-        "WGS 84 / TMzn36N");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 11,
+        "\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"4037\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4038, "epsg", 4038,
+        "WGS 84 / TMzn36N", 0, 1,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=36 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2133,19 +2670,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 5,
-        "\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 6,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "UTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 7,
-        "ETER[\"central_meridian\",33],PARAMETER[\"scale_factor\"");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "central_meridian\",33],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 9,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4038\"]]");
-    p = add_epsg_def (filter, first, last, 4041, "epsg", 4041,
-        "Unknown datum based upon the Average Terrestrial System 1977 ellipsoid");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 11,
+        "\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"4038\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4041, "epsg", 4041,
+        "Unknown datum based upon the Average Terrestrial System 1977 ellipsoid", 1, 1,
+        "Average Terrestrial System 1977", "Greenwich",
+        "Not_specified_based_on_Average_Terrestrial_System_1977_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378135 +b=6356750.304921594 +no_defs");
     add_srs_wkt (p, 0,
@@ -2163,9 +2707,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "]],AUTHORITY[\"EPSG\",\"4041\"]]");
-    p = add_epsg_def (filter, first, last, 4042, "epsg", 4042,
-        "Unknown datum based upon the Everest (1830 Definition) ellipsoid");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 8,
+        "HORITY[\"EPSG\",\"4041\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4042, "epsg", 4042,
+        "Unknown datum based upon the Everest (1830 Definition) ellipsoid", 1, 1,
+        "Everest (1830 Definition)", "Greenwich",
+        "Not_specified_based_on_Everest_1830_Definition_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6377299.36559538 +b=6356098.359005156 +");
     add_proj4text (p, 1,
@@ -2177,7 +2726,7 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "st_1830_Definition_ellipsoid\",SPHEROID[\"Everest (1830 ");
     add_srs_wkt (p, 3,
-        "Definition)\",6377299.36559538,300.8017255433552,AUTHORI");
+        "Definition)\",6377299.36559538,300.8017255433549,AUTHORI");
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6042\"]],PRI");
     add_srs_wkt (p, 5,
@@ -2185,9 +2734,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "],AUTHORITY[\"EPSG\",\"4042\"]]");
-    p = add_epsg_def (filter, first, last, 4043, "epsg", 4043,
-        "Unknown datum based upon the WGS 72 ellipsoid");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 8,
+        "ORITY[\"EPSG\",\"4042\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4043, "epsg", 4043,
+        "Unknown datum based upon the WGS 72 ellipsoid", 1, 1,
+        "WGS 72", "Greenwich",
+        "Not_specified_based_on_WGS_72_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS72 +no_defs");
     add_srs_wkt (p, 0,
@@ -2201,13 +2755,18 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4043\"]]");
-    p = add_epsg_def (filter, first, last, 4044, "epsg", 4044,
-        "Unknown datum based upon the Everest 1830 (1962 Definition) ellipsoid");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"40");
+    add_srs_wkt (p, 7,
+        "43\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4044, "epsg", 4044,
+        "Unknown datum based upon the Everest 1830 (1962 Definition) ellipsoid", 1, 1,
+        "Everest 1830 (1962 Definition)", "Greenwich",
+        "Not_specified_based_on_Everest_1830_1962_Definition_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377301.243 +b=6356100.230165384 +no_de");
+        "+proj=longlat +a=6377301.243 +b=6356100.230165385 +no_de");
     add_proj4text (p, 1,
         "fs");
     add_srs_wkt (p, 0,
@@ -2225,9 +2784,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 7,
-        "22\"]],AUTHORITY[\"EPSG\",\"4044\"]]");
-    p = add_epsg_def (filter, first, last, 4045, "epsg", 4045,
-        "Unknown datum based upon the Everest 1830 (1975 Definition) ellipsoid");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
+    add_srs_wkt (p, 8,
+        ",AUTHORITY[\"EPSG\",\"4044\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4045, "epsg", 4045,
+        "Unknown datum based upon the Everest 1830 (1975 Definition) ellipsoid", 1, 1,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Not_specified_based_on_Everest_1830_1975_Definition_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6377299.151 +b=6356098.145120132 +no_de");
     add_proj4text (p, 1,
@@ -2247,9 +2811,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 7,
-        "22\"]],AUTHORITY[\"EPSG\",\"4045\"]]");
-    p = add_epsg_def (filter, first, last, 4046, "epsg", 4046,
-        "RGRDC 2005");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
+    add_srs_wkt (p, 8,
+        ",AUTHORITY[\"EPSG\",\"4045\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4046, "epsg", 4046,
+        "RGRDC 2005", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -2265,11 +2834,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4047, "epsg", 4047,
-        "Unspecified datum based upon the GRS 1980 Authalic Sphere");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4046\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4047, "epsg", 4047,
+        "Unspecified datum based upon the GRS 1980 Authalic Sphere", 1, 1,
+        "GRS 1980 Authalic Sphere", "Greenwich",
+        "Not_specified_based_on_GRS_1980_Authalic_Sphere", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6371007 +b=6371007 +no_defs");
     add_srs_wkt (p, 0,
@@ -2285,9 +2857,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4047\"]]");
-    p = add_epsg_def (filter, first, last, 4048, "epsg", 4048,
-        "RGRDC 2005 / Congo TM zone 12");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 7,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4047\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4048, "epsg", 4048,
+        "RGRDC 2005 / Congo TM zone 12", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2307,21 +2884,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",12],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",12],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
+        "or\",0.9999],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"4048\"]]");
-    p = add_epsg_def (filter, first, last, 4049, "epsg", 4049,
-        "RGRDC 2005 / Congo TM zone 14");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"4048\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4049, "epsg", 4049,
+        "RGRDC 2005 / Congo TM zone 14", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2341,21 +2923,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",14],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",14],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
+        "or\",0.9999],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"4049\"]]");
-    p = add_epsg_def (filter, first, last, 4050, "epsg", 4050,
-        "RGRDC 2005 / Congo TM zone 16");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"4049\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4050, "epsg", 4050,
+        "RGRDC 2005 / Congo TM zone 16", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2375,21 +2962,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",16],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",16],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
+        "or\",0.9999],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"4050\"]]");
-    p = add_epsg_def (filter, first, last, 4051, "epsg", 4051,
-        "RGRDC 2005 / Congo TM zone 18");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"4050\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4051, "epsg", 4051,
+        "RGRDC 2005 / Congo TM zone 18", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2409,21 +3001,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",18],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",18],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
+        "or\",0.9999],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"4051\"]]");
-    p = add_epsg_def (filter, first, last, 4052, "epsg", 4052,
-        "Unspecified datum based upon the Clarke 1866 Authalic Sphere");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"4051\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4052, "epsg", 4052,
+        "Unspecified datum based upon the Clarke 1866 Authalic Sphere", 1, 1,
+        "Clarke 1866 Authalic Sphere", "Greenwich",
+        "Not_specified_based_on_Clarke_1866_Authalic_Sphere", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6370997 +b=6370997 +no_defs");
     add_srs_wkt (p, 0,
@@ -2439,9 +3036,14 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4052\"]]");
-    p = add_epsg_def (filter, first, last, 4053, "epsg", 4053,
-        "Unspecified datum based upon the International 1924 Authalic Sphere");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 7,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4052\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4053, "epsg", 4053,
+        "Unspecified datum based upon the International 1924 Authalic Sphere", 1, 1,
+        "International 1924 Authalic Sphere", "Greenwich",
+        "Not_specified_based_on_International_1924_Authalic_Sphere", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6371228 +b=6371228 +no_defs");
     add_srs_wkt (p, 0,
@@ -2457,11 +3059,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4053\"]]");
-    p = add_epsg_def (filter, first, last, 4054, "epsg", 4054,
-        "Unspecified datum based upon the Hughes 1980 ellipsoid");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 8,
+        "G\",\"4053\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4054, "epsg", 4054,
+        "Unspecified datum based upon the Hughes 1980 ellipsoid", 1, 1,
+        "Hughes 1980", "Greenwich",
+        "Not_specified_based_on_Hughes_1980_ellipsoid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378273 +b=6356889.449 +no_defs");
     add_srs_wkt (p, 0,
@@ -2471,15 +3078,20 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "ipsoid\",SPHEROID[\"Hughes 1980\",6378273,298.2794111230");
     add_srs_wkt (p, 3,
-        "61,AUTHORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"60");
+        "64,AUTHORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"60");
     add_srs_wkt (p, 4,
         "54\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4054\"]]");
-    p = add_epsg_def (filter, first, last, 4055, "epsg", 4055,
-        "Popular Visualisation CRS");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 7,
+        "EAST],AUTHORITY[\"EPSG\",\"4054\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4055, "epsg", 4055,
+        "Popular Visualisation CRS", 1, 1,
+        "Popular Visualisation Sphere", "Greenwich",
+        "Popular_Visualisation_Datum", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0");
     add_proj4text (p, 1,
@@ -2495,11 +3107,16 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4055\"]]");
-    p = add_epsg_def (filter, first, last, 4056, "epsg", 4056,
-        "RGRDC 2005 / Congo TM zone 20");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 7,
+        "SG\",\"4055\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4056, "epsg", 4056,
+        "RGRDC 2005 / Congo TM zone 20", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=20 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2519,21 +3136,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",20],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",20],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
+        "or\",0.9999],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"4056\"]]");
-    p = add_epsg_def (filter, first, last, 4057, "epsg", 4057,
-        "RGRDC 2005 / Congo TM zone 22");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"4056\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4057, "epsg", 4057,
+        "RGRDC 2005 / Congo TM zone 22", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2553,21 +3175,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",22],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",22],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
+        "or\",0.9999],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"4057\"]]");
-    p = add_epsg_def (filter, first, last, 4058, "epsg", 4058,
-        "RGRDC 2005 / Congo TM zone 24");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"4057\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4058, "epsg", 4058,
+        "RGRDC 2005 / Congo TM zone 24", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2587,21 +3214,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",24],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",24],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
+        "or\",0.9999],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"4058\"]]");
-    p = add_epsg_def (filter, first, last, 4059, "epsg", 4059,
-        "RGRDC 2005 / Congo TM zone 26");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"4058\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4059, "epsg", 4059,
+        "RGRDC 2005 / Congo TM zone 26", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=26 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2621,21 +3253,26 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",26],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
+        "ARAMETER[\"central_meridian\",26],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
+        "or\",0.9999],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"4059\"]]");
-    p = add_epsg_def (filter, first, last, 4060, "epsg", 4060,
-        "RGRDC 2005 / Congo TM zone 28");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"4059\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4060, "epsg", 4060,
+        "RGRDC 2005 / Congo TM zone 28", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=28 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2655,115 +3292,21 @@ initialize_epsg_18 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",28],PARAMETER[\"scale");
-    add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
-    add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
-    add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
-    add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"4060\"]]");
-    p = add_epsg_def (filter, first, last, 4061, "epsg", 4061,
-        "RGRDC 2005 / UTM zone 33S");
-    add_proj4text (p, 0,
-        "+proj=utm +zone=33 +south +ellps=GRS80 +towgs84=0,0,0,0,");
-    add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"RGRDC 2005 / UTM zone 33S\",GEOGCS[\"RGRDC 2005");
-    add_srs_wkt (p, 1,
-        "\",DATUM[\"Reseau_Geodesique_de_la_RDC_2005\",SPHEROID[\"");
-    add_srs_wkt (p, 2,
-        "GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"70");
-    add_srs_wkt (p, 3,
-        "19\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1033\"");
-    add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
-    add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
-    add_srs_wkt (p, 7,
         "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
-    add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ARAMETER[\"central_meridian\",28],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",0.9999],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
-    add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"4061\"]]");
-    p = add_epsg_def (filter, first, last, 4062, "epsg", 4062,
-        "RGRDC 2005 / UTM zone 34S");
-    add_proj4text (p, 0,
-        "+proj=utm +zone=34 +south +ellps=GRS80 +towgs84=0,0,0,0,");
-    add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"RGRDC 2005 / UTM zone 34S\",GEOGCS[\"RGRDC 2005");
-    add_srs_wkt (p, 1,
-        "\",DATUM[\"Reseau_Geodesique_de_la_RDC_2005\",SPHEROID[\"");
-    add_srs_wkt (p, 2,
-        "GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"70");
-    add_srs_wkt (p, 3,
-        "19\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1033\"");
-    add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
-    add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
-    add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
-    add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",21],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
-    add_srs_wkt (p, 10,
         "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
-    add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"4062\"]]");
-    p = add_epsg_def (filter, first, last, 4063, "epsg", 4063,
-        "RGRDC 2005 / UTM zone 35S");
-    add_proj4text (p, 0,
-        "+proj=utm +zone=35 +south +ellps=GRS80 +towgs84=0,0,0,0,");
-    add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"RGRDC 2005 / UTM zone 35S\",GEOGCS[\"RGRDC 2005");
-    add_srs_wkt (p, 1,
-        "\",DATUM[\"Reseau_Geodesique_de_la_RDC_2005\",SPHEROID[\"");
-    add_srs_wkt (p, 2,
-        "GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"70");
-    add_srs_wkt (p, 3,
-        "19\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1033\"");
-    add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
-    add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
-    add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
-    add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",27],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
-    add_srs_wkt (p, 10,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
-    add_srs_wkt (p, 11,
         "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
-    add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"4063\"]]");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"4060\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_19.c b/src/srsinit/epsg_inlined_19.c
index 260e4b4..dcd8e07 100644
--- a/src/srsinit/epsg_inlined_19.c
+++ b/src/srsinit/epsg_inlined_19.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,40 +54,159 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 4071, "epsg", 4071,
-        "Chua / UTM zone 23S");
+    p = add_epsg_def_ex (filter, first, last, 4061, "epsg", 4061,
+        "RGRDC 2005 / UTM zone 33S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=33 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+    add_proj4text (p, 1,
+        "0,0,0 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"RGRDC 2005 / UTM zone 33S\",GEOGCS[\"RGRDC 2005");
+    add_srs_wkt (p, 1,
+        "\",DATUM[\"Reseau_Geodesique_de_la_RDC_2005\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"70");
+    add_srs_wkt (p, 3,
+        "19\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1033\"");
+    add_srs_wkt (p, 4,
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+    add_srs_wkt (p, 5,
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 7,
+        "T],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Transverse");
+    add_srs_wkt (p, 8,
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+    add_srs_wkt (p, 9,
+        "ER[\"central_meridian\",15],PARAMETER[\"scale_factor\",0");
+    add_srs_wkt (p, 10,
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+    add_srs_wkt (p, 11,
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"4061\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4062, "epsg", 4062,
+        "RGRDC 2005 / UTM zone 34S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +south +ellps=intl +towgs84=-134,229,");
+        "+proj=utm +zone=34 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "-29,0,0,0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"RGRDC 2005 / UTM zone 34S\",GEOGCS[\"RGRDC 2005");
+    add_srs_wkt (p, 1,
+        "\",DATUM[\"Reseau_Geodesique_de_la_RDC_2005\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"70");
+    add_srs_wkt (p, 3,
+        "19\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1033\"");
+    add_srs_wkt (p, 4,
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+    add_srs_wkt (p, 5,
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 7,
+        "T],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Transverse");
+    add_srs_wkt (p, 8,
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+    add_srs_wkt (p, 9,
+        "ER[\"central_meridian\",21],PARAMETER[\"scale_factor\",0");
+    add_srs_wkt (p, 10,
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+    add_srs_wkt (p, 11,
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"4062\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4063, "epsg", 4063,
+        "RGRDC 2005 / UTM zone 35S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=35 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+    add_proj4text (p, 1,
+        "0,0,0 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"RGRDC 2005 / UTM zone 35S\",GEOGCS[\"RGRDC 2005");
+    add_srs_wkt (p, 1,
+        "\",DATUM[\"Reseau_Geodesique_de_la_RDC_2005\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"70");
+    add_srs_wkt (p, 3,
+        "19\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1033\"");
+    add_srs_wkt (p, 4,
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+    add_srs_wkt (p, 5,
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 7,
+        "T],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Transverse");
+    add_srs_wkt (p, 8,
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+    add_srs_wkt (p, 9,
+        "ER[\"central_meridian\",27],PARAMETER[\"scale_factor\",0");
+    add_srs_wkt (p, 10,
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+    add_srs_wkt (p, 11,
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"4063\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4071, "epsg", 4071,
+        "Chua / UTM zone 23S", 0, 0,
+        "International 1924", "Greenwich",
+        "Chua", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=23 +south +ellps=intl +towgs84=-143.87,2");
+    add_proj4text (p, 1,
+        "43.37,-33.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Chua / UTM zone 23S\",GEOGCS[\"Chua\",DATUM[\"C");
     add_srs_wkt (p, 1,
         "hua\",SPHEROID[\"International 1924\",6378388,297,AUTHOR");
     add_srs_wkt (p, 2,
-        "ITY[\"EPSG\",\"7022\"]],TOWGS84[-134,229,-29,0,0,0,0],AU");
+        "ITY[\"EPSG\",\"7022\"]],TOWGS84[-143.87,243.37,-33.52,0,");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6224\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "0,0,0],AUTHORITY[\"EPSG\",\"6224\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "224\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "4224\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",10000000");
+        "45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "_easting\",500000],PARAMETER[\"false_northing\",10000000");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
         "G\",\"4071\"]]");
-    p = add_epsg_def (filter, first, last, 4075, "epsg", 4075,
-        "SREF98");
+    p = add_epsg_def_ex (filter, first, last, 4075, "epsg", 4075,
+        "SREF98", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Serbian_Reference_Network_1998", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -101,9 +222,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4075\"]]");
-    p = add_epsg_def (filter, first, last, 4081, "epsg", 4081,
-        "REGCAN95");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4075\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4081, "epsg", 4081,
+        "REGCAN95", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Red_Geodesica_de_Canarias_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -119,9 +245,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4081\"]]");
-    p = add_epsg_def (filter, first, last, 4082, "epsg", 4082,
-        "REGCAN95 / UTM zone 27N");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 6,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4081\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4082, "epsg", 4082,
+        "REGCAN95 / UTM zone 27N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Red_Geodesica_de_Canarias_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=27 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -139,21 +270,26 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4081\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "UTHORITY[\"EPSG\",\"4081\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-21],PARAMETER[\"scale_factor\"");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "central_meridian\",-21],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"4082\"]]");
-    p = add_epsg_def (filter, first, last, 4083, "epsg", 4083,
-        "REGCAN95 / UTM zone 28N");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"4082\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4083, "epsg", 4083,
+        "REGCAN95 / UTM zone 28N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Red_Geodesica_de_Canarias_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -171,21 +307,26 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4081\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "UTHORITY[\"EPSG\",\"4081\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-15],PARAMETER[\"scale_factor\"");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "central_meridian\",-15],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"4083\"]]");
-    p = add_epsg_def (filter, first, last, 4087, "epsg", 4087,
-        "WGS 84 / World Equidistant Cylindrical");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"4083\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4087, "epsg", 4087,
+        "WGS 84 / World Equidistant Cylindrical", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Equirectangular", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +dat");
     add_proj4text (p, 1,
@@ -201,19 +342,24 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 6,
-        ",PROJECTION[\"Equirectangular\"],PARAMETER[\"latitude_of");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJE");
     add_srs_wkt (p, 7,
-        "_origin\",0],PARAMETER[\"central_meridian\",0],PARAMETER");
+        "CTION[\"Equirectangular\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 8,
-        "[\"false_easting\",0],PARAMETER[\"false_northing\",0],UN");
+        "n\",0],PARAMETER[\"central_meridian\",0],PARAMETER[\"fal");
     add_srs_wkt (p, 9,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "se_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 10,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4087\"]]");
-    p = add_epsg_def (filter, first, last, 4088, "epsg", 4088,
-        "World Equidistant Cylindrical (Sphere)");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 11,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4087\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4088, "epsg", 4088,
+        "World Equidistant Cylindrical (Sphere)", 0, 0,
+        "GRS 1980 Authalic Sphere", "Greenwich",
+        "Not_specified_based_on_GRS_1980_Authalic_Sphere", "Equirectangular", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6");
     add_proj4text (p, 1,
@@ -233,19 +379,24 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 7,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4047\"]],PROJECTION[\"Eq");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 8,
-        "uirectangular\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        "AST],AUTHORITY[\"EPSG\",\"4047\"]],PROJECTION[\"Equirect");
     add_srs_wkt (p, 9,
-        "AMETER[\"central_meridian\",0],PARAMETER[\"false_easting");
+        "angular\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "[\"central_meridian\",0],PARAMETER[\"false_easting\",0],");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"4088\"]]");
-    p = add_epsg_def (filter, first, last, 4093, "epsg", 4093,
-        "ETRS89 / DKTM1");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"4088\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4093, "epsg", 4093,
+        "ETRS89 / DKTM1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.99998 +x_0=200000 +y_");
     add_proj4text (p, 1,
@@ -265,21 +416,26 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",9],PARAMETER[\"scale_factor\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        ",0.99998],PARAMETER[\"false_easting\",200000],PARAMETER[");
+        "\"central_meridian\",9],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "\"false_northing\",-5000000],UNIT[\"metre\",1,AUTHORITY[");
+        "98],PARAMETER[\"false_easting\",200000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "e_northing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"4093\"]]");
-    p = add_epsg_def (filter, first, last, 4094, "epsg", 4094,
-        "ETRS89 / DKTM2");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"4093\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4094, "epsg", 4094,
+        "ETRS89 / DKTM2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=10 +k=0.99998 +x_0=400000 +y");
     add_proj4text (p, 1,
@@ -299,21 +455,26 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",10],PARAMETER[\"scale_factor\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        ",0.99998],PARAMETER[\"false_easting\",400000],PARAMETER[");
+        "\"central_meridian\",10],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "\"false_northing\",-5000000],UNIT[\"metre\",1,AUTHORITY[");
+        "998],PARAMETER[\"false_easting\",400000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "se_northing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"4094\"]]");
-    p = add_epsg_def (filter, first, last, 4095, "epsg", 4095,
-        "ETRS89 / DKTM3");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"4094\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4095, "epsg", 4095,
+        "ETRS89 / DKTM3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=11.75 +k=0.99998 +x_0=600000");
     add_proj4text (p, 1,
@@ -333,21 +494,26 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",11.75],PARAMETER[\"scale_fact");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "or\",0.99998],PARAMETER[\"false_easting\",600000],PARAME");
+        "\"central_meridian\",11.75],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",-5000000],UNIT[\"metre\",1,AUTHOR");
+        ".99998],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"4095\"]]");
-    p = add_epsg_def (filter, first, last, 4096, "epsg", 4096,
-        "ETRS89 / DKTM4");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"4095\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4096, "epsg", 4096,
+        "ETRS89 / DKTM4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=800000 +y_0=-50");
     add_proj4text (p, 1,
@@ -367,21 +533,222 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",15],PARAMETER[\"scale_factor\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        ",1],PARAMETER[\"false_easting\",800000],PARAMETER[\"fals");
+        "\"central_meridian\",15],PARAMETER[\"scale_factor\",1],P");
     add_srs_wkt (p, 10,
-        "e_northing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "ARAMETER[\"false_easting\",800000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "thing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"4096\"]]");
-    p = add_epsg_def (filter, first, last, 4120, "epsg", 4120,
-        "Greek");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"4096\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4097, "epsg", 4097,
+        "ETRS89 / DKTM1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.99998 +x_0=200000 +y_");
+    add_proj4text (p, 1,
+        "0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 2,
+        "+vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"ETRS89 / DKTM1 + DVR90 height\",PROJCS[\"ETRS");
+    add_srs_wkt (p, 1,
+        "89 / DKTM1\",GEOGCS[\"ETRS89\",DATUM[\"European_Terrestr");
+    add_srs_wkt (p, 2,
+        "ial_Reference_System_1989\",SPHEROID[\"GRS 1980\",637813");
+    add_srs_wkt (p, 3,
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+    add_srs_wkt (p, 4,
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRIMEM[\"Gree");
+    add_srs_wkt (p, 5,
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+    add_srs_wkt (p, 6,
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
+    add_srs_wkt (p, 7,
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 8,
+        "PSG\",\"4258\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
+    add_srs_wkt (p, 9,
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
+    add_srs_wkt (p, 10,
+        "idian\",9],PARAMETER[\"scale_factor\",0.99998],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_easting\",200000],PARAMETER[\"false_northing\",");
+    add_srs_wkt (p, 12,
+        "-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"4093\"]],VERT_CS[\"DVR90 height\",VERT_DAT");
+    add_srs_wkt (p, 15,
+        "UM[\"Dansk Vertikal Reference 1990\",2005,AUTHORITY[\"EP");
+    add_srs_wkt (p, 16,
+        "SG\",\"5206\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 17,
+        "01\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5799\"]],AUT");
+    add_srs_wkt (p, 18,
+        "HORITY[\"EPSG\",\"4097\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4098, "epsg", 4098,
+        "ETRS89 / DKTM2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=10 +k=0.99998 +x_0=400000 +y");
+    add_proj4text (p, 1,
+        "_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"ETRS89 / DKTM2 + DVR90 height\",PROJCS[\"ETRS");
+    add_srs_wkt (p, 1,
+        "89 / DKTM2\",GEOGCS[\"ETRS89\",DATUM[\"European_Terrestr");
+    add_srs_wkt (p, 2,
+        "ial_Reference_System_1989\",SPHEROID[\"GRS 1980\",637813");
+    add_srs_wkt (p, 3,
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+    add_srs_wkt (p, 4,
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRIMEM[\"Gree");
+    add_srs_wkt (p, 5,
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+    add_srs_wkt (p, 6,
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
+    add_srs_wkt (p, 7,
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 8,
+        "PSG\",\"4258\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
+    add_srs_wkt (p, 9,
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
+    add_srs_wkt (p, 10,
+        "idian\",10],PARAMETER[\"scale_factor\",0.99998],PARAMETE");
+    add_srs_wkt (p, 11,
+        "R[\"false_easting\",400000],PARAMETER[\"false_northing\"");
+    add_srs_wkt (p, 12,
+        ",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+    add_srs_wkt (p, 13,
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"4094\"]],VERT_CS[\"DVR90 height\",VERT_DA");
+    add_srs_wkt (p, 15,
+        "TUM[\"Dansk Vertikal Reference 1990\",2005,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"5206\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 17,
+        "001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5799\"]],AU");
+    add_srs_wkt (p, 18,
+        "THORITY[\"EPSG\",\"4098\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4099, "epsg", 4099,
+        "ETRS89 / DKTM3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=11.75 +k=0.99998 +x_0=600000");
+    add_proj4text (p, 1,
+        " +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=m +vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"ETRS89 / DKTM3 + DVR90 height\",PROJCS[\"ETRS");
+    add_srs_wkt (p, 1,
+        "89 / DKTM3\",GEOGCS[\"ETRS89\",DATUM[\"European_Terrestr");
+    add_srs_wkt (p, 2,
+        "ial_Reference_System_1989\",SPHEROID[\"GRS 1980\",637813");
+    add_srs_wkt (p, 3,
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+    add_srs_wkt (p, 4,
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRIMEM[\"Gree");
+    add_srs_wkt (p, 5,
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+    add_srs_wkt (p, 6,
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
+    add_srs_wkt (p, 7,
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 8,
+        "PSG\",\"4258\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
+    add_srs_wkt (p, 9,
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
+    add_srs_wkt (p, 10,
+        "idian\",11.75],PARAMETER[\"scale_factor\",0.99998],PARAM");
+    add_srs_wkt (p, 11,
+        "ETER[\"false_easting\",600000],PARAMETER[\"false_northin");
+    add_srs_wkt (p, 12,
+        "g\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 13,
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"4095\"]],VERT_CS[\"DVR90 height\",VERT");
+    add_srs_wkt (p, 15,
+        "_DATUM[\"Dansk Vertikal Reference 1990\",2005,AUTHORITY[");
+    add_srs_wkt (p, 16,
+        "\"EPSG\",\"5206\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 17,
+        "\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5799\"]]");
+    add_srs_wkt (p, 18,
+        ",AUTHORITY[\"EPSG\",\"4099\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4100, "epsg", 4100,
+        "ETRS89 / DKTM4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=800000 +y_0=-50");
+    add_proj4text (p, 1,
+        "00000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vuni");
+    add_proj4text (p, 2,
+        "ts=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"ETRS89 / DKTM4 + DVR90 height\",PROJCS[\"ETRS");
+    add_srs_wkt (p, 1,
+        "89 / DKTM4\",GEOGCS[\"ETRS89\",DATUM[\"European_Terrestr");
+    add_srs_wkt (p, 2,
+        "ial_Reference_System_1989\",SPHEROID[\"GRS 1980\",637813");
+    add_srs_wkt (p, 3,
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+    add_srs_wkt (p, 4,
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRIMEM[\"Gree");
+    add_srs_wkt (p, 5,
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+    add_srs_wkt (p, 6,
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
+    add_srs_wkt (p, 7,
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 8,
+        "PSG\",\"4258\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
+    add_srs_wkt (p, 9,
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
+    add_srs_wkt (p, 10,
+        "idian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
+    add_srs_wkt (p, 11,
+        "lse_easting\",800000],PARAMETER[\"false_northing\",-5000");
+    add_srs_wkt (p, 12,
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"4096\"]],VERT_CS[\"DVR90 height\",VERT_DATUM[\"");
+    add_srs_wkt (p, 15,
+        "Dansk Vertikal Reference 1990\",2005,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 16,
+        "\"5206\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+    add_srs_wkt (p, 17,
+        "],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5799\"]],AUTHORIT");
+    add_srs_wkt (p, 18,
+        "Y[\"EPSG\",\"4100\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4120, "epsg", 4120,
+        "Greek", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Greek", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
@@ -393,13 +760,20 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 4,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 5,
-        "4120\"]]");
-    p = add_epsg_def (filter, first, last, 4121, "epsg", 4121,
-        "GGRS87");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4120\"");
+    add_srs_wkt (p, 6,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4121, "epsg", 4121,
+        "GGRS87", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Greek_Geodetic_Reference_System_1987", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +datum=GGRS87 +no_defs");
+        "+proj=longlat +ellps=GRS80 +towgs84=-199.87,74.79,246.62");
+    add_proj4text (p, 1,
+        ",0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"GGRS87\",DATUM[\"Greek_Geodetic_Reference_Syste");
     add_srs_wkt (p, 1,
@@ -411,11 +785,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4121\"]]");
-    p = add_epsg_def (filter, first, last, 4122, "epsg", 4122,
-        "ATS77");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 7,
+        ",\"4121\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4122, "epsg", 4122,
+        "ATS77", 1, 1,
+        "Average Terrestrial System 1977", "Greenwich",
+        "Average_Terrestrial_System_1977", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378135 +b=6356750.304921594 +no_defs");
     add_srs_wkt (p, 0,
@@ -429,9 +808,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4122\"]]");
-    p = add_epsg_def (filter, first, last, 4123, "epsg", 4123,
-        "KKJ");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4122\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4123, "epsg", 4123,
+        "KKJ", 1, 1,
+        "International 1924", "Greenwich",
+        "Kartastokoordinaattijarjestelma_1966", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-96.062,-82.428,-121.");
     add_proj4text (p, 1,
@@ -449,9 +833,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4123\"]]");
-    p = add_epsg_def (filter, first, last, 4124, "epsg", 4124,
-        "RT90");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
+    add_srs_wkt (p, 7,
+        ",AUTHORITY[\"EPSG\",\"4123\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4124, "epsg", 4124,
+        "RT90", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Rikets_koordinatsystem_1990", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=414.1,41.3,603.1,-0");
     add_proj4text (p, 1,
@@ -467,11 +856,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4124\"]]");
-    p = add_epsg_def (filter, first, last, 4125, "epsg", 4125,
-        "Samboja");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 7,
+        "PSG\",\"4124\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4125, "epsg", 4125,
+        "Samboja", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Samboja", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=-404.78,685.68,45.4");
     add_proj4text (p, 1,
@@ -487,9 +881,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"4125\"]]");
-    p = add_epsg_def (filter, first, last, 4126, "epsg", 4126,
-        "LKS94 (ETRS89)");
+        "[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4125\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4126, "epsg", 4126,
+        "LKS94 (ETRS89)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Lithuania_1994_ETRS89", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +no_defs");
     add_srs_wkt (p, 0,
@@ -501,11 +900,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 4,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXI");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"4126\"]]");
-    p = add_epsg_def (filter, first, last, 4127, "epsg", 4127,
-        "Tete");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 6,
+        "[\"EPSG\",\"4126\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4127, "epsg", 4127,
+        "Tete", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Tete", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=-73.472,-51.66,-112");
     add_proj4text (p, 1,
@@ -513,7 +917,7 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Tete\",DATUM[\"Tete\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 1,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 2,
         "],TOWGS84[-73.472,-51.66,-112.482,0.953,4.6,-2.368,0.586");
     add_srs_wkt (p, 3,
@@ -521,65 +925,85 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4127\"]]");
-    p = add_epsg_def (filter, first, last, 4128, "epsg", 4128,
-        "Madzansua");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"412");
+    add_srs_wkt (p, 7,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4128, "epsg", 4128,
+        "Madzansua", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Madzansua", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Madzansua\",DATUM[\"Madzansua\",SPHEROID[\"Clar");
     add_srs_wkt (p, 1,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 2,
         ",\"7008\"]],AUTHORITY[\"EPSG\",\"6128\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 3,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 4,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"4128\"]]");
-    p = add_epsg_def (filter, first, last, 4129, "epsg", 4129,
-        "Observatario");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 6,
+        "SG\",\"4128\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4129, "epsg", 4129,
+        "Observatario", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Observatario", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Observatario\",DATUM[\"Observatario\",SPHEROID[");
     add_srs_wkt (p, 1,
-        "\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"");
+        "\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"");
     add_srs_wkt (p, 2,
         "EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6129\"]],PRIMEM[\"");
     add_srs_wkt (p, 3,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 4,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"4129\"]]");
-    p = add_epsg_def (filter, first, last, 4130, "epsg", 4130,
-        "Moznet");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 6,
+        "[\"EPSG\",\"4129\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4130, "epsg", 4130,
+        "Moznet", 1, 1,
+        "WGS 84", "Greenwich",
+        "Moznet_ITRF94", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no");
+        "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
-        "_defs");
+        "fs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Moznet\",DATUM[\"Moznet_ITRF94\",SPHEROID[\"WGS");
     add_srs_wkt (p, 1,
         " 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]");
     add_srs_wkt (p, 2,
-        "],TOWGS84[0,0,0,-0,-0,-0,0],AUTHORITY[\"EPSG\",\"6130\"]");
+        "],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6130\"]],P");
     add_srs_wkt (p, 3,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 4,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 5,
-        "122\"]],AUTHORITY[\"EPSG\",\"4130\"]]");
-    p = add_epsg_def (filter, first, last, 4131, "epsg", 4131,
-        "Indian 1960");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
+    add_srs_wkt (p, 6,
+        "UTHORITY[\"EPSG\",\"4130\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4131, "epsg", 4131,
+        "Indian 1960", 1, 1,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1960", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8");
+        "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs");
     add_proj4text (p, 1,
-        "4=198,881,317,0,0,0,0 +no_defs");
+        "84=198,881,317,0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Indian 1960\",DATUM[\"Indian_1960\",SPHEROID[\"");
     add_srs_wkt (p, 1,
@@ -591,11 +1015,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4131\"]]");
-    p = add_epsg_def (filter, first, last, 4132, "epsg", 4132,
-        "FD58");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4131");
+    add_srs_wkt (p, 7,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4132, "epsg", 4132,
+        "FD58", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Final_Datum_1958", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-241.54,-163.64,396");
     add_proj4text (p, 1,
@@ -611,11 +1040,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"413");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 4133, "epsg", 4133,
-        "EST92");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4132\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4133, "epsg", 4133,
+        "EST92", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Estonia_1992", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,");
     add_proj4text (p, 1,
@@ -631,15 +1063,20 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4133\"]]");
-    p = add_epsg_def (filter, first, last, 4134, "epsg", 4134,
-        "PSD93");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
+    add_srs_wkt (p, 7,
+        "33\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4134, "epsg", 4134,
+        "PSD93", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "PDO_Survey_Datum_1993", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-180.624,-225.516,1");
     add_proj4text (p, 1,
-        "73.919,-0.81,-1.898,8.336,16.7101 +no_defs");
+        "73.919,-0.81,-1.898,8.336,16.71006 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"PSD93\",DATUM[\"PDO_Survey_Datum_1993\",SPHEROI");
     add_srs_wkt (p, 1,
@@ -647,15 +1084,20 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "EPSG\",\"7012\"]],TOWGS84[-180.624,-225.516,173.919,-0.8");
     add_srs_wkt (p, 3,
-        "1,-1.898,8.336,16.7101],AUTHORITY[\"EPSG\",\"6134\"]],PR");
+        "1,-1.898,8.336,16.71006],AUTHORITY[\"EPSG\",\"6134\"]],P");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4134\"]]");
-    p = add_epsg_def (filter, first, last, 4135, "epsg", 4135,
-        "Old Hawaiian");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
+    add_srs_wkt (p, 7,
+        "UTHORITY[\"EPSG\",\"4134\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4135, "epsg", 4135,
+        "Old Hawaiian", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Old_Hawaiian", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=61,-285,-181,0,0,0,");
     add_proj4text (p, 1,
@@ -663,7 +1105,7 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Old Hawaiian\",DATUM[\"Old_Hawaiian\",SPHEROID[");
     add_srs_wkt (p, 1,
-        "\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"");
+        "\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"");
     add_srs_wkt (p, 2,
         "EPSG\",\"7008\"]],TOWGS84[61,-285,-181,0,0,0,0],AUTHORIT");
     add_srs_wkt (p, 3,
@@ -671,15 +1113,20 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4135\"]]");
-    p = add_epsg_def (filter, first, last, 4136, "epsg", 4136,
-        "St. Lawrence Island");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4135\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4136, "epsg", 4136,
+        "St. Lawrence Island", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "St_Lawrence_Island", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"St. Lawrence Island\",DATUM[\"St_Lawrence_Islan");
     add_srs_wkt (p, 1,
-        "d\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006");
+        "d\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138982");
     add_srs_wkt (p, 2,
         ",AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6136");
     add_srs_wkt (p, 3,
@@ -687,15 +1134,20 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4136\"]]");
-    p = add_epsg_def (filter, first, last, 4137, "epsg", 4137,
-        "St. Paul Island");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 6,
+        "AST],AUTHORITY[\"EPSG\",\"4136\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4137, "epsg", 4137,
+        "St. Paul Island", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "St_Paul_Island", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"St. Paul Island\",DATUM[\"St_Paul_Island\",SPHE");
     add_srs_wkt (p, 1,
-        "ROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORI");
+        "ROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORI");
     add_srs_wkt (p, 2,
         "TY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6137\"]],PRI");
     add_srs_wkt (p, 3,
@@ -703,15 +1155,20 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 5,
-        "],AUTHORITY[\"EPSG\",\"4137\"]]");
-    p = add_epsg_def (filter, first, last, 4138, "epsg", 4138,
-        "St. George Island");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 6,
+        "ORITY[\"EPSG\",\"4137\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4138, "epsg", 4138,
+        "St. George Island", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "St_George_Island", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"St. George Island\",DATUM[\"St_George_Island\",");
     add_srs_wkt (p, 1,
-        "SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUT");
+        "SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUT");
     add_srs_wkt (p, 2,
         "HORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6138\"]]");
     add_srs_wkt (p, 3,
@@ -719,9 +1176,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 5,
-        "22\"]],AUTHORITY[\"EPSG\",\"4138\"]]");
-    p = add_epsg_def (filter, first, last, 4139, "epsg", 4139,
-        "Puerto Rico");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
+    add_srs_wkt (p, 6,
+        ",AUTHORITY[\"EPSG\",\"4138\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4139, "epsg", 4139,
+        "Puerto Rico", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Puerto_Rico", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -729,7 +1191,7 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Puerto Rico\",DATUM[\"Puerto_Rico\",SPHEROID[\"");
     add_srs_wkt (p, 1,
-        "Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EP");
+        "Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EP");
     add_srs_wkt (p, 2,
         "SG\",\"7008\"]],TOWGS84[11,72,-101,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 3,
@@ -737,9 +1199,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4139\"]]");
-    p = add_epsg_def (filter, first, last, 4140, "epsg", 4140,
-        "NAD83(CSRS98)");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4139\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4140, "epsg", 4140,
+        "NAD83(CSRS98)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -755,11 +1222,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4140\"]]");
-    p = add_epsg_def (filter, first, last, 4141, "epsg", 4141,
-        "Israel");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
+    add_srs_wkt (p, 7,
+        "40\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4141, "epsg", 4141,
+        "Israel", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Israel", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +n");
     add_proj4text (p, 1,
@@ -775,9 +1247,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 5,
-        "]],AUTHORITY[\"EPSG\",\"4141\"]]");
-    p = add_epsg_def (filter, first, last, 4142, "epsg", 4142,
-        "Locodjo 1965");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 6,
+        "HORITY[\"EPSG\",\"4141\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4142, "epsg", 4142,
+        "Locodjo 1965", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Locodjo_1965", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0");
     add_proj4text (p, 1,
@@ -793,9 +1270,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4142\"]]");
-    p = add_epsg_def (filter, first, last, 4143, "epsg", 4143,
-        "Abidjan 1987");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4142\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4143, "epsg", 4143,
+        "Abidjan 1987", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Abidjan_1987", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-124.76,53,466.79,0");
     add_proj4text (p, 1,
@@ -811,15 +1293,18 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4143");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 4144, "epsg", 4144,
-        "Kalianpur 1937");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4143\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4144, "epsg", 4144,
+        "Kalianpur 1937", 1, 1,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Kalianpur_1937", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8");
+        "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs");
     add_proj4text (p, 1,
-        "4=214,804,268,0,0,0,0 +no_defs");
+        "84=214,804,268,0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Kalianpur 1937\",DATUM[\"Kalianpur_1937\",SPHER");
     add_srs_wkt (p, 1,
@@ -831,13 +1316,18 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4144\"]]");
-    p = add_epsg_def (filter, first, last, 4145, "epsg", 4145,
-        "Kalianpur 1962");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4144\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4145, "epsg", 4145,
+        "Kalianpur 1962", 1, 1,
+        "Everest 1830 (1962 Definition)", "Greenwich",
+        "Kalianpur_1962", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377301.243 +b=6356100.230165384 +towgs");
+        "+proj=longlat +a=6377301.243 +b=6356100.230165385 +towgs");
     add_proj4text (p, 1,
         "84=283,682,231,0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
@@ -851,11 +1341,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4145\"]]");
-    p = add_epsg_def (filter, first, last, 4146, "epsg", 4146,
-        "Kalianpur 1975");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 7,
+        "\",\"4145\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4146, "epsg", 4146,
+        "Kalianpur 1975", 1, 1,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6377299.151 +b=6356098.145120132 +towgs");
     add_proj4text (p, 1,
@@ -871,11 +1366,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4146\"]]");
-    p = add_epsg_def (filter, first, last, 4147, "epsg", 4147,
-        "Hanoi 1972");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 7,
+        "\",\"4146\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4147, "epsg", 4147,
+        "Hanoi 1972", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Hanoi_1972", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +towgs84=-17.51,-108.32,-62.3");
     add_proj4text (p, 1,
@@ -891,9 +1391,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4147\"]]");
-    p = add_epsg_def (filter, first, last, 4148, "epsg", 4148,
-        "Hartebeesthoek94");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4147\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4148, "epsg", 4148,
+        "Hartebeesthoek94", 1, 1,
+        "WGS 84", "Greenwich",
+        "Hartebeesthoek94", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -909,9 +1414,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4148\"]]");
-    p = add_epsg_def (filter, first, last, 4149, "epsg", 4149,
-        "CH1903");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4148\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4149, "epsg", 4149,
+        "CH1903", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "CH1903", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=674.4,15.1,405.3,0,");
     add_proj4text (p, 1,
@@ -927,9 +1437,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4149\"]]");
-    p = add_epsg_def (filter, first, last, 4150, "epsg", 4150,
-        "CH1903+");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 6,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4149\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4150, "epsg", 4150,
+        "CH1903+", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "CH1903+", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.");
     add_proj4text (p, 1,
@@ -945,9 +1460,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4150\"]]");
-    p = add_epsg_def (filter, first, last, 4151, "epsg", 4151,
-        "CHTRF95");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4150\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4151, "epsg", 4151,
+        "CHTRF95", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Swiss_Terrestrial_Reference_Frame_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -963,11 +1483,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "51\"]]");
-    p = add_epsg_def (filter, first, last, 4152, "epsg", 4152,
-        "NAD83(HARN)");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4151\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4152, "epsg", 4152,
+        "NAD83(HARN)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -983,11 +1506,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "4152\"]]");
-    p = add_epsg_def (filter, first, last, 4153, "epsg", 4153,
-        "Rassadiran");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4153, "epsg", 4153,
+        "Rassadiran", 1, 1,
+        "International 1924", "Greenwich",
+        "Rassadiran", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-133.63,-157.5,-158.6");
     add_proj4text (p, 1,
@@ -1003,9 +1531,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4153\"]]");
-    p = add_epsg_def (filter, first, last, 4154, "epsg", 4154,
-        "ED50(ED77)");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4153\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4154, "epsg", 4154,
+        "ED50(ED77)", 1, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950_1977", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-117,-132,-164,0,0,0,");
     add_proj4text (p, 1,
@@ -1021,11 +1554,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4154\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4155, "epsg", 4155,
-        "Dabola 1981");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4154\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4155, "epsg", 4155,
+        "Dabola 1981", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Dabola_1981", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83,37,12");
     add_proj4text (p, 1,
@@ -1033,7 +1569,7 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Dabola 1981\",DATUM[\"Dabola_1981\",SPHEROID[\"");
     add_srs_wkt (p, 1,
-        "Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORIT");
+        "Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORIT");
     add_srs_wkt (p, 2,
         "Y[\"EPSG\",\"7011\"]],TOWGS84[-83,37,124,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 3,
@@ -1041,11 +1577,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4155\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4156, "epsg", 4156,
-        "S-JTSK");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4155\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4156, "epsg", 4156,
+        "S-JTSK", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "System_Jednotne_Trigonometricke_Site_Katastralni", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=589,76,480,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1061,11 +1600,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4156\"]]");
-    p = add_epsg_def (filter, first, last, 4157, "epsg", 4157,
-        "Mount Dillon");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 7,
+        "\"EPSG\",\"4156\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4157, "epsg", 4157,
+        "Mount Dillon", 1, 1,
+        "Clarke 1858", "Greenwich",
+        "Mount_Dillon", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 ");
     add_proj4text (p, 1,
@@ -1073,7 +1617,7 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Mount Dillon\",DATUM[\"Mount_Dillon\",SPHEROID[");
     add_srs_wkt (p, 1,
-        "\"Clarke 1858\",6378293.645208759,294.2606763692569,AUTH");
+        "\"Clarke 1858\",6378293.645208759,294.2606763692606,AUTH");
     add_srs_wkt (p, 2,
         "ORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"6157\"]],");
     add_srs_wkt (p, 3,
@@ -1081,9 +1625,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4157\"]]");
-    p = add_epsg_def (filter, first, last, 4158, "epsg", 4158,
-        "Naparima 1955");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 6,
+        "AUTHORITY[\"EPSG\",\"4157\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4158, "epsg", 4158,
+        "Naparima 1955", 1, 1,
+        "International 1924", "Greenwich",
+        "Naparima_1955", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-0.465,372.095,171.73");
     add_proj4text (p, 1,
@@ -1099,31 +1648,39 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4158");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 4159, "epsg", 4159,
-        "ELD79");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4158\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4159, "epsg", 4159,
+        "ELD79", 1, 1,
+        "International 1924", "Greenwich",
+        "European_Libyan_Datum_1979", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-115.854,-99.0583,-15");
+        "+proj=longlat +ellps=intl +towgs84=-115.8543,-99.0583,-1");
     add_proj4text (p, 1,
-        "2.462,0,0,0,0 +no_defs");
+        "52.4616,0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"ELD79\",DATUM[\"European_Libyan_Datum_1979\",SP");
     add_srs_wkt (p, 1,
         "HEROID[\"International 1924\",6378388,297,AUTHORITY[\"EP");
     add_srs_wkt (p, 2,
-        "SG\",\"7022\"]],TOWGS84[-115.854,-99.0583,-152.462,0,0,0");
+        "SG\",\"7022\"]],TOWGS84[-115.8543,-99.0583,-152.4616,0,0");
     add_srs_wkt (p, 3,
-        ",0],AUTHORITY[\"EPSG\",\"6159\"]],PRIMEM[\"Greenwich\",0");
+        ",0,0],AUTHORITY[\"EPSG\",\"6159\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\",\"4159\"]]");
-    p = add_epsg_def (filter, first, last, 4160, "epsg", 4160,
-        "Chos Malal 1914");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4159\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4160, "epsg", 4160,
+        "Chos Malal 1914", 1, 1,
+        "International 1924", "Greenwich",
+        "Chos_Malal_1914", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -1135,11 +1692,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 4,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"4160\"]]");
-    p = add_epsg_def (filter, first, last, 4161, "epsg", 4161,
-        "Pampa del Castillo");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 6,
+        "PSG\",\"4160\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4161, "epsg", 4161,
+        "Pampa del Castillo", 1, 1,
+        "International 1924", "Greenwich",
+        "Pampa_del_Castillo", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0");
     add_proj4text (p, 1,
@@ -1155,11 +1717,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"416");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 4162, "epsg", 4162,
-        "Korean 1985");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4161\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4162, "epsg", 4162,
+        "Korean 1985", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
@@ -1171,11 +1736,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 4,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"4162\"]]");
-    p = add_epsg_def (filter, first, last, 4163, "epsg", 4163,
-        "Yemen NGN96");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 6,
+        "[\"EPSG\",\"4162\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4163, "epsg", 4163,
+        "Yemen NGN96", 1, 1,
+        "WGS 84", "Greenwich",
+        "Yemen_National_Geodetic_Network_1996", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1191,11 +1761,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "63\"]]");
-    p = add_epsg_def (filter, first, last, 4164, "epsg", 4164,
-        "South Yemen");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4163\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4164, "epsg", 4164,
+        "South Yemen", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "South_Yemen", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +towgs84=-76,-138,67,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1211,9 +1784,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4164\"]]");
-    p = add_epsg_def (filter, first, last, 4165, "epsg", 4165,
-        "Bissau");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 6,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4164\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4165, "epsg", 4165,
+        "Bissau", 1, 1,
+        "International 1924", "Greenwich",
+        "Bissau", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-173,253,27,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1229,9 +1807,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4165\"]]");
-    p = add_epsg_def (filter, first, last, 4166, "epsg", 4166,
-        "Korean 1995");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 6,
+        "AUTHORITY[\"EPSG\",\"4165\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4166, "epsg", 4166,
+        "Korean 1995", 1, 1,
+        "WGS 84", "Greenwich",
+        "Korean_Datum_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1247,9 +1830,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4166\"]]");
-    p = add_epsg_def (filter, first, last, 4167, "epsg", 4167,
-        "NZGD2000");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
+    add_srs_wkt (p, 6,
+        ",EAST],AUTHORITY[\"EPSG\",\"4166\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4167, "epsg", 4167,
+        "NZGD2000", 1, 1,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1265,9 +1853,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4167\"]]");
-    p = add_epsg_def (filter, first, last, 4168, "epsg", 4168,
-        "Accra");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4167\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4168, "epsg", 4168,
+        "Accra", 1, 1,
+        "War Office", "Greenwich",
+        "Accra", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378300 +b=6356751.689189189 +towgs84=-");
     add_proj4text (p, 1,
@@ -1281,11 +1874,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 4,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"4168\"]]");
-    p = add_epsg_def (filter, first, last, 4169, "epsg", 4169,
-        "American Samoa 1962");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 6,
+        "\"EPSG\",\"4168\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4169, "epsg", 4169,
+        "American Samoa 1962", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "American_Samoa_1962", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=-115,118,426,0,0,0,");
     add_proj4text (p, 1,
@@ -1293,19 +1891,24 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"American Samoa 1962\",DATUM[\"American_Samoa_19");
     add_srs_wkt (p, 1,
-        "62\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213900");
+        "62\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898");
     add_srs_wkt (p, 2,
-        "6,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-115,118,426,0,0");
+        "2,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-115,118,426,0,0");
     add_srs_wkt (p, 3,
         ",0,0],AUTHORITY[\"EPSG\",\"6169\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4169\"]]");
-    p = add_epsg_def (filter, first, last, 4170, "epsg", 4170,
-        "SIRGAS 1995");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4169\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4170, "epsg", 4170,
+        "SIRGAS 1995", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1323,9 +1926,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4170\"]]");
-    p = add_epsg_def (filter, first, last, 4171, "epsg", 4171,
-        "RGF93");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 7,
+        "ORITY[\"EPSG\",\"4170\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4171, "epsg", 4171,
+        "RGF93", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1341,9 +1949,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4171\"]]");
-    p = add_epsg_def (filter, first, last, 4172, "epsg", 4172,
-        "POSGAR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4171\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4172, "epsg", 4172,
+        "POSGAR", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1359,9 +1972,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"4172\"]]");
-    p = add_epsg_def (filter, first, last, 4173, "epsg", 4173,
-        "IRENET95");
+        "ORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 6,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4172\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4173, "epsg", 4173,
+        "IRENET95", 1, 1,
+        "GRS 1980", "Greenwich",
+        "IRENET95", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1377,9 +1995,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 5,
-        "]],AUTHORITY[\"EPSG\",\"4173\"]]");
-    p = add_epsg_def (filter, first, last, 4174, "epsg", 4174,
-        "Sierra Leone 1924");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 6,
+        "HORITY[\"EPSG\",\"4173\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4174, "epsg", 4174,
+        "Sierra Leone 1924", 1, 1,
+        "War Office", "Greenwich",
+        "Sierra_Leone_Colony_1924", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378300 +b=6356751.689189189 +no_defs");
     add_srs_wkt (p, 0,
@@ -1391,11 +2014,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 4,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"4174\"]]");
-    p = add_epsg_def (filter, first, last, 4175, "epsg", 4175,
-        "Sierra Leone 1968");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 6,
+        "[\"EPSG\",\"4174\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4175, "epsg", 4175,
+        "Sierra Leone 1968", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Sierra_Leone_1968", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1411,11 +2039,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "75\"]]");
-    p = add_epsg_def (filter, first, last, 4176, "epsg", 4176,
-        "Australian Antarctic");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4175\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4176, "epsg", 4176,
+        "Australian Antarctic", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Australian_Antarctic_Datum_1998", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1431,11 +2062,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4176\"]]");
-    p = add_epsg_def (filter, first, last, 4178, "epsg", 4178,
-        "Pulkovo 1942(83)");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
+    add_srs_wkt (p, 7,
+        "76\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4178, "epsg", 4178,
+        "Pulkovo 1942(83)", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +towgs84=26,-121,-78,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1451,9 +2087,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]]");
-    p = add_epsg_def (filter, first, last, 4179, "epsg", 4179,
-        "Pulkovo 1942(58)");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4179, "epsg", 4179,
+        "Pulkovo 1942(58)", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +towgs84=33.4,-146.6,-76.3,-0");
     add_proj4text (p, 1,
@@ -1469,11 +2110,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4179\"]]");
-    p = add_epsg_def (filter, first, last, 4180, "epsg", 4180,
-        "EST97");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 7,
+        "SG\",\"4179\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4180, "epsg", 4180,
+        "EST97", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Estonia_1997", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1489,29 +2135,39 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 5,
-        "\"]],AUTHORITY[\"EPSG\",\"4180\"]]");
-    p = add_epsg_def (filter, first, last, 4181, "epsg", 4181,
-        "Luxembourg 1930");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
+    add_srs_wkt (p, 6,
+        "UTHORITY[\"EPSG\",\"4180\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4181, "epsg", 4181,
+        "Luxembourg 1930", 1, 1,
+        "International 1924", "Greenwich",
+        "Luxembourg_1930", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-189.681,18.3463,-42.");
+        "+proj=longlat +ellps=intl +towgs84=-189.6806,18.3463,-42");
     add_proj4text (p, 1,
-        "7695,-0.33746,-3.09264,2.53861,0.4598 +no_defs");
+        ".7695,-0.33746,-3.09264,2.53861,0.4598 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Luxembourg 1930\",DATUM[\"Luxembourg_1930\",SPH");
     add_srs_wkt (p, 1,
         "EROID[\"International 1924\",6378388,297,AUTHORITY[\"EPS");
     add_srs_wkt (p, 2,
-        "G\",\"7022\"]],TOWGS84[-189.681,18.3463,-42.7695,-0.3374");
+        "G\",\"7022\"]],TOWGS84[-189.6806,18.3463,-42.7695,-0.337");
     add_srs_wkt (p, 3,
-        "6,-3.09264,2.53861,0.4598],AUTHORITY[\"EPSG\",\"6181\"]]");
+        "46,-3.09264,2.53861,0.4598],AUTHORITY[\"EPSG\",\"6181\"]");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4181\"]]");
-    p = add_epsg_def (filter, first, last, 4182, "epsg", 4182,
-        "Azores Occidental 1939");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 7,
+        "],AUTHORITY[\"EPSG\",\"4181\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4182, "epsg", 4182,
+        "Azores Occidental 1939", 1, 1,
+        "International 1924", "Greenwich",
+        "Azores_Occidental_Islands_1939", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-425,-169,81,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1527,11 +2183,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4182\"]]");
-    p = add_epsg_def (filter, first, last, 4183, "epsg", 4183,
-        "Azores Central 1948");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 7,
+        "G\",\"4182\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4183, "epsg", 4183,
+        "Azores Central 1948", 1, 1,
+        "International 1924", "Greenwich",
+        "Azores_Central_Islands_1948", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-104,167,-38,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1547,11 +2208,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4183\"]]");
-    p = add_epsg_def (filter, first, last, 4184, "epsg", 4184,
-        "Azores Oriental 1940");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4183\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4184, "epsg", 4184,
+        "Azores Oriental 1940", 1, 1,
+        "International 1924", "Greenwich",
+        "Azores_Oriental_Islands_1940", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-203,141,53,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1567,11 +2233,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4184\"]]");
-    p = add_epsg_def (filter, first, last, 4185, "epsg", 4185,
-        "Madeira 1936");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4184\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4185, "epsg", 4185,
+        "Madeira 1936", 1, 1,
+        "International 1924", "Greenwich",
+        "Madeira_1936", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -1583,11 +2254,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 4,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Lati");
     add_srs_wkt (p, 5,
-        "EPSG\",\"4185\"]]");
-    p = add_epsg_def (filter, first, last, 4188, "epsg", 4188,
-        "OSNI 1952");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"4185\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4188, "epsg", 4188,
+        "OSNI 1952", 1, 1,
+        "Airy 1830", "Greenwich",
+        "OSNI_1952", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=airy +towgs84=482.5,-130.6,564.6,-1");
     add_proj4text (p, 1,
@@ -1603,11 +2279,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4188\"]]");
-    p = add_epsg_def (filter, first, last, 4189, "epsg", 4189,
-        "REGVEN");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
+    add_srs_wkt (p, 7,
+        "88\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4189, "epsg", 4189,
+        "REGVEN", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Red_Geodesica_Venezolana", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1623,9 +2304,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4189\"]]");
-    p = add_epsg_def (filter, first, last, 4190, "epsg", 4190,
-        "POSGAR 98");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4189\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4190, "epsg", 4190,
+        "POSGAR 98", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1998", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1641,11 +2327,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "190\"]]");
-    p = add_epsg_def (filter, first, last, 4191, "epsg", 4191,
-        "Albanian 1987");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4190\"]");
+    add_srs_wkt (p, 7,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4191, "epsg", 4191,
+        "Albanian 1987", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Albanian_1987", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +no_defs");
     add_srs_wkt (p, 0,
@@ -1657,11 +2348,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 4,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 5,
-        "EPSG\",\"4191\"]]");
-    p = add_epsg_def (filter, first, last, 4192, "epsg", 4192,
-        "Douala 1948");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"4191\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4192, "epsg", 4192,
+        "Douala 1948", 1, 1,
+        "International 1924", "Greenwich",
+        "Douala_1948", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-206.1,-174.7,-87.7,0");
     add_proj4text (p, 1,
@@ -1677,9 +2373,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4192\"]]");
-    p = add_epsg_def (filter, first, last, 4193, "epsg", 4193,
-        "Manoca 1962");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4192\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4193, "epsg", 4193,
+        "Manoca 1962", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Manoca_1962", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-70.9,-15");
     add_proj4text (p, 1,
@@ -1687,7 +2388,7 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Manoca 1962\",DATUM[\"Manoca_1962\",SPHEROID[\"");
     add_srs_wkt (p, 1,
-        "Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORIT");
+        "Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORIT");
     add_srs_wkt (p, 2,
         "Y[\"EPSG\",\"7011\"]],TOWGS84[-70.9,-151.8,-41.4,0,0,0,0");
     add_srs_wkt (p, 3,
@@ -1695,11 +2396,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4193\"]]");
-    p = add_epsg_def (filter, first, last, 4194, "epsg", 4194,
-        "Qornoq 1927");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"419");
+    add_srs_wkt (p, 7,
+        "3\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4194, "epsg", 4194,
+        "Qornoq 1927", 1, 1,
+        "International 1924", "Greenwich",
+        "Qornoq_1927", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=164,138,-189,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1715,9 +2421,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4194\"]]");
-    p = add_epsg_def (filter, first, last, 4195, "epsg", 4195,
-        "Scoresbysund 1952");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 6,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4194\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4195, "epsg", 4195,
+        "Scoresbysund 1952", 1, 1,
+        "International 1924", "Greenwich",
+        "Scoresbysund_1952", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=105,326,-102.5,0,0,0.");
     add_proj4text (p, 1,
@@ -1733,11 +2444,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4195\"]]");
-    p = add_epsg_def (filter, first, last, 4196, "epsg", 4196,
-        "Ammassalik 1958");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4195");
+    add_srs_wkt (p, 7,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4196, "epsg", 4196,
+        "Ammassalik 1958", 1, 1,
+        "International 1924", "Greenwich",
+        "Ammassalik_1958", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-45,417,-3.5,0,0,0.81");
     add_proj4text (p, 1,
@@ -1753,11 +2469,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"419");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "6\"]]");
-    p = add_epsg_def (filter, first, last, 4197, "epsg", 4197,
-        "Garoua");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4196\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4197, "epsg", 4197,
+        "Garoua", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Garoua", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +no_defs");
     add_srs_wkt (p, 0,
@@ -1769,11 +2488,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 4,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 5,
-        ",\"4197\"]]");
-    p = add_epsg_def (filter, first, last, 4198, "epsg", 4198,
-        "Kousseri");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
+    add_srs_wkt (p, 6,
+        "97\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4198, "epsg", 4198,
+        "Kousseri", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Kousseri", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +no_defs");
     add_srs_wkt (p, 0,
@@ -1785,11 +2509,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 4,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 5,
-        "EPSG\",\"4198\"]]");
-    p = add_epsg_def (filter, first, last, 4199, "epsg", 4199,
-        "Egypt 1930");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"4198\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4199, "epsg", 4199,
+        "Egypt 1930", 1, 1,
+        "International 1924", "Greenwich",
+        "Egypt_1930", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -1801,31 +2530,39 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 4,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 5,
-        "G\",\"4199\"]]");
-    p = add_epsg_def (filter, first, last, 4200, "epsg", 4200,
-        "Pulkovo 1995");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "4199\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4200, "epsg", 4200,
+        "Pulkovo 1995", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +towgs84=24.47,-130.89,-81.56");
     add_proj4text (p, 1,
-        ",-0,-0,0.13,-0.22 +no_defs");
+        ",0,0,0.13,-0.22 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 1,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 2,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "4200\"]]");
-    p = add_epsg_def (filter, first, last, 4201, "epsg", 4201,
-        "Adindan");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4201, "epsg", 4201,
+        "Adindan", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Adindan", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-166,-15,204,0,0,0,");
     add_proj4text (p, 1,
@@ -1841,9 +2578,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4201\"]]");
-    p = add_epsg_def (filter, first, last, 4202, "epsg", 4202,
-        "AGD66");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 6,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4201\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4202, "epsg", 4202,
+        "AGD66", 1, 1,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=aust_SA +towgs84=-117.808,-51.536,1");
     add_proj4text (p, 1,
@@ -1861,9 +2603,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4202\"]]");
-    p = add_epsg_def (filter, first, last, 4203, "epsg", 4203,
-        "AGD84");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
+    add_srs_wkt (p, 7,
+        ",EAST],AUTHORITY[\"EPSG\",\"4202\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4203, "epsg", 4203,
+        "AGD84", 1, 1,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=aust_SA +towgs84=-134,-48,149,0,0,0");
     add_proj4text (p, 1,
@@ -1879,11 +2626,16 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4203\"]]");
-    p = add_epsg_def (filter, first, last, 4204, "epsg", 4204,
-        "Ain el Abd");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4203\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4204, "epsg", 4204,
+        "Ain el Abd", 1, 1,
+        "International 1924", "Greenwich",
+        "Ain_el_Abd_1970", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-143,-236,7,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1899,9 +2651,14 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4204\"]]");
-    p = add_epsg_def (filter, first, last, 4205, "epsg", 4205,
-        "Afgooye");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4204\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4205, "epsg", 4205,
+        "Afgooye", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Afgooye", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +towgs84=-43,-163,45,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1917,133 +2674,9 @@ initialize_epsg_19 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 5,
-        "22\"]],AUTHORITY[\"EPSG\",\"4205\"]]");
-    p = add_epsg_def (filter, first, last, 4206, "epsg", 4206,
-        "Agadez");
-    add_proj4text (p, 0,
-        "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Agadez\",DATUM[\"Agadez\",SPHEROID[\"Clarke 188");
-    add_srs_wkt (p, 1,
-        "0 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 2,
-        ",\"7011\"]],AUTHORITY[\"EPSG\",\"6206\"]],PRIMEM[\"Green");
-    add_srs_wkt (p, 3,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
-    add_srs_wkt (p, 4,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
-    add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"4206\"]]");
-    p = add_epsg_def (filter, first, last, 4207, "epsg", 4207,
-        "Lisbon");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-304.046,-60.576,103.");
-    add_proj4text (p, 1,
-        "64,0,0,0,0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Lisbon\",DATUM[\"Lisbon_1937\",SPHEROID[\"Inter");
-    add_srs_wkt (p, 1,
-        "national 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]");
-    add_srs_wkt (p, 2,
-        "],TOWGS84[-304.046,-60.576,103.64,0,0,0,0],AUTHORITY[\"E");
-    add_srs_wkt (p, 3,
-        "PSG\",\"6207\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
-    add_srs_wkt (p, 4,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
-    add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4207\"]]");
-    p = add_epsg_def (filter, first, last, 4208, "epsg", 4208,
-        "Aratu");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-151.99,287.04,-147.4");
-    add_proj4text (p, 1,
-        "5,0,0,0,0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Aratu\",DATUM[\"Aratu\",SPHEROID[\"Internationa");
-    add_srs_wkt (p, 1,
-        "l 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS");
-    add_srs_wkt (p, 2,
-        "84[-151.99,287.04,-147.45,0,0,0,0],AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 3,
-        "6208\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
-    add_srs_wkt (p, 4,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
-    add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4208\"]]");
-    p = add_epsg_def (filter, first, last, 4209, "epsg", 4209,
-        "Arc 1950");
-    add_proj4text (p, 0,
-        "+proj=longlat +a=6378249.145 +b=6356514.966398753 +towgs");
-    add_proj4text (p, 1,
-        "84=-143,-90,-294,0,0,0,0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Arc 1950\",DATUM[\"Arc_1950\",SPHEROID[\"Clarke");
-    add_srs_wkt (p, 1,
-        " 1880 (Arc)\",6378249.145,293.4663077,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 2,
-        ",\"7013\"]],TOWGS84[-143,-90,-294,0,0,0,0],AUTHORITY[\"E");
-    add_srs_wkt (p, 3,
-        "PSG\",\"6209\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
-    add_srs_wkt (p, 4,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
-    add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4209\"]]");
-    p = add_epsg_def (filter, first, last, 4210, "epsg", 4210,
-        "Arc 1960");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=clrk80 +towgs84=-160,-6,-302,0,0,0,");
-    add_proj4text (p, 1,
-        "0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Arc 1960\",DATUM[\"Arc_1960\",SPHEROID[\"Clarke");
-    add_srs_wkt (p, 1,
-        " 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7");
-    add_srs_wkt (p, 2,
-        "012\"]],TOWGS84[-160,-6,-302,0,0,0,0],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 3,
-        ",\"6210\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
-    add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4210\"]]");
-    p = add_epsg_def (filter, first, last, 4211, "epsg", 4211,
-        "Batavia");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=bessel +towgs84=-377,681,-50,0,0,0,");
-    add_proj4text (p, 1,
-        "0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Batavia\",DATUM[\"Batavia\",SPHEROID[\"Bessel 1");
-    add_srs_wkt (p, 1,
-        "841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"");
-    add_srs_wkt (p, 2,
-        "]],TOWGS84[-377,681,-50,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
-    add_srs_wkt (p, 3,
-        "11\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
-    add_srs_wkt (p, 4,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4211\"]]");
-    p = add_epsg_def (filter, first, last, 4212, "epsg", 4212,
-        "Barbados 1938");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=clrk80 +towgs84=31.95,300.99,419.19");
-    add_proj4text (p, 1,
-        ",0,0,0,0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Barbados 1938\",DATUM[\"Barbados_1938\",SPHEROI");
-    add_srs_wkt (p, 1,
-        "D[\"Clarke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"");
-    add_srs_wkt (p, 2,
-        "EPSG\",\"7012\"]],TOWGS84[31.95,300.99,419.19,0,0,0,0],A");
-    add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6212\"]],PRIMEM[\"Greenwich\",0,AUTH");
-    add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
-    add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 6,
-        "4212\"]]");
+        ",AUTHORITY[\"EPSG\",\"4205\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_20.c b/src/srsinit/epsg_inlined_20.c
index 25b7b47..49b898e 100644
--- a/src/srsinit/epsg_inlined_20.c
+++ b/src/srsinit/epsg_inlined_20.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,172 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 4213, "epsg", 4213,
-        "Beduaram");
+    p = add_epsg_def_ex (filter, first, last, 4206, "epsg", 4206,
+        "Agadez", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Agadez", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Agadez\",DATUM[\"Agadez\",SPHEROID[\"Clarke 188");
+    add_srs_wkt (p, 1,
+        "0 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 2,
+        ",\"7011\"]],AUTHORITY[\"EPSG\",\"6206\"]],PRIMEM[\"Green");
+    add_srs_wkt (p, 3,
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+    add_srs_wkt (p, 4,
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
+    add_srs_wkt (p, 5,
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 6,
+        "SG\",\"4206\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4207, "epsg", 4207,
+        "Lisbon", 1, 1,
+        "International 1924", "Greenwich",
+        "Lisbon_1937", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=intl +towgs84=-304.046,-60.576,103.");
+    add_proj4text (p, 1,
+        "64,0,0,0,0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Lisbon\",DATUM[\"Lisbon_1937\",SPHEROID[\"Inter");
+    add_srs_wkt (p, 1,
+        "national 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]");
+    add_srs_wkt (p, 2,
+        "],TOWGS84[-304.046,-60.576,103.64,0,0,0,0],AUTHORITY[\"E");
+    add_srs_wkt (p, 3,
+        "PSG\",\"6207\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 4,
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+    add_srs_wkt (p, 5,
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4207\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4208, "epsg", 4208,
+        "Aratu", 1, 1,
+        "International 1924", "Greenwich",
+        "Aratu", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=intl +towgs84=-151.99,287.04,-147.4");
+    add_proj4text (p, 1,
+        "5,0,0,0,0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Aratu\",DATUM[\"Aratu\",SPHEROID[\"Internationa");
+    add_srs_wkt (p, 1,
+        "l 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS");
+    add_srs_wkt (p, 2,
+        "84[-151.99,287.04,-147.45,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 3,
+        "6208\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+    add_srs_wkt (p, 4,
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 5,
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 6,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4208\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4209, "epsg", 4209,
+        "Arc 1950", 1, 1,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Arc_1950", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +a=6378249.145 +b=6356514.966398753 +towgs");
+    add_proj4text (p, 1,
+        "84=-143,-90,-294,0,0,0,0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Arc 1950\",DATUM[\"Arc_1950\",SPHEROID[\"Clarke");
+    add_srs_wkt (p, 1,
+        " 1880 (Arc)\",6378249.145,293.4663077,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 2,
+        ",\"7013\"]],TOWGS84[-143,-90,-294,0,0,0,0],AUTHORITY[\"E");
+    add_srs_wkt (p, 3,
+        "PSG\",\"6209\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 4,
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+    add_srs_wkt (p, 5,
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4209\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4210, "epsg", 4210,
+        "Arc 1960", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Arc_1960", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=clrk80 +towgs84=-160,-6,-302,0,0,0,");
+    add_proj4text (p, 1,
+        "0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Arc 1960\",DATUM[\"Arc_1960\",SPHEROID[\"Clarke");
+    add_srs_wkt (p, 1,
+        " 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7");
+    add_srs_wkt (p, 2,
+        "012\"]],TOWGS84[-160,-6,-302,0,0,0,0],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 3,
+        ",\"6210\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 4,
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+    add_srs_wkt (p, 5,
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4210\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4211, "epsg", 4211,
+        "Batavia", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Batavia", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=bessel +towgs84=-377,681,-50,0,0,0,");
+    add_proj4text (p, 1,
+        "0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Batavia\",DATUM[\"Batavia\",SPHEROID[\"Bessel 1");
+    add_srs_wkt (p, 1,
+        "841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"");
+    add_srs_wkt (p, 2,
+        "]],TOWGS84[-377,681,-50,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
+    add_srs_wkt (p, 3,
+        "11\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+    add_srs_wkt (p, 4,
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 5,
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"4211\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4212, "epsg", 4212,
+        "Barbados 1938", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Barbados_1938", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=clrk80 +towgs84=31.95,300.99,419.19");
+    add_proj4text (p, 1,
+        ",0,0,0,0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Barbados 1938\",DATUM[\"Barbados_1938\",SPHEROI");
+    add_srs_wkt (p, 1,
+        "D[\"Clarke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"");
+    add_srs_wkt (p, 2,
+        "EPSG\",\"7012\"]],TOWGS84[31.95,300.99,419.19,0,0,0,0],A");
+    add_srs_wkt (p, 3,
+        "UTHORITY[\"EPSG\",\"6212\"]],PRIMEM[\"Greenwich\",0,AUTH");
+    add_srs_wkt (p, 4,
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+    add_srs_wkt (p, 5,
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
+    add_srs_wkt (p, 6,
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4212\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4213, "epsg", 4213,
+        "Beduaram", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Beduaram", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-106,-87,");
     add_proj4text (p, 1,
@@ -61,7 +227,7 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Beduaram\",DATUM[\"Beduaram\",SPHEROID[\"Clarke");
     add_srs_wkt (p, 1,
-        " 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EP");
+        " 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EP");
     add_srs_wkt (p, 2,
         "SG\",\"7011\"]],TOWGS84[-106,-87,188,0,0,0,0],AUTHORITY[");
     add_srs_wkt (p, 3,
@@ -69,9 +235,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4213\"]]");
-    p = add_epsg_def (filter, first, last, 4214, "epsg", 4214,
-        "Beijing 1954");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 6,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4213\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4214, "epsg", 4214,
+        "Beijing 1954", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +towgs84=15.8,-154.4,-82.3,0,");
     add_proj4text (p, 1,
@@ -87,9 +258,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]]");
-    p = add_epsg_def (filter, first, last, 4215, "epsg", 4215,
-        "Belge 1950");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4215, "epsg", 4215,
+        "Belge 1950", 1, 1,
+        "International 1924", "Greenwich",
+        "Reseau_National_Belge_1950", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -103,9 +279,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"4215\"]]");
-    p = add_epsg_def (filter, first, last, 4216, "epsg", 4216,
-        "Bermuda 1957");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
+    add_srs_wkt (p, 6,
+        "RITY[\"EPSG\",\"4215\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4216, "epsg", 4216,
+        "Bermuda 1957", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Bermuda_1957", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=-73,213,296,0,0,0,0");
     add_proj4text (p, 1,
@@ -113,7 +294,7 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Bermuda 1957\",DATUM[\"Bermuda_1957\",SPHEROID[");
     add_srs_wkt (p, 1,
-        "\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"");
+        "\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"");
     add_srs_wkt (p, 2,
         "EPSG\",\"7008\"]],TOWGS84[-73,213,296,0,0,0,0],AUTHORITY");
     add_srs_wkt (p, 3,
@@ -121,13 +302,20 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4216\"]]");
-    p = add_epsg_def (filter, first, last, 4217, "epsg", 4217,
-        "NAD83 / BLM 59N (ftUS)");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4216\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4217, "epsg", 4217,
+        "NAD83 / BLM 59N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=171 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "1016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 59N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
@@ -139,23 +327,28 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",171],PARAMETER[\"scale_factor\",0.9996]");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fal");
+        "meridian\",171],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "ETER[\"false_easting\",1640416.67],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4217\"]]");
-    p = add_epsg_def (filter, first, last, 4218, "epsg", 4218,
-        "Bogota 1975");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"4217\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4218, "epsg", 4218,
+        "Bogota 1975", 1, 1,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=307,304,-318,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -171,9 +364,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4218\"]]");
-    p = add_epsg_def (filter, first, last, 4219, "epsg", 4219,
-        "Bukit Rimpah");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 6,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4218\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4219, "epsg", 4219,
+        "Bukit Rimpah", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Bukit_Rimpah", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=-384,664,-48,0,0,0,");
     add_proj4text (p, 1,
@@ -189,9 +387,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4219\"]]");
-    p = add_epsg_def (filter, first, last, 4220, "epsg", 4220,
-        "Camacupa");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4219\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4220, "epsg", 4220,
+        "Camacupa", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Camacupa", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-50.9,-347.6,-231,0");
     add_proj4text (p, 1,
@@ -207,9 +410,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4220\"]]");
-    p = add_epsg_def (filter, first, last, 4221, "epsg", 4221,
-        "Campo Inchauspe");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4220\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4221, "epsg", 4221,
+        "Campo Inchauspe", 1, 1,
+        "International 1924", "Greenwich",
+        "Campo_Inchauspe", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-148,136,90,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -225,9 +433,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4221\"]]");
-    p = add_epsg_def (filter, first, last, 4222, "epsg", 4222,
-        "Cape");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4221\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4222, "epsg", 4222,
+        "Cape", 1, 1,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.145 +b=6356514.966398753 +towgs");
     add_proj4text (p, 1,
@@ -243,15 +456,22 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4222\"]]");
-    p = add_epsg_def (filter, first, last, 4223, "epsg", 4223,
-        "Carthage");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 6,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4222\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4223, "epsg", 4223,
+        "Carthage", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Carthage", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +datum=carthage +no_defs");
+        "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-263,6,43");
+    add_proj4text (p, 1,
+        "1,0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Carthage\",DATUM[\"Carthage\",SPHEROID[\"Clarke");
     add_srs_wkt (p, 1,
-        " 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EP");
+        " 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EP");
     add_srs_wkt (p, 2,
         "SG\",\"7011\"]],TOWGS84[-263,6,431,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 3,
@@ -259,53 +479,68 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4223\"]]");
-    p = add_epsg_def (filter, first, last, 4224, "epsg", 4224,
-        "Chua");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4223\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4224, "epsg", 4224,
+        "Chua", 1, 1,
+        "International 1924", "Greenwich",
+        "Chua", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-134,229,-29,0,0,0,0 ");
+        "+proj=longlat +ellps=intl +towgs84=-143.87,243.37,-33.52");
     add_proj4text (p, 1,
-        "+no_defs");
+        ",0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Chua\",DATUM[\"Chua\",SPHEROID[\"International ");
     add_srs_wkt (p, 1,
         "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84");
     add_srs_wkt (p, 2,
-        "[-134,229,-29,0,0,0,0],AUTHORITY[\"EPSG\",\"6224\"]],PRI");
+        "[-143.87,243.37,-33.52,0,0,0,0],AUTHORITY[\"EPSG\",\"622");
     add_srs_wkt (p, 3,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "4\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 4,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "],AUTHORITY[\"EPSG\",\"4224\"]]");
-    p = add_epsg_def (filter, first, last, 4225, "epsg", 4225,
-        "Corrego Alegre 1970-72");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"4224\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4225, "epsg", 4225,
+        "Corrego Alegre 1970-72", 1, 1,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1970_72", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +");
+        "+proj=longlat +ellps=intl +towgs84=-205.57,168.77,-4.12,");
     add_proj4text (p, 1,
-        "no_defs");
+        "0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre");
     add_srs_wkt (p, 1,
         "_1970_72\",SPHEROID[\"International 1924\",6378388,297,A");
     add_srs_wkt (p, 2,
-        "UTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-206,172,-6,0,0,0,0");
+        "UTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-205.57,168.77,-4.1");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0,A");
+        "2,0,0,0,0],AUTHORITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        ",\"4225\"]]");
-    p = add_epsg_def (filter, first, last, 4226, "epsg", 4226,
-        "Cote d'Ivoire");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 7,
+        "G\",\"4225\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4226, "epsg", 4226,
+        "Cote d'Ivoire", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Cote_d_Ivoire", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Cote d'Ivoire\",DATUM[\"Cote_d_Ivoire\",SPHEROI");
     add_srs_wkt (p, 1,
-        "D[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTH");
+        "D[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTH");
     add_srs_wkt (p, 2,
         "ORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\",\"6226\"]],");
     add_srs_wkt (p, 3,
@@ -313,9 +548,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"910");
     add_srs_wkt (p, 5,
-        "8\"]],AUTHORITY[\"EPSG\",\"4226\"]]");
-    p = add_epsg_def (filter, first, last, 4227, "epsg", 4227,
-        "Deir ez Zor");
+        "8\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 6,
+        "AUTHORITY[\"EPSG\",\"4226\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4227, "epsg", 4227,
+        "Deir ez Zor", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Deir_ez_Zor", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-190.421,");
     add_proj4text (p, 1,
@@ -323,7 +563,7 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Deir ez Zor\",DATUM[\"Deir_ez_Zor\",SPHEROID[\"");
     add_srs_wkt (p, 1,
-        "Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORIT");
+        "Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORIT");
     add_srs_wkt (p, 2,
         "Y[\"EPSG\",\"7011\"]],TOWGS84[-190.421,8.532,238.69,0,0,");
     add_srs_wkt (p, 3,
@@ -331,27 +571,37 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4227\"]]");
-    p = add_epsg_def (filter, first, last, 4228, "epsg", 4228,
-        "Douala");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4227\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4228, "epsg", 4228,
+        "Douala", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Douala", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Douala\",DATUM[\"Douala\",SPHEROID[\"Clarke 188");
     add_srs_wkt (p, 1,
-        "0 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\"");
+        "0 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 2,
         ",\"7011\"]],AUTHORITY[\"EPSG\",\"6228\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 3,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 4,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"L");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"4228\"]]");
-    p = add_epsg_def (filter, first, last, 4229, "epsg", 4229,
-        "Egypt 1907");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 6,
+        "SG\",\"4228\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4229, "epsg", 4229,
+        "Egypt 1907", 1, 1,
+        "Helmert 1906", "Greenwich",
+        "Egypt_1907", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=helmert +towgs84=-130,110,-13,0,0,0");
     add_proj4text (p, 1,
@@ -367,9 +617,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4229\"]]");
-    p = add_epsg_def (filter, first, last, 4230, "epsg", 4230,
-        "ED50");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 6,
+        "AST],AUTHORITY[\"EPSG\",\"4229\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4230, "epsg", 4230,
+        "ED50", 1, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -385,29 +640,41 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4230\"]]");
-    p = add_epsg_def (filter, first, last, 4231, "epsg", 4231,
-        "ED87");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 6,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4230\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4231, "epsg", 4231,
+        "ED87", 1, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1987", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-83.11,-97.38,-117.22");
     add_proj4text (p, 1,
-        ",0.00569291,-0.0446976,0.0442851,0.1218 +no_defs");
+        ",0.00569290865241986,-0.0446975835137458,0.0442850539012");
+    add_proj4text (p, 2,
+        "516,0.1218 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"ED87\",DATUM[\"European_Datum_1987\",SPHEROID[\"");
     add_srs_wkt (p, 1,
         "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 2,
-        "22\"]],TOWGS84[-83.11,-97.38,-117.22,0.00569291,-0.04469");
+        "22\"]],TOWGS84[-83.11,-97.38,-117.22,0.00569290865241986");
     add_srs_wkt (p, 3,
-        "76,0.0442851,0.1218],AUTHORITY[\"EPSG\",\"6231\"]],PRIME");
+        ",-0.0446975835137458,0.0442850539012516,0.1218],AUTHORIT");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "Y[\"EPSG\",\"6231\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4231\"]]");
-    p = add_epsg_def (filter, first, last, 4232, "epsg", 4232,
-        "Fahud");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 7,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4231\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4232, "epsg", 4232,
+        "Fahud", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Fahud", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-346,-1,224,0,0,0,0");
     add_proj4text (p, 1,
@@ -423,9 +690,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4232\"]]");
-    p = add_epsg_def (filter, first, last, 4233, "epsg", 4233,
-        "Gandajika 1970");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 6,
+        "AST],AUTHORITY[\"EPSG\",\"4232\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4233, "epsg", 4233,
+        "Gandajika 1970", 1, 1,
+        "International 1924", "Greenwich",
+        "Gandajika_1970", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -441,25 +713,35 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4233\"]]");
-    p = add_epsg_def (filter, first, last, 4234, "epsg", 4234,
-        "Garoua");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4233\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4234, "epsg", 4234,
+        "Garoua", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Garoua", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Garoua\",DATUM[\"Garoua\",SPHEROID[\"Clarke 188");
     add_srs_wkt (p, 1,
-        "0 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\"");
+        "0 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 2,
         ",\"7011\"]],AUTHORITY[\"EPSG\",\"6234\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 3,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 4,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"L");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"4234\"]]");
-    p = add_epsg_def (filter, first, last, 4235, "epsg", 4235,
-        "Guyane Francaise");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 6,
+        "SG\",\"4234\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4235, "epsg", 4235,
+        "Guyane Francaise", 1, 1,
+        "International 1924", "Greenwich",
+        "Guyane_Francaise", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -471,11 +753,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 4,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXI");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"4235\"]]");
-    p = add_epsg_def (filter, first, last, 4236, "epsg", 4236,
-        "Hu Tzu Shan 1950");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 6,
+        "[\"EPSG\",\"4235\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4236, "epsg", 4236,
+        "Hu Tzu Shan 1950", 1, 1,
+        "International 1924", "Greenwich",
+        "Hu_Tzu_Shan_1950", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-637,-549,-203,0,0,0,");
     add_proj4text (p, 1,
@@ -491,11 +778,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4236\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4237, "epsg", 4237,
-        "HD72");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4236\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4237, "epsg", 4237,
+        "HD72", 1, 1,
+        "GRS 1967", "Greenwich",
+        "Hungarian_Datum_1972", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS67 +towgs84=52.17,-71.82,-14.9,0");
     add_proj4text (p, 1,
@@ -511,9 +801,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4237\"]]");
-    p = add_epsg_def (filter, first, last, 4238, "epsg", 4238,
-        "ID74");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4237\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4238, "epsg", 4238,
+        "ID74", 1, 1,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378160 +b=6356774.50408554 +towgs84=-2");
     add_proj4text (p, 1,
@@ -529,15 +824,18 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4238");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 4239, "epsg", 4239,
-        "Indian 1954");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4238\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4239, "epsg", 4239,
+        "Indian 1954", 1, 1,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1954", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8");
+        "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs");
     add_proj4text (p, 1,
-        "4=217,823,299,0,0,0,0 +no_defs");
+        "84=217,823,299,0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Indian 1954\",DATUM[\"Indian_1954\",SPHEROID[\"");
     add_srs_wkt (p, 1,
@@ -549,15 +847,20 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4239\"]]");
-    p = add_epsg_def (filter, first, last, 4240, "epsg", 4240,
-        "Indian 1975");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4239");
+    add_srs_wkt (p, 7,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4240, "epsg", 4240,
+        "Indian 1975", 1, 1,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1975", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8");
+        "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs");
     add_proj4text (p, 1,
-        "4=210,814,289,0,0,0,0 +no_defs");
+        "84=210,814,289,0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Indian 1975\",DATUM[\"Indian_1975\",SPHEROID[\"");
     add_srs_wkt (p, 1,
@@ -569,11 +872,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4240\"]]");
-    p = add_epsg_def (filter, first, last, 4241, "epsg", 4241,
-        "Jamaica 1875");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4240");
+    add_srs_wkt (p, 7,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4241, "epsg", 4241,
+        "Jamaica 1875", 1, 1,
+        "Clarke 1880", "Greenwich",
+        "Jamaica_1875", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.144808011 +b=6356514.966204134 ");
     add_proj4text (p, 1,
@@ -581,7 +889,7 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Jamaica 1875\",DATUM[\"Jamaica_1875\",SPHEROID[");
     add_srs_wkt (p, 1,
-        "\"Clarke 1880\",6378249.144808011,293.4663076556349,AUTH");
+        "\"Clarke 1880\",6378249.144808011,293.4663076556365,AUTH");
     add_srs_wkt (p, 2,
         "ORITY[\"EPSG\",\"7034\"]],AUTHORITY[\"EPSG\",\"6241\"]],");
     add_srs_wkt (p, 3,
@@ -589,9 +897,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4241\"]]");
-    p = add_epsg_def (filter, first, last, 4242, "epsg", 4242,
-        "JAD69");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 6,
+        "AUTHORITY[\"EPSG\",\"4241\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4242, "epsg", 4242,
+        "JAD69", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Jamaica_1969", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=70,207,389.5,0,0,0,");
     add_proj4text (p, 1,
@@ -599,7 +912,7 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"JAD69\",DATUM[\"Jamaica_1969\",SPHEROID[\"Clark");
     add_srs_wkt (p, 1,
-        "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",");
+        "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 2,
         "\"7008\"]],TOWGS84[70,207,389.5,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
@@ -607,9 +920,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4242\"]]");
-    p = add_epsg_def (filter, first, last, 4243, "epsg", 4243,
-        "Kalianpur 1880");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4242\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4243, "epsg", 4243,
+        "Kalianpur 1880", 1, 1,
+        "Everest (1830 Definition)", "Greenwich",
+        "Kalianpur_1880", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6377299.36559538 +b=6356098.359005156 +");
     add_proj4text (p, 1,
@@ -619,19 +937,24 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "OID[\"Everest (1830 Definition)\",6377299.36559538,300.8");
     add_srs_wkt (p, 2,
-        "017255433552,AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"E");
+        "017255433549,AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"E");
     add_srs_wkt (p, 3,
         "PSG\",\"6243\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4243\"]]");
-    p = add_epsg_def (filter, first, last, 4244, "epsg", 4244,
-        "Kandawala");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4243\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4244, "epsg", 4244,
+        "Kandawala", 1, 1,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Kandawala", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8");
+        "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs");
     add_proj4text (p, 1,
-        "4=-97,787,86,0,0,0,0 +no_defs");
+        "84=-97,787,86,0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Kandawala\",DATUM[\"Kandawala\",SPHEROID[\"Ever");
     add_srs_wkt (p, 1,
@@ -643,11 +966,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"424");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 4245, "epsg", 4245,
-        "Kertau 1968");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4244\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4245, "epsg", 4245,
+        "Kertau 1968", 1, 1,
+        "Everest 1830 Modified", "Greenwich",
+        "Kertau_1968", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs");
     add_proj4text (p, 1,
@@ -663,9 +989,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4245\"]]");
-    p = add_epsg_def (filter, first, last, 4246, "epsg", 4246,
-        "KOC");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4245\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4246, "epsg", 4246,
+        "KOC", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Kuwait_Oil_Company", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-294.7,-200.1,525.5");
     add_proj4text (p, 1,
@@ -681,11 +1012,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4246\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4247, "epsg", 4247,
-        "La Canoa");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4246\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4247, "epsg", 4247,
+        "La Canoa", 1, 1,
+        "International 1924", "Greenwich",
+        "La_Canoa", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-273.5,110.6,-357.9,0");
     add_proj4text (p, 1,
@@ -701,9 +1035,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4247\"]]");
-    p = add_epsg_def (filter, first, last, 4248, "epsg", 4248,
-        "PSAD56");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4247\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4248, "epsg", 4248,
+        "PSAD56", 1, 1,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-288,175,-376,0,0,0,0");
     add_proj4text (p, 1,
@@ -719,11 +1058,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4248\"]]");
-    p = add_epsg_def (filter, first, last, 4249, "epsg", 4249,
-        "Lake");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
+    add_srs_wkt (p, 7,
+        "48\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4249, "epsg", 4249,
+        "Lake", 1, 1,
+        "International 1924", "Greenwich",
+        "Lake", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -735,11 +1079,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4249\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 5,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4250, "epsg", 4250,
-        "Leigon");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4249\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4250, "epsg", 4250,
+        "Leigon", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Leigon", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0");
     add_proj4text (p, 1,
@@ -755,9 +1102,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4250\"]]");
-    p = add_epsg_def (filter, first, last, 4251, "epsg", 4251,
-        "Liberia 1964");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"4250\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4251, "epsg", 4251,
+        "Liberia 1964", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Liberia_1964", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-90,40,88,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -773,25 +1125,35 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4251\"]]");
-    p = add_epsg_def (filter, first, last, 4252, "epsg", 4252,
-        "Lome");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4251\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4252, "epsg", 4252,
+        "Lome", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Lome", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Lome\",DATUM[\"Lome\",SPHEROID[\"Clarke 1880 (I");
     add_srs_wkt (p, 1,
-        "GN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7");
+        "GN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 2,
         "011\"]],AUTHORITY[\"EPSG\",\"6252\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 3,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 4,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 5,
-        "EPSG\",\"4252\"]]");
-    p = add_epsg_def (filter, first, last, 4253, "epsg", 4253,
-        "Luzon 1911");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"4252\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4253, "epsg", 4253,
+        "Luzon 1911", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Luzon_1911", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,");
     add_proj4text (p, 1,
@@ -799,7 +1161,7 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Luzon 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Cl");
     add_srs_wkt (p, 1,
-        "arke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG");
+        "arke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 2,
         "\",\"7008\"]],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 3,
@@ -807,9 +1169,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4253\"]]");
-    p = add_epsg_def (filter, first, last, 4254, "epsg", 4254,
-        "Hito XVIII 1963");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4253\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4254, "epsg", 4254,
+        "Hito XVIII 1963", 1, 1,
+        "International 1924", "Greenwich",
+        "Hito_XVIII_1963", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=16,196,93,0,0,0,0 +no");
     add_proj4text (p, 1,
@@ -825,9 +1192,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4254\"]]");
-    p = add_epsg_def (filter, first, last, 4255, "epsg", 4255,
-        "Herat North");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4254\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4255, "epsg", 4255,
+        "Herat North", 1, 1,
+        "International 1924", "Greenwich",
+        "Herat_North", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-333,-222,114,0,0,0,0");
     add_proj4text (p, 1,
@@ -843,9 +1215,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4255\"]]");
-    p = add_epsg_def (filter, first, last, 4256, "epsg", 4256,
-        "Mahe 1971");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4255\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4256, "epsg", 4256,
+        "Mahe 1971", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Mahe_1971", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=41,-220,-134,0,0,0,");
     add_proj4text (p, 1,
@@ -861,9 +1238,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4256\"]]");
-    p = add_epsg_def (filter, first, last, 4257, "epsg", 4257,
-        "Makassar");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4256\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4257, "epsg", 4257,
+        "Makassar", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Makassar", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.7");
     add_proj4text (p, 1,
@@ -879,9 +1261,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4257\"]]");
-    p = add_epsg_def (filter, first, last, 4258, "epsg", 4258,
-        "ETRS89");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4257\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4258, "epsg", 4258,
+        "ETRS89", 1, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -897,11 +1284,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "4258\"]]");
-    p = add_epsg_def (filter, first, last, 4259, "epsg", 4259,
-        "Malongo 1987");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4259, "epsg", 4259,
+        "Malongo 1987", 1, 1,
+        "International 1924", "Greenwich",
+        "Malongo_1987", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-254.1,-5.36,-100.29,");
     add_proj4text (p, 1,
@@ -917,9 +1309,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4259\"]]");
-    p = add_epsg_def (filter, first, last, 4260, "epsg", 4260,
-        "Manoca");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4259\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4260, "epsg", 4260,
+        "Manoca", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Manoca", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-70.9,-151.8,-41.4,");
     add_proj4text (p, 1,
@@ -935,9 +1332,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"4260\"]]");
-    p = add_epsg_def (filter, first, last, 4261, "epsg", 4261,
-        "Merchich");
+        "EPSG\",\"9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4260\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4261, "epsg", 4261,
+        "Merchich", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Merchich", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=31,146,47");
     add_proj4text (p, 1,
@@ -945,7 +1347,7 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Merchich\",DATUM[\"Merchich\",SPHEROID[\"Clarke");
     add_srs_wkt (p, 1,
-        " 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EP");
+        " 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EP");
     add_srs_wkt (p, 2,
         "SG\",\"7011\"]],TOWGS84[31,146,47,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 3,
@@ -953,9 +1355,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4261\"]]");
-    p = add_epsg_def (filter, first, last, 4262, "epsg", 4262,
-        "Massawa");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4261\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4262, "epsg", 4262,
+        "Massawa", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Massawa", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=639,405,60,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -971,9 +1378,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4262\"]]");
-    p = add_epsg_def (filter, first, last, 4263, "epsg", 4263,
-        "Minna");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 6,
+        "AST],AUTHORITY[\"EPSG\",\"4262\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4263, "epsg", 4263,
+        "Minna", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Minna", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-92,-93,122,0,0,0,0");
     add_proj4text (p, 1,
@@ -989,9 +1401,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4263\"]]");
-    p = add_epsg_def (filter, first, last, 4264, "epsg", 4264,
-        "Mhast");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 6,
+        "AST],AUTHORITY[\"EPSG\",\"4263\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4264, "epsg", 4264,
+        "Mhast", 1, 1,
+        "International 1924", "Greenwich",
+        "Mhast", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,");
     add_proj4text (p, 1,
@@ -1007,9 +1424,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4264\"]]");
-    p = add_epsg_def (filter, first, last, 4265, "epsg", 4265,
-        "Monte Mario");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"4264\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4265, "epsg", 4265,
+        "Monte Mario", 1, 1,
+        "International 1924", "Greenwich",
+        "Monte_Mario", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-104.1,-49.1,-9.9,0.9");
     add_proj4text (p, 1,
@@ -1025,11 +1447,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4265\"]]");
-    p = add_epsg_def (filter, first, last, 4266, "epsg", 4266,
-        "M'poraloko");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
+    add_srs_wkt (p, 7,
+        "65\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4266, "epsg", 4266,
+        "M'poraloko", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "M_poraloko", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-74,-130,");
     add_proj4text (p, 1,
@@ -1037,7 +1464,7 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"M'poraloko\",DATUM[\"M_poraloko\",SPHEROID[\"Cl");
     add_srs_wkt (p, 1,
-        "arke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[");
+        "arke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[");
     add_srs_wkt (p, 2,
         "\"EPSG\",\"7011\"]],TOWGS84[-74,-130,42,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 3,
@@ -1045,17 +1472,20 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4266\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4267, "epsg", 4267,
-        "NAD27");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4266\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4267, "epsg", 4267,
+        "NAD27", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +datum=NAD27 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPH");
     add_srs_wkt (p, 1,
-        "EROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHOR");
+        "EROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHOR");
     add_srs_wkt (p, 2,
         "ITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PR");
     add_srs_wkt (p, 3,
@@ -1063,9 +1493,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 5,
-        "]],AUTHORITY[\"EPSG\",\"4267\"]]");
-    p = add_epsg_def (filter, first, last, 4268, "epsg", 4268,
-        "NAD27 Michigan");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 6,
+        "HORITY[\"EPSG\",\"4267\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4268, "epsg", 4268,
+        "NAD27 Michigan", 1, 1,
+        "Clarke 1866 Michigan", "Greenwich",
+        "NAD27_Michigan", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378450.047548896 +b=6356826.621488444 ");
     add_proj4text (p, 1,
@@ -1075,17 +1510,24 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "OID[\"Clarke 1866 Michigan\",6378450.047548896,294.97869");
     add_srs_wkt (p, 2,
-        "71646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\"");
+        "71646772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
         ",\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4268\"]]");
-    p = add_epsg_def (filter, first, last, 4269, "epsg", 4269,
-        "NAD83");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4268\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4269, "epsg", 4269,
+        "NAD83", 1, 1,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +datum=NAD83 +no_defs");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
+    add_proj4text (p, 1,
+        "fs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPH");
     add_srs_wkt (p, 1,
@@ -1097,9 +1539,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]]");
-    p = add_epsg_def (filter, first, last, 4270, "epsg", 4270,
-        "Nahrwan 1967");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4269\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4270, "epsg", 4270,
+        "Nahrwan 1967", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nahrwan_1967", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-242.2,-144.9,370.3");
     add_proj4text (p, 1,
@@ -1115,11 +1562,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "70\"]]");
-    p = add_epsg_def (filter, first, last, 4271, "epsg", 4271,
-        "Naparima 1972");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4270\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4271, "epsg", 4271,
+        "Naparima 1972", 1, 1,
+        "International 1924", "Greenwich",
+        "Naparima_1972", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-10,375,165,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1135,11 +1585,18 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4271\"]]");
-    p = add_epsg_def (filter, first, last, 4272, "epsg", 4272,
-        "NZGD49");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 6,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4271\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4272, "epsg", 4272,
+        "NZGD49", 1, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +datum=nzgd49 +no_defs");
+        "+proj=longlat +ellps=intl +towgs84=59.47,-5.04,187.44,0.");
+    add_proj4text (p, 1,
+        "47,-0.1,1.024,-4.5993 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"NZGD49\",DATUM[\"New_Zealand_Geodetic_Datum_194");
     add_srs_wkt (p, 1,
@@ -1151,11 +1608,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4272\"]]");
-    p = add_epsg_def (filter, first, last, 4273, "epsg", 4273,
-        "NGO 1948");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 7,
+        "[\"EPSG\",\"4272\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4273, "epsg", 4273,
+        "NGO 1948", 1, 1,
+        "Bessel Modified", "Greenwich",
+        "NGO_1948", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs");
     add_proj4text (p, 1,
@@ -1171,11 +1633,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4273\"]]");
-    p = add_epsg_def (filter, first, last, 4274, "epsg", 4274,
-        "Datum 73");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4273\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4274, "epsg", 4274,
+        "Datum 73", 1, 1,
+        "International 1924", "Greenwich",
+        "Datum_73", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-223.237,110.193,36.6");
     add_proj4text (p, 1,
@@ -1191,9 +1658,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4274\"]]");
-    p = add_epsg_def (filter, first, last, 4275, "epsg", 4275,
-        "NTF");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4274\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4275, "epsg", 4275,
+        "NTF", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Nouvelle_Triangulation_Francaise", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,");
     add_proj4text (p, 1,
@@ -1203,17 +1675,22 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936");
     add_srs_wkt (p, 2,
-        "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0");
+        "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0");
     add_srs_wkt (p, 3,
         ",0,0,0],AUTHORITY[\"EPSG\",\"6275\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4275\"]]");
-    p = add_epsg_def (filter, first, last, 4276, "epsg", 4276,
-        "NSWC 9Z-2");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 7,
+        ",\"4275\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4276, "epsg", 4276,
+        "NSWC 9Z-2", 1, 1,
+        "NWL 9D", "Greenwich",
+        "NSWC_9Z_2", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS66 +no_defs");
     add_srs_wkt (p, 0,
@@ -1225,13 +1702,18 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4276\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 5,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4277, "epsg", 4277,
-        "OSGB 1936");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4276\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4277, "epsg", 4277,
+        "OSGB 1936", 1, 1,
+        "Airy 1830", "Greenwich",
+        "OSGB_1936", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +datum=OSGB36 +no_defs");
+        "+proj=longlat +ellps=airy +towgs84=446.448,-125.157,542.");
+    add_proj4text (p, 1,
+        "06,0.15,0.247,0.842,-20.489 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"OSGB 1936\",DATUM[\"OSGB_1936\",SPHEROID[\"Airy");
     add_srs_wkt (p, 1,
@@ -1243,11 +1725,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4277\"]]");
-    p = add_epsg_def (filter, first, last, 4278, "epsg", 4278,
-        "OSGB70");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 7,
+        ",\"4277\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4278, "epsg", 4278,
+        "OSGB70", 1, 1,
+        "Airy 1830", "Greenwich",
+        "OSGB_1970_SN", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=airy +no_defs");
     add_srs_wkt (p, 0,
@@ -1259,11 +1746,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 4,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 5,
-        "SG\",\"4278\"]]");
-    p = add_epsg_def (filter, first, last, 4279, "epsg", 4279,
-        "OS(SN)80");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "4278\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4279, "epsg", 4279,
+        "OS(SN)80", 1, 1,
+        "Airy 1830", "Greenwich",
+        "OS_SN_1980", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=airy +no_defs");
     add_srs_wkt (p, 0,
@@ -1275,11 +1767,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 4,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 5,
-        "SG\",\"4279\"]]");
-    p = add_epsg_def (filter, first, last, 4280, "epsg", 4280,
-        "Padang");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "4279\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4280, "epsg", 4280,
+        "Padang", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Padang_1884", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
@@ -1291,31 +1788,41 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 4,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 5,
-        "SG\",\"4280\"]]");
-    p = add_epsg_def (filter, first, last, 4281, "epsg", 4281,
-        "Palestine 1923");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "4280\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4281, "epsg", 4281,
+        "Palestine 1923", 1, 1,
+        "Clarke 1880 (Benoit)", "Greenwich",
+        "Palestine_1923", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378300.789 +b=6356566.435 +towgs84=-27");
     add_proj4text (p, 1,
-        "5.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +no_defs");
+        "5.7224,94.7824,340.8944,-8.001,-4.42,-11.821,1 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Palestine 1923\",DATUM[\"Palestine_1923\",SPHER");
     add_srs_wkt (p, 1,
         "OID[\"Clarke 1880 (Benoit)\",6378300.789,293.46631553898");
     add_srs_wkt (p, 2,
-        "02,AUTHORITY[\"EPSG\",\"7010\"]],TOWGS84[-275.722,94.782");
+        "11,AUTHORITY[\"EPSG\",\"7010\"]],TOWGS84[-275.7224,94.78");
     add_srs_wkt (p, 3,
-        "4,340.894,-8.001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6");
+        "24,340.8944,-8.001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "281\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "6281\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4281\"]]");
-    p = add_epsg_def (filter, first, last, 4282, "epsg", 4282,
-        "Pointe Noire");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 7,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4281\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4282, "epsg", 4282,
+        "Pointe Noire", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Congo_1960_Pointe_Noire", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-148,51,-");
     add_proj4text (p, 1,
@@ -1325,17 +1832,22 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936");
     add_srs_wkt (p, 2,
-        "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-148,51,-291,0");
+        "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-148,51,-291,0");
     add_srs_wkt (p, 3,
         ",0,0,0],AUTHORITY[\"EPSG\",\"6282\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4282\"]]");
-    p = add_epsg_def (filter, first, last, 4283, "epsg", 4283,
-        "GDA94");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 7,
+        ",\"4282\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4283, "epsg", 4283,
+        "GDA94", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1351,29 +1863,39 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4283\"]]");
-    p = add_epsg_def (filter, first, last, 4284, "epsg", 4284,
-        "Pulkovo 1942");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4283\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4284, "epsg", 4284,
+        "Pulkovo 1942", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +towgs84=23.92,-141.27,-80.9,");
     add_proj4text (p, 1,
-        "-0,0.35,0.82,-0.12 +no_defs");
+        "0,0.35,0.82,-0.12 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 1,
         "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 2,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4284\"]]");
-    p = add_epsg_def (filter, first, last, 4285, "epsg", 4285,
-        "Qatar 1974");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4285, "epsg", 4285,
+        "Qatar 1974", 1, 1,
+        "International 1924", "Greenwich",
+        "Qatar_1974", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-128.16,-282.42,21.93");
     add_proj4text (p, 1,
@@ -1389,9 +1911,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4285\"]]");
-    p = add_epsg_def (filter, first, last, 4286, "epsg", 4286,
-        "Qatar 1948");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4285\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4286, "epsg", 4286,
+        "Qatar 1948", 1, 1,
+        "Helmert 1906", "Greenwich",
+        "Qatar_1948", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=helmert +no_defs");
     add_srs_wkt (p, 0,
@@ -1403,11 +1930,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 4,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 5,
-        "\"4286\"]]");
-    p = add_epsg_def (filter, first, last, 4287, "epsg", 4287,
-        "Qornoq");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4286");
+    add_srs_wkt (p, 6,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4287, "epsg", 4287,
+        "Qornoq", 1, 1,
+        "International 1924", "Greenwich",
+        "Qornoq", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=164,138,-189,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1423,9 +1955,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 5,
-        "08\"]],AUTHORITY[\"EPSG\",\"4287\"]]");
-    p = add_epsg_def (filter, first, last, 4288, "epsg", 4288,
-        "Loma Quintana");
+        "08\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
+    add_srs_wkt (p, 6,
+        ",AUTHORITY[\"EPSG\",\"4287\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4288, "epsg", 4288,
+        "Loma Quintana", 1, 1,
+        "International 1924", "Greenwich",
+        "Loma_Quintana", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -1437,31 +1974,43 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 4,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"4288\"]]");
-    p = add_epsg_def (filter, first, last, 4289, "epsg", 4289,
-        "Amersfoort");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 6,
+        "G\",\"4288\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4289, "epsg", 4289,
+        "Amersfoort", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Amersfoort", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=bessel +towgs84=565.417,50.3319,465");
+        "+proj=longlat +ellps=bessel +towgs84=565.4171,50.3319,46");
     add_proj4text (p, 1,
-        ".552,-0.398957,0.343988,-1.8774,4.0725 +no_defs");
+        "5.5524,-0.398957388243134,0.343987817378283,-1.877401639");
+    add_proj4text (p, 2,
+        "98045,4.0725 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Amersfoort\",DATUM[\"Amersfoort\",SPHEROID[\"Be");
     add_srs_wkt (p, 1,
         "ssel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 2,
-        "7004\"]],TOWGS84[565.417,50.3319,465.552,-0.398957,0.343");
+        "7004\"]],TOWGS84[565.4171,50.3319,465.5524,-0.3989573882");
     add_srs_wkt (p, 3,
-        "988,-1.8774,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],PRIMEM");
+        "43134,0.343987817378283,-1.87740163998045,4.0725],AUTHOR");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "ITY[\"EPSG\",\"6289\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4289\"]]");
-    p = add_epsg_def (filter, first, last, 4291, "epsg", 4291,
-        "SAD69");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
+    add_srs_wkt (p, 7,
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4289\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4291, "epsg", 4291,
+        "SAD69", 1, 1,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +n");
     add_proj4text (p, 1,
@@ -1477,9 +2026,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"4291\"]]");
-    p = add_epsg_def (filter, first, last, 4292, "epsg", 4292,
-        "Sapper Hill 1943");
+        "[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4291\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4292, "epsg", 4292,
+        "Sapper Hill 1943", 1, 1,
+        "International 1924", "Greenwich",
+        "Sapper_Hill_1943", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-355,21,72,0,0,0,0 +n");
     add_proj4text (p, 1,
@@ -1495,9 +2049,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4292\"]]");
-    p = add_epsg_def (filter, first, last, 4293, "epsg", 4293,
-        "Schwarzeck");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4292\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4293, "epsg", 4293,
+        "Schwarzeck", 1, 1,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Schwarzeck", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bess_nam +towgs84=616,97,-251,0,0,0");
     add_proj4text (p, 1,
@@ -1513,11 +2072,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "293\"]]");
-    p = add_epsg_def (filter, first, last, 4294, "epsg", 4294,
-        "Segora");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4293\"]");
+    add_srs_wkt (p, 7,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4294, "epsg", 4294,
+        "Segora", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Segora", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=-403,684,41,0,0,0,0");
     add_proj4text (p, 1,
@@ -1533,9 +2097,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "\"9108\"]],AUTHORITY[\"EPSG\",\"4294\"]]");
-    p = add_epsg_def (filter, first, last, 4295, "epsg", 4295,
-        "Serindung");
+        "\"9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 6,
+        "AST],AUTHORITY[\"EPSG\",\"4294\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4295, "epsg", 4295,
+        "Serindung", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Serindung", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
@@ -1547,27 +2116,37 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 4,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 5,
-        "EPSG\",\"4295\"]]");
-    p = add_epsg_def (filter, first, last, 4296, "epsg", 4296,
-        "Sudan");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"4295\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4296, "epsg", 4296,
+        "Sudan", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Sudan", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Sudan\",DATUM[\"Sudan\",SPHEROID[\"Clarke 1880 ");
     add_srs_wkt (p, 1,
-        "(IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"");
+        "(IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 2,
         "7011\"]],AUTHORITY[\"EPSG\",\"6296\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 3,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 4,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Lati");
     add_srs_wkt (p, 5,
-        "EPSG\",\"4296\"]]");
-    p = add_epsg_def (filter, first, last, 4297, "epsg", 4297,
-        "Tananarive");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"4296\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4297, "epsg", 4297,
+        "Tananarive", 1, 1,
+        "International 1924", "Greenwich",
+        "Tananarive_1925", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0");
     add_proj4text (p, 1,
@@ -1583,9 +2162,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4297\"]]");
-    p = add_epsg_def (filter, first, last, 4298, "epsg", 4298,
-        "Timbalai 1948");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 6,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4297\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4298, "epsg", 4298,
+        "Timbalai 1948", 1, 1,
+        "Everest 1830 (1967 Definition)", "Greenwich",
+        "Timbalai_1948", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=evrstSS +towgs84=-679,669,-48,0,0,0");
     add_proj4text (p, 1,
@@ -1601,13 +2185,20 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4298\"]]");
-    p = add_epsg_def (filter, first, last, 4299, "epsg", 4299,
-        "TM65");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4298\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4299, "epsg", 4299,
+        "TM65", 1, 1,
+        "Airy Modified 1849", "Greenwich",
+        "TM65", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +datum=ire65 +no_defs");
+        "+proj=longlat +ellps=mod_airy +towgs84=482.5,-130.6,564.");
+    add_proj4text (p, 1,
+        "6,-1.042,-0.214,-0.631,8.15 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"TM65\",DATUM[\"TM65\",SPHEROID[\"Airy Modified ");
     add_srs_wkt (p, 1,
@@ -1619,11 +2210,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4299\"]]");
-    p = add_epsg_def (filter, first, last, 4300, "epsg", 4300,
-        "TM75");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
+    add_srs_wkt (p, 7,
+        "99\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4300, "epsg", 4300,
+        "TM75", 1, 1,
+        "Airy Modified 1849", "Greenwich",
+        "Geodetic_Datum_of_1965", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=mod_airy +towgs84=482.5,-130.6,564.");
     add_proj4text (p, 1,
@@ -1641,9 +2237,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4300\"]]");
-    p = add_epsg_def (filter, first, last, 4301, "epsg", 4301,
-        "Tokyo");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
+    add_srs_wkt (p, 7,
+        "RITY[\"EPSG\",\"4300\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4301, "epsg", 4301,
+        "Tokyo", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=-146.414,507.337,68");
     add_proj4text (p, 1,
@@ -1659,9 +2260,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]]");
-    p = add_epsg_def (filter, first, last, 4302, "epsg", 4302,
-        "Trinidad 1903");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4301\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4302, "epsg", 4302,
+        "Trinidad 1903", 1, 1,
+        "Clarke 1858", "Greenwich",
+        "Trinidad_1903", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 ");
     add_proj4text (p, 1,
@@ -1669,7 +2275,7 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Trinidad 1903\",DATUM[\"Trinidad_1903\",SPHEROI");
     add_srs_wkt (p, 1,
-        "D[\"Clarke 1858\",6378293.645208759,294.2606763692569,AU");
+        "D[\"Clarke 1858\",6378293.645208759,294.2606763692606,AU");
     add_srs_wkt (p, 2,
         "THORITY[\"EPSG\",\"7007\"]],TOWGS84[-61.702,284.488,472.");
     add_srs_wkt (p, 3,
@@ -1677,11 +2283,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4302\"]]");
-    p = add_epsg_def (filter, first, last, 4303, "epsg", 4303,
-        "TC(1948)");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 7,
+        "PSG\",\"4302\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4303, "epsg", 4303,
+        "TC(1948)", 1, 1,
+        "Helmert 1906", "Greenwich",
+        "Trucial_Coast_1948", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=helmert +no_defs");
     add_srs_wkt (p, 0,
@@ -1693,11 +2304,16 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 4,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 5,
-        "SG\",\"4303\"]]");
-    p = add_epsg_def (filter, first, last, 4304, "epsg", 4304,
-        "Voirol 1875");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "4303\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4304, "epsg", 4304,
+        "Voirol 1875", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Voirol_1875", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,");
     add_proj4text (p, 1,
@@ -1705,7 +2321,7 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Voirol 1875\",DATUM[\"Voirol_1875\",SPHEROID[\"");
     add_srs_wkt (p, 1,
-        "Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORIT");
+        "Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORIT");
     add_srs_wkt (p, 2,
         "Y[\"EPSG\",\"7011\"]],TOWGS84[-73,-247,227,0,0,0,0],AUTH");
     add_srs_wkt (p, 3,
@@ -1713,11 +2329,14 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"430");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 4306, "epsg", 4306,
-        "Bern 1938");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4304\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4306, "epsg", 4306,
+        "Bern 1938", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Bern_1938", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
@@ -1729,31 +2348,41 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 4,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 5,
-        "EPSG\",\"4306\"]]");
-    p = add_epsg_def (filter, first, last, 4307, "epsg", 4307,
-        "Nord Sahara 1959");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"4306\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4307, "epsg", 4307,
+        "Nord Sahara 1959", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nord_Sahara_1959", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=clrk80 +towgs84=-209.362,-87.8162,4");
+        "+proj=longlat +ellps=clrk80 +towgs84=-209.3622,-87.8162,");
     add_proj4text (p, 1,
-        "04.62,0.0046,3.4784,0.5805,-1.4547 +no_defs");
+        "404.6198,0.0046,3.4784,0.5805,-1.4547 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Nord Sahara 1959\",DATUM[\"Nord_Sahara_1959\",S");
     add_srs_wkt (p, 1,
         "PHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.465,AUTHOR");
     add_srs_wkt (p, 2,
-        "ITY[\"EPSG\",\"7012\"]],TOWGS84[-209.362,-87.8162,404.62");
+        "ITY[\"EPSG\",\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6");
     add_srs_wkt (p, 3,
-        ",0.0046,3.4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307");
+        "198,0.0046,3.4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "307\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4307\"]]");
-    p = add_epsg_def (filter, first, last, 4308, "epsg", 4308,
-        "RT38");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
+    add_srs_wkt (p, 7,
+        ",EAST],AUTHORITY[\"EPSG\",\"4307\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4308, "epsg", 4308,
+        "RT38", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Stockholm_1938", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
@@ -1765,137 +2394,11 @@ initialize_epsg_20 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 4,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
-    add_srs_wkt (p, 5,
-        "EPSG\",\"4308\"]]");
-    p = add_epsg_def (filter, first, last, 4309, "epsg", 4309,
-        "Yacare");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-155,171,37,0,0,0,0 +");
-    add_proj4text (p, 1,
-        "no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Yacare\",DATUM[\"Yacare\",SPHEROID[\"Internatio");
-    add_srs_wkt (p, 1,
-        "nal 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOW");
-    add_srs_wkt (p, 2,
-        "GS84[-155,171,37,0,0,0,0],AUTHORITY[\"EPSG\",\"6309\"]],");
-    add_srs_wkt (p, 3,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
-    add_srs_wkt (p, 4,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
-    add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4309\"]]");
-    p = add_epsg_def (filter, first, last, 4310, "epsg", 4310,
-        "Yoff");
-    add_proj4text (p, 0,
-        "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Yoff\",DATUM[\"Yoff\",SPHEROID[\"Clarke 1880 (I");
-    add_srs_wkt (p, 1,
-        "GN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7");
-    add_srs_wkt (p, 2,
-        "011\"]],AUTHORITY[\"EPSG\",\"6310\"]],PRIMEM[\"Greenwich");
-    add_srs_wkt (p, 3,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
-    add_srs_wkt (p, 4,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
-    add_srs_wkt (p, 5,
-        "EPSG\",\"4310\"]]");
-    p = add_epsg_def (filter, first, last, 4311, "epsg", 4311,
-        "Zanderij");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0");
-    add_proj4text (p, 1,
-        " +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Zanderij\",DATUM[\"Zanderij\",SPHEROID[\"Intern");
-    add_srs_wkt (p, 1,
-        "ational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]]");
-    add_srs_wkt (p, 2,
-        ",TOWGS84[-265,120,-358,0,0,0,0],AUTHORITY[\"EPSG\",\"631");
-    add_srs_wkt (p, 3,
-        "1\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
-    add_srs_wkt (p, 4,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4311\"]]");
-    p = add_epsg_def (filter, first, last, 4312, "epsg", 4312,
-        "MGI");
-    add_proj4text (p, 0,
-        "+proj=longlat +datum=hermannskogel +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"MGI\",DATUM[\"Militar_Geographische_Institute\"");
-    add_srs_wkt (p, 1,
-        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
-    add_srs_wkt (p, 2,
-        "ITY[\"EPSG\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5");
-    add_srs_wkt (p, 3,
-        ".137,1.474,5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],P");
-    add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
-    add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
-    add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4312\"]]");
-    p = add_epsg_def (filter, first, last, 4313, "epsg", 4313,
-        "Belge 1972");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-106.869,52.2978,-103");
-    add_proj4text (p, 1,
-        ".724,0.3366,-0.457,1.8422,-1.2747 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Belge 1972\",DATUM[\"Reseau_National_Belge_1972");
-    add_srs_wkt (p, 1,
-        "\",SPHEROID[\"International 1924\",6378388,297,AUTHORITY");
-    add_srs_wkt (p, 2,
-        "[\"EPSG\",\"7022\"]],TOWGS84[-106.869,52.2978,-103.724,0");
-    add_srs_wkt (p, 3,
-        ".3366,-0.457,1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"");
-    add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
-    add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4313\"]]");
-    p = add_epsg_def (filter, first, last, 4314, "epsg", 4314,
-        "DHDN");
-    add_proj4text (p, 0,
-        "+proj=longlat +datum=potsdam +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SP");
-    add_srs_wkt (p, 1,
-        "HEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY");
-    add_srs_wkt (p, 2,
-        "[\"EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.04");
-    add_srs_wkt (p, 3,
-        "5,-2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Gre");
-    add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
-    add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
-    add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4314\"]]");
-    p = add_epsg_def (filter, first, last, 4315, "epsg", 4315,
-        "Conakry 1905");
-    add_proj4text (p, 0,
-        "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23,259,-");
-    add_proj4text (p, 1,
-        "9,0,0,0,0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Conakry 1905\",DATUM[\"Conakry_1905\",SPHEROID[");
-    add_srs_wkt (p, 1,
-        "\"Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHOR");
-    add_srs_wkt (p, 2,
-        "ITY[\"EPSG\",\"7011\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTH");
-    add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"6315\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
-    add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"431");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "5\"]]");
+        ",\"4308\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_21.c b/src/srsinit/epsg_inlined_21.c
index 67291cb..766b272 100644
--- a/src/srsinit/epsg_inlined_21.c
+++ b/src/srsinit/epsg_inlined_21.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,176 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 4316, "epsg", 4316,
-        "Dealul Piscului 1930");
+    p = add_epsg_def_ex (filter, first, last, 4309, "epsg", 4309,
+        "Yacare", 1, 1,
+        "International 1924", "Greenwich",
+        "Yacare", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=intl +towgs84=-155,171,37,0,0,0,0 +");
+    add_proj4text (p, 1,
+        "no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Yacare\",DATUM[\"Yacare\",SPHEROID[\"Internatio");
+    add_srs_wkt (p, 1,
+        "nal 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOW");
+    add_srs_wkt (p, 2,
+        "GS84[-155,171,37,0,0,0,0],AUTHORITY[\"EPSG\",\"6309\"]],");
+    add_srs_wkt (p, 3,
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+    add_srs_wkt (p, 4,
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+    add_srs_wkt (p, 5,
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 6,
+        "AUTHORITY[\"EPSG\",\"4309\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4310, "epsg", 4310,
+        "Yoff", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Yoff", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Yoff\",DATUM[\"Yoff\",SPHEROID[\"Clarke 1880 (I");
+    add_srs_wkt (p, 1,
+        "GN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7");
+    add_srs_wkt (p, 2,
+        "011\"]],AUTHORITY[\"EPSG\",\"6310\"]],PRIMEM[\"Greenwich");
+    add_srs_wkt (p, 3,
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+    add_srs_wkt (p, 4,
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
+    add_srs_wkt (p, 5,
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"4310\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4311, "epsg", 4311,
+        "Zanderij", 1, 1,
+        "International 1924", "Greenwich",
+        "Zanderij", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0");
+    add_proj4text (p, 1,
+        " +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Zanderij\",DATUM[\"Zanderij\",SPHEROID[\"Intern");
+    add_srs_wkt (p, 1,
+        "ational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]]");
+    add_srs_wkt (p, 2,
+        ",TOWGS84[-265,120,-358,0,0,0,0],AUTHORITY[\"EPSG\",\"631");
+    add_srs_wkt (p, 3,
+        "1\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+    add_srs_wkt (p, 4,
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 5,
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"4311\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4312, "epsg", 4312,
+        "MGI", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=bessel +towgs84=577.326,90.129,463.");
+    add_proj4text (p, 1,
+        "919,5.137,1.474,5.297,2.4232 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"MGI\",DATUM[\"Militar_Geographische_Institute\"");
+    add_srs_wkt (p, 1,
+        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
+    add_srs_wkt (p, 2,
+        "ITY[\"EPSG\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5");
+    add_srs_wkt (p, 3,
+        ".137,1.474,5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],P");
+    add_srs_wkt (p, 4,
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+    add_srs_wkt (p, 5,
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+    add_srs_wkt (p, 6,
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
+    add_srs_wkt (p, 7,
+        "UTHORITY[\"EPSG\",\"4312\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4313, "epsg", 4313,
+        "Belge 1972", 1, 1,
+        "International 1924", "Greenwich",
+        "Reseau_National_Belge_1972", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=intl +towgs84=-106.8686,52.2978,-10");
+    add_proj4text (p, 1,
+        "3.7239,0.3366,-0.457,1.8422,-1.2747 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Belge 1972\",DATUM[\"Reseau_National_Belge_1972");
+    add_srs_wkt (p, 1,
+        "\",SPHEROID[\"International 1924\",6378388,297,AUTHORITY");
+    add_srs_wkt (p, 2,
+        "[\"EPSG\",\"7022\"]],TOWGS84[-106.8686,52.2978,-103.7239");
+    add_srs_wkt (p, 3,
+        ",0.3366,-0.457,1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4313\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4314, "epsg", 4314,
+        "DHDN", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=bessel +towgs84=598.1,73.7,418.2,0.");
+    add_proj4text (p, 1,
+        "202,0.045,-2.455,6.7 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SP");
+    add_srs_wkt (p, 1,
+        "HEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY");
+    add_srs_wkt (p, 2,
+        "[\"EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.04");
+    add_srs_wkt (p, 3,
+        "5,-2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Gre");
+    add_srs_wkt (p, 4,
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+    add_srs_wkt (p, 5,
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 7,
+        "PSG\",\"4314\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4315, "epsg", 4315,
+        "Conakry 1905", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Conakry_1905", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23,259,-");
+    add_proj4text (p, 1,
+        "9,0,0,0,0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Conakry 1905\",DATUM[\"Conakry_1905\",SPHEROID[");
+    add_srs_wkt (p, 1,
+        "\"Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHOR");
+    add_srs_wkt (p, 2,
+        "ITY[\"EPSG\",\"7011\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTH");
+    add_srs_wkt (p, 3,
+        "ORITY[\"EPSG\",\"6315\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+    add_srs_wkt (p, 4,
+        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+    add_srs_wkt (p, 5,
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
+    add_srs_wkt (p, 6,
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4315\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4316, "epsg", 4316,
+        "Dealul Piscului 1930", 1, 1,
+        "International 1924", "Greenwich",
+        "Dealul_Piscului_1930", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=103.25,-100.4,-307.19");
     add_proj4text (p, 1,
@@ -69,11 +239,16 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4316\"]]");
-    p = add_epsg_def (filter, first, last, 4317, "epsg", 4317,
-        "Dealul Piscului 1970");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 7,
+        ",\"4316\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4317, "epsg", 4317,
+        "Dealul Piscului 1970", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Dealul_Piscului_1970", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +towgs84=28,-121,-77,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -89,11 +264,14 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"43");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "17\"]]");
-    p = add_epsg_def (filter, first, last, 4318, "epsg", 4318,
-        "NGN");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4317\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4318, "epsg", 4318,
+        "NGN", 1, 1,
+        "WGS 84", "Greenwich",
+        "National_Geodetic_Network", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,");
     add_proj4text (p, 1,
@@ -109,9 +287,14 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4318\"]]");
-    p = add_epsg_def (filter, first, last, 4319, "epsg", 4319,
-        "KUDAMS");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4318\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4319, "epsg", 4319,
+        "KUDAMS", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Kuwait_Utility", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=-20.8,11.3,2.4,0,0,0");
     add_proj4text (p, 1,
@@ -127,9 +310,14 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4319\"]]");
-    p = add_epsg_def (filter, first, last, 4322, "epsg", 4322,
-        "WGS 72");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 6,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4319\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4322, "epsg", 4322,
+        "WGS 72", 1, 1,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.");
     add_proj4text (p, 1,
@@ -145,9 +333,14 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 5,
-        "]],AUTHORITY[\"EPSG\",\"4322\"]]");
-    p = add_epsg_def (filter, first, last, 4324, "epsg", 4324,
-        "WGS 72BE");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 6,
+        "HORITY[\"EPSG\",\"4322\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4324, "epsg", 4324,
+        "WGS 72BE", 1, 1,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0");
     add_proj4text (p, 1,
@@ -163,11 +356,14 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"43");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "24\"]]");
-    p = add_epsg_def (filter, first, last, 4399, "epsg", 4399,
-        "NAD27 / BLM 59N (ftUS)");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4324\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4399, "epsg", 4399,
+        "NAD27 / BLM 59N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=171 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
@@ -177,29 +373,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",171],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",171");
     add_srs_wkt (p, 9,
-        "alse_easting\",1640416.67],PARAMETER[\"false_northing\",");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"4399\"]]");
-    p = add_epsg_def (filter, first, last, 4400, "epsg", 4400,
-        "NAD27 / BLM 60N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4399\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4400, "epsg", 4400,
+        "NAD27 / BLM 60N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=177 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
@@ -209,29 +410,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",177],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",177");
     add_srs_wkt (p, 9,
-        "alse_easting\",1640416.67],PARAMETER[\"false_northing\",");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"4400\"]]");
-    p = add_epsg_def (filter, first, last, 4401, "epsg", 4401,
-        "NAD27 / BLM 1N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4400\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4401, "epsg", 4401,
+        "NAD27 / BLM 1N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-177 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -241,29 +447,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-177],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-177");
     add_srs_wkt (p, 9,
-        "lse_easting\",1640416.67],PARAMETER[\"false_northing\",0");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4401\"]]");
-    p = add_epsg_def (filter, first, last, 4402, "epsg", 4402,
-        "NAD27 / BLM 2N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4401\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4402, "epsg", 4402,
+        "NAD27 / BLM 2N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-171 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -273,29 +484,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-171],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-171");
     add_srs_wkt (p, 9,
-        "lse_easting\",1640416.67],PARAMETER[\"false_northing\",0");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4402\"]]");
-    p = add_epsg_def (filter, first, last, 4403, "epsg", 4403,
-        "NAD27 / BLM 3N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4402\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4403, "epsg", 4403,
+        "NAD27 / BLM 3N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-165 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -305,29 +521,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-165],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-165");
     add_srs_wkt (p, 9,
-        "lse_easting\",1640416.67],PARAMETER[\"false_northing\",0");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4403\"]]");
-    p = add_epsg_def (filter, first, last, 4404, "epsg", 4404,
-        "NAD27 / BLM 4N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4403\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4404, "epsg", 4404,
+        "NAD27 / BLM 4N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-159 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -337,29 +558,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-159],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-159");
     add_srs_wkt (p, 9,
-        "lse_easting\",1640416.67],PARAMETER[\"false_northing\",0");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4404\"]]");
-    p = add_epsg_def (filter, first, last, 4405, "epsg", 4405,
-        "NAD27 / BLM 5N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4404\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4405, "epsg", 4405,
+        "NAD27 / BLM 5N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-153 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -369,29 +595,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-153],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-153");
     add_srs_wkt (p, 9,
-        "lse_easting\",1640416.67],PARAMETER[\"false_northing\",0");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4405\"]]");
-    p = add_epsg_def (filter, first, last, 4406, "epsg", 4406,
-        "NAD27 / BLM 6N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4405\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4406, "epsg", 4406,
+        "NAD27 / BLM 6N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-147 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -401,29 +632,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-147],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-147");
     add_srs_wkt (p, 9,
-        "lse_easting\",1640416.67],PARAMETER[\"false_northing\",0");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4406\"]]");
-    p = add_epsg_def (filter, first, last, 4407, "epsg", 4407,
-        "NAD27 / BLM 7N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4406\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4407, "epsg", 4407,
+        "NAD27 / BLM 7N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-141 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -433,29 +669,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-141],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-141");
     add_srs_wkt (p, 9,
-        "lse_easting\",1640416.67],PARAMETER[\"false_northing\",0");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4407\"]]");
-    p = add_epsg_def (filter, first, last, 4408, "epsg", 4408,
-        "NAD27 / BLM 8N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4407\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4408, "epsg", 4408,
+        "NAD27 / BLM 8N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-135 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -465,29 +706,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-135],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-135");
     add_srs_wkt (p, 9,
-        "lse_easting\",1640416.67],PARAMETER[\"false_northing\",0");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4408\"]]");
-    p = add_epsg_def (filter, first, last, 4409, "epsg", 4409,
-        "NAD27 / BLM 9N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4408\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4409, "epsg", 4409,
+        "NAD27 / BLM 9N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-129 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -497,29 +743,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
         ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-129],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-129");
     add_srs_wkt (p, 9,
-        "lse_easting\",1640416.67],PARAMETER[\"false_northing\",0");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4409\"]]");
-    p = add_epsg_def (filter, first, last, 4410, "epsg", 4410,
-        "NAD27 / BLM 10N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4409\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4410, "epsg", 4410,
+        "NAD27 / BLM 10N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-123 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -529,29 +780,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",-123],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-12");
     add_srs_wkt (p, 9,
-        "false_easting\",1640416.67],PARAMETER[\"false_northing\"");
+        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "easting\",1640416.67],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"4410\"]]");
-    p = add_epsg_def (filter, first, last, 4411, "epsg", 4411,
-        "NAD27 / BLM 11N (ftUS)");
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"4410\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4411, "epsg", 4411,
+        "NAD27 / BLM 11N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -561,29 +817,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",-117],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-11");
     add_srs_wkt (p, 9,
-        "false_easting\",1640416.67],PARAMETER[\"false_northing\"");
+        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "easting\",1640416.67],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"4411\"]]");
-    p = add_epsg_def (filter, first, last, 4412, "epsg", 4412,
-        "NAD27 / BLM 12N (ftUS)");
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"4411\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4412, "epsg", 4412,
+        "NAD27 / BLM 12N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -593,29 +854,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",-111],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-11");
     add_srs_wkt (p, 9,
-        "false_easting\",1640416.67],PARAMETER[\"false_northing\"");
+        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "easting\",1640416.67],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"4412\"]]");
-    p = add_epsg_def (filter, first, last, 4413, "epsg", 4413,
-        "NAD27 / BLM 13N (ftUS)");
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"4412\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4413, "epsg", 4413,
+        "NAD27 / BLM 13N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-105 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
@@ -625,29 +891,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",-105],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-10");
     add_srs_wkt (p, 9,
-        "false_easting\",1640416.67],PARAMETER[\"false_northing\"");
+        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "easting\",1640416.67],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"4413\"]]");
-    p = add_epsg_def (filter, first, last, 4414, "epsg", 4414,
-        "NAD83(HARN) / Guam Map Grid");
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"4413\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4414, "epsg", 4414,
+        "NAD83(HARN) / Guam Map Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=13.5 +lon_0=144.75 +k=1 +x_0=100000 +");
     add_proj4text (p, 1,
@@ -667,21 +938,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",13.5],PARAMETER[\"central_meridian\",144.75],PARAME");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",1");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1000");
+        "3.5],PARAMETER[\"central_meridian\",144.75],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",200000],UNIT[\"metre\",");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "RAMETER[\"false_northing\",200000],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"4414\"]]");
-    p = add_epsg_def (filter, first, last, 4415, "epsg", 4415,
-        "Katanga 1955 / Katanga Lambert");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"4414\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4415, "epsg", 4415,
+        "Katanga 1955 / Katanga Lambert", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Katanga_1955", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-6.5 +lat_2=-11.5 +lat_0=-9 +lon_0=26 +");
     add_proj4text (p, 1,
@@ -693,7 +969,7 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
         "]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
@@ -701,23 +977,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4695\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4695\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "andard_parallel_1\",-6.5],PARAMETER[\"standard_parallel_");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "2\",-11.5],PARAMETER[\"latitude_of_origin\",-9],PARAMETE");
+        "_parallel_1\",-6.5],PARAMETER[\"standard_parallel_2\",-1");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",26],PARAMETER[\"false_easting\",5");
+        "1.5],PARAMETER[\"latitude_of_origin\",-9],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "00000],PARAMETER[\"false_northing\",500000],UNIT[\"metre");
+        "ntral_meridian\",26],PARAMETER[\"false_easting\",500000]");
     add_srs_wkt (p, 12,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        ",PARAMETER[\"false_northing\",500000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4415\"]]");
-    p = add_epsg_def (filter, first, last, 4417, "epsg", 4417,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 7");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"4415\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4417, "epsg", 4417,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 7", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -737,21 +1018,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",21],PARA");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",75");
+        "rigin\",0],PARAMETER[\"central_meridian\",21],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",7500000]");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"4417\"");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4418, "epsg", 4418,
-        "NAD27 / BLM 18N (ftUS)");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"4417\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4418, "epsg", 4418,
+        "NAD27 / BLM 18N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-75 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
@@ -761,29 +1047,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-75");
     add_srs_wkt (p, 9,
-        "alse_easting\",1640416.67],PARAMETER[\"false_northing\",");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"4418\"]]");
-    p = add_epsg_def (filter, first, last, 4419, "epsg", 4419,
-        "NAD27 / BLM 19N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4418\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4419, "epsg", 4419,
+        "NAD27 / BLM 19N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-69 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
@@ -793,33 +1084,40 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
         "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "\",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-69");
     add_srs_wkt (p, 9,
-        "alse_easting\",1640416.67],PARAMETER[\"false_northing\",");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"4419\"]]");
-    p = add_epsg_def (filter, first, last, 4420, "epsg", 4420,
-        "NAD83 / BLM 60N (ftUS)");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"4419\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4420, "epsg", 4420,
+        "NAD83 / BLM 60N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=177 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "1016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 60N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
@@ -831,27 +1129,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",177],PARAMETER[\"scale_factor\",0.9996]");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fal");
+        "meridian\",177],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "ETER[\"false_easting\",1640416.67],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4420\"]]");
-    p = add_epsg_def (filter, first, last, 4421, "epsg", 4421,
-        "NAD83 / BLM 1N (ftUS)");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"4420\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4421, "epsg", 4421,
+        "NAD83 / BLM 1N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-177 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 1N (ftUS)\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
@@ -863,27 +1168,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-177],PARAMETER[\"scale_factor\",0.9996],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fals");
+        "idian\",-177],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"false_easting\",1640416.67],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"4421\"]]");
-    p = add_epsg_def (filter, first, last, 4422, "epsg", 4422,
-        "NAD83 / BLM 2N (ftUS)");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"4421\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4422, "epsg", 4422,
+        "NAD83 / BLM 2N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-171 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 2N (ftUS)\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
@@ -895,27 +1207,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-171],PARAMETER[\"scale_factor\",0.9996],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fals");
+        "idian\",-171],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"false_easting\",1640416.67],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"4422\"]]");
-    p = add_epsg_def (filter, first, last, 4423, "epsg", 4423,
-        "NAD83 / BLM 3N (ftUS)");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"4422\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4423, "epsg", 4423,
+        "NAD83 / BLM 3N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-165 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 3N (ftUS)\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
@@ -927,27 +1246,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-165],PARAMETER[\"scale_factor\",0.9996],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fals");
+        "idian\",-165],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"false_easting\",1640416.67],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"4423\"]]");
-    p = add_epsg_def (filter, first, last, 4424, "epsg", 4424,
-        "NAD83 / BLM 4N (ftUS)");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"4423\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4424, "epsg", 4424,
+        "NAD83 / BLM 4N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-159 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 4N (ftUS)\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
@@ -959,27 +1285,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-159],PARAMETER[\"scale_factor\",0.9996],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fals");
+        "idian\",-159],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"false_easting\",1640416.67],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"4424\"]]");
-    p = add_epsg_def (filter, first, last, 4425, "epsg", 4425,
-        "NAD83 / BLM 5N (ftUS)");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"4424\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4425, "epsg", 4425,
+        "NAD83 / BLM 5N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-153 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 5N (ftUS)\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
@@ -991,27 +1324,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-153],PARAMETER[\"scale_factor\",0.9996],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fals");
+        "idian\",-153],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"false_easting\",1640416.67],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"4425\"]]");
-    p = add_epsg_def (filter, first, last, 4426, "epsg", 4426,
-        "NAD83 / BLM 6N (ftUS)");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"4425\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4426, "epsg", 4426,
+        "NAD83 / BLM 6N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-147 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 6N (ftUS)\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
@@ -1023,27 +1363,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-147],PARAMETER[\"scale_factor\",0.9996],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fals");
+        "idian\",-147],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"false_easting\",1640416.67],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"4426\"]]");
-    p = add_epsg_def (filter, first, last, 4427, "epsg", 4427,
-        "NAD83 / BLM 7N (ftUS)");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"4426\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4427, "epsg", 4427,
+        "NAD83 / BLM 7N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-141 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 7N (ftUS)\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
@@ -1055,27 +1402,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-141],PARAMETER[\"scale_factor\",0.9996],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fals");
+        "idian\",-141],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"false_easting\",1640416.67],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"4427\"]]");
-    p = add_epsg_def (filter, first, last, 4428, "epsg", 4428,
-        "NAD83 / BLM 8N (ftUS)");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"4427\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4428, "epsg", 4428,
+        "NAD83 / BLM 8N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-135 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 8N (ftUS)\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
@@ -1087,27 +1441,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-135],PARAMETER[\"scale_factor\",0.9996],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fals");
+        "idian\",-135],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"false_easting\",1640416.67],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"4428\"]]");
-    p = add_epsg_def (filter, first, last, 4429, "epsg", 4429,
-        "NAD83 / BLM 9N (ftUS)");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"4428\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4429, "epsg", 4429,
+        "NAD83 / BLM 9N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-129 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 9N (ftUS)\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
@@ -1119,27 +1480,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-129],PARAMETER[\"scale_factor\",0.9996],");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fals");
+        "idian\",-129],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"false_easting\",1640416.67],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"4429\"]]");
-    p = add_epsg_def (filter, first, last, 4430, "epsg", 4430,
-        "NAD83 / BLM 10N (ftUS)");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"4429\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4430, "epsg", 4430,
+        "NAD83 / BLM 10N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-123 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 10N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
@@ -1151,27 +1519,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-123],PARAMETER[\"scale_factor\",0.9996");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fa");
+        "meridian\",-123],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "METER[\"false_easting\",1640416.67],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4430\"]]");
-    p = add_epsg_def (filter, first, last, 4431, "epsg", 4431,
-        "NAD83 / BLM 11N (ftUS)");
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"4430\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4431, "epsg", 4431,
+        "NAD83 / BLM 11N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 11N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
@@ -1183,27 +1558,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-117],PARAMETER[\"scale_factor\",0.9996");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fa");
+        "meridian\",-117],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "METER[\"false_easting\",1640416.67],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4431\"]]");
-    p = add_epsg_def (filter, first, last, 4432, "epsg", 4432,
-        "NAD83 / BLM 12N (ftUS)");
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"4431\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4432, "epsg", 4432,
+        "NAD83 / BLM 12N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 12N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
@@ -1215,27 +1597,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-111],PARAMETER[\"scale_factor\",0.9996");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fa");
+        "meridian\",-111],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "METER[\"false_easting\",1640416.67],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4432\"]]");
-    p = add_epsg_def (filter, first, last, 4433, "epsg", 4433,
-        "NAD83 / BLM 13N (ftUS)");
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"4432\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4433, "epsg", 4433,
+        "NAD83 / BLM 13N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-105 +k=0.9996 +x_0=500000.0");
     add_proj4text (p, 1,
-        "01016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "01016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 13N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
@@ -1247,23 +1636,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-105],PARAMETER[\"scale_factor\",0.9996");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fa");
+        "meridian\",-105],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "METER[\"false_easting\",1640416.67],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4433\"]]");
-    p = add_epsg_def (filter, first, last, 4434, "epsg", 4434,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 8");
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"4433\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4434, "epsg", 4434,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 8", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1283,21 +1677,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",24],PARA");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",85");
+        "rigin\",0],PARAMETER[\"central_meridian\",24],PARAMETER[");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",8500000]");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"4434\"");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4437, "epsg", 4437,
-        "NAD83(NSRS2007) / Puerto Rico and Virgin Is.");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"4434\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4437, "epsg", 4437,
+        "NAD83(NSRS2007) / Puerto Rico and Virgin Is.", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333");
     add_proj4text (p, 1,
@@ -1319,31 +1718,38 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Coni");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "c_2SP\"],PARAMETER[\"standard_parallel_1\",18.4333333333");
+        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 9,
-        "3333],PARAMETER[\"standard_parallel_2\",18.0333333333333");
+        "],PARAMETER[\"standard_parallel_1\",18.43333333333333],P");
     add_srs_wkt (p, 10,
-        "3],PARAMETER[\"latitude_of_origin\",17.83333333333333],P");
+        "ARAMETER[\"standard_parallel_2\",18.03333333333333],PARA");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"central_meridian\",-66.43333333333334],PARAME");
+        "METER[\"latitude_of_origin\",17.83333333333333],PARAMETE");
     add_srs_wkt (p, 12,
-        "TER[\"false_easting\",200000],PARAMETER[\"false_northing");
+        "R[\"central_meridian\",-66.43333333333334],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        "\",200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "alse_easting\",200000],PARAMETER[\"false_northing\",2000");
     add_srs_wkt (p, 14,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 15,
-        "\"4437\"]]");
-    p = add_epsg_def (filter, first, last, 4438, "epsg", 4438,
-        "NAD83 / BLM 18N (ftUS)");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4437\"");
+    add_srs_wkt (p, 16,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4438, "epsg", 4438,
+        "NAD83 / BLM 18N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-75 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "1016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 18N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
@@ -1355,27 +1761,34 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-75],PARAMETER[\"scale_factor\",0.9996]");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fal");
+        "meridian\",-75],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "ETER[\"false_easting\",1640416.67],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4438\"]]");
-    p = add_epsg_def (filter, first, last, 4439, "epsg", 4439,
-        "NAD83 / BLM 19N (ftUS)");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"4438\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4439, "epsg", 4439,
+        "NAD83 / BLM 19N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-69 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "1016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / BLM 19N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
@@ -1387,23 +1800,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-69],PARAMETER[\"scale_factor\",0.9996]");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fal");
+        "meridian\",-69],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "ETER[\"false_easting\",1640416.67],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4439\"]]");
-    p = add_epsg_def (filter, first, last, 4455, "epsg", 4455,
-        "NAD27 / Pennsylvania South");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"4439\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4455, "epsg", 4455,
+        "NAD27 / Pennsylvania South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
     add_proj4text (p, 1,
@@ -1415,33 +1833,38 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
         "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",40.96666666666667]");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",39.93333333333333],PA");
+        "AMETER[\"standard_parallel_1\",40.96666666666667],PARAME");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",39.33333333333334],PARAME");
+        "TER[\"standard_parallel_2\",39.93333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-77.75],PARAMETER[\"false_easti");
+        "[\"latitude_of_origin\",39.33333333333334],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "ng\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US ");
+        "entral_meridian\",-77.75],PARAMETER[\"false_easting\",20");
     add_srs_wkt (p, 12,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
     add_srs_wkt (p, 13,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 14,
-        "SG\",\"4455\"]]");
-    p = add_epsg_def (filter, first, last, 4456, "epsg", 4456,
-        "NAD27 / New York Long Island");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "4455\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4456, "epsg", 4456,
+        "NAD27 / New York Long Island", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
     add_proj4text (p, 1,
@@ -1453,39 +1876,44 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
     add_srs_wkt (p, 2,
-        "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7");
+        "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
         "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"standard_parallel_1\",41.0333333333333");
+        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 8,
-        "3],PARAMETER[\"standard_parallel_2\",40.66666666666666],");
+        "PARAMETER[\"standard_parallel_1\",41.03333333333333],PAR");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"centr");
+        "AMETER[\"standard_parallel_2\",40.66666666666666],PARAME");
     add_srs_wkt (p, 10,
-        "al_meridian\",-74],PARAMETER[\"false_easting\",2000000],");
+        "TER[\"latitude_of_origin\",40.5],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_northing\",100000],UNIT[\"US survey fo");
+        "idian\",-74],PARAMETER[\"false_easting\",2000000],PARAME");
     add_srs_wkt (p, 12,
-        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
+        "TER[\"false_northing\",100000],UNIT[\"US survey foot\",0");
     add_srs_wkt (p, 13,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"44");
+        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
     add_srs_wkt (p, 14,
-        "56\"]]");
-    p = add_epsg_def (filter, first, last, 4457, "epsg", 4457,
-        "NAD83 / South Dakota North (ftUS)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"4456\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4457, "epsg", 4457,
+        "NAD83 / South Dakota North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
     add_proj4text (p, 1,
         "666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_");
     add_proj4text (p, 2,
-        "0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / South Dakota North (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
@@ -1499,25 +1927,30 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",45.68333333333333],PARAMETER[\"standard_parallel_2\",44");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.6");
     add_srs_wkt (p, 9,
-        ".41666666666666],PARAMETER[\"latitude_of_origin\",43.833");
+        "8333333333333],PARAMETER[\"standard_parallel_2\",44.4166");
     add_srs_wkt (p, 10,
-        "33333333334],PARAMETER[\"central_meridian\",-100],PARAME");
+        "6666666666],PARAMETER[\"latitude_of_origin\",43.83333333");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",1968500],PARAMETER[\"false_northin");
+        "333334],PARAMETER[\"central_meridian\",-100],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "g\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+        "false_easting\",1968500],PARAMETER[\"false_northing\",0]");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "H],AUTHORITY[\"EPSG\",\"4457\"]]");
-    p = add_epsg_def (filter, first, last, 4462, "epsg", 4462,
-        "WGS 84 / Australian Centre for Remote Sensing Lambert");
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"4457\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4462, "epsg", 4462,
+        "WGS 84 / Australian Centre for Remote Sensing Lambert", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=-27 +lon_0=132 +x");
     add_proj4text (p, 1,
@@ -1533,25 +1966,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4326\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"standard_parallel_1\",-18],PARAMETER[\"sta");
+        "4326\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "ndard_parallel_2\",-36],PARAMETER[\"latitude_of_origin\"");
+        "AMETER[\"standard_parallel_1\",-18],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        ",-27],PARAMETER[\"central_meridian\",132],PARAMETER[\"fa");
+        "_parallel_2\",-36],PARAMETER[\"latitude_of_origin\",-27]");
     add_srs_wkt (p, 10,
-        "lse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
+        ",PARAMETER[\"central_meridian\",132],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"446");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 13,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 4463, "epsg", 4463,
-        "RGSPM06");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"4462\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4463, "epsg", 4463,
+        "RGSPM06", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_Saint_Pierre_et_Miquelon_2006", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1567,11 +2003,16 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4463\"]]");
-    p = add_epsg_def (filter, first, last, 4467, "epsg", 4467,
-        "RGSPM06 / UTM zone 21N");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 7,
+        ",\"4463\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4467, "epsg", 4467,
+        "RGSPM06 / UTM zone 21N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_Saint_Pierre_et_Miquelon_2006", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1589,21 +2030,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4463\"]],PROJE");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4463\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "rigin\",0],PARAMETER[\"central_meridian\",-57],PARAMETER");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",50");
+        ",0],PARAMETER[\"central_meridian\",-57],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"4467\"]]");
-    p = add_epsg_def (filter, first, last, 4470, "epsg", 4470,
-        "RGM04");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 13,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"4467\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4470, "epsg", 4470,
+        "RGM04", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_Mayotte_2004", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1619,9 +2065,14 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4470\"]]");
-    p = add_epsg_def (filter, first, last, 4471, "epsg", 4471,
-        "RGM04 / UTM zone 38S");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 6,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4470\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4471, "epsg", 4471,
+        "RGM04 / UTM zone 38S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_Mayotte_2004", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1639,21 +2090,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4470\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "ITY[\"EPSG\",\"4470\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",45],PARAMETER[\"scale_factor\",0.99");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "ral_meridian\",45],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "e_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "hing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"4471\"]]");
-    p = add_epsg_def (filter, first, last, 4474, "epsg", 4474,
-        "Cadastre 1997 / UTM zone 38S (deprecated)");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"4471\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4474, "epsg", 4474,
+        "Cadastre 1997 / UTM zone 38S (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Combani_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +south +ellps=intl +towgs84=-382,-59,");
     add_proj4text (p, 1,
@@ -1671,21 +2127,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4632\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4632\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"sc");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",500000]");
+        ",PARAMETER[\"central_meridian\",45],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AX");
+        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "IS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"4474\"]]");
-    p = add_epsg_def (filter, first, last, 4475, "epsg", 4475,
-        "Cadastre 1997");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+    add_srs_wkt (p, 13,
+        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"4474\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4475, "epsg", 4475,
+        "Cadastre 1997", 1, 1,
+        "International 1924", "Greenwich",
+        "Cadastre_1997", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-381.788,-57.501,-256");
     add_proj4text (p, 1,
@@ -1701,11 +2162,16 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "475\"]]");
-    p = add_epsg_def (filter, first, last, 4483, "epsg", 4483,
-        "Mexico ITRF92");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4475\"]");
+    add_srs_wkt (p, 7,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4483, "epsg", 4483,
+        "Mexico ITRF92", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF92", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1721,9 +2187,14 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4483\"]]");
-    p = add_epsg_def (filter, first, last, 4484, "epsg", 4484,
-        "Mexico ITRF92 / UTM zone 11N");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
+    add_srs_wkt (p, 6,
+        ",EAST],AUTHORITY[\"EPSG\",\"4483\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4484, "epsg", 4484,
+        "Mexico ITRF92 / UTM zone 11N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF92", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1739,23 +2210,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-117],PARAMETER[\"scale_factor\",0.999");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "_meridian\",-117],PARAMETER[\"scale_factor\",0.9996],PAR");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"4484\"]]");
-    p = add_epsg_def (filter, first, last, 4485, "epsg", 4485,
-        "Mexico ITRF92 / UTM zone 12N");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"4484\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4485, "epsg", 4485,
+        "Mexico ITRF92 / UTM zone 12N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF92", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1771,23 +2247,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-111],PARAMETER[\"scale_factor\",0.999");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "_meridian\",-111],PARAMETER[\"scale_factor\",0.9996],PAR");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"4485\"]]");
-    p = add_epsg_def (filter, first, last, 4486, "epsg", 4486,
-        "Mexico ITRF92 / UTM zone 13N");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"4485\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4486, "epsg", 4486,
+        "Mexico ITRF92 / UTM zone 13N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF92", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1803,23 +2284,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-105],PARAMETER[\"scale_factor\",0.999");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "_meridian\",-105],PARAMETER[\"scale_factor\",0.9996],PAR");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"4486\"]]");
-    p = add_epsg_def (filter, first, last, 4487, "epsg", 4487,
-        "Mexico ITRF92 / UTM zone 14N");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"4486\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4487, "epsg", 4487,
+        "Mexico ITRF92 / UTM zone 14N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF92", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1835,23 +2321,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-99],PARAMETER[\"scale_factor\",0.9996");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "_meridian\",-99],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4487\"]]");
-    p = add_epsg_def (filter, first, last, 4488, "epsg", 4488,
-        "Mexico ITRF92 / UTM zone 15N");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"4487\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4488, "epsg", 4488,
+        "Mexico ITRF92 / UTM zone 15N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF92", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1867,23 +2358,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-93],PARAMETER[\"scale_factor\",0.9996");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "_meridian\",-93],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4488\"]]");
-    p = add_epsg_def (filter, first, last, 4489, "epsg", 4489,
-        "Mexico ITRF92 / UTM zone 16N");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"4488\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4489, "epsg", 4489,
+        "Mexico ITRF92 / UTM zone 16N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF92", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1899,23 +2395,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4483\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-87],PARAMETER[\"scale_factor\",0.9996");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "_meridian\",-87],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"4489\"]]");
-    p = add_epsg_def (filter, first, last, 4490, "epsg", 4490,
-        "China Geodetic Coordinate System 2000");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"4489\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4490, "epsg", 4490,
+        "China Geodetic Coordinate System 2000", 1, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +no_defs");
     add_srs_wkt (p, 0,
@@ -1929,9 +2430,14 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4490\"]]");
-    p = add_epsg_def (filter, first, last, 4491, "epsg", 4491,
-        "CGCS2000 / Gauss-Kruger zone 13");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 6,
+        "AST],AUTHORITY[\"EPSG\",\"4490\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4491, "epsg", 4491,
+        "CGCS2000 / Gauss-Kruger zone 13", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
@@ -1947,21 +2453,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",75],PARAMETER[\"scale_factor\",1],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",13500000],PARAMETER[\"false_nort");
+        "_meridian\",75],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\"false_easting\",13500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"4491\"]]");
-    p = add_epsg_def (filter, first, last, 4492, "epsg", 4492,
-        "CGCS2000 / Gauss-Kruger zone 14");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4491\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4492, "epsg", 4492,
+        "CGCS2000 / Gauss-Kruger zone 14", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0");
     add_proj4text (p, 1,
@@ -1977,21 +2490,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",81],PARAMETER[\"scale_factor\",1],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",14500000],PARAMETER[\"false_nort");
+        "_meridian\",81],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\"false_easting\",14500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"4492\"]]");
-    p = add_epsg_def (filter, first, last, 4493, "epsg", 4493,
-        "CGCS2000 / Gauss-Kruger zone 15");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4492\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4493, "epsg", 4493,
+        "CGCS2000 / Gauss-Kruger zone 15", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2007,21 +2527,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",87],PARAMETER[\"scale_factor\",1],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",15500000],PARAMETER[\"false_nort");
+        "_meridian\",87],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\"false_easting\",15500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"4493\"]]");
-    p = add_epsg_def (filter, first, last, 4494, "epsg", 4494,
-        "CGCS2000 / Gauss-Kruger zone 16");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4493\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4494, "epsg", 4494,
+        "CGCS2000 / Gauss-Kruger zone 16", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2037,21 +2564,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",93],PARAMETER[\"scale_factor\",1],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",16500000],PARAMETER[\"false_nort");
+        "_meridian\",93],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\"false_easting\",16500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"4494\"]]");
-    p = add_epsg_def (filter, first, last, 4495, "epsg", 4495,
-        "CGCS2000 / Gauss-Kruger zone 17");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4494\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4495, "epsg", 4495,
+        "CGCS2000 / Gauss-Kruger zone 17", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2067,21 +2601,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",99],PARAMETER[\"scale_factor\",1],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",17500000],PARAMETER[\"false_nort");
+        "_meridian\",99],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\"false_easting\",17500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"4495\"]]");
-    p = add_epsg_def (filter, first, last, 4496, "epsg", 4496,
-        "CGCS2000 / Gauss-Kruger zone 18");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4495\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4496, "epsg", 4496,
+        "CGCS2000 / Gauss-Kruger zone 18", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=");
     add_proj4text (p, 1,
@@ -2097,21 +2638,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",105],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",18500000],PARAMETER[\"false_nor");
+        "_meridian\",105],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "[\"false_easting\",18500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AUTHORITY[\"EPSG\",\"4496\"]]");
-    p = add_epsg_def (filter, first, last, 4497, "epsg", 4497,
-        "CGCS2000 / Gauss-Kruger zone 19");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4496\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4497, "epsg", 4497,
+        "CGCS2000 / Gauss-Kruger zone 19", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=");
     add_proj4text (p, 1,
@@ -2127,21 +2675,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",111],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",19500000],PARAMETER[\"false_nor");
+        "_meridian\",111],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "[\"false_easting\",19500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AUTHORITY[\"EPSG\",\"4497\"]]");
-    p = add_epsg_def (filter, first, last, 4498, "epsg", 4498,
-        "CGCS2000 / Gauss-Kruger zone 20");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4497\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4498, "epsg", 4498,
+        "CGCS2000 / Gauss-Kruger zone 20", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=");
     add_proj4text (p, 1,
@@ -2157,21 +2712,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",117],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",20500000],PARAMETER[\"false_nor");
+        "_meridian\",117],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "[\"false_easting\",20500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AUTHORITY[\"EPSG\",\"4498\"]]");
-    p = add_epsg_def (filter, first, last, 4499, "epsg", 4499,
-        "CGCS2000 / Gauss-Kruger zone 21");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4498\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4499, "epsg", 4499,
+        "CGCS2000 / Gauss-Kruger zone 21", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=");
     add_proj4text (p, 1,
@@ -2187,21 +2749,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",123],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",21500000],PARAMETER[\"false_nor");
+        "_meridian\",123],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "[\"false_easting\",21500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AUTHORITY[\"EPSG\",\"4499\"]]");
-    p = add_epsg_def (filter, first, last, 4500, "epsg", 4500,
-        "CGCS2000 / Gauss-Kruger zone 22");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4499\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4500, "epsg", 4500,
+        "CGCS2000 / Gauss-Kruger zone 22", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=");
     add_proj4text (p, 1,
@@ -2217,21 +2786,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",129],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",22500000],PARAMETER[\"false_nor");
+        "_meridian\",129],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "[\"false_easting\",22500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AUTHORITY[\"EPSG\",\"4500\"]]");
-    p = add_epsg_def (filter, first, last, 4501, "epsg", 4501,
-        "CGCS2000 / Gauss-Kruger zone 23");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4500\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4501, "epsg", 4501,
+        "CGCS2000 / Gauss-Kruger zone 23", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=");
     add_proj4text (p, 1,
@@ -2247,21 +2823,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",135],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",23500000],PARAMETER[\"false_nor");
+        "_meridian\",135],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "[\"false_easting\",23500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "],AUTHORITY[\"EPSG\",\"4501\"]]");
-    p = add_epsg_def (filter, first, last, 4502, "epsg", 4502,
-        "CGCS2000 / Gauss-Kruger CM 75E");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4501\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4502, "epsg", 4502,
+        "CGCS2000 / Gauss-Kruger CM 75E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2277,21 +2860,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",75],PARAMETER[\"scale_factor\",1],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "_meridian\",75],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"4502\"]]");
-    p = add_epsg_def (filter, first, last, 4503, "epsg", 4503,
-        "CGCS2000 / Gauss-Kruger CM 81E");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4502\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4503, "epsg", 4503,
+        "CGCS2000 / Gauss-Kruger CM 81E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2307,21 +2897,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",81],PARAMETER[\"scale_factor\",1],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "_meridian\",81],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"4503\"]]");
-    p = add_epsg_def (filter, first, last, 4504, "epsg", 4504,
-        "CGCS2000 / Gauss-Kruger CM 87E");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4503\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4504, "epsg", 4504,
+        "CGCS2000 / Gauss-Kruger CM 87E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2337,21 +2934,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",87],PARAMETER[\"scale_factor\",1],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "_meridian\",87],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"4504\"]]");
-    p = add_epsg_def (filter, first, last, 4505, "epsg", 4505,
-        "CGCS2000 / Gauss-Kruger CM 93E");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4504\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4505, "epsg", 4505,
+        "CGCS2000 / Gauss-Kruger CM 93E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2367,21 +2971,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",93],PARAMETER[\"scale_factor\",1],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "_meridian\",93],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"4505\"]]");
-    p = add_epsg_def (filter, first, last, 4506, "epsg", 4506,
-        "CGCS2000 / Gauss-Kruger CM 99E");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4505\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4506, "epsg", 4506,
+        "CGCS2000 / Gauss-Kruger CM 99E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2397,21 +3008,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",99],PARAMETER[\"scale_factor\",1],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "_meridian\",99],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"4506\"]]");
-    p = add_epsg_def (filter, first, last, 4507, "epsg", 4507,
-        "CGCS2000 / Gauss-Kruger CM 105E");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4506\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4507, "epsg", 4507,
+        "CGCS2000 / Gauss-Kruger CM 105E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2427,21 +3045,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",105],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",105],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"4507\"]]");
-    p = add_epsg_def (filter, first, last, 4508, "epsg", 4508,
-        "CGCS2000 / Gauss-Kruger CM 111E");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4507\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4508, "epsg", 4508,
+        "CGCS2000 / Gauss-Kruger CM 111E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2457,21 +3082,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",111],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",111],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"4508\"]]");
-    p = add_epsg_def (filter, first, last, 4509, "epsg", 4509,
-        "CGCS2000 / Gauss-Kruger CM 117E");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4508\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4509, "epsg", 4509,
+        "CGCS2000 / Gauss-Kruger CM 117E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2487,21 +3119,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",117],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",117],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"4509\"]]");
-    p = add_epsg_def (filter, first, last, 4510, "epsg", 4510,
-        "CGCS2000 / Gauss-Kruger CM 123E");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4509\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4510, "epsg", 4510,
+        "CGCS2000 / Gauss-Kruger CM 123E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2517,21 +3156,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",123],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",123],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"4510\"]]");
-    p = add_epsg_def (filter, first, last, 4511, "epsg", 4511,
-        "CGCS2000 / Gauss-Kruger CM 129E");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4510\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4511, "epsg", 4511,
+        "CGCS2000 / Gauss-Kruger CM 129E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2547,21 +3193,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",129],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",129],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"4511\"]]");
-    p = add_epsg_def (filter, first, last, 4512, "epsg", 4512,
-        "CGCS2000 / Gauss-Kruger CM 135E");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4511\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4512, "epsg", 4512,
+        "CGCS2000 / Gauss-Kruger CM 135E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2577,21 +3230,28 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "entral_meridian\",135],PARAMETER[\"scale_factor\",1],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",135],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"4512\"]]");
-    p = add_epsg_def (filter, first, last, 4513, "epsg", 4513,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 25");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4512\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4513, "epsg", 4513,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 25", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2609,19 +3269,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",75],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",25500000],PARAMETER[\"");
+        "R[\"central_meridian\",75],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",25500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4513\"]]");
-    p = add_epsg_def (filter, first, last, 4514, "epsg", 4514,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 26");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"4513\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4514, "epsg", 4514,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 26", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2639,19 +3306,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",78],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",26500000],PARAMETER[\"");
+        "R[\"central_meridian\",78],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",26500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4514\"]]");
-    p = add_epsg_def (filter, first, last, 4515, "epsg", 4515,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 27");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"4514\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4515, "epsg", 4515,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 27", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2669,19 +3343,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",81],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",27500000],PARAMETER[\"");
+        "R[\"central_meridian\",81],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",27500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4515\"]]");
-    p = add_epsg_def (filter, first, last, 4516, "epsg", 4516,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 28");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"4515\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4516, "epsg", 4516,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 28", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2699,19 +3380,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",84],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",28500000],PARAMETER[\"");
+        "R[\"central_meridian\",84],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",28500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4516\"]]");
-    p = add_epsg_def (filter, first, last, 4517, "epsg", 4517,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 29");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"4516\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4517, "epsg", 4517,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 29", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2729,19 +3417,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",87],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",29500000],PARAMETER[\"");
+        "R[\"central_meridian\",87],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",29500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4517\"]]");
-    p = add_epsg_def (filter, first, last, 4518, "epsg", 4518,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 30");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"4517\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4518, "epsg", 4518,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 30", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2759,19 +3454,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",90],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",30500000],PARAMETER[\"");
+        "R[\"central_meridian\",90],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",30500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4518\"]]");
-    p = add_epsg_def (filter, first, last, 4519, "epsg", 4519,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 31");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"4518\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4519, "epsg", 4519,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 31", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2789,19 +3491,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",93],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",31500000],PARAMETER[\"");
+        "R[\"central_meridian\",93],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",31500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4519\"]]");
-    p = add_epsg_def (filter, first, last, 4520, "epsg", 4520,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 32");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"4519\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4520, "epsg", 4520,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 32", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2819,19 +3528,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",96],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",32500000],PARAMETER[\"");
+        "R[\"central_meridian\",96],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",32500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4520\"]]");
-    p = add_epsg_def (filter, first, last, 4521, "epsg", 4521,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 33");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"4520\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4521, "epsg", 4521,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 33", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2849,19 +3565,26 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",99],PARAMETER[\"scale_facto");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",33500000],PARAMETER[\"");
+        "R[\"central_meridian\",99],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",33500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4521\"]]");
-    p = add_epsg_def (filter, first, last, 4522, "epsg", 4522,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 34");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"4521\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4522, "epsg", 4522,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 34", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=");
     add_proj4text (p, 1,
@@ -2879,227 +3602,21 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",102],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",34500000],PARAMETER[");
-    add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4522\"]]");
-    p = add_epsg_def (filter, first, last, 4523, "epsg", 4523,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 35");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=");
-    add_proj4text (p, 1,
-        "0 +ellps=GRS80 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 35\",GEOG");
-    add_srs_wkt (p, 1,
-        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
-    add_srs_wkt (p, 2,
-        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
-    add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",105],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",35500000],PARAMETER[");
-    add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4523\"]]");
-    p = add_epsg_def (filter, first, last, 4524, "epsg", 4524,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 36");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=");
-    add_proj4text (p, 1,
-        "0 +ellps=GRS80 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 36\",GEOG");
-    add_srs_wkt (p, 1,
-        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
-    add_srs_wkt (p, 2,
-        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
-    add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",108],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",36500000],PARAMETER[");
-    add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4524\"]]");
-    p = add_epsg_def (filter, first, last, 4525, "epsg", 4525,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 37");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=");
-    add_proj4text (p, 1,
-        "0 +ellps=GRS80 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 37\",GEOG");
-    add_srs_wkt (p, 1,
-        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
-    add_srs_wkt (p, 2,
-        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
-    add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",111],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",37500000],PARAMETER[");
-    add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4525\"]]");
-    p = add_epsg_def (filter, first, last, 4526, "epsg", 4526,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 38");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=");
-    add_proj4text (p, 1,
-        "0 +ellps=GRS80 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 38\",GEOG");
-    add_srs_wkt (p, 1,
-        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
-    add_srs_wkt (p, 2,
-        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
-    add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",114],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",38500000],PARAMETER[");
-    add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4526\"]]");
-    p = add_epsg_def (filter, first, last, 4527, "epsg", 4527,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 39");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=");
-    add_proj4text (p, 1,
-        "0 +ellps=GRS80 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 39\",GEOG");
-    add_srs_wkt (p, 1,
-        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
-    add_srs_wkt (p, 2,
-        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
-    add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",117],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",39500000],PARAMETER[");
-    add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4527\"]]");
-    p = add_epsg_def (filter, first, last, 4528, "epsg", 4528,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 40");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=");
-    add_proj4text (p, 1,
-        "0 +ellps=GRS80 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 40\",GEOG");
-    add_srs_wkt (p, 1,
-        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
-    add_srs_wkt (p, 2,
-        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
-    add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",120],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",40500000],PARAMETER[");
+        "R[\"central_meridian\",102],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",34500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4528\"]]");
-    p = add_epsg_def (filter, first, last, 4529, "epsg", 4529,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 41");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=");
-    add_proj4text (p, 1,
-        "0 +ellps=GRS80 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 41\",GEOG");
-    add_srs_wkt (p, 1,
-        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
-    add_srs_wkt (p, 2,
-        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
-    add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",123],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",41500000],PARAMETER[");
-    add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4529\"]]");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4522\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_22.c b/src/srsinit/epsg_inlined_22.c
index d6c4fac..7c3a849 100644
--- a/src/srsinit/epsg_inlined_22.c
+++ b/src/srsinit/epsg_inlined_22.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,270 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 4530, "epsg", 4530,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 42");
+    p = add_epsg_def_ex (filter, first, last, 4523, "epsg", 4523,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 35", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=");
+    add_proj4text (p, 1,
+        "0 +ellps=GRS80 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 35\",GEOG");
+    add_srs_wkt (p, 1,
+        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
+    add_srs_wkt (p, 2,
+        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
+    add_srs_wkt (p, 3,
+        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
+    add_srs_wkt (p, 4,
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+    add_srs_wkt (p, 5,
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 6,
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 7,
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
+    add_srs_wkt (p, 8,
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+    add_srs_wkt (p, 9,
+        "R[\"central_meridian\",105],PARAMETER[\"scale_factor\",1");
+    add_srs_wkt (p, 10,
+        "],PARAMETER[\"false_easting\",35500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 11,
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4523\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4524, "epsg", 4524,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 36", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=");
+    add_proj4text (p, 1,
+        "0 +ellps=GRS80 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 36\",GEOG");
+    add_srs_wkt (p, 1,
+        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
+    add_srs_wkt (p, 2,
+        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
+    add_srs_wkt (p, 3,
+        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
+    add_srs_wkt (p, 4,
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+    add_srs_wkt (p, 5,
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 6,
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 7,
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
+    add_srs_wkt (p, 8,
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+    add_srs_wkt (p, 9,
+        "R[\"central_meridian\",108],PARAMETER[\"scale_factor\",1");
+    add_srs_wkt (p, 10,
+        "],PARAMETER[\"false_easting\",36500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 11,
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4524\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4525, "epsg", 4525,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 37", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=");
+    add_proj4text (p, 1,
+        "0 +ellps=GRS80 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 37\",GEOG");
+    add_srs_wkt (p, 1,
+        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
+    add_srs_wkt (p, 2,
+        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
+    add_srs_wkt (p, 3,
+        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
+    add_srs_wkt (p, 4,
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+    add_srs_wkt (p, 5,
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 6,
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 7,
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
+    add_srs_wkt (p, 8,
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+    add_srs_wkt (p, 9,
+        "R[\"central_meridian\",111],PARAMETER[\"scale_factor\",1");
+    add_srs_wkt (p, 10,
+        "],PARAMETER[\"false_easting\",37500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 11,
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4525\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4526, "epsg", 4526,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 38", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=");
+    add_proj4text (p, 1,
+        "0 +ellps=GRS80 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 38\",GEOG");
+    add_srs_wkt (p, 1,
+        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
+    add_srs_wkt (p, 2,
+        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
+    add_srs_wkt (p, 3,
+        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
+    add_srs_wkt (p, 4,
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+    add_srs_wkt (p, 5,
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 6,
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 7,
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
+    add_srs_wkt (p, 8,
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+    add_srs_wkt (p, 9,
+        "R[\"central_meridian\",114],PARAMETER[\"scale_factor\",1");
+    add_srs_wkt (p, 10,
+        "],PARAMETER[\"false_easting\",38500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 11,
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4526\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4527, "epsg", 4527,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 39", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=");
+    add_proj4text (p, 1,
+        "0 +ellps=GRS80 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 39\",GEOG");
+    add_srs_wkt (p, 1,
+        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
+    add_srs_wkt (p, 2,
+        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
+    add_srs_wkt (p, 3,
+        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
+    add_srs_wkt (p, 4,
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+    add_srs_wkt (p, 5,
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 6,
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 7,
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
+    add_srs_wkt (p, 8,
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+    add_srs_wkt (p, 9,
+        "R[\"central_meridian\",117],PARAMETER[\"scale_factor\",1");
+    add_srs_wkt (p, 10,
+        "],PARAMETER[\"false_easting\",39500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 11,
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4527\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4528, "epsg", 4528,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 40", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=");
+    add_proj4text (p, 1,
+        "0 +ellps=GRS80 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 40\",GEOG");
+    add_srs_wkt (p, 1,
+        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
+    add_srs_wkt (p, 2,
+        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
+    add_srs_wkt (p, 3,
+        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
+    add_srs_wkt (p, 4,
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+    add_srs_wkt (p, 5,
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 6,
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 7,
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
+    add_srs_wkt (p, 8,
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+    add_srs_wkt (p, 9,
+        "R[\"central_meridian\",120],PARAMETER[\"scale_factor\",1");
+    add_srs_wkt (p, 10,
+        "],PARAMETER[\"false_easting\",40500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 11,
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4528\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4529, "epsg", 4529,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 41", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=");
+    add_proj4text (p, 1,
+        "0 +ellps=GRS80 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"CGCS2000 / 3-degree Gauss-Kruger zone 41\",GEOG");
+    add_srs_wkt (p, 1,
+        "CS[\"China Geodetic Coordinate System 2000\",DATUM[\"Chi");
+    add_srs_wkt (p, 2,
+        "na_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101,AU");
+    add_srs_wkt (p, 3,
+        "THORITY[\"EPSG\",\"1024\"]],AUTHORITY[\"EPSG\",\"1043\"]");
+    add_srs_wkt (p, 4,
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+    add_srs_wkt (p, 5,
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 6,
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 7,
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
+    add_srs_wkt (p, 8,
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+    add_srs_wkt (p, 9,
+        "R[\"central_meridian\",123],PARAMETER[\"scale_factor\",1");
+    add_srs_wkt (p, 10,
+        "],PARAMETER[\"false_easting\",41500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 11,
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4529\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4530, "epsg", 4530,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 42", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=");
     add_proj4text (p, 1,
@@ -71,19 +335,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",126],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",42500000],PARAMETER[");
+        "R[\"central_meridian\",126],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",42500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4530\"]]");
-    p = add_epsg_def (filter, first, last, 4531, "epsg", 4531,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 43");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4530\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4531, "epsg", 4531,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 43", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=");
     add_proj4text (p, 1,
@@ -101,19 +372,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",129],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",43500000],PARAMETER[");
+        "R[\"central_meridian\",129],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",43500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4531\"]]");
-    p = add_epsg_def (filter, first, last, 4532, "epsg", 4532,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 44");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4531\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4532, "epsg", 4532,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 44", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=");
     add_proj4text (p, 1,
@@ -131,19 +409,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",132],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",44500000],PARAMETER[");
+        "R[\"central_meridian\",132],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",44500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4532\"]]");
-    p = add_epsg_def (filter, first, last, 4533, "epsg", 4533,
-        "CGCS2000 / 3-degree Gauss-Kruger zone 45");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4532\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4533, "epsg", 4533,
+        "CGCS2000 / 3-degree Gauss-Kruger zone 45", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=");
     add_proj4text (p, 1,
@@ -161,19 +446,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",135],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",45500000],PARAMETER[");
+        "R[\"central_meridian\",135],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_easting\",45500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"4533\"]]");
-    p = add_epsg_def (filter, first, last, 4534, "epsg", 4534,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 75E");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"4533\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4534, "epsg", 4534,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 75E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -191,19 +483,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",75],PARAMETER[\"scale_factor");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "[\"central_meridian\",75],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"4534\"]]");
-    p = add_epsg_def (filter, first, last, 4535, "epsg", 4535,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 78E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"4534\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4535, "epsg", 4535,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 78E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -221,19 +520,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",78],PARAMETER[\"scale_factor");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "[\"central_meridian\",78],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"4535\"]]");
-    p = add_epsg_def (filter, first, last, 4536, "epsg", 4536,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 81E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"4535\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4536, "epsg", 4536,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 81E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -251,19 +557,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",81],PARAMETER[\"scale_factor");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "[\"central_meridian\",81],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"4536\"]]");
-    p = add_epsg_def (filter, first, last, 4537, "epsg", 4537,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 84E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"4536\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4537, "epsg", 4537,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 84E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -281,19 +594,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",84],PARAMETER[\"scale_factor");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "[\"central_meridian\",84],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"4537\"]]");
-    p = add_epsg_def (filter, first, last, 4538, "epsg", 4538,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 87E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"4537\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4538, "epsg", 4538,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 87E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -311,19 +631,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",87],PARAMETER[\"scale_factor");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "[\"central_meridian\",87],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"4538\"]]");
-    p = add_epsg_def (filter, first, last, 4539, "epsg", 4539,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 90E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"4538\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4539, "epsg", 4539,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 90E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -341,19 +668,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",90],PARAMETER[\"scale_factor");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "[\"central_meridian\",90],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"4539\"]]");
-    p = add_epsg_def (filter, first, last, 4540, "epsg", 4540,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 93E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"4539\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4540, "epsg", 4540,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 93E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -371,19 +705,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",93],PARAMETER[\"scale_factor");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "[\"central_meridian\",93],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"4540\"]]");
-    p = add_epsg_def (filter, first, last, 4541, "epsg", 4541,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 96E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"4540\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4541, "epsg", 4541,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 96E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -401,19 +742,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",96],PARAMETER[\"scale_factor");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "[\"central_meridian\",96],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"4541\"]]");
-    p = add_epsg_def (filter, first, last, 4542, "epsg", 4542,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 99E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"4541\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4542, "epsg", 4542,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 99E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -431,19 +779,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        ",AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",99],PARAMETER[\"scale_factor");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "[\"central_meridian\",99],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"4542\"]]");
-    p = add_epsg_def (filter, first, last, 4543, "epsg", 4543,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 102E");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"4542\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4543, "epsg", 4543,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 102E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -461,19 +816,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",102],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",102],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4543\"]]");
-    p = add_epsg_def (filter, first, last, 4544, "epsg", 4544,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 105E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4543\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4544, "epsg", 4544,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 105E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -491,19 +853,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",105],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",105],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4544\"]]");
-    p = add_epsg_def (filter, first, last, 4545, "epsg", 4545,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 108E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4544\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4545, "epsg", 4545,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 108E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -521,19 +890,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",108],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",108],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4545\"]]");
-    p = add_epsg_def (filter, first, last, 4546, "epsg", 4546,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 111E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4545\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4546, "epsg", 4546,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 111E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -551,19 +927,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",111],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",111],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4546\"]]");
-    p = add_epsg_def (filter, first, last, 4547, "epsg", 4547,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 114E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4546\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4547, "epsg", 4547,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 114E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -581,19 +964,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",114],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",114],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4547\"]]");
-    p = add_epsg_def (filter, first, last, 4548, "epsg", 4548,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 117E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4547\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4548, "epsg", 4548,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 117E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -611,19 +1001,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",117],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",117],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4548\"]]");
-    p = add_epsg_def (filter, first, last, 4549, "epsg", 4549,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 120E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4548\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4549, "epsg", 4549,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 120E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -641,19 +1038,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",120],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",120],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4549\"]]");
-    p = add_epsg_def (filter, first, last, 4550, "epsg", 4550,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 123E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4549\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4550, "epsg", 4550,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 123E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -671,19 +1075,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",123],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",123],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4550\"]]");
-    p = add_epsg_def (filter, first, last, 4551, "epsg", 4551,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 126E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4550\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4551, "epsg", 4551,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 126E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -701,19 +1112,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",126],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",126],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4551\"]]");
-    p = add_epsg_def (filter, first, last, 4552, "epsg", 4552,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 129E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4551\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4552, "epsg", 4552,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 129E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -731,19 +1149,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",129],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",129],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4552\"]]");
-    p = add_epsg_def (filter, first, last, 4553, "epsg", 4553,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 132E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4552\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4553, "epsg", 4553,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 132E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -761,19 +1186,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",132],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",132],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4553\"]]");
-    p = add_epsg_def (filter, first, last, 4554, "epsg", 4554,
-        "CGCS2000 / 3-degree Gauss-Kruger CM 135E");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4553\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4554, "epsg", 4554,
+        "CGCS2000 / 3-degree Gauss-Kruger CM 135E", 0, 1,
+        "CGCS2000", "Greenwich",
+        "China_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -791,19 +1223,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"4490\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",135],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "R[\"central_meridian\",135],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"4554\"]]");
-    p = add_epsg_def (filter, first, last, 4555, "epsg", 4555,
-        "New Beijing");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"4554\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4555, "epsg", 4555,
+        "New Beijing", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +no_defs");
     add_srs_wkt (p, 0,
@@ -815,11 +1254,16 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 4,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 5,
-        "SG\",\"4555\"]]");
-    p = add_epsg_def (filter, first, last, 4558, "epsg", 4558,
-        "RRAF 1991");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "4555\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4558, "epsg", 4558,
+        "RRAF 1991", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Reseau_de_Reference_des_Antilles_Francaises_1991", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -835,11 +1279,16 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4558\"]]");
-    p = add_epsg_def (filter, first, last, 4559, "epsg", 4559,
-        "RRAF 1991 / UTM zone 20N");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 7,
+        ",\"4558\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4559, "epsg", 4559,
+        "RRAF 1991 / UTM zone 20N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_de_Reference_des_Antilles_Francaises_1991", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -857,21 +1306,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4558\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4558\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",-63],PARAME");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
+        "in\",0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"4559\"]]");
-    p = add_epsg_def (filter, first, last, 4568, "epsg", 4568,
-        "New Beijing / Gauss-Kruger zone 13");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"4559\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4568, "epsg", 4568,
+        "New Beijing / Gauss-Kruger zone 13", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
@@ -887,21 +1341,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",75]");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",75],PARAM");
     add_srs_wkt (p, 9,
-        "\",13500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",135");
     add_srs_wkt (p, 10,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 11,
-        "4568\"]]");
-    p = add_epsg_def (filter, first, last, 4569, "epsg", 4569,
-        "New Beijing / Gauss-Kruger zone 14");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 12,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4568\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4569, "epsg", 4569,
+        "New Beijing / Gauss-Kruger zone 14", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0");
     add_proj4text (p, 1,
@@ -917,21 +1376,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",81]");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",81],PARAM");
     add_srs_wkt (p, 9,
-        "\",14500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",145");
     add_srs_wkt (p, 10,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 11,
-        "4569\"]]");
-    p = add_epsg_def (filter, first, last, 4570, "epsg", 4570,
-        "New Beijing / Gauss-Kruger zone 15");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 12,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4569\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4570, "epsg", 4570,
+        "New Beijing / Gauss-Kruger zone 15", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0");
     add_proj4text (p, 1,
@@ -947,21 +1411,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",87]");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",87],PARAM");
     add_srs_wkt (p, 9,
-        "\",15500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",155");
     add_srs_wkt (p, 10,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 11,
-        "4570\"]]");
-    p = add_epsg_def (filter, first, last, 4571, "epsg", 4571,
-        "New Beijing / Gauss-Kruger zone 16");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 12,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4570\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4571, "epsg", 4571,
+        "New Beijing / Gauss-Kruger zone 16", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0");
     add_proj4text (p, 1,
@@ -977,21 +1446,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",93]");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",93],PARAM");
     add_srs_wkt (p, 9,
-        "\",16500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",165");
     add_srs_wkt (p, 10,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 11,
-        "4571\"]]");
-    p = add_epsg_def (filter, first, last, 4572, "epsg", 4572,
-        "New Beijing / Gauss-Kruger zone 17");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 12,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4571\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4572, "epsg", 4572,
+        "New Beijing / Gauss-Kruger zone 17", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0");
     add_proj4text (p, 1,
@@ -1007,21 +1481,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",99]");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",99],PARAM");
     add_srs_wkt (p, 9,
-        "\",17500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",175");
     add_srs_wkt (p, 10,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 11,
-        "4572\"]]");
-    p = add_epsg_def (filter, first, last, 4573, "epsg", 4573,
-        "New Beijing / Gauss-Kruger zone 18");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 12,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4572\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4573, "epsg", 4573,
+        "New Beijing / Gauss-Kruger zone 18", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=");
     add_proj4text (p, 1,
@@ -1037,21 +1516,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",105");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",105],PARA");
     add_srs_wkt (p, 9,
-        "g\",18500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",18");
     add_srs_wkt (p, 10,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 11,
-        "\"4573\"]]");
-    p = add_epsg_def (filter, first, last, 4574, "epsg", 4574,
-        "New Beijing / Gauss-Kruger zone 19");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"4573\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4574, "epsg", 4574,
+        "New Beijing / Gauss-Kruger zone 19", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=");
     add_proj4text (p, 1,
@@ -1067,21 +1551,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",111");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",111],PARA");
     add_srs_wkt (p, 9,
-        "g\",19500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",19");
     add_srs_wkt (p, 10,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 11,
-        "\"4574\"]]");
-    p = add_epsg_def (filter, first, last, 4575, "epsg", 4575,
-        "New Beijing / Gauss-Kruger zone 20");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"4574\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4575, "epsg", 4575,
+        "New Beijing / Gauss-Kruger zone 20", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=");
     add_proj4text (p, 1,
@@ -1097,21 +1586,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",117");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",117],PARA");
     add_srs_wkt (p, 9,
-        "g\",20500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",20");
     add_srs_wkt (p, 10,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 11,
-        "\"4575\"]]");
-    p = add_epsg_def (filter, first, last, 4576, "epsg", 4576,
-        "New Beijing / Gauss-Kruger zone 21");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"4575\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4576, "epsg", 4576,
+        "New Beijing / Gauss-Kruger zone 21", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=");
     add_proj4text (p, 1,
@@ -1127,21 +1621,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",123");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",123],PARA");
     add_srs_wkt (p, 9,
-        "g\",21500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",21");
     add_srs_wkt (p, 10,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 11,
-        "\"4576\"]]");
-    p = add_epsg_def (filter, first, last, 4577, "epsg", 4577,
-        "New Beijing / Gauss-Kruger zone 22");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"4576\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4577, "epsg", 4577,
+        "New Beijing / Gauss-Kruger zone 22", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=");
     add_proj4text (p, 1,
@@ -1157,21 +1656,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",129");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",129],PARA");
     add_srs_wkt (p, 9,
-        "g\",22500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",22");
     add_srs_wkt (p, 10,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 11,
-        "\"4577\"]]");
-    p = add_epsg_def (filter, first, last, 4578, "epsg", 4578,
-        "New Beijing / Gauss-Kruger zone 23");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"4577\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4578, "epsg", 4578,
+        "New Beijing / Gauss-Kruger zone 23", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=");
     add_proj4text (p, 1,
@@ -1187,21 +1691,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",135");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",135],PARA");
     add_srs_wkt (p, 9,
-        "g\",23500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",23");
     add_srs_wkt (p, 10,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 11,
-        "\"4578\"]]");
-    p = add_epsg_def (filter, first, last, 4579, "epsg", 4579,
-        "New Beijing / Gauss-Kruger CM 75E");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 12,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"4578\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4579, "epsg", 4579,
+        "New Beijing / Gauss-Kruger CM 75E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1217,21 +1726,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4555");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],P");
     add_srs_wkt (p, 7,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",75],");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",75],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"457");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 4580, "epsg", 4580,
-        "New Beijing / Gauss-Kruger CM 81E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"4579\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4580, "epsg", 4580,
+        "New Beijing / Gauss-Kruger CM 81E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1247,21 +1761,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4555");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],P");
     add_srs_wkt (p, 7,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",81],");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",81],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"458");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 4581, "epsg", 4581,
-        "New Beijing / Gauss-Kruger CM 87E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"4580\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4581, "epsg", 4581,
+        "New Beijing / Gauss-Kruger CM 87E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1277,21 +1796,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4555");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],P");
     add_srs_wkt (p, 7,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",87],");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",87],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"458");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 4582, "epsg", 4582,
-        "New Beijing / Gauss-Kruger CM 93E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"4581\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4582, "epsg", 4582,
+        "New Beijing / Gauss-Kruger CM 93E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1307,21 +1831,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4555");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],P");
     add_srs_wkt (p, 7,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",93],");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",93],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"458");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 4583, "epsg", 4583,
-        "New Beijing / Gauss-Kruger CM 99E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"4582\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4583, "epsg", 4583,
+        "New Beijing / Gauss-Kruger CM 99E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -1337,21 +1866,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4555");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],P");
     add_srs_wkt (p, 7,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",99],");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",99],PARAME");
     add_srs_wkt (p, 9,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 10,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"458");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 11,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 4584, "epsg", 4584,
-        "New Beijing / Gauss-Kruger CM 105E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 12,
+        "EAST],AUTHORITY[\"EPSG\",\"4583\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4584, "epsg", 4584,
+        "New Beijing / Gauss-Kruger CM 105E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1367,21 +1901,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",105");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",105],PARA");
     add_srs_wkt (p, 9,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 10,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "4584\"]]");
-    p = add_epsg_def (filter, first, last, 4585, "epsg", 4585,
-        "New Beijing / Gauss-Kruger CM 111E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"4584\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4585, "epsg", 4585,
+        "New Beijing / Gauss-Kruger CM 111E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1397,21 +1936,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",111");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",111],PARA");
     add_srs_wkt (p, 9,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 10,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "4585\"]]");
-    p = add_epsg_def (filter, first, last, 4586, "epsg", 4586,
-        "New Beijing / Gauss-Kruger CM 117E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"4585\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4586, "epsg", 4586,
+        "New Beijing / Gauss-Kruger CM 117E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1427,21 +1971,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",117");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",117],PARA");
     add_srs_wkt (p, 9,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 10,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "4586\"]]");
-    p = add_epsg_def (filter, first, last, 4587, "epsg", 4587,
-        "New Beijing / Gauss-Kruger CM 123E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"4586\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4587, "epsg", 4587,
+        "New Beijing / Gauss-Kruger CM 123E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1457,21 +2006,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",123");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",123],PARA");
     add_srs_wkt (p, 9,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 10,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "4587\"]]");
-    p = add_epsg_def (filter, first, last, 4588, "epsg", 4588,
-        "New Beijing / Gauss-Kruger CM 129E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"4587\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4588, "epsg", 4588,
+        "New Beijing / Gauss-Kruger CM 129E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1487,21 +2041,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",129");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",129],PARA");
     add_srs_wkt (p, 9,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 10,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "4588\"]]");
-    p = add_epsg_def (filter, first, last, 4589, "epsg", 4589,
-        "New Beijing / Gauss-Kruger CM 135E");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"4588\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4589, "epsg", 4589,
+        "New Beijing / Gauss-Kruger CM 135E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1517,21 +2076,26 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"455");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "5\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4555\"]],");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",0],PARAMETER[\"central_meridian\",135");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "_of_origin\",0],PARAMETER[\"central_meridian\",135],PARA");
     add_srs_wkt (p, 9,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 10,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 11,
-        "4589\"]]");
-    p = add_epsg_def (filter, first, last, 4600, "epsg", 4600,
-        "Anguilla 1957");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",EAST],AUTHORITY[\"EPSG\",\"4589\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4600, "epsg", 4600,
+        "Anguilla 1957", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Anguilla_1957", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +no_defs");
     add_srs_wkt (p, 0,
@@ -1543,11 +2107,16 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 4,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"4600\"]]");
-    p = add_epsg_def (filter, first, last, 4601, "epsg", 4601,
-        "Antigua 1943");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 6,
+        "[\"EPSG\",\"4600\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4601, "epsg", 4601,
+        "Antigua 1943", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Antigua_1943", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-255,-15,71,0,0,0,0");
     add_proj4text (p, 1,
@@ -1563,9 +2132,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4601\"]]");
-    p = add_epsg_def (filter, first, last, 4602, "epsg", 4602,
-        "Dominica 1945");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4601\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4602, "epsg", 4602,
+        "Dominica 1945", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Dominica_1945", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=725,685,536,0,0,0,0");
     add_proj4text (p, 1,
@@ -1581,9 +2155,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4602\"]]");
-    p = add_epsg_def (filter, first, last, 4603, "epsg", 4603,
-        "Grenada 1953");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4602\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4603, "epsg", 4603,
+        "Grenada 1953", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Grenada_1953", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0");
     add_proj4text (p, 1,
@@ -1599,9 +2178,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4603\"]]");
-    p = add_epsg_def (filter, first, last, 4604, "epsg", 4604,
-        "Montserrat 1958");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4603\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4604, "epsg", 4604,
+        "Montserrat 1958", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Montserrat_1958", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=174,359,365,0,0,0,0");
     add_proj4text (p, 1,
@@ -1617,11 +2201,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4604");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 4605, "epsg", 4605,
-        "St. Kitts 1955");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4604\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4605, "epsg", 4605,
+        "St. Kitts 1955", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "St_Kitts_1955", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=9,183,236,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1637,9 +2224,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4605\"]]");
-    p = add_epsg_def (filter, first, last, 4606, "epsg", 4606,
-        "St. Lucia 1955");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4605\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4606, "epsg", 4606,
+        "St. Lucia 1955", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "St_Lucia_1955", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-149,128,296,0,0,0,");
     add_proj4text (p, 1,
@@ -1655,9 +2247,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4606\"]]");
-    p = add_epsg_def (filter, first, last, 4607, "epsg", 4607,
-        "St. Vincent 1945");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4606\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4607, "epsg", 4607,
+        "St. Vincent 1945", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "St_Vincent_1945", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=195.671,332.517,274");
     add_proj4text (p, 1,
@@ -1673,27 +2270,37 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4607\"]]");
-    p = add_epsg_def (filter, first, last, 4608, "epsg", 4608,
-        "NAD27(76)");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 7,
+        ",\"4607\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4608, "epsg", 4608,
+        "NAD27(76)", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_1976", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"NAD27(76)\",DATUM[\"North_American_Datum_1927_1");
     add_srs_wkt (p, 1,
-        "976\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821390");
+        "976\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821389");
     add_srs_wkt (p, 2,
-        "06,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"66");
+        "82,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"66");
     add_srs_wkt (p, 3,
         "08\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4608\"]]");
-    p = add_epsg_def (filter, first, last, 4609, "epsg", 4609,
-        "NAD27(CGQ77)");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"4608\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4609, "epsg", 4609,
+        "NAD27(CGQ77)", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927_CGQ77", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +no_defs");
     add_srs_wkt (p, 0,
@@ -1701,15 +2308,20 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "7_CGQ77\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982");
     add_srs_wkt (p, 2,
-        "139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",");
+        "138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
         "\"6609\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 4,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4609\"]]");
-    p = add_epsg_def (filter, first, last, 4610, "epsg", 4610,
-        "Xian 1980");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 6,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4609\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4610, "epsg", 4610,
+        "Xian 1980", 1, 1,
+        "IAG 1975", "Greenwich",
+        "Xian_1980", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378140 +b=6356755.288157528 +no_defs");
     add_srs_wkt (p, 0,
@@ -1721,15 +2333,18 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 4,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"46");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 5,
-        "10\"]]");
-    p = add_epsg_def (filter, first, last, 4611, "epsg", 4611,
-        "Hong Kong 1980");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4610\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4611, "epsg", 4611,
+        "Hong Kong 1980", 1, 1,
+        "International 1924", "Greenwich",
+        "Hong_Kong_1980", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-16");
     add_proj4text (p, 1,
-        "1.764,0.067753,-2.24365,-1.15883,-1.09425 +no_defs");
+        "1.764,0.067753,-2.243649,-1.158827,-1.094246 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Hong Kong 1980\",DATUM[\"Hong_Kong_1980\",SPHER");
     add_srs_wkt (p, 1,
@@ -1737,15 +2352,20 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         ",\"7022\"]],TOWGS84[-162.619,-276.959,-161.764,0.067753,");
     add_srs_wkt (p, 3,
-        "-2.24365,-1.15883,-1.09425],AUTHORITY[\"EPSG\",\"6611\"]");
+        "-2.243649,-1.158827,-1.094246],AUTHORITY[\"EPSG\",\"6611");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4611\"]]");
-    p = add_epsg_def (filter, first, last, 4612, "epsg", 4612,
-        "JGD2000");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4611\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4612, "epsg", 4612,
+        "JGD2000", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1761,9 +2381,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4612\"]]");
-    p = add_epsg_def (filter, first, last, 4613, "epsg", 4613,
-        "Segara");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4612\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4613, "epsg", 4613,
+        "Segara", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Gunung_Segara", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=-403,684,41,0,0,0,0");
     add_proj4text (p, 1,
@@ -1779,29 +2404,39 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4613\"]]");
-    p = add_epsg_def (filter, first, last, 4614, "epsg", 4614,
-        "QND95");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4613\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4614, "epsg", 4614,
+        "QND95", 1, 1,
+        "International 1924", "Greenwich",
+        "Qatar_National_Datum_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-119.425,-303.659,-11");
+        "+proj=longlat +ellps=intl +towgs84=-119.4248,-303.65872,");
     add_proj4text (p, 1,
-        ".0006,1.1643,0.174458,1.09626,3.65706 +no_defs");
+        "-11.00061,1.164298,0.174458,1.096259,3.657065 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"QND95\",DATUM[\"Qatar_National_Datum_1995\",SPH");
     add_srs_wkt (p, 1,
         "EROID[\"International 1924\",6378388,297,AUTHORITY[\"EPS");
     add_srs_wkt (p, 2,
-        "G\",\"7022\"]],TOWGS84[-119.425,-303.659,-11.0006,1.1643");
+        "G\",\"7022\"]],TOWGS84[-119.4248,-303.65872,-11.00061,1.");
     add_srs_wkt (p, 3,
-        ",0.174458,1.09626,3.65706],AUTHORITY[\"EPSG\",\"6614\"]]");
+        "164298,0.174458,1.096259,3.657065],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "6614\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4614\"]]");
-    p = add_epsg_def (filter, first, last, 4615, "epsg", 4615,
-        "Porto Santo");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 7,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4614\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4615, "epsg", 4615,
+        "Porto Santo", 1, 1,
+        "International 1924", "Greenwich",
+        "Porto_Santo_1936", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-499,-249,314,0,0,0,0");
     add_proj4text (p, 1,
@@ -1817,9 +2452,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4615\"]]");
-    p = add_epsg_def (filter, first, last, 4616, "epsg", 4616,
-        "Selvagem Grande");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4615\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4616, "epsg", 4616,
+        "Selvagem Grande", 1, 1,
+        "International 1924", "Greenwich",
+        "Selvagem_Grande", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-289,-124,60,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1835,9 +2475,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4616\"]]");
-    p = add_epsg_def (filter, first, last, 4617, "epsg", 4617,
-        "NAD83(CSRS)");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4616\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4617, "epsg", 4617,
+        "NAD83(CSRS)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1853,29 +2498,39 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        ",\"4617\"]]");
-    p = add_epsg_def (filter, first, last, 4618, "epsg", 4618,
-        "SAD69");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"461");
+    add_srs_wkt (p, 7,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4618, "epsg", 4618,
+        "SAD69", 1, 1,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=aust_SA +towgs84=-57,1,-41,0,0,0,0 ");
+        "+proj=longlat +ellps=aust_SA +towgs84=-66.87,4.37,-38.52");
     add_proj4text (p, 1,
-        "+no_defs");
+        ",0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"SAD69\",DATUM[\"South_American_Datum_1969\",SPH");
     add_srs_wkt (p, 1,
         "EROID[\"GRS 1967 Modified\",6378160,298.25,AUTHORITY[\"E");
     add_srs_wkt (p, 2,
-        "PSG\",\"7050\"]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"");
+        "PSG\",\"7050\"]],TOWGS84[-66.87,4.37,-38.52,0,0,0,0],AUT");
     add_srs_wkt (p, 3,
-        "EPSG\",\"6618\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "HORITY[\"EPSG\",\"6618\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 4,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4618\"]]");
-    p = add_epsg_def (filter, first, last, 4619, "epsg", 4619,
-        "SWEREF99");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
+    add_srs_wkt (p, 6,
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4618\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4619, "epsg", 4619,
+        "SWEREF99", 1, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1891,9 +2546,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 5,
-        "]],AUTHORITY[\"EPSG\",\"4619\"]]");
-    p = add_epsg_def (filter, first, last, 4620, "epsg", 4620,
-        "Point 58");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 6,
+        "HORITY[\"EPSG\",\"4619\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4620, "epsg", 4620,
+        "Point 58", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Point_58", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-106,-129,165,0,0,0");
     add_proj4text (p, 1,
@@ -1909,9 +2569,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4620\"]]");
-    p = add_epsg_def (filter, first, last, 4621, "epsg", 4621,
-        "Fort Marigot");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4620\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4621, "epsg", 4621,
+        "Fort Marigot", 1, 1,
+        "International 1924", "Greenwich",
+        "Fort_Marigot", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=137,248,-430,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1927,9 +2592,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4621\"]]");
-    p = add_epsg_def (filter, first, last, 4622, "epsg", 4622,
-        "Guadeloupe 1948");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4621\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4622, "epsg", 4622,
+        "Guadeloupe 1948", 1, 1,
+        "International 1924", "Greenwich",
+        "Guadeloupe_1948", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-467,-16,-300,0,0,0,0");
     add_proj4text (p, 1,
@@ -1945,9 +2615,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4622\"]]");
-    p = add_epsg_def (filter, first, last, 4623, "epsg", 4623,
-        "CSG67");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 6,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4622\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4623, "epsg", 4623,
+        "CSG67", 1, 1,
+        "International 1924", "Greenwich",
+        "Centre_Spatial_Guyanais_1967", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-186,230,110,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1963,9 +2638,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4623\"]]");
-    p = add_epsg_def (filter, first, last, 4624, "epsg", 4624,
-        "RGFG95");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4623\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4624, "epsg", 4624,
+        "RGFG95", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_Guyane_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1981,11 +2661,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"462");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 4625, "epsg", 4625,
-        "Martinique 1938");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4624\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4625, "epsg", 4625,
+        "Martinique 1938", 1, 1,
+        "International 1924", "Greenwich",
+        "Martinique_1938", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=186,482,151,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2001,9 +2684,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4625\"]]");
-    p = add_epsg_def (filter, first, last, 4626, "epsg", 4626,
-        "Reunion 1947");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4625\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4626, "epsg", 4626,
+        "Reunion 1947", 1, 1,
+        "International 1924", "Greenwich",
+        "Reunion_1947", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=94,-948,-1262,0,0,0,0");
     add_proj4text (p, 1,
@@ -2019,9 +2707,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4626\"]]");
-    p = add_epsg_def (filter, first, last, 4627, "epsg", 4627,
-        "RGR92");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 6,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4626\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4627, "epsg", 4627,
+        "RGR92", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_Reunion_1992", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -2037,11 +2730,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4627\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4628, "epsg", 4628,
-        "Tahiti 52");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4627\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4628, "epsg", 4628,
+        "Tahiti 52", 1, 1,
+        "International 1924", "Greenwich",
+        "Tahiti_52", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=162,117,154,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2057,9 +2753,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4628\"]]");
-    p = add_epsg_def (filter, first, last, 4629, "epsg", 4629,
-        "Tahaa 54");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"4628\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4629, "epsg", 4629,
+        "Tahaa 54", 1, 1,
+        "International 1924", "Greenwich",
+        "Tahaa_54", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=72.438,345.918,79.486");
     add_proj4text (p, 1,
@@ -2075,11 +2776,16 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4629\"]]");
-    p = add_epsg_def (filter, first, last, 4630, "epsg", 4630,
-        "IGN72 Nuku Hiva");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"46");
+    add_srs_wkt (p, 7,
+        "29\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4630, "epsg", 4630,
+        "IGN72 Nuku Hiva", 1, 1,
+        "International 1924", "Greenwich",
+        "IGN72_Nuku_Hiva", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=84,274,65,0,0,0,0 +no");
     add_proj4text (p, 1,
@@ -2095,9 +2801,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4630\"]]");
-    p = add_epsg_def (filter, first, last, 4631, "epsg", 4631,
-        "K0 1949");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4630\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4631, "epsg", 4631,
+        "K0 1949", 1, 1,
+        "International 1924", "Greenwich",
+        "K0_1949", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -2113,9 +2824,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4631\"]]");
-    p = add_epsg_def (filter, first, last, 4632, "epsg", 4632,
-        "Combani 1950");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 6,
+        "T],AUTHORITY[\"EPSG\",\"4631\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4632, "epsg", 4632,
+        "Combani 1950", 1, 1,
+        "International 1924", "Greenwich",
+        "Combani_1950", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-382,-59,-262,0,0,0,0");
     add_proj4text (p, 1,
@@ -2131,9 +2847,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4632\"]]");
-    p = add_epsg_def (filter, first, last, 4633, "epsg", 4633,
-        "IGN56 Lifou");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 6,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4632\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4633, "epsg", 4633,
+        "IGN56 Lifou", 1, 1,
+        "International 1924", "Greenwich",
+        "IGN56_Lifou", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=335.47,222.58,-230.94");
     add_proj4text (p, 1,
@@ -2149,9 +2870,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4633\"]]");
-    p = add_epsg_def (filter, first, last, 4634, "epsg", 4634,
-        "IGN72 Grand Terre");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 6,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4633\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4634, "epsg", 4634,
+        "IGN72 Grand Terre", 1, 1,
+        "International 1924", "Greenwich",
+        "IGN72_Grande_Terre", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-13,-348,292,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -2167,9 +2893,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"4634\"]]");
-    p = add_epsg_def (filter, first, last, 4635, "epsg", 4635,
-        "ST87 Ouvea");
+        "HORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4634\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4635, "epsg", 4635,
+        "ST87 Ouvea", 1, 1,
+        "International 1924", "Greenwich",
+        "ST87_Ouvea", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-122.383,-188.696,103");
     add_proj4text (p, 1,
@@ -2185,11 +2916,16 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4635\"]]");
-    p = add_epsg_def (filter, first, last, 4636, "epsg", 4636,
-        "Petrels 1972");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 7,
+        "PSG\",\"4635\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4636, "epsg", 4636,
+        "Petrels 1972", 1, 1,
+        "International 1924", "Greenwich",
+        "Petrels_1972", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=365,194,166,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2205,9 +2941,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4636\"]]");
-    p = add_epsg_def (filter, first, last, 4637, "epsg", 4637,
-        "Perroud 1950");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4636\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4637, "epsg", 4637,
+        "Perroud 1950", 1, 1,
+        "International 1924", "Greenwich",
+        "Pointe_Geologie_Perroud_1950", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=325,154,172,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -2223,11 +2964,16 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "637\"]]");
-    p = add_epsg_def (filter, first, last, 4638, "epsg", 4638,
-        "Saint Pierre et Miquelon 1950");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4637\"]");
+    add_srs_wkt (p, 7,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4638, "epsg", 4638,
+        "Saint Pierre et Miquelon 1950", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Saint_Pierre_et_Miquelon_1950", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -2237,7 +2983,7 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ierre_et_Miquelon_1950\",SPHEROID[\"Clarke 1866\",637820");
     add_srs_wkt (p, 2,
-        "6.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWG");
+        "6.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWG");
     add_srs_wkt (p, 3,
         "S84[30,430,368,0,0,0,0],AUTHORITY[\"EPSG\",\"6638\"]],PR");
     add_srs_wkt (p, 4,
@@ -2245,9 +2991,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4638\"]]");
-    p = add_epsg_def (filter, first, last, 4639, "epsg", 4639,
-        "MOP78");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 7,
+        "HORITY[\"EPSG\",\"4638\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4639, "epsg", 4639,
+        "MOP78", 1, 1,
+        "International 1924", "Greenwich",
+        "MOP78", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=253,-132,-127,0,0,0,0");
     add_proj4text (p, 1,
@@ -2263,9 +3014,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4639\"]]");
-    p = add_epsg_def (filter, first, last, 4640, "epsg", 4640,
-        "RRAF 1991");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 6,
+        "AUTHORITY[\"EPSG\",\"4639\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4640, "epsg", 4640,
+        "RRAF 1991", 1, 1,
+        "WGS 84", "Greenwich",
+        "Reseau_de_Reference_des_Antilles_Francaises_1991", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -2281,11 +3037,16 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4640\"]]");
-    p = add_epsg_def (filter, first, last, 4641, "epsg", 4641,
-        "IGN53 Mare");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4640\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4641, "epsg", 4641,
+        "IGN53 Mare", 1, 1,
+        "International 1924", "Greenwich",
+        "IGN53_Mare", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=287.58,177.78,-135.41");
     add_proj4text (p, 1,
@@ -2301,9 +3062,14 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4641\"]]");
-    p = add_epsg_def (filter, first, last, 4642, "epsg", 4642,
-        "ST84 Ile des Pins");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4641\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4642, "epsg", 4642,
+        "ST84 Ile des Pins", 1, 1,
+        "International 1924", "Greenwich",
+        "ST84_Ile_des_Pins", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-13,-348,292,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -2319,13 +3085,18 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4642\"]]");
-    p = add_epsg_def (filter, first, last, 4643, "epsg", 4643,
-        "ST71 Belep");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4642\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4643, "epsg", 4643,
+        "ST71 Belep", 1, 1,
+        "International 1924", "Greenwich",
+        "ST71_Belep", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643.");
     add_proj4text (p, 1,
-        "429,16.3119,20.1721,-4.0349,-111.7 +no_defs");
+        "429,16.3119,20.1721,-4.0349,-111.7002 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"ST71 Belep\",DATUM[\"ST71_Belep\",SPHEROID[\"In");
     add_srs_wkt (p, 1,
@@ -2333,193 +3104,15 @@ initialize_epsg_22 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\"]],TOWGS84[-480.26,-438.32,-643.429,16.3119,20.1721,-4");
     add_srs_wkt (p, 3,
-        ".0349,-111.7],AUTHORITY[\"EPSG\",\"6643\"]],PRIMEM[\"Gre");
-    add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
-    add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
-    add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4643\"]]");
-    p = add_epsg_def (filter, first, last, 4644, "epsg", 4644,
-        "NEA74 Noumea");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-10.18,-350.43,291.37");
-    add_proj4text (p, 1,
-        ",0,0,0,0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"NEA74 Noumea\",DATUM[\"NEA74_Noumea\",SPHEROID[");
-    add_srs_wkt (p, 1,
-        "\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 2,
-        "7022\"]],TOWGS84[-10.18,-350.43,291.37,0,0,0,0],AUTHORIT");
-    add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"6644\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
-    add_srs_wkt (p, 4,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
-    add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4644\"]]");
-    p = add_epsg_def (filter, first, last, 4645, "epsg", 4645,
-        "RGNC 1991");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=0,0,0,0,0,0,0 +no_def");
-    add_proj4text (p, 1,
-        "s");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"RGNC 1991\",DATUM[\"Reseau_Geodesique_Nouvelle_");
-    add_srs_wkt (p, 1,
-        "Caledonie_1991\",SPHEROID[\"International 1924\",6378388");
-    add_srs_wkt (p, 2,
-        ",297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[0,0,0,0,0,0,0");
-    add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6645\"]],PRIMEM[\"Greenwich\",0,A");
-    add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
-    add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 6,
-        ",\"4645\"]]");
-    p = add_epsg_def (filter, first, last, 4646, "epsg", 4646,
-        "Grand Comoros");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-963,510,-359,0,0,0,0");
-    add_proj4text (p, 1,
-        " +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Grand Comoros\",DATUM[\"Grand_Comoros\",SPHEROI");
-    add_srs_wkt (p, 1,
-        "D[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 2,
-        "\"7022\"]],TOWGS84[-963,510,-359,0,0,0,0],AUTHORITY[\"EP");
-    add_srs_wkt (p, 3,
-        "SG\",\"6646\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 4,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
-    add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4646\"]]");
-    p = add_epsg_def (filter, first, last, 4647, "epsg", 4647,
-        "ETRS89 / UTM zone 32N (zE-N)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=32500000 +y");
-    add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
-    add_proj4text (p, 2,
-        "fs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 32N (zE-N)\",GEOGCS[\"ETRS89\"");
-    add_srs_wkt (p, 1,
-        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
-    add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
-    add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 4,
-        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
-    add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
-    add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
-    add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"sc");
-    add_srs_wkt (p, 9,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",3250000");
-    add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
-    add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
-    add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"4647\"]]");
-    p = add_epsg_def (filter, first, last, 4652, "epsg", 4652,
-        "New Beijing / 3-degree Gauss-Kruger zone 25");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0");
-    add_proj4text (p, 1,
-        " +ellps=krass +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"New Beijing / 3-degree Gauss-Kruger zone 25\",G");
-    add_srs_wkt (p, 1,
-        "EOGCS[\"New Beijing\",DATUM[\"New_Beijing\",SPHEROID[\"K");
-    add_srs_wkt (p, 2,
-        "rassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024");
-    add_srs_wkt (p, 3,
-        "\"]],AUTHORITY[\"EPSG\",\"1045\"]],PRIMEM[\"Greenwich\",");
+        ".0349,-111.7002],AUTHORITY[\"EPSG\",\"6643\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
-    add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
-    add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
-    add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
-    add_srs_wkt (p, 8,
-        "ian\",75],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
-    add_srs_wkt (p, 9,
-        "e_easting\",25500000],PARAMETER[\"false_northing\",0],UN");
-    add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
-    add_srs_wkt (p, 11,
-        "EPSG\",\"4652\"]]");
-    p = add_epsg_def (filter, first, last, 4653, "epsg", 4653,
-        "New Beijing / 3-degree Gauss-Kruger zone 26");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0");
-    add_proj4text (p, 1,
-        " +ellps=krass +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"New Beijing / 3-degree Gauss-Kruger zone 26\",G");
-    add_srs_wkt (p, 1,
-        "EOGCS[\"New Beijing\",DATUM[\"New_Beijing\",SPHEROID[\"K");
-    add_srs_wkt (p, 2,
-        "rassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024");
-    add_srs_wkt (p, 3,
-        "\"]],AUTHORITY[\"EPSG\",\"1045\"]],PRIMEM[\"Greenwich\",");
-    add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
-    add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
-    add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
-    add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
-    add_srs_wkt (p, 8,
-        "ian\",78],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
-    add_srs_wkt (p, 9,
-        "e_easting\",26500000],PARAMETER[\"false_northing\",0],UN");
-    add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
-    add_srs_wkt (p, 11,
-        "EPSG\",\"4653\"]]");
-    p = add_epsg_def (filter, first, last, 4654, "epsg", 4654,
-        "New Beijing / 3-degree Gauss-Kruger zone 27");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0");
-    add_proj4text (p, 1,
-        " +ellps=krass +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"New Beijing / 3-degree Gauss-Kruger zone 27\",G");
-    add_srs_wkt (p, 1,
-        "EOGCS[\"New Beijing\",DATUM[\"New_Beijing\",SPHEROID[\"K");
-    add_srs_wkt (p, 2,
-        "rassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024");
-    add_srs_wkt (p, 3,
-        "\"]],AUTHORITY[\"EPSG\",\"1045\"]],PRIMEM[\"Greenwich\",");
-    add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
-    add_srs_wkt (p, 8,
-        "ian\",81],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
-    add_srs_wkt (p, 9,
-        "e_easting\",27500000],PARAMETER[\"false_northing\",0],UN");
-    add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
-    add_srs_wkt (p, 11,
-        "EPSG\",\"4654\"]]");
+        "[\"EPSG\",\"4643\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_23.c b/src/srsinit/epsg_inlined_23.c
index fd248e3..ffe5558 100644
--- a/src/srsinit/epsg_inlined_23.c
+++ b/src/srsinit/epsg_inlined_23.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,226 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 4655, "epsg", 4655,
-        "New Beijing / 3-degree Gauss-Kruger zone 28");
+    p = add_epsg_def_ex (filter, first, last, 4644, "epsg", 4644,
+        "NEA74 Noumea", 1, 1,
+        "International 1924", "Greenwich",
+        "NEA74_Noumea", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=intl +towgs84=-10.18,-350.43,291.37");
+    add_proj4text (p, 1,
+        ",0,0,0,0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"NEA74 Noumea\",DATUM[\"NEA74_Noumea\",SPHEROID[");
+    add_srs_wkt (p, 1,
+        "\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 2,
+        "7022\"]],TOWGS84[-10.18,-350.43,291.37,0,0,0,0],AUTHORIT");
+    add_srs_wkt (p, 3,
+        "Y[\"EPSG\",\"6644\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+    add_srs_wkt (p, 4,
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+    add_srs_wkt (p, 5,
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4644\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4645, "epsg", 4645,
+        "RGNC 1991", 1, 1,
+        "International 1924", "Greenwich",
+        "Reseau_Geodesique_Nouvelle_Caledonie_1991", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=intl +towgs84=0,0,0,0,0,0,0 +no_def");
+    add_proj4text (p, 1,
+        "s");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"RGNC 1991\",DATUM[\"Reseau_Geodesique_Nouvelle_");
+    add_srs_wkt (p, 1,
+        "Caledonie_1991\",SPHEROID[\"International 1924\",6378388");
+    add_srs_wkt (p, 2,
+        ",297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[0,0,0,0,0,0,0");
+    add_srs_wkt (p, 3,
+        "],AUTHORITY[\"EPSG\",\"6645\"]],PRIMEM[\"Greenwich\",0,A");
+    add_srs_wkt (p, 4,
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+    add_srs_wkt (p, 5,
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
+    add_srs_wkt (p, 6,
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"464");
+    add_srs_wkt (p, 7,
+        "5\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4646, "epsg", 4646,
+        "Grand Comoros", 1, 1,
+        "International 1924", "Greenwich",
+        "Grand_Comoros", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=intl +towgs84=-963,510,-359,0,0,0,0");
+    add_proj4text (p, 1,
+        " +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Grand Comoros\",DATUM[\"Grand_Comoros\",SPHEROI");
+    add_srs_wkt (p, 1,
+        "D[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 2,
+        "\"7022\"]],TOWGS84[-963,510,-359,0,0,0,0],AUTHORITY[\"EP");
+    add_srs_wkt (p, 3,
+        "SG\",\"6646\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 4,
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+    add_srs_wkt (p, 5,
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4646\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4647, "epsg", 4647,
+        "ETRS89 / UTM zone 32N (zE-N)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=32500000 +y");
+    add_proj4text (p, 1,
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"ETRS89 / UTM zone 32N (zE-N)\",GEOGCS[\"ETRS89\"");
+    add_srs_wkt (p, 1,
+        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
+    add_srs_wkt (p, 2,
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+    add_srs_wkt (p, 3,
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 4,
+        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 5,
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+    add_srs_wkt (p, 6,
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 7,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+    add_srs_wkt (p, 8,
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+    add_srs_wkt (p, 9,
+        "],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fa");
+    add_srs_wkt (p, 10,
+        "ctor\",0.9996],PARAMETER[\"false_easting\",32500000],PAR");
+    add_srs_wkt (p, 11,
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"4647\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4652, "epsg", 4652,
+        "New Beijing / 3-degree Gauss-Kruger zone 25", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0");
+    add_proj4text (p, 1,
+        " +ellps=krass +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"New Beijing / 3-degree Gauss-Kruger zone 25\",G");
+    add_srs_wkt (p, 1,
+        "EOGCS[\"New Beijing\",DATUM[\"New_Beijing\",SPHEROID[\"K");
+    add_srs_wkt (p, 2,
+        "rassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024");
+    add_srs_wkt (p, 3,
+        "\"]],AUTHORITY[\"EPSG\",\"1045\"]],PRIMEM[\"Greenwich\",");
+    add_srs_wkt (p, 4,
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+    add_srs_wkt (p, 5,
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
+    add_srs_wkt (p, 6,
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+    add_srs_wkt (p, 8,
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+    add_srs_wkt (p, 9,
+        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+    add_srs_wkt (p, 10,
+        "ng\",25500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+    add_srs_wkt (p, 11,
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4652\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4653, "epsg", 4653,
+        "New Beijing / 3-degree Gauss-Kruger zone 26", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0");
+    add_proj4text (p, 1,
+        " +ellps=krass +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"New Beijing / 3-degree Gauss-Kruger zone 26\",G");
+    add_srs_wkt (p, 1,
+        "EOGCS[\"New Beijing\",DATUM[\"New_Beijing\",SPHEROID[\"K");
+    add_srs_wkt (p, 2,
+        "rassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024");
+    add_srs_wkt (p, 3,
+        "\"]],AUTHORITY[\"EPSG\",\"1045\"]],PRIMEM[\"Greenwich\",");
+    add_srs_wkt (p, 4,
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+    add_srs_wkt (p, 5,
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
+    add_srs_wkt (p, 6,
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+    add_srs_wkt (p, 8,
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+    add_srs_wkt (p, 9,
+        "8],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+    add_srs_wkt (p, 10,
+        "ng\",26500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+    add_srs_wkt (p, 11,
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4653\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4654, "epsg", 4654,
+        "New Beijing / 3-degree Gauss-Kruger zone 27", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0");
+    add_proj4text (p, 1,
+        " +ellps=krass +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"New Beijing / 3-degree Gauss-Kruger zone 27\",G");
+    add_srs_wkt (p, 1,
+        "EOGCS[\"New Beijing\",DATUM[\"New_Beijing\",SPHEROID[\"K");
+    add_srs_wkt (p, 2,
+        "rassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024");
+    add_srs_wkt (p, 3,
+        "\"]],AUTHORITY[\"EPSG\",\"1045\"]],PRIMEM[\"Greenwich\",");
+    add_srs_wkt (p, 4,
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+    add_srs_wkt (p, 5,
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
+    add_srs_wkt (p, 6,
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+    add_srs_wkt (p, 8,
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+    add_srs_wkt (p, 9,
+        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+    add_srs_wkt (p, 10,
+        "ng\",27500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+    add_srs_wkt (p, 11,
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4654\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4655, "epsg", 4655,
+        "New Beijing / 3-degree Gauss-Kruger zone 28", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0");
     add_proj4text (p, 1,
@@ -69,21 +289,26 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",84],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
     add_srs_wkt (p, 9,
-        "e_easting\",28500000],PARAMETER[\"false_northing\",0],UN");
+        "4],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ng\",28500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4655\"]]");
-    p = add_epsg_def (filter, first, last, 4656, "epsg", 4656,
-        "New Beijing / 3-degree Gauss-Kruger zone 29");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4655\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4656, "epsg", 4656,
+        "New Beijing / 3-degree Gauss-Kruger zone 29", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0");
     add_proj4text (p, 1,
@@ -99,21 +324,26 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",87],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
     add_srs_wkt (p, 9,
-        "e_easting\",29500000],PARAMETER[\"false_northing\",0],UN");
+        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ng\",29500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4656\"]]");
-    p = add_epsg_def (filter, first, last, 4657, "epsg", 4657,
-        "Reykjavik 1900");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4656\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4657, "epsg", 4657,
+        "Reykjavik 1900", 1, 1,
+        "Danish 1876", "Greenwich",
+        "Reykjavik_1900", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6377019.27 +b=6355762.5391 +towgs84=-28");
     add_proj4text (p, 1,
@@ -129,9 +359,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4657\"]]");
-    p = add_epsg_def (filter, first, last, 4658, "epsg", 4658,
-        "Hjorsey 1955");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 6,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4657\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4658, "epsg", 4658,
+        "Hjorsey 1955", 1, 1,
+        "International 1924", "Greenwich",
+        "Hjorsey_1955", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +n");
     add_proj4text (p, 1,
@@ -147,9 +382,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4658\"]]");
-    p = add_epsg_def (filter, first, last, 4659, "epsg", 4659,
-        "ISN93");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 6,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4658\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4659, "epsg", 4659,
+        "ISN93", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Islands_Net_1993", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -165,29 +405,41 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4659\"]]");
-    p = add_epsg_def (filter, first, last, 4660, "epsg", 4660,
-        "Helle 1954");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 6,
+        "T],AUTHORITY[\"EPSG\",\"4659\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4660, "epsg", 4660,
+        "Helle 1954", 1, 1,
+        "International 1924", "Greenwich",
+        "Helle_1954", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=982.609,552.753,-540.");
+        "+proj=longlat +ellps=intl +towgs84=982.6087,552.753,-540");
     add_proj4text (p, 1,
-        "873,6.68163,-31.6115,-19.8482,16.805 +no_defs");
+        ".873,6.68162662527694,-31.6114924086422,-19.848161004816");
+    add_proj4text (p, 2,
+        "8,16.805 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Helle 1954\",DATUM[\"Helle_1954\",SPHEROID[\"In");
     add_srs_wkt (p, 1,
         "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 2,
-        "\"]],TOWGS84[982.609,552.753,-540.873,6.68163,-31.6115,-");
+        "\"]],TOWGS84[982.6087,552.753,-540.873,6.68162662527694,");
     add_srs_wkt (p, 3,
-        "19.8482,16.805],AUTHORITY[\"EPSG\",\"6660\"]],PRIMEM[\"G");
+        "-31.6114924086422,-19.8481610048168,16.805],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "EPSG\",\"6660\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4660\"]]");
-    p = add_epsg_def (filter, first, last, 4661, "epsg", 4661,
-        "LKS92");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 7,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4660\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4661, "epsg", 4661,
+        "LKS92", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Latvia_1992", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -203,9 +455,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 5,
-        "]],AUTHORITY[\"EPSG\",\"4661\"]]");
-    p = add_epsg_def (filter, first, last, 4662, "epsg", 4662,
-        "IGN72 Grande Terre");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 6,
+        "HORITY[\"EPSG\",\"4661\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4662, "epsg", 4662,
+        "IGN72 Grande Terre", 1, 1,
+        "International 1924", "Greenwich",
+        "IGN72_Grande_Terre", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-11.64,-348.6,291.98,");
     add_proj4text (p, 1,
@@ -221,11 +478,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4662\"]]");
-    p = add_epsg_def (filter, first, last, 4663, "epsg", 4663,
-        "Porto Santo 1995");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"46");
+    add_srs_wkt (p, 7,
+        "62\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4663, "epsg", 4663,
+        "Porto Santo 1995", 1, 1,
+        "International 1924", "Greenwich",
+        "Porto_Santo_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-502.862,-247.438,312");
     add_proj4text (p, 1,
@@ -241,11 +503,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4663\"]]");
-    p = add_epsg_def (filter, first, last, 4664, "epsg", 4664,
-        "Azores Oriental 1995");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"46");
+    add_srs_wkt (p, 7,
+        "63\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4664, "epsg", 4664,
+        "Azores Oriental 1995", 1, 1,
+        "International 1924", "Greenwich",
+        "Azores_Oriental_Islands_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-204.619,140.176,55.2");
     add_proj4text (p, 1,
@@ -261,11 +528,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4664\"]]");
-    p = add_epsg_def (filter, first, last, 4665, "epsg", 4665,
-        "Azores Central 1995");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 7,
+        "[\"EPSG\",\"4664\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4665, "epsg", 4665,
+        "Azores Central 1995", 1, 1,
+        "International 1924", "Greenwich",
+        "Azores_Central_Islands_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-106.226,166.366,-37.");
     add_proj4text (p, 1,
@@ -281,11 +553,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4665\"]]");
-    p = add_epsg_def (filter, first, last, 4666, "epsg", 4666,
-        "Lisbon 1890");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 7,
+        "[\"EPSG\",\"4665\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4666, "epsg", 4666,
+        "Lisbon 1890", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Lisbon_1890", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=508.088,-191.042,56");
     add_proj4text (p, 1,
@@ -301,11 +578,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "666\"]]");
-    p = add_epsg_def (filter, first, last, 4667, "epsg", 4667,
-        "IKBD-92");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4666\"]");
+    add_srs_wkt (p, 7,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 4667, "epsg", 4667,
+        "IKBD-92", 1, 1,
+        "WGS 84", "Greenwich",
+        "Iraq_Kuwait_Boundary_Datum_1992", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -321,9 +603,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4667\"]]");
-    p = add_epsg_def (filter, first, last, 4668, "epsg", 4668,
-        "ED79");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4667\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4668, "epsg", 4668,
+        "ED79", 1, 1,
+        "International 1924", "Greenwich",
+        "European_Datum_1979", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-86,-98,-119,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -339,9 +626,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4668\"]]");
-    p = add_epsg_def (filter, first, last, 4669, "epsg", 4669,
-        "LKS94");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 6,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4668\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4669, "epsg", 4669,
+        "LKS94", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Lithuania_1994_ETRS89", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -357,9 +649,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4669\"]]");
-    p = add_epsg_def (filter, first, last, 4670, "epsg", 4670,
-        "IGM95");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
+    add_srs_wkt (p, 6,
+        ",EAST],AUTHORITY[\"EPSG\",\"4669\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4670, "epsg", 4670,
+        "IGM95", 1, 1,
+        "WGS 84", "Greenwich",
+        "Istituto_Geografico_Militaire_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -375,15 +672,20 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4670\"]]");
-    p = add_epsg_def (filter, first, last, 4671, "epsg", 4671,
-        "Voirol 1879");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4670\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4671, "epsg", 4671,
+        "Voirol 1879", 1, 1,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Voirol_1879", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Voirol 1879\",DATUM[\"Voirol_1879\",SPHEROID[\"");
     add_srs_wkt (p, 1,
-        "Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORIT");
+        "Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORIT");
     add_srs_wkt (p, 2,
         "Y[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\",\"6671\"]],PRIM");
     add_srs_wkt (p, 3,
@@ -391,9 +693,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 5,
-        "],AUTHORITY[\"EPSG\",\"4671\"]]");
-    p = add_epsg_def (filter, first, last, 4672, "epsg", 4672,
-        "Chatham Islands 1971");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 6,
+        "ORITY[\"EPSG\",\"4671\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4672, "epsg", 4672,
+        "Chatham Islands 1971", 1, 1,
+        "International 1924", "Greenwich",
+        "Chatham_Islands_Datum_1971", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=175,-38,113,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -409,15 +716,20 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4672\"]]");
-    p = add_epsg_def (filter, first, last, 4673, "epsg", 4673,
-        "Chatham Islands 1979");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"46");
+    add_srs_wkt (p, 7,
+        "72\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4673, "epsg", 4673,
+        "Chatham Islands 1979", 1, 1,
+        "International 1924", "Greenwich",
+        "Chatham_Islands_Datum_1979", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=174.05,-25.49,112.57,");
     add_proj4text (p, 1,
-        "-0,-0,0.554,0.2263 +no_defs");
+        "0,0,0.554,0.2263 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Chatham Islands 1979\",DATUM[\"Chatham_Islands_");
     add_srs_wkt (p, 1,
@@ -425,15 +737,20 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         ",AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[174.05,-25.49,112");
     add_srs_wkt (p, 3,
-        ".57,-0,-0,0.554,0.2263],AUTHORITY[\"EPSG\",\"6673\"]],PR");
+        ".57,0,0,0.554,0.2263],AUTHORITY[\"EPSG\",\"6673\"]],PRIM");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4673\"]]");
-    p = add_epsg_def (filter, first, last, 4674, "epsg", 4674,
-        "SIRGAS 2000");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 7,
+        "ORITY[\"EPSG\",\"4673\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4674, "epsg", 4674,
+        "SIRGAS 2000", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -451,9 +768,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4674\"]]");
-    p = add_epsg_def (filter, first, last, 4675, "epsg", 4675,
-        "Guam 1963");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
+    add_srs_wkt (p, 7,
+        "TY[\"EPSG\",\"4674\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4675, "epsg", 4675,
+        "Guam 1963", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Guam_1963", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=-100,-248,259,0,0,0");
     add_proj4text (p, 1,
@@ -461,7 +783,7 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Guam 1963\",DATUM[\"Guam_1963\",SPHEROID[\"Clar");
     add_srs_wkt (p, 1,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 2,
         ",\"7008\"]],TOWGS84[-100,-248,259,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 3,
@@ -469,9 +791,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4675\"]]");
-    p = add_epsg_def (filter, first, last, 4676, "epsg", 4676,
-        "Vientiane 1982");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4675\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4676, "epsg", 4676,
+        "Vientiane 1982", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Vientiane_1982", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +no_defs");
     add_srs_wkt (p, 0,
@@ -483,11 +810,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 4,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"4676\"]]");
-    p = add_epsg_def (filter, first, last, 4677, "epsg", 4677,
-        "Lao 1993");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 6,
+        "SG\",\"4676\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4677, "epsg", 4677,
+        "Lao 1993", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Lao_1993", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +no_defs");
     add_srs_wkt (p, 0,
@@ -499,11 +831,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 4,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 5,
-        "4677\"]]");
-    p = add_epsg_def (filter, first, last, 4678, "epsg", 4678,
-        "Lao 1997");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4677\"");
+    add_srs_wkt (p, 6,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4678, "epsg", 4678,
+        "Lao 1997", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Lao_National_Datum_1997", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=krass +towgs84=44.585,-131.212,-39.");
     add_proj4text (p, 1,
@@ -519,11 +856,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "4678\"]]");
-    p = add_epsg_def (filter, first, last, 4679, "epsg", 4679,
-        "Jouik 1961");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4678\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4679, "epsg", 4679,
+        "Jouik 1961", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Jouik_1961", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-80.01,253.26,291.1");
     add_proj4text (p, 1,
@@ -539,11 +881,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4679\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4680, "epsg", 4680,
-        "Nouakchott 1965");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4679\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4680, "epsg", 4680,
+        "Nouakchott 1965", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nouakchott_1965", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=124.5,-63.5,-281,0,");
     add_proj4text (p, 1,
@@ -559,11 +904,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "4680\"]]");
-    p = add_epsg_def (filter, first, last, 4681, "epsg", 4681,
-        "Mauritania 1999");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4680\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4681, "epsg", 4681,
+        "Mauritania 1999", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Mauritania_1999", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +no_defs");
     add_srs_wkt (p, 0,
@@ -577,13 +927,18 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 5,
-        "],AUTHORITY[\"EPSG\",\"4681\"]]");
-    p = add_epsg_def (filter, first, last, 4682, "epsg", 4682,
-        "Gulshan 303");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 6,
+        "ORITY[\"EPSG\",\"4681\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4682, "epsg", 4682,
+        "Gulshan 303", 1, 1,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Gulshan_303", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8");
+        "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs");
     add_proj4text (p, 1,
-        "4=283.7,735.9,261.1,0,0,0,0 +no_defs");
+        "84=283.7,735.9,261.1,0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Gulshan 303\",DATUM[\"Gulshan_303\",SPHEROID[\"");
     add_srs_wkt (p, 1,
@@ -595,11 +950,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4682\"]]");
-    p = add_epsg_def (filter, first, last, 4683, "epsg", 4683,
-        "PRS92");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4682\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4683, "epsg", 4683,
+        "PRS92", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Philippine_Reference_System_1992", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=-127.62,-67.24,-47.");
     add_proj4text (p, 1,
@@ -607,7 +967,7 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"PRS92\",DATUM[\"Philippine_Reference_System_199");
     add_srs_wkt (p, 1,
-        "2\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006");
+        "2\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138982");
     add_srs_wkt (p, 2,
         ",AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-127.62,-67.24,-4");
     add_srs_wkt (p, 3,
@@ -617,9 +977,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4683\"]]");
-    p = add_epsg_def (filter, first, last, 4684, "epsg", 4684,
-        "Gan 1970");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4683\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4684, "epsg", 4684,
+        "Gan 1970", 1, 1,
+        "International 1924", "Greenwich",
+        "Gan_1970", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -635,9 +1000,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4684\"]]");
-    p = add_epsg_def (filter, first, last, 4685, "epsg", 4685,
-        "Gandajika");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 6,
+        "AST],AUTHORITY[\"EPSG\",\"4684\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4685, "epsg", 4685,
+        "Gandajika", 1, 1,
+        "International 1924", "Greenwich",
+        "Gandajika", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -649,11 +1019,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 4,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 5,
-        ",\"4685\"]]");
-    p = add_epsg_def (filter, first, last, 4686, "epsg", 4686,
-        "MAGNA-SIRGAS");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"46");
+    add_srs_wkt (p, 6,
+        "85\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4686, "epsg", 4686,
+        "MAGNA-SIRGAS", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Marco_Geocentrico_Nacional_de_Referencia", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -669,11 +1044,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4686\"]]");
-    p = add_epsg_def (filter, first, last, 4687, "epsg", 4687,
-        "RGPF");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"46");
+    add_srs_wkt (p, 7,
+        "86\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4687, "epsg", 4687,
+        "RGPF", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_Polynesie_Francaise", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0.072,-0.507,-0.245,");
     add_proj4text (p, 1,
@@ -691,29 +1071,39 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4687\"]]");
-    p = add_epsg_def (filter, first, last, 4688, "epsg", 4688,
-        "Fatu Iva 72");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 7,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4687\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4688, "epsg", 4688,
+        "Fatu Iva 72", 1, 1,
+        "International 1924", "Greenwich",
+        "Fatu_Iva_72", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=347.103,1078.12,2623.");
+        "+proj=longlat +ellps=intl +towgs84=347.103,1078.125,2623");
     add_proj4text (p, 1,
-        "92,-33.8875,70.6773,-9.3943,186.074 +no_defs");
+        ".922,-33.8875,70.6773,-9.3943,186.074 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Fatu Iva 72\",DATUM[\"Fatu_Iva_72\",SPHEROID[\"");
     add_srs_wkt (p, 1,
         "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 2,
-        "22\"]],TOWGS84[347.103,1078.12,2623.92,-33.8875,70.6773,");
+        "22\"]],TOWGS84[347.103,1078.125,2623.922,-33.8875,70.677");
     add_srs_wkt (p, 3,
-        "-9.3943,186.074],AUTHORITY[\"EPSG\",\"6688\"]],PRIMEM[\"");
+        "3,-9.3943,186.074],AUTHORITY[\"EPSG\",\"6688\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4688\"]]");
-    p = add_epsg_def (filter, first, last, 4689, "epsg", 4689,
-        "IGN63 Hiva Oa");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
+    add_srs_wkt (p, 7,
+        "TY[\"EPSG\",\"4688\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4689, "epsg", 4689,
+        "IGN63 Hiva Oa", 1, 1,
+        "International 1924", "Greenwich",
+        "IGN63_Hiva_Oa", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=410.721,55.049,80.746");
     add_proj4text (p, 1,
@@ -729,11 +1119,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4689\"]]");
-    p = add_epsg_def (filter, first, last, 4690, "epsg", 4690,
-        "Tahiti 79");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 7,
+        "PSG\",\"4689\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4690, "epsg", 4690,
+        "Tahiti 79", 1, 1,
+        "International 1924", "Greenwich",
+        "Tahiti_79", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=221.525,152.948,176.7");
     add_proj4text (p, 1,
@@ -749,11 +1144,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4690\"]]");
-    p = add_epsg_def (filter, first, last, 4691, "epsg", 4691,
-        "Moorea 87");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 7,
+        "G\",\"4690\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4691, "epsg", 4691,
+        "Moorea 87", 1, 1,
+        "International 1924", "Greenwich",
+        "Moorea_87", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=215.525,149.593,176.2");
     add_proj4text (p, 1,
@@ -769,11 +1169,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4691\"]]");
-    p = add_epsg_def (filter, first, last, 4692, "epsg", 4692,
-        "Maupiti 83");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 7,
+        "G\",\"4691\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4692, "epsg", 4692,
+        "Maupiti 83", 1, 1,
+        "International 1924", "Greenwich",
+        "Maupiti_83", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=217.037,86.959,23.956");
     add_proj4text (p, 1,
@@ -789,9 +1194,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4692\"]]");
-    p = add_epsg_def (filter, first, last, 4693, "epsg", 4693,
-        "Nakhl-e Ghanem");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4692\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4693, "epsg", 4693,
+        "Nakhl-e Ghanem", 1, 1,
+        "WGS 84", "Greenwich",
+        "Nakhl_e_Ghanem", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0");
     add_proj4text (p, 1,
@@ -807,9 +1217,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4693\"]]");
-    p = add_epsg_def (filter, first, last, 4694, "epsg", 4694,
-        "POSGAR 94");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4693\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4694, "epsg", 4694,
+        "POSGAR 94", 1, 1,
+        "WGS 84", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1994", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -825,11 +1240,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"469");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 4695, "epsg", 4695,
-        "Katanga 1955");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4694\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4695, "epsg", 4695,
+        "Katanga 1955", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Katanga_1955", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=-103.746,-9.614,-25");
     add_proj4text (p, 1,
@@ -837,7 +1255,7 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[");
     add_srs_wkt (p, 1,
-        "\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"");
+        "\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"");
     add_srs_wkt (p, 2,
         "EPSG\",\"7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,");
     add_srs_wkt (p, 3,
@@ -845,11 +1263,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4695\"]]");
-    p = add_epsg_def (filter, first, last, 4696, "epsg", 4696,
-        "Kasai 1953");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"46");
+    add_srs_wkt (p, 7,
+        "95\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4696, "epsg", 4696,
+        "Kasai 1953", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Kasai_1953", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +no_defs");
     add_srs_wkt (p, 0,
@@ -861,11 +1284,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 4,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"4696\"]]");
-    p = add_epsg_def (filter, first, last, 4697, "epsg", 4697,
-        "IGC 1962 6th Parallel South");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 6,
+        "SG\",\"4696\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4697, "epsg", 4697,
+        "IGC 1962 6th Parallel South", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGC_1962_Arc_of_the_6th_Parallel_South", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +no_defs");
     add_srs_wkt (p, 0,
@@ -879,11 +1307,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4697\"]]");
-    p = add_epsg_def (filter, first, last, 4698, "epsg", 4698,
-        "IGN 1962 Kerguelen");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4697");
+    add_srs_wkt (p, 7,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4698, "epsg", 4698,
+        "IGN 1962 Kerguelen", 1, 1,
+        "International 1924", "Greenwich",
+        "IGN_1962_Kerguelen", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -899,11 +1332,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4698");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 4699, "epsg", 4699,
-        "Le Pouce 1934");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4698\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4699, "epsg", 4699,
+        "Le Pouce 1934", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Le_Pouce_1934", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-770.1,158.4,-498.2");
     add_proj4text (p, 1,
@@ -919,11 +1355,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4699\"]]");
-    p = add_epsg_def (filter, first, last, 4700, "epsg", 4700,
-        "IGN Astro 1960");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4699\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4700, "epsg", 4700,
+        "IGN Astro 1960", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "IGN_Astro_1960", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +no_defs");
     add_srs_wkt (p, 0,
@@ -937,9 +1378,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"4700\"]]");
-    p = add_epsg_def (filter, first, last, 4701, "epsg", 4701,
-        "IGCB 1955");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
+    add_srs_wkt (p, 6,
+        "ITY[\"EPSG\",\"4700\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4701, "epsg", 4701,
+        "IGCB 1955", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Institut_Geographique_du_Congo_Belge_1955", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0");
     add_proj4text (p, 1,
@@ -957,9 +1403,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4701\"]]");
-    p = add_epsg_def (filter, first, last, 4702, "epsg", 4702,
-        "Mauritania 1999");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
+    add_srs_wkt (p, 7,
+        "RITY[\"EPSG\",\"4701\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4702, "epsg", 4702,
+        "Mauritania 1999", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Mauritania_1999", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -975,9 +1426,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4702\"]]");
-    p = add_epsg_def (filter, first, last, 4703, "epsg", 4703,
-        "Mhast 1951");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4702\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4703, "epsg", 4703,
+        "Mhast 1951", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Missao_Hidrografico_Angola_y_Sao_Tome_1951", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +no_defs");
     add_srs_wkt (p, 0,
@@ -991,9 +1447,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4703\"]]");
-    p = add_epsg_def (filter, first, last, 4704, "epsg", 4704,
-        "Mhast (onshore)");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4703\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4704, "epsg", 4704,
+        "Mhast (onshore)", 1, 1,
+        "International 1924", "Greenwich",
+        "Mhast_onshore", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -1005,11 +1466,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 4,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"4704\"]]");
-    p = add_epsg_def (filter, first, last, 4705, "epsg", 4705,
-        "Mhast (offshore)");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 6,
+        "SG\",\"4704\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4705, "epsg", 4705,
+        "Mhast (offshore)", 1, 1,
+        "International 1924", "Greenwich",
+        "Mhast_offshore", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -1021,11 +1487,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 4,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"4705\"]]");
-    p = add_epsg_def (filter, first, last, 4706, "epsg", 4706,
-        "Egypt Gulf of Suez S-650 TL");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 6,
+        "PSG\",\"4705\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4706, "epsg", 4706,
+        "Egypt Gulf of Suez S-650 TL", 1, 1,
+        "Helmert 1906", "Greenwich",
+        "Egypt_Gulf_of_Suez_S_650_TL", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=helmert +towgs84=-146.21,112.63,4.0");
     add_proj4text (p, 1,
@@ -1041,11 +1512,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4706\"]]");
-    p = add_epsg_def (filter, first, last, 4707, "epsg", 4707,
-        "Tern Island 1961");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 7,
+        "\"EPSG\",\"4706\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4707, "epsg", 4707,
+        "Tern Island 1961", 1, 1,
+        "International 1924", "Greenwich",
+        "Tern_Island_1961", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=114,-116,-333,0,0,0,0");
     add_proj4text (p, 1,
@@ -1061,9 +1537,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4707\"]]");
-    p = add_epsg_def (filter, first, last, 4708, "epsg", 4708,
-        "Cocos Islands 1965");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4707\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4708, "epsg", 4708,
+        "Cocos Islands 1965", 1, 1,
+        "Australian National Spheroid", "Greenwich",
+        "Cocos_Islands_1965", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=aust_SA +towgs84=-491,-22,435,0,0,0");
     add_proj4text (p, 1,
@@ -1079,11 +1560,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4708\"]]");
-    p = add_epsg_def (filter, first, last, 4709, "epsg", 4709,
-        "Iwo Jima 1945");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 7,
+        ",\"4708\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4709, "epsg", 4709,
+        "Iwo Jima 1945", 1, 1,
+        "International 1924", "Greenwich",
+        "Iwo_Jima_1945", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=145,75,-272,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1099,9 +1585,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4709\"]]");
-    p = add_epsg_def (filter, first, last, 4710, "epsg", 4710,
-        "St. Helena 1971");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 6,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4709\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4710, "epsg", 4710,
+        "St. Helena 1971", 1, 1,
+        "International 1924", "Greenwich",
+        "St_Helena_1971", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-320,550,-494,0,0,0,0");
     add_proj4text (p, 1,
@@ -1117,9 +1608,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4710\"]]");
-    p = add_epsg_def (filter, first, last, 4711, "epsg", 4711,
-        "Marcus Island 1952");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4710\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4711, "epsg", 4711,
+        "Marcus Island 1952", 1, 1,
+        "International 1924", "Greenwich",
+        "Marcus_Island_1952", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=124,-234,-25,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1135,11 +1631,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4711");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 4712, "epsg", 4712,
-        "Ascension Island 1958");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4711\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4712, "epsg", 4712,
+        "Ascension Island 1958", 1, 1,
+        "International 1924", "Greenwich",
+        "Ascension_Island_1958", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-205,107,53,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1155,11 +1654,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "4712\"]]");
-    p = add_epsg_def (filter, first, last, 4713, "epsg", 4713,
-        "Ayabelle Lighthouse");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4712\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4713, "epsg", 4713,
+        "Ayabelle Lighthouse", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Ayabelle_Lighthouse", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=-79,-129,145,0,0,0,");
     add_proj4text (p, 1,
@@ -1175,11 +1679,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"4713\"]]");
-    p = add_epsg_def (filter, first, last, 4714, "epsg", 4714,
-        "Bellevue");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"47");
+    add_srs_wkt (p, 7,
+        "13\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4714, "epsg", 4714,
+        "Bellevue", 1, 1,
+        "International 1924", "Greenwich",
+        "Bellevue", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-127,-769,472,0,0,0,0");
     add_proj4text (p, 1,
@@ -1195,9 +1704,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4714\"]]");
-    p = add_epsg_def (filter, first, last, 4715, "epsg", 4715,
-        "Camp Area Astro");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"4714\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4715, "epsg", 4715,
+        "Camp Area Astro", 1, 1,
+        "International 1924", "Greenwich",
+        "Camp_Area_Astro", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-104,-129,239,0,0,0,0");
     add_proj4text (p, 1,
@@ -1213,9 +1727,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4715\"]]");
-    p = add_epsg_def (filter, first, last, 4716, "epsg", 4716,
-        "Phoenix Islands 1966");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 6,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4715\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4716, "epsg", 4716,
+        "Phoenix Islands 1966", 1, 1,
+        "International 1924", "Greenwich",
+        "Phoenix_Islands_1966", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=298,-304,-375,0,0,0,0");
     add_proj4text (p, 1,
@@ -1231,11 +1750,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "4716\"]]");
-    p = add_epsg_def (filter, first, last, 4717, "epsg", 4717,
-        "Cape Canaveral");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4716\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4717, "epsg", 4717,
+        "Cape Canaveral", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Cape_Canaveral", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=-2,151,181,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1243,7 +1767,7 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Cape Canaveral\",DATUM[\"Cape_Canaveral\",SPHER");
     add_srs_wkt (p, 1,
-        "OID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORIT");
+        "OID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORIT");
     add_srs_wkt (p, 2,
         "Y[\"EPSG\",\"7008\"]],TOWGS84[-2,151,181,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 3,
@@ -1251,11 +1775,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4717\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4718, "epsg", 4718,
-        "Solomon 1968");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4717\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4718, "epsg", 4718,
+        "Solomon 1968", 1, 1,
+        "International 1924", "Greenwich",
+        "Solomon_1968", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=230,-199,-752,0,0,0,0");
     add_proj4text (p, 1,
@@ -1271,9 +1798,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4718\"]]");
-    p = add_epsg_def (filter, first, last, 4719, "epsg", 4719,
-        "Easter Island 1967");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 6,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4718\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4719, "epsg", 4719,
+        "Easter Island 1967", 1, 1,
+        "International 1924", "Greenwich",
+        "Easter_Island_1967", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=211,147,111,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1289,11 +1821,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4719\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4720, "epsg", 4720,
-        "Fiji 1986");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4719\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4720, "epsg", 4720,
+        "Fiji 1986", 1, 1,
+        "WGS 72", "Greenwich",
+        "Fiji_Geodetic_Datum_1986", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.");
     add_proj4text (p, 1,
@@ -1309,9 +1844,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4720\"]]");
-    p = add_epsg_def (filter, first, last, 4721, "epsg", 4721,
-        "Fiji 1956");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4720\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4721, "epsg", 4721,
+        "Fiji 1956", 1, 1,
+        "International 1924", "Greenwich",
+        "Fiji_1956", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=265.025,384.929,-194.");
     add_proj4text (p, 1,
@@ -1327,9 +1867,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4721\"]]");
-    p = add_epsg_def (filter, first, last, 4722, "epsg", 4722,
-        "South Georgia 1968");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4721\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4722, "epsg", 4722,
+        "South Georgia 1968", 1, 1,
+        "International 1924", "Greenwich",
+        "South_Georgia_1968", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-794,119,-298,0,0,0,0");
     add_proj4text (p, 1,
@@ -1345,11 +1890,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"472");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 4723, "epsg", 4723,
-        "GCGD59");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4722\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4723, "epsg", 4723,
+        "GCGD59", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Grand_Cayman_Geodetic_Datum_1959", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=-179.483,-69.379,-2");
     add_proj4text (p, 1,
@@ -1357,9 +1905,9 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"GCGD59\",DATUM[\"Grand_Cayman_Geodetic_Datum_19");
     add_srs_wkt (p, 1,
-        "59\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213900");
+        "59\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898");
     add_srs_wkt (p, 2,
-        "6,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-179.483,-69.379");
+        "2,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-179.483,-69.379");
     add_srs_wkt (p, 3,
         ",-27.584,-7.862,8.163,6.042,-13.925],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
@@ -1367,9 +1915,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4723\"]]");
-    p = add_epsg_def (filter, first, last, 4724, "epsg", 4724,
-        "Diego Garcia 1969");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 7,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4723\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4724, "epsg", 4724,
+        "Diego Garcia 1969", 1, 1,
+        "International 1924", "Greenwich",
+        "Diego_Garcia_1969", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=208,-435,-229,0,0,0,0");
     add_proj4text (p, 1,
@@ -1385,11 +1938,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4724\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4725, "epsg", 4725,
-        "Johnston Island 1961");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4724\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4725, "epsg", 4725,
+        "Johnston Island 1961", 1, 1,
+        "International 1924", "Greenwich",
+        "Johnston_Island_1961", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=189,-79,-202,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1405,11 +1961,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4725\"]]");
-    p = add_epsg_def (filter, first, last, 4726, "epsg", 4726,
-        "SIGD61");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4725\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 4726, "epsg", 4726,
+        "SIGD61", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Sister_Islands_Geodetic_Datum_1961", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +towgs84=8.853,-52.644,180.3");
     add_proj4text (p, 1,
@@ -1417,9 +1978,9 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"SIGD61\",DATUM[\"Sister_Islands_Geodetic_Datum_");
     add_srs_wkt (p, 1,
-        "1961\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139");
+        "1961\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138");
     add_srs_wkt (p, 2,
-        "006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644,");
+        "982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644,");
     add_srs_wkt (p, 3,
         "180.304,-0.393,-2.323,2.96,-24.081],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
@@ -1427,9 +1988,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4726\"]]");
-    p = add_epsg_def (filter, first, last, 4727, "epsg", 4727,
-        "Midway 1961");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 7,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4726\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4727, "epsg", 4727,
+        "Midway 1961", 1, 1,
+        "International 1924", "Greenwich",
+        "Midway_1961", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=403,-81,277,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1445,9 +2011,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4727\"]]");
-    p = add_epsg_def (filter, first, last, 4728, "epsg", 4728,
-        "Pico de las Nieves 1984");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 6,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4727\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4728, "epsg", 4728,
+        "Pico de las Nieves 1984", 1, 1,
+        "International 1924", "Greenwich",
+        "Pico_de_las_Nieves_1984", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-307,-92,127,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1463,11 +2034,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4728\"]]");
-    p = add_epsg_def (filter, first, last, 4729, "epsg", 4729,
-        "Pitcairn 1967");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4728\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4729, "epsg", 4729,
+        "Pitcairn 1967", 1, 1,
+        "International 1924", "Greenwich",
+        "Pitcairn_1967", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=185,165,42,0,0,0,0 +n");
     add_proj4text (p, 1,
@@ -1483,9 +2059,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4729\"]]");
-    p = add_epsg_def (filter, first, last, 4730, "epsg", 4730,
-        "Santo 1965");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4729\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4730, "epsg", 4730,
+        "Santo 1965", 1, 1,
+        "International 1924", "Greenwich",
+        "Santo_1965", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=170,42,84,0,0,0,0 +no");
     add_proj4text (p, 1,
@@ -1501,9 +2082,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4730\"]]");
-    p = add_epsg_def (filter, first, last, 4731, "epsg", 4731,
-        "Viti Levu 1916");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"4730\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4731, "epsg", 4731,
+        "Viti Levu 1916", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Viti_Levu_1916", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=51,391,-36,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1519,9 +2105,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4731\"]]");
-    p = add_epsg_def (filter, first, last, 4732, "epsg", 4732,
-        "Marshall Islands 1960");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4731\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4732, "epsg", 4732,
+        "Marshall Islands 1960", 1, 1,
+        "Hough 1960", "Greenwich",
+        "Marshall_Islands_1960", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378270 +b=6356794.343434343 +towgs84=1");
     add_proj4text (p, 1,
@@ -1537,9 +2128,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4732\"]]");
-    p = add_epsg_def (filter, first, last, 4733, "epsg", 4733,
-        "Wake Island 1952");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 6,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4732\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4733, "epsg", 4733,
+        "Wake Island 1952", 1, 1,
+        "International 1924", "Greenwich",
+        "Wake_Island_1952", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=276,-57,149,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1555,9 +2151,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4733\"]]");
-    p = add_epsg_def (filter, first, last, 4734, "epsg", 4734,
-        "Tristan 1968");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 6,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4733\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4734, "epsg", 4734,
+        "Tristan 1968", 1, 1,
+        "International 1924", "Greenwich",
+        "Tristan_1968", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-632,438,-609,0,0,0,0");
     add_proj4text (p, 1,
@@ -1573,9 +2174,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4734\"]]");
-    p = add_epsg_def (filter, first, last, 4735, "epsg", 4735,
-        "Kusaie 1951");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
+    add_srs_wkt (p, 6,
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4734\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4735, "epsg", 4735,
+        "Kusaie 1951", 1, 1,
+        "International 1924", "Greenwich",
+        "Kusaie_1951", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=647,1777,-1124,0,0,0,");
     add_proj4text (p, 1,
@@ -1591,9 +2197,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4735\"]]");
-    p = add_epsg_def (filter, first, last, 4736, "epsg", 4736,
-        "Deception Island");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4735\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4736, "epsg", 4736,
+        "Deception Island", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Deception_Island", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=260,12,-147,0,0,0,0");
     add_proj4text (p, 1,
@@ -1609,11 +2220,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "36\"]]");
-    p = add_epsg_def (filter, first, last, 4737, "epsg", 4737,
-        "Korea 2000");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4736\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4737, "epsg", 4737,
+        "Korea 2000", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1629,9 +2243,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4737\"]]");
-    p = add_epsg_def (filter, first, last, 4738, "epsg", 4738,
-        "Hong Kong 1963");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 6,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4737\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4738, "epsg", 4738,
+        "Hong Kong 1963", 1, 1,
+        "Clarke 1858", "Greenwich",
+        "Hong_Kong_1963", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 ");
     add_proj4text (p, 1,
@@ -1639,7 +2258,7 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Hong Kong 1963\",DATUM[\"Hong_Kong_1963\",SPHER");
     add_srs_wkt (p, 1,
-        "OID[\"Clarke 1858\",6378293.645208759,294.2606763692569,");
+        "OID[\"Clarke 1858\",6378293.645208759,294.2606763692606,");
     add_srs_wkt (p, 2,
         "AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"6738\"");
     add_srs_wkt (p, 3,
@@ -1647,9 +2266,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4738\"]]");
-    p = add_epsg_def (filter, first, last, 4739, "epsg", 4739,
-        "Hong Kong 1963(67)");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 6,
+        "T],AUTHORITY[\"EPSG\",\"4738\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4739, "epsg", 4739,
+        "Hong Kong 1963(67)", 1, 1,
+        "International 1924", "Greenwich",
+        "Hong_Kong_1963_67", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-156,-271,-189,0,0,0,");
     add_proj4text (p, 1,
@@ -1665,29 +2289,37 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4739\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4740, "epsg", 4740,
-        "PZ-90");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4739\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4740, "epsg", 4740,
+        "PZ-90", 1, 1,
+        "PZ-90", "Greenwich",
+        "Parametrop_Zemp_1990", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378136 +b=6356751.361745712 +towgs84=0");
     add_proj4text (p, 1,
-        ",0,1.5,-0,-0,0.076,0 +no_defs");
+        ",0,1.5,0,0,0.076,0 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"PZ-90\",DATUM[\"Parametrop_Zemp_1990\",SPHEROID");
     add_srs_wkt (p, 1,
         "[\"PZ-90\",6378136,298.257839303,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 2,
-        "54\"]],TOWGS84[0,0,1.5,-0,-0,0.076,0],AUTHORITY[\"EPSG\"");
+        "54\"]],TOWGS84[0,0,1.5,0,0,0.076,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        ",\"6740\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "6740\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4740\"]]");
-    p = add_epsg_def (filter, first, last, 4741, "epsg", 4741,
-        "FD54");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 6,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4740\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4741, "epsg", 4741,
+        "FD54", 1, 1,
+        "International 1924", "Greenwich",
+        "Faroe_Datum_1954", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -1699,11 +2331,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 4,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 5,
-        "G\",\"4741\"]]");
-    p = add_epsg_def (filter, first, last, 4742, "epsg", 4742,
-        "GDM2000");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "4741\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4742, "epsg", 4742,
+        "GDM2000", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Geodetic_Datum_of_Malaysia_2000", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +no_defs");
     add_srs_wkt (p, 0,
@@ -1717,9 +2354,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 5,
-        "],AUTHORITY[\"EPSG\",\"4742\"]]");
-    p = add_epsg_def (filter, first, last, 4743, "epsg", 4743,
-        "Karbala 1979");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 6,
+        "ORITY[\"EPSG\",\"4742\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4743, "epsg", 4743,
+        "Karbala 1979", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Karbala_1979", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +towgs84=70.995,-335.916,262");
     add_proj4text (p, 1,
@@ -1735,11 +2377,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4743\"]]");
-    p = add_epsg_def (filter, first, last, 4744, "epsg", 4744,
-        "Nahrwan 1934");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4743");
+    add_srs_wkt (p, 7,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4744, "epsg", 4744,
+        "Nahrwan 1934", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nahrwan_1934", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk80 +no_defs");
     add_srs_wkt (p, 0,
@@ -1751,11 +2398,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 4,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"4744\"]]");
-    p = add_epsg_def (filter, first, last, 4745, "epsg", 4745,
-        "RD/83");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 6,
+        "\"EPSG\",\"4744\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4745, "epsg", 4745,
+        "RD/83", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Rauenberg_Datum_83", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
@@ -1767,11 +2419,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 4,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"4745\"]]");
-    p = add_epsg_def (filter, first, last, 4746, "epsg", 4746,
-        "PD/83");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 6,
+        "SG\",\"4745\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4746, "epsg", 4746,
+        "PD/83", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Potsdam_Datum_83", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
@@ -1783,11 +2440,16 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 4,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"4746\"]]");
-    p = add_epsg_def (filter, first, last, 4747, "epsg", 4747,
-        "GR96");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 6,
+        "G\",\"4746\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4747, "epsg", 4747,
+        "GR96", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1803,9 +2465,14 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4747\"]]");
-    p = add_epsg_def (filter, first, last, 4748, "epsg", 4748,
-        "Vanua Levu 1915");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 6,
+        "AUTHORITY[\"EPSG\",\"4747\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4748, "epsg", 4748,
+        "Vanua Levu 1915", 1, 1,
+        "Clarke 1880 (international foot)", "Greenwich",
+        "Vanua_Levu_1915", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51");
     add_proj4text (p, 1,
@@ -1815,7 +2482,7 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "EROID[\"Clarke 1880 (international foot)\",6378306.3696,");
     add_srs_wkt (p, 2,
-        "293.4663076556349,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84[");
+        "293.4663076556355,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84[");
     add_srs_wkt (p, 3,
         "51,391,-36,0,0,0,0],AUTHORITY[\"EPSG\",\"6748\"]],PRIMEM");
     add_srs_wkt (p, 4,
@@ -1823,137 +2490,9 @@ initialize_epsg_23 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4748\"]]");
-    p = add_epsg_def (filter, first, last, 4749, "epsg", 4749,
-        "RGNC91-93");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
-    add_proj4text (p, 1,
-        "fs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"RGNC91-93\",DATUM[\"Reseau_Geodesique_de_Nouvel");
-    add_srs_wkt (p, 1,
-        "le_Caledonie_91_93\",SPHEROID[\"GRS 1980\",6378137,298.2");
-    add_srs_wkt (p, 2,
-        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0");
-    add_srs_wkt (p, 3,
-        ",0,0],AUTHORITY[\"EPSG\",\"6749\"]],PRIMEM[\"Greenwich\"");
-    add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
-    add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
-    add_srs_wkt (p, 6,
-        "SG\",\"4749\"]]");
-    p = add_epsg_def (filter, first, last, 4750, "epsg", 4750,
-        "ST87 Ouvea");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=WGS84 +towgs84=-56.263,16.136,-22.8");
-    add_proj4text (p, 1,
-        "56,0,0,0,0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"ST87 Ouvea\",DATUM[\"ST87_Ouvea\",SPHEROID[\"WG");
-    add_srs_wkt (p, 1,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
-    add_srs_wkt (p, 2,
-        "]],TOWGS84[-56.263,16.136,-22.856,0,0,0,0],AUTHORITY[\"E");
-    add_srs_wkt (p, 3,
-        "PSG\",\"6750\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
-    add_srs_wkt (p, 4,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
-    add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4750\"]]");
-    p = add_epsg_def (filter, first, last, 4751, "epsg", 4751,
-        "Kertau (RSO)");
-    add_proj4text (p, 0,
-        "+proj=longlat +a=6377295.664 +b=6356094.667915204 +no_de");
-    add_proj4text (p, 1,
-        "fs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Kertau (RSO)\",DATUM[\"Kertau_RSO\",SPHEROID[\"");
-    add_srs_wkt (p, 1,
-        "Everest 1830 (RSO 1969)\",6377295.664,300.8017,AUTHORITY");
-    add_srs_wkt (p, 2,
-        "[\"EPSG\",\"7056\"]],AUTHORITY[\"EPSG\",\"6751\"]],PRIME");
-    add_srs_wkt (p, 3,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
-    add_srs_wkt (p, 4,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
-    add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"4751\"]]");
-    p = add_epsg_def (filter, first, last, 4752, "epsg", 4752,
-        "Viti Levu 1912");
-    add_proj4text (p, 0,
-        "+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51");
-    add_proj4text (p, 1,
-        ",391,-36,0,0,0,0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Viti Levu 1912\",DATUM[\"Viti_Levu_1912\",SPHER");
-    add_srs_wkt (p, 1,
-        "OID[\"Clarke 1880 (international foot)\",6378306.3696,29");
-    add_srs_wkt (p, 2,
-        "3.4663076556349,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84[51");
-    add_srs_wkt (p, 3,
-        ",391,-36,0,0,0,0],AUTHORITY[\"EPSG\",\"6752\"]],PRIMEM[\"");
-    add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
-    add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
-    add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4752\"]]");
-    p = add_epsg_def (filter, first, last, 4753, "epsg", 4753,
-        "fk89");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"fk89\",DATUM[\"fk89\",SPHEROID[\"International ");
-    add_srs_wkt (p, 1,
-        "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],AUTHORI");
-    add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"6753\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
-    add_srs_wkt (p, 3,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
-    add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4753\"");
-    add_srs_wkt (p, 5,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4754, "epsg", 4754,
-        "LGD2006");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=intl +towgs84=-208.406,-109.878,-2.");
-    add_proj4text (p, 1,
-        "5764,0,0,0,0 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"LGD2006\",DATUM[\"Libyan_Geodetic_Datum_2006\",");
-    add_srs_wkt (p, 1,
-        "SPHEROID[\"International 1924\",6378388,297,AUTHORITY[\"");
-    add_srs_wkt (p, 2,
-        "EPSG\",\"7022\"]],TOWGS84[-208.406,-109.878,-2.5764,0,0,");
-    add_srs_wkt (p, 3,
-        "0,0],AUTHORITY[\"EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",");
-    add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
-    add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
-    add_srs_wkt (p, 6,
-        "G\",\"4754\"]]");
-    p = add_epsg_def (filter, first, last, 4755, "epsg", 4755,
-        "DGN95");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
-    add_proj4text (p, 1,
-        "fs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"DGN95\",DATUM[\"Datum_Geodesi_Nasional_1995\",S");
-    add_srs_wkt (p, 1,
-        "PHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPS");
-    add_srs_wkt (p, 2,
-        "G\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 3,
-        ",\"6755\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
-    add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4755\"]]");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
+    add_srs_wkt (p, 7,
+        "ITY[\"EPSG\",\"4748\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_24.c b/src/srsinit/epsg_inlined_24.c
index 900347f..739bc21 100644
--- a/src/srsinit/epsg_inlined_24.c
+++ b/src/srsinit/epsg_inlined_24.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,174 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 4756, "epsg", 4756,
-        "VN-2000");
+    p = add_epsg_def_ex (filter, first, last, 4749, "epsg", 4749,
+        "RGNC91-93", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_Nouvelle_Caledonie_91_93", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
+    add_proj4text (p, 1,
+        "fs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"RGNC91-93\",DATUM[\"Reseau_Geodesique_de_Nouvel");
+    add_srs_wkt (p, 1,
+        "le_Caledonie_91_93\",SPHEROID[\"GRS 1980\",6378137,298.2");
+    add_srs_wkt (p, 2,
+        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0");
+    add_srs_wkt (p, 3,
+        ",0,0],AUTHORITY[\"EPSG\",\"6749\"]],PRIMEM[\"Greenwich\"");
+    add_srs_wkt (p, 4,
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+    add_srs_wkt (p, 5,
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
+    add_srs_wkt (p, 6,
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4749\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4750, "epsg", 4750,
+        "ST87 Ouvea", 1, 1,
+        "WGS 84", "Greenwich",
+        "ST87_Ouvea", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=WGS84 +towgs84=-56.263,16.136,-22.8");
+    add_proj4text (p, 1,
+        "56,0,0,0,0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"ST87 Ouvea\",DATUM[\"ST87_Ouvea\",SPHEROID[\"WG");
+    add_srs_wkt (p, 1,
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+    add_srs_wkt (p, 2,
+        "]],TOWGS84[-56.263,16.136,-22.856,0,0,0,0],AUTHORITY[\"E");
+    add_srs_wkt (p, 3,
+        "PSG\",\"6750\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 4,
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+    add_srs_wkt (p, 5,
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4750\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4751, "epsg", 4751,
+        "Kertau (RSO)", 1, 1,
+        "Everest 1830 (RSO 1969)", "Greenwich",
+        "Kertau_RSO", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +a=6377295.664 +b=6356094.667915204 +no_de");
+    add_proj4text (p, 1,
+        "fs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Kertau (RSO)\",DATUM[\"Kertau_RSO\",SPHEROID[\"");
+    add_srs_wkt (p, 1,
+        "Everest 1830 (RSO 1969)\",6377295.664,300.8017,AUTHORITY");
+    add_srs_wkt (p, 2,
+        "[\"EPSG\",\"7056\"]],AUTHORITY[\"EPSG\",\"6751\"]],PRIME");
+    add_srs_wkt (p, 3,
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+    add_srs_wkt (p, 4,
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+    add_srs_wkt (p, 5,
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
+    add_srs_wkt (p, 6,
+        "RITY[\"EPSG\",\"4751\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4752, "epsg", 4752,
+        "Viti Levu 1912", 1, 1,
+        "Clarke 1880 (international foot)", "Greenwich",
+        "Viti_Levu_1912", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51");
+    add_proj4text (p, 1,
+        ",391,-36,0,0,0,0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Viti Levu 1912\",DATUM[\"Viti_Levu_1912\",SPHER");
+    add_srs_wkt (p, 1,
+        "OID[\"Clarke 1880 (international foot)\",6378306.3696,29");
+    add_srs_wkt (p, 2,
+        "3.4663076556355,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84[51");
+    add_srs_wkt (p, 3,
+        ",391,-36,0,0,0,0],AUTHORITY[\"EPSG\",\"6752\"]],PRIMEM[\"");
+    add_srs_wkt (p, 4,
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+    add_srs_wkt (p, 5,
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
+    add_srs_wkt (p, 6,
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 7,
+        "[\"EPSG\",\"4752\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4753, "epsg", 4753,
+        "fk89", 1, 1,
+        "International 1924", "Greenwich",
+        "fk89", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=intl +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"fk89\",DATUM[\"fk89\",SPHEROID[\"International ");
+    add_srs_wkt (p, 1,
+        "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"6753\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+    add_srs_wkt (p, 3,
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+    add_srs_wkt (p, 4,
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
+    add_srs_wkt (p, 5,
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4753\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4754, "epsg", 4754,
+        "LGD2006", 1, 1,
+        "International 1924", "Greenwich",
+        "Libyan_Geodetic_Datum_2006", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=intl +towgs84=-208.4058,-109.8777,-");
+    add_proj4text (p, 1,
+        "2.5764,0,0,0,0 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"LGD2006\",DATUM[\"Libyan_Geodetic_Datum_2006\",");
+    add_srs_wkt (p, 1,
+        "SPHEROID[\"International 1924\",6378388,297,AUTHORITY[\"");
+    add_srs_wkt (p, 2,
+        "EPSG\",\"7022\"]],TOWGS84[-208.4058,-109.8777,-2.5764,0,");
+    add_srs_wkt (p, 3,
+        "0,0,0],AUTHORITY[\"EPSG\",\"6754\"]],PRIMEM[\"Greenwich\"");
+    add_srs_wkt (p, 4,
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+    add_srs_wkt (p, 5,
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
+    add_srs_wkt (p, 6,
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4754\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4755, "epsg", 4755,
+        "DGN95", 1, 1,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
+    add_proj4text (p, 1,
+        "fs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"DGN95\",DATUM[\"Datum_Geodesi_Nasional_1995\",S");
+    add_srs_wkt (p, 1,
+        "PHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 2,
+        "G\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 3,
+        ",\"6755\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 4,
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+    add_srs_wkt (p, 5,
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4755\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4756, "epsg", 4756,
+        "VN-2000", 1, 1,
+        "WGS 84", "Greenwich",
+        "Vietnam_2000", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=-192.873,-39.382,-11");
     add_proj4text (p, 1,
@@ -69,11 +237,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4756\"]]");
-    p = add_epsg_def (filter, first, last, 4757, "epsg", 4757,
-        "SVY21");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 7,
+        "PSG\",\"4756\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4757, "epsg", 4757,
+        "SVY21", 1, 1,
+        "WGS 84", "Greenwich",
+        "SVY21", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +no_defs");
     add_srs_wkt (p, 0,
@@ -85,11 +258,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4757\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 5,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4758, "epsg", 4758,
-        "JAD2001");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4757\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4758, "epsg", 4758,
+        "JAD2001", 1, 1,
+        "WGS 84", "Greenwich",
+        "Jamaica_2001", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -105,9 +281,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 5,
-        "\"]],AUTHORITY[\"EPSG\",\"4758\"]]");
-    p = add_epsg_def (filter, first, last, 4759, "epsg", 4759,
-        "NAD83(NSRS2007)");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
+    add_srs_wkt (p, 6,
+        "UTHORITY[\"EPSG\",\"4758\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4759, "epsg", 4759,
+        "NAD83(NSRS2007)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -123,11 +304,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4759\"]]");
-    p = add_epsg_def (filter, first, last, 4760, "epsg", 4760,
-        "WGS 66");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 7,
+        "G\",\"4759\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4760, "epsg", 4760,
+        "WGS 66", 1, 1,
+        "NWL 9D", "Greenwich",
+        "World_Geodetic_System_1966", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS66 +no_defs");
     add_srs_wkt (p, 0,
@@ -139,11 +325,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 4,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 5,
-        "EPSG\",\"4760\"]]");
-    p = add_epsg_def (filter, first, last, 4761, "epsg", 4761,
-        "HTRS96");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"4760\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4761, "epsg", 4761,
+        "HTRS96", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Croatian_Terrestrial_Reference_System", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -159,11 +350,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4761");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 4762, "epsg", 4762,
-        "BDA2000");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4761\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4762, "epsg", 4762,
+        "BDA2000", 1, 1,
+        "WGS 84", "Greenwich",
+        "Bermuda_2000", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -179,9 +373,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 5,
-        "\"]],AUTHORITY[\"EPSG\",\"4762\"]]");
-    p = add_epsg_def (filter, first, last, 4763, "epsg", 4763,
-        "Pitcairn 2006");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
+    add_srs_wkt (p, 6,
+        "UTHORITY[\"EPSG\",\"4762\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4763, "epsg", 4763,
+        "Pitcairn 2006", 1, 1,
+        "WGS 84", "Greenwich",
+        "Pitcairn_2006", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -197,9 +396,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4763\"]]");
-    p = add_epsg_def (filter, first, last, 4764, "epsg", 4764,
-        "RSRGD2000");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"4763\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4764, "epsg", 4764,
+        "RSRGD2000", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Ross_Sea_Region_Geodetic_Datum_2000", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -215,11 +419,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"476");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 4765, "epsg", 4765,
-        "Slovenia 1996");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4764\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4765, "epsg", 4765,
+        "Slovenia 1996", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Slovenia_Geodetic_Datum_1996", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -235,11 +442,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4765\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 4766, "epsg", 4766,
-        "New Beijing / 3-degree Gauss-Kruger zone 30");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4765\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4766, "epsg", 4766,
+        "New Beijing / 3-degree Gauss-Kruger zone 30", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0");
     add_proj4text (p, 1,
@@ -255,21 +465,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",90],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
     add_srs_wkt (p, 9,
-        "e_easting\",30500000],PARAMETER[\"false_northing\",0],UN");
+        "0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ng\",30500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4766\"]]");
-    p = add_epsg_def (filter, first, last, 4767, "epsg", 4767,
-        "New Beijing / 3-degree Gauss-Kruger zone 31");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4766\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4767, "epsg", 4767,
+        "New Beijing / 3-degree Gauss-Kruger zone 31", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0");
     add_proj4text (p, 1,
@@ -285,21 +500,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",93],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
     add_srs_wkt (p, 9,
-        "e_easting\",31500000],PARAMETER[\"false_northing\",0],UN");
+        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ng\",31500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4767\"]]");
-    p = add_epsg_def (filter, first, last, 4768, "epsg", 4768,
-        "New Beijing / 3-degree Gauss-Kruger zone 32");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4767\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4768, "epsg", 4768,
+        "New Beijing / 3-degree Gauss-Kruger zone 32", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0");
     add_proj4text (p, 1,
@@ -315,21 +535,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",96],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
     add_srs_wkt (p, 9,
-        "e_easting\",32500000],PARAMETER[\"false_northing\",0],UN");
+        "6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ng\",32500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4768\"]]");
-    p = add_epsg_def (filter, first, last, 4769, "epsg", 4769,
-        "New Beijing / 3-degree Gauss-Kruger zone 33");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4768\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4769, "epsg", 4769,
+        "New Beijing / 3-degree Gauss-Kruger zone 33", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0");
     add_proj4text (p, 1,
@@ -345,21 +570,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",99],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
     add_srs_wkt (p, 9,
-        "e_easting\",33500000],PARAMETER[\"false_northing\",0],UN");
+        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ng\",33500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4769\"]]");
-    p = add_epsg_def (filter, first, last, 4770, "epsg", 4770,
-        "New Beijing / 3-degree Gauss-Kruger zone 34");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4769\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4770, "epsg", 4770,
+        "New Beijing / 3-degree Gauss-Kruger zone 34", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=");
     add_proj4text (p, 1,
@@ -375,21 +605,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",102],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",34500000],PARAMETER[\"false_northing\",0],U");
+        "02],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",34500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4770\"]]");
-    p = add_epsg_def (filter, first, last, 4771, "epsg", 4771,
-        "New Beijing / 3-degree Gauss-Kruger zone 35");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4770\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4771, "epsg", 4771,
+        "New Beijing / 3-degree Gauss-Kruger zone 35", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=");
     add_proj4text (p, 1,
@@ -405,21 +640,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",105],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",35500000],PARAMETER[\"false_northing\",0],U");
+        "05],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",35500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4771\"]]");
-    p = add_epsg_def (filter, first, last, 4772, "epsg", 4772,
-        "New Beijing / 3-degree Gauss-Kruger zone 36");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4771\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4772, "epsg", 4772,
+        "New Beijing / 3-degree Gauss-Kruger zone 36", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=");
     add_proj4text (p, 1,
@@ -435,21 +675,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",108],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",36500000],PARAMETER[\"false_northing\",0],U");
+        "08],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",36500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4772\"]]");
-    p = add_epsg_def (filter, first, last, 4773, "epsg", 4773,
-        "New Beijing / 3-degree Gauss-Kruger zone 37");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4772\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4773, "epsg", 4773,
+        "New Beijing / 3-degree Gauss-Kruger zone 37", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=");
     add_proj4text (p, 1,
@@ -465,21 +710,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",111],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",37500000],PARAMETER[\"false_northing\",0],U");
+        "11],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",37500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4773\"]]");
-    p = add_epsg_def (filter, first, last, 4774, "epsg", 4774,
-        "New Beijing / 3-degree Gauss-Kruger zone 38");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4773\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4774, "epsg", 4774,
+        "New Beijing / 3-degree Gauss-Kruger zone 38", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=");
     add_proj4text (p, 1,
@@ -495,21 +745,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",114],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",38500000],PARAMETER[\"false_northing\",0],U");
+        "14],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",38500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4774\"]]");
-    p = add_epsg_def (filter, first, last, 4775, "epsg", 4775,
-        "New Beijing / 3-degree Gauss-Kruger zone 39");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4774\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4775, "epsg", 4775,
+        "New Beijing / 3-degree Gauss-Kruger zone 39", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=");
     add_proj4text (p, 1,
@@ -525,21 +780,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",117],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",39500000],PARAMETER[\"false_northing\",0],U");
+        "17],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",39500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4775\"]]");
-    p = add_epsg_def (filter, first, last, 4776, "epsg", 4776,
-        "New Beijing / 3-degree Gauss-Kruger zone 40");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4775\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4776, "epsg", 4776,
+        "New Beijing / 3-degree Gauss-Kruger zone 40", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=");
     add_proj4text (p, 1,
@@ -555,21 +815,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",120],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",40500000],PARAMETER[\"false_northing\",0],U");
+        "20],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",40500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4776\"]]");
-    p = add_epsg_def (filter, first, last, 4777, "epsg", 4777,
-        "New Beijing / 3-degree Gauss-Kruger zone 41");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4776\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4777, "epsg", 4777,
+        "New Beijing / 3-degree Gauss-Kruger zone 41", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=");
     add_proj4text (p, 1,
@@ -585,21 +850,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",123],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",41500000],PARAMETER[\"false_northing\",0],U");
+        "23],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",41500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4777\"]]");
-    p = add_epsg_def (filter, first, last, 4778, "epsg", 4778,
-        "New Beijing / 3-degree Gauss-Kruger zone 42");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4777\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4778, "epsg", 4778,
+        "New Beijing / 3-degree Gauss-Kruger zone 42", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=");
     add_proj4text (p, 1,
@@ -615,21 +885,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",126],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",42500000],PARAMETER[\"false_northing\",0],U");
+        "26],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",42500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4778\"]]");
-    p = add_epsg_def (filter, first, last, 4779, "epsg", 4779,
-        "New Beijing / 3-degree Gauss-Kruger zone 43");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4778\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4779, "epsg", 4779,
+        "New Beijing / 3-degree Gauss-Kruger zone 43", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=");
     add_proj4text (p, 1,
@@ -645,21 +920,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",129],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",43500000],PARAMETER[\"false_northing\",0],U");
+        "29],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",43500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4779\"]]");
-    p = add_epsg_def (filter, first, last, 4780, "epsg", 4780,
-        "New Beijing / 3-degree Gauss-Kruger zone 44");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4779\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4780, "epsg", 4780,
+        "New Beijing / 3-degree Gauss-Kruger zone 44", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=");
     add_proj4text (p, 1,
@@ -675,21 +955,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",132],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",44500000],PARAMETER[\"false_northing\",0],U");
+        "32],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",44500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4780\"]]");
-    p = add_epsg_def (filter, first, last, 4781, "epsg", 4781,
-        "New Beijing / 3-degree Gauss-Kruger zone 45");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4780\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4781, "epsg", 4781,
+        "New Beijing / 3-degree Gauss-Kruger zone 45", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=");
     add_proj4text (p, 1,
@@ -705,21 +990,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",135],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",45500000],PARAMETER[\"false_northing\",0],U");
+        "35],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "ing\",45500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"4781\"]]");
-    p = add_epsg_def (filter, first, last, 4782, "epsg", 4782,
-        "New Beijing / 3-degree Gauss-Kruger CM 75E");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4781\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4782, "epsg", 4782,
+        "New Beijing / 3-degree Gauss-Kruger CM 75E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -735,21 +1025,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"45");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "55\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",75],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",75");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"4782\"]]");
-    p = add_epsg_def (filter, first, last, 4783, "epsg", 4783,
-        "New Beijing / 3-degree Gauss-Kruger CM 78E");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4782\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4783, "epsg", 4783,
+        "New Beijing / 3-degree Gauss-Kruger CM 78E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -765,21 +1060,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"45");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "55\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",78],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",78");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"4783\"]]");
-    p = add_epsg_def (filter, first, last, 4784, "epsg", 4784,
-        "New Beijing / 3-degree Gauss-Kruger CM 81E");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4783\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4784, "epsg", 4784,
+        "New Beijing / 3-degree Gauss-Kruger CM 81E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -795,21 +1095,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"45");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "55\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",81],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",81");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"4784\"]]");
-    p = add_epsg_def (filter, first, last, 4785, "epsg", 4785,
-        "New Beijing / 3-degree Gauss-Kruger CM 84E");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4784\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4785, "epsg", 4785,
+        "New Beijing / 3-degree Gauss-Kruger CM 84E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -825,21 +1130,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"45");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "55\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",84],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",84");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"4785\"]]");
-    p = add_epsg_def (filter, first, last, 4786, "epsg", 4786,
-        "New Beijing / 3-degree Gauss-Kruger CM 87E");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4785\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4786, "epsg", 4786,
+        "New Beijing / 3-degree Gauss-Kruger CM 87E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -855,21 +1165,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"45");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "55\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",87],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",87");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"4786\"]]");
-    p = add_epsg_def (filter, first, last, 4787, "epsg", 4787,
-        "New Beijing / 3-degree Gauss-Kruger CM 90E");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4786\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4787, "epsg", 4787,
+        "New Beijing / 3-degree Gauss-Kruger CM 90E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -885,21 +1200,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"45");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "55\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",90],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",90");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"4787\"]]");
-    p = add_epsg_def (filter, first, last, 4788, "epsg", 4788,
-        "New Beijing / 3-degree Gauss-Kruger CM 93E");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4787\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4788, "epsg", 4788,
+        "New Beijing / 3-degree Gauss-Kruger CM 93E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -915,21 +1235,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"45");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "55\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",93],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",93");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"4788\"]]");
-    p = add_epsg_def (filter, first, last, 4789, "epsg", 4789,
-        "New Beijing / 3-degree Gauss-Kruger CM 96E");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4788\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4789, "epsg", 4789,
+        "New Beijing / 3-degree Gauss-Kruger CM 96E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -945,21 +1270,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"45");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "55\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",96],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",96");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"4789\"]]");
-    p = add_epsg_def (filter, first, last, 4790, "epsg", 4790,
-        "New Beijing / 3-degree Gauss-Kruger CM 99E");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4789\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4790, "epsg", 4790,
+        "New Beijing / 3-degree Gauss-Kruger CM 99E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -975,21 +1305,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"45");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "55\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "\",99],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",99");
     add_srs_wkt (p, 9,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\",\"4790\"]]");
-    p = add_epsg_def (filter, first, last, 4791, "epsg", 4791,
-        "New Beijing / 3-degree Gauss-Kruger CM 102E");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 12,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4790\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4791, "epsg", 4791,
+        "New Beijing / 3-degree Gauss-Kruger CM 102E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1005,21 +1340,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",102],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "02],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4791\"]]");
-    p = add_epsg_def (filter, first, last, 4792, "epsg", 4792,
-        "New Beijing / 3-degree Gauss-Kruger CM 105E");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4791\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4792, "epsg", 4792,
+        "New Beijing / 3-degree Gauss-Kruger CM 105E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1035,21 +1375,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",105],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "05],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4792\"]]");
-    p = add_epsg_def (filter, first, last, 4793, "epsg", 4793,
-        "New Beijing / 3-degree Gauss-Kruger CM 108E");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4792\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4793, "epsg", 4793,
+        "New Beijing / 3-degree Gauss-Kruger CM 108E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1065,21 +1410,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",108],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "08],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4793\"]]");
-    p = add_epsg_def (filter, first, last, 4794, "epsg", 4794,
-        "New Beijing / 3-degree Gauss-Kruger CM 111E");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4793\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4794, "epsg", 4794,
+        "New Beijing / 3-degree Gauss-Kruger CM 111E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1095,21 +1445,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",111],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "11],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4794\"]]");
-    p = add_epsg_def (filter, first, last, 4795, "epsg", 4795,
-        "New Beijing / 3-degree Gauss-Kruger CM 114E");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4794\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4795, "epsg", 4795,
+        "New Beijing / 3-degree Gauss-Kruger CM 114E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1125,21 +1480,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",114],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "14],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4795\"]]");
-    p = add_epsg_def (filter, first, last, 4796, "epsg", 4796,
-        "New Beijing / 3-degree Gauss-Kruger CM 117E");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4795\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4796, "epsg", 4796,
+        "New Beijing / 3-degree Gauss-Kruger CM 117E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1155,21 +1515,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",117],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "17],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4796\"]]");
-    p = add_epsg_def (filter, first, last, 4797, "epsg", 4797,
-        "New Beijing / 3-degree Gauss-Kruger CM 120E");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4796\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4797, "epsg", 4797,
+        "New Beijing / 3-degree Gauss-Kruger CM 120E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1185,21 +1550,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",120],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "20],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4797\"]]");
-    p = add_epsg_def (filter, first, last, 4798, "epsg", 4798,
-        "New Beijing / 3-degree Gauss-Kruger CM 123E");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4797\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4798, "epsg", 4798,
+        "New Beijing / 3-degree Gauss-Kruger CM 123E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1215,21 +1585,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",123],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "23],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4798\"]]");
-    p = add_epsg_def (filter, first, last, 4799, "epsg", 4799,
-        "New Beijing / 3-degree Gauss-Kruger CM 126E");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4798\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4799, "epsg", 4799,
+        "New Beijing / 3-degree Gauss-Kruger CM 126E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1245,21 +1620,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",126],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "26],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4799\"]]");
-    p = add_epsg_def (filter, first, last, 4800, "epsg", 4800,
-        "New Beijing / 3-degree Gauss-Kruger CM 129E");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4799\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4800, "epsg", 4800,
+        "New Beijing / 3-degree Gauss-Kruger CM 129E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1275,21 +1655,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",129],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "29],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4800\"]]");
-    p = add_epsg_def (filter, first, last, 4801, "epsg", 4801,
-        "Bern 1898 (Bern)");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4800\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4801, "epsg", 4801,
+        "Bern 1898 (Bern)", 1, 1,
+        "Bessel 1841", "Bern",
+        "CH1903_Bern", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=674.4,15.1,405.3,0,");
     add_proj4text (p, 1,
@@ -1305,11 +1690,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "33,AUTHORITY[\"EPSG\",\"8907\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4801\"]]");
-    p = add_epsg_def (filter, first, last, 4802, "epsg", 4802,
-        "Bogota 1975 (Bogota)");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4801\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4802, "epsg", 4802,
+        "Bogota 1975 (Bogota)", 1, 1,
+        "International 1924", "Bogota",
+        "Bogota_1975_Bogota", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=307,304,-318,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1325,11 +1715,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "6666667,AUTHORITY[\"EPSG\",\"8904\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4802\"]]");
-    p = add_epsg_def (filter, first, last, 4803, "epsg", 4803,
-        "Lisbon (Lisbon)");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 7,
+        "G\",\"4802\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4803, "epsg", 4803,
+        "Lisbon (Lisbon)", 1, 1,
+        "International 1924", "Lisbon",
+        "Lisbon_1937_Lisbon", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-304.046,-60.576,103.");
     add_proj4text (p, 1,
@@ -1345,11 +1740,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1906111111112,AUTHORITY[\"EPSG\",\"8902\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4803\"]]");
-    p = add_epsg_def (filter, first, last, 4804, "epsg", 4804,
-        "Makassar (Jakarta)");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 7,
+        "[\"EPSG\",\"4803\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4804, "epsg", 4804,
+        "Makassar (Jakarta)", 1, 1,
+        "Bessel 1841", "Jakarta",
+        "Makassar_Jakarta", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.7");
     add_proj4text (p, 1,
@@ -1367,9 +1767,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4804\"]]");
-    p = add_epsg_def (filter, first, last, 4805, "epsg", 4805,
-        "MGI (Ferro)");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
+    add_srs_wkt (p, 7,
+        "ITY[\"EPSG\",\"4804\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4805, "epsg", 4805,
+        "MGI (Ferro)", 1, 1,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=682,-203,480,0,0,0,");
     add_proj4text (p, 1,
@@ -1387,9 +1792,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4805\"]]");
-    p = add_epsg_def (filter, first, last, 4806, "epsg", 4806,
-        "Monte Mario (Rome)");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 7,
+        "ORITY[\"EPSG\",\"4805\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4806, "epsg", 4806,
+        "Monte Mario (Rome)", 1, 1,
+        "International 1924", "Rome",
+        "Monte_Mario_Rome", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-104.1,-49.1,-9.9,0.9");
     add_proj4text (p, 1,
@@ -1407,9 +1817,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4806\"]]");
-    p = add_epsg_def (filter, first, last, 4807, "epsg", 4807,
-        "NTF (Paris)");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 7,
+        "AUTHORITY[\"EPSG\",\"4806\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4807, "epsg", 4807,
+        "NTF (Paris)", 1, 1,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "none", "grad",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,");
     add_proj4text (p, 1,
@@ -1419,7 +1834,7 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "ancaise_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2");
     add_srs_wkt (p, 2,
-        ",293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84");
+        ",293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84");
     add_srs_wkt (p, 3,
         "[-168,-60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRI");
     add_srs_wkt (p, 4,
@@ -1427,9 +1842,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"grad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "05\"]],AUTHORITY[\"EPSG\",\"4807\"]]");
-    p = add_epsg_def (filter, first, last, 4808, "epsg", 4808,
-        "Padang (Jakarta)");
+        "05\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
+    add_srs_wkt (p, 7,
+        ",AUTHORITY[\"EPSG\",\"4807\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4808, "epsg", 4808,
+        "Padang (Jakarta)", 1, 1,
+        "Bessel 1841", "Jakarta",
+        "Padang_1884_Jakarta", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +pm=jakarta +no_defs");
     add_srs_wkt (p, 0,
@@ -1443,9 +1863,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8908\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4808\"]]");
-    p = add_epsg_def (filter, first, last, 4809, "epsg", 4809,
-        "Belge 1950 (Brussels)");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4808\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4809, "epsg", 4809,
+        "Belge 1950 (Brussels)", 1, 1,
+        "International 1924", "Brussels",
+        "Reseau_National_Belge_1950_Brussels", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +pm=brussels +no_defs");
     add_srs_wkt (p, 0,
@@ -1459,9 +1884,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8910\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4809\"]]");
-    p = add_epsg_def (filter, first, last, 4810, "epsg", 4810,
-        "Tananarive (Paris)");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4809\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4810, "epsg", 4810,
+        "Tananarive (Paris)", 1, 1,
+        "International 1924", "Paris",
+        "Tananarive_1925_Paris", "none", "grad",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0");
     add_proj4text (p, 1,
@@ -1477,11 +1907,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.015707963");
     add_srs_wkt (p, 5,
-        "26794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHORITY[\"EPSG\"");
+        "26794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"4810\"]]");
-    p = add_epsg_def (filter, first, last, 4811, "epsg", 4811,
-        "Voirol 1875 (Paris)");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"48");
+    add_srs_wkt (p, 7,
+        "10\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4811, "epsg", 4811,
+        "Voirol 1875 (Paris)", 1, 1,
+        "Clarke 1880 (IGN)", "Paris",
+        "Voirol_1875_Paris", "none", "grad",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,");
     add_proj4text (p, 1,
@@ -1491,17 +1926,22 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129");
     add_srs_wkt (p, 2,
-        "36265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-73,-247,227");
+        "36269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-73,-247,227");
     add_srs_wkt (p, 3,
         ",0,0,0,0],AUTHORITY[\"EPSG\",\"6811\"]],PRIMEM[\"Paris\"");
     add_srs_wkt (p, 4,
         ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",");
     add_srs_wkt (p, 5,
-        "0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHOR");
+        "0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4811\"]]");
-    p = add_epsg_def (filter, first, last, 4812, "epsg", 4812,
-        "New Beijing / 3-degree Gauss-Kruger CM 132E");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 7,
+        "PSG\",\"4811\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4812, "epsg", 4812,
+        "New Beijing / 3-degree Gauss-Kruger CM 132E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1517,21 +1957,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",132],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "32],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4812\"]]");
-    p = add_epsg_def (filter, first, last, 4813, "epsg", 4813,
-        "Batavia (Jakarta)");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4812\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4813, "epsg", 4813,
+        "Batavia (Jakarta)", 1, 1,
+        "Bessel 1841", "Jakarta",
+        "Batavia_Jakarta", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=-377,681,-50,0,0,0,");
     add_proj4text (p, 1,
@@ -1547,11 +1992,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "444444,AUTHORITY[\"EPSG\",\"8908\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4813\"]]");
-    p = add_epsg_def (filter, first, last, 4814, "epsg", 4814,
-        "RT38 (Stockholm)");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 7,
+        "\",\"4813\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4814, "epsg", 4814,
+        "RT38 (Stockholm)", 1, 1,
+        "Bessel 1841", "Stockholm",
+        "Stockholm_1938_Stockholm", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +pm=stockholm +no_defs");
     add_srs_wkt (p, 0,
@@ -1565,9 +2015,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "SG\",\"8911\"]],UNIT[\"degree\",0.0174532925199433,AUTHO");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4814\"]]");
-    p = add_epsg_def (filter, first, last, 4815, "epsg", 4815,
-        "Greek (Athens)");
+        "RITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4814\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4815, "epsg", 4815,
+        "Greek (Athens)", 1, 1,
+        "Bessel 1841", "Athens",
+        "Greek_Athens", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +pm=athens +no_defs");
     add_srs_wkt (p, 0,
@@ -1581,9 +2036,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 5,
-        "],AUTHORITY[\"EPSG\",\"4815\"]]");
-    p = add_epsg_def (filter, first, last, 4816, "epsg", 4816,
-        "Carthage (Paris)");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 6,
+        "ORITY[\"EPSG\",\"4815\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4816, "epsg", 4816,
+        "Carthage (Paris)", 1, 1,
+        "Clarke 1880 (IGN)", "Paris",
+        "Carthage_Paris", "none", "grad",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-263,6,43");
     add_proj4text (p, 1,
@@ -1591,7 +2051,7 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 0,
         "GEOGCS[\"Carthage (Paris)\",DATUM[\"Carthage_Paris\",SPH");
     add_srs_wkt (p, 1,
-        "EROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936265,");
+        "EROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936269,");
     add_srs_wkt (p, 2,
         "AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-263,6,431,0,0,0,0");
     add_srs_wkt (p, 3,
@@ -1599,11 +2059,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.015707");
     add_srs_wkt (p, 5,
-        "96326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHORITY[\"EP");
+        "96326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4816\"]]");
-    p = add_epsg_def (filter, first, last, 4817, "epsg", 4817,
-        "NGO 1948 (Oslo)");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 7,
+        "4816\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4817, "epsg", 4817,
+        "NGO 1948 (Oslo)", 1, 1,
+        "Bessel Modified", "Oslo",
+        "NGO_1948_Oslo", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs");
     add_proj4text (p, 1,
@@ -1623,9 +2088,14 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4817\"]]");
-    p = add_epsg_def (filter, first, last, 4818, "epsg", 4818,
-        "S-JTSK (Ferro)");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 7,
+        "ORITY[\"EPSG\",\"4817\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4818, "epsg", 4818,
+        "S-JTSK (Ferro)", 1, 1,
+        "Bessel 1841", "Ferro",
+        "System_Jednotne_Trigonometricke_Site_Katastralni_Ferro", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=589,76,480,0,0,0,0 ");
     add_proj4text (p, 1,
@@ -1643,31 +2113,39 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         ",\"8909\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4818\"]]");
-    p = add_epsg_def (filter, first, last, 4819, "epsg", 4819,
-        "Nord Sahara 1959 (Paris)");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 7,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4818\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4819, "epsg", 4819,
+        "Nord Sahara 1959 (Paris)", 1, 1,
+        "Clarke 1880 (RGS)", "Paris",
+        "Nord_Sahara_1959_Paris", "none", "grad",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=clrk80 +towgs84=-209.362,-87.8162,4");
+        "+proj=longlat +ellps=clrk80 +towgs84=-209.3622,-87.8162,");
     add_proj4text (p, 1,
-        "04.62,0.0046,3.4784,0.5805,-1.4547 +pm=paris +no_defs");
+        "404.6198,0.0046,3.4784,0.5805,-1.4547 +pm=paris +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Nord Sahara 1959 (Paris)\",DATUM[\"Nord_Sahara_");
     add_srs_wkt (p, 1,
         "1959_Paris\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,");
     add_srs_wkt (p, 2,
-        "293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-209.362,-");
+        "293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-209.3622,");
     add_srs_wkt (p, 3,
-        "87.8162,404.62,0.0046,3.4784,0.5805,-1.4547],AUTHORITY[\"");
+        "-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547],AUTHORIT");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6819\"]],PRIMEM[\"Paris\",2.33722917,AUTHORITY[");
+        "Y[\"EPSG\",\"6819\"]],PRIMEM[\"Paris\",2.33722917,AUTHOR");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8903\"]],UNIT[\"grad\",0.01570796326794897,AU");
+        "ITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.0157079632679489");
     add_srs_wkt (p, 6,
-        "THORITY[\"EPSG\",\"9105\"]],AUTHORITY[\"EPSG\",\"4819\"]");
+        "7,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "]");
-    p = add_epsg_def (filter, first, last, 4820, "epsg", 4820,
-        "Segara (Jakarta)");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4819\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4820, "epsg", 4820,
+        "Segara (Jakarta)", 1, 1,
+        "Bessel 1841", "Jakarta",
+        "Gunung_Segara_Jakarta", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=-403,684,41,0,0,0,0");
     add_proj4text (p, 1,
@@ -1683,11 +2161,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "7194444444,AUTHORITY[\"EPSG\",\"8908\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4820\"]]");
-    p = add_epsg_def (filter, first, last, 4821, "epsg", 4821,
-        "Voirol 1879 (Paris)");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 7,
+        "PSG\",\"4820\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4821, "epsg", 4821,
+        "Voirol 1879 (Paris)", 1, 1,
+        "Clarke 1880 (IGN)", "Paris",
+        "Voirol_1879_Paris", "none", "grad",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378249.2 +b=6356515 +pm=paris +no_defs");
     add_srs_wkt (p, 0,
@@ -1695,15 +2178,20 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129");
     add_srs_wkt (p, 2,
-        "36265,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\",\"");
+        "36269,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
         "6821\"]],PRIMEM[\"Paris\",2.33722917,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
         "\"8903\"]],UNIT[\"grad\",0.01570796326794897,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9105\"]],AUTHORITY[\"EPSG\",\"4821\"]]");
-    p = add_epsg_def (filter, first, last, 4822, "epsg", 4822,
-        "New Beijing / 3-degree Gauss-Kruger CM 135E");
+        "EPSG\",\"9105\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4821\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4822, "epsg", 4822,
+        "New Beijing / 3-degree Gauss-Kruger CM 135E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "New_Beijing", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -1719,21 +2207,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4555\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ian\",135],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "35],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "EPSG\",\"4822\"]]");
-    p = add_epsg_def (filter, first, last, 4823, "epsg", 4823,
-        "Sao Tome");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"4822\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4823, "epsg", 4823,
+        "Sao Tome", 1, 1,
+        "International 1924", "Greenwich",
+        "Sao_Tome", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -1745,11 +2238,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 4,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 5,
-        "\"4823\"]]");
-    p = add_epsg_def (filter, first, last, 4824, "epsg", 4824,
-        "Principe");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4823");
+    add_srs_wkt (p, 6,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4824, "epsg", 4824,
+        "Principe", 1, 1,
+        "International 1924", "Greenwich",
+        "Principe", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -1761,11 +2259,16 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 4,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 5,
-        "\"4824\"]]");
-    p = add_epsg_def (filter, first, last, 4826, "epsg", 4826,
-        "WGS 84 / Cape Verde National");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4824");
+    add_srs_wkt (p, 6,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4826, "epsg", 4826,
+        "WGS 84 / Cape Verde National", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "M", "East", "P", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=15 +lat_2=16.66666666666667 +lat_0=15.8");
     add_proj4text (p, 1,
@@ -1783,25 +2286,30 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 6,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 7,
-        "rallel_1\",15],PARAMETER[\"standard_parallel_2\",16.6666");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 8,
-        "6666666667],PARAMETER[\"latitude_of_origin\",15.83333333");
+        "_1\",15],PARAMETER[\"standard_parallel_2\",16.6666666666");
     add_srs_wkt (p, 9,
-        "333333],PARAMETER[\"central_meridian\",-24],PARAMETER[\"");
+        "6667],PARAMETER[\"latitude_of_origin\",15.83333333333333");
     add_srs_wkt (p, 10,
-        "false_easting\",161587.83],PARAMETER[\"false_northing\",");
+        "],PARAMETER[\"central_meridian\",-24],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "128511.202],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "easting\",161587.83],PARAMETER[\"false_northing\",128511");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"M\",EAST],AXIS[\"P\",NORTH],AUTHORITY[\"EPSG\"");
+        ".202],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 13,
-        ",\"4826\"]]");
-    p = add_epsg_def (filter, first, last, 4839, "epsg", 4839,
-        "ETRS89 / LCC Germany (N-E)");
+        "S[\"M\",EAST],AXIS[\"P\",NORTH],AUTHORITY[\"EPSG\",\"482");
+    add_srs_wkt (p, 14,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4839, "epsg", 4839,
+        "ETRS89 / LCC Germany (N-E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.66666666666666 +lat_2=53.66666666666");
     add_proj4text (p, 1,
@@ -1821,23 +2329,30 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",48.66666666666666],PARAMETER[\"standard_pa");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "rallel_2\",53.66666666666666],PARAMETER[\"latitude_of_or");
+        "lel_1\",48.66666666666666],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "igin\",51],PARAMETER[\"central_meridian\",10.5],PARAMETE");
+        "_2\",53.66666666666666],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",0],PARAMETER[\"false_northing\",0],U");
+        ",51],PARAMETER[\"central_meridian\",10.5],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "lse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"4839\"]]");
-    p = add_epsg_def (filter, first, last, 4855, "epsg", 4855,
-        "ETRS89 / NTM zone 5 (deprecated)");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4839");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4855, "epsg", 4855,
+        "ETRS89 / NTM zone 5 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=5.5 +k=1 +x_0=100000 +y_0=10");
     add_proj4text (p, 1,
@@ -1857,21 +2372,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",5.5],PARAME");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1000");
+        "in\",0],PARAMETER[\"central_meridian\",5.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "55\"]]");
-    p = add_epsg_def (filter, first, last, 4856, "epsg", 4856,
-        "ETRS89 / NTM zone 6 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4855\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4856, "epsg", 4856,
+        "ETRS89 / NTM zone 6 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=6.5 +k=1 +x_0=100000 +y_0=10");
     add_proj4text (p, 1,
@@ -1891,21 +2411,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",6.5],PARAME");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1000");
+        "in\",0],PARAMETER[\"central_meridian\",6.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "56\"]]");
-    p = add_epsg_def (filter, first, last, 4857, "epsg", 4857,
-        "ETRS89 / NTM zone 7 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4856\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4857, "epsg", 4857,
+        "ETRS89 / NTM zone 7 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=7.5 +k=1 +x_0=100000 +y_0=10");
     add_proj4text (p, 1,
@@ -1925,21 +2450,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",7.5],PARAME");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1000");
+        "in\",0],PARAMETER[\"central_meridian\",7.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "57\"]]");
-    p = add_epsg_def (filter, first, last, 4858, "epsg", 4858,
-        "ETRS89 / NTM zone 8 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4857\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4858, "epsg", 4858,
+        "ETRS89 / NTM zone 8 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=8.5 +k=1 +x_0=100000 +y_0=10");
     add_proj4text (p, 1,
@@ -1959,21 +2489,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",8.5],PARAME");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1000");
+        "in\",0],PARAMETER[\"central_meridian\",8.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "58\"]]");
-    p = add_epsg_def (filter, first, last, 4859, "epsg", 4859,
-        "ETRS89 / NTM zone 9 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4858\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4859, "epsg", 4859,
+        "ETRS89 / NTM zone 9 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=9.5 +k=1 +x_0=100000 +y_0=10");
     add_proj4text (p, 1,
@@ -1993,21 +2528,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",9.5],PARAME");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1000");
+        "in\",0],PARAMETER[\"central_meridian\",9.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "59\"]]");
-    p = add_epsg_def (filter, first, last, 4860, "epsg", 4860,
-        "ETRS89 / NTM zone 10 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4859\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4860, "epsg", 4860,
+        "ETRS89 / NTM zone 10 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=10.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2027,21 +2567,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",10.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",10.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "60\"]]");
-    p = add_epsg_def (filter, first, last, 4861, "epsg", 4861,
-        "ETRS89 / NTM zone 11 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4860\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4861, "epsg", 4861,
+        "ETRS89 / NTM zone 11 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=11.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2061,21 +2606,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",11.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",11.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "61\"]]");
-    p = add_epsg_def (filter, first, last, 4862, "epsg", 4862,
-        "ETRS89 / NTM zone 12 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4861\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4862, "epsg", 4862,
+        "ETRS89 / NTM zone 12 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2095,21 +2645,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",12.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",12.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "62\"]]");
-    p = add_epsg_def (filter, first, last, 4863, "epsg", 4863,
-        "ETRS89 / NTM zone 13 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4862\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4863, "epsg", 4863,
+        "ETRS89 / NTM zone 13 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2129,21 +2684,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",13.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",13.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "63\"]]");
-    p = add_epsg_def (filter, first, last, 4864, "epsg", 4864,
-        "ETRS89 / NTM zone 14 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4863\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4864, "epsg", 4864,
+        "ETRS89 / NTM zone 14 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=14.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2163,21 +2723,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",14.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",14.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "64\"]]");
-    p = add_epsg_def (filter, first, last, 4865, "epsg", 4865,
-        "ETRS89 / NTM zone 15 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4864\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4865, "epsg", 4865,
+        "ETRS89 / NTM zone 15 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2197,21 +2762,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",15.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",15.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "65\"]]");
-    p = add_epsg_def (filter, first, last, 4866, "epsg", 4866,
-        "ETRS89 / NTM zone 16 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4865\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4866, "epsg", 4866,
+        "ETRS89 / NTM zone 16 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2231,21 +2801,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",16.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",16.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "66\"]]");
-    p = add_epsg_def (filter, first, last, 4867, "epsg", 4867,
-        "ETRS89 / NTM zone 17 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4866\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4867, "epsg", 4867,
+        "ETRS89 / NTM zone 17 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=17.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2265,21 +2840,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",17.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",17.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "67\"]]");
-    p = add_epsg_def (filter, first, last, 4868, "epsg", 4868,
-        "ETRS89 / NTM zone 18 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4867\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4868, "epsg", 4868,
+        "ETRS89 / NTM zone 18 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=18.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2299,21 +2879,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",18.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",18.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "68\"]]");
-    p = add_epsg_def (filter, first, last, 4869, "epsg", 4869,
-        "ETRS89 / NTM zone 19 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4868\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4869, "epsg", 4869,
+        "ETRS89 / NTM zone 19 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=19.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2333,21 +2918,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",19.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",19.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "69\"]]");
-    p = add_epsg_def (filter, first, last, 4870, "epsg", 4870,
-        "ETRS89 / NTM zone 20 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4869\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4870, "epsg", 4870,
+        "ETRS89 / NTM zone 20 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=20.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2367,21 +2957,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",20.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",20.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "70\"]]");
-    p = add_epsg_def (filter, first, last, 4871, "epsg", 4871,
-        "ETRS89 / NTM zone 21 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4870\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4871, "epsg", 4871,
+        "ETRS89 / NTM zone 21 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=21.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2401,21 +2996,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",21.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",21.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "71\"]]");
-    p = add_epsg_def (filter, first, last, 4872, "epsg", 4872,
-        "ETRS89 / NTM zone 22 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4871\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4872, "epsg", 4872,
+        "ETRS89 / NTM zone 22 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=22.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2435,21 +3035,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",22.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",22.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "72\"]]");
-    p = add_epsg_def (filter, first, last, 4873, "epsg", 4873,
-        "ETRS89 / NTM zone 23 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4872\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4873, "epsg", 4873,
+        "ETRS89 / NTM zone 23 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=23.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2469,21 +3074,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",23.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",23.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "73\"]]");
-    p = add_epsg_def (filter, first, last, 4874, "epsg", 4874,
-        "ETRS89 / NTM zone 24 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4873\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4874, "epsg", 4874,
+        "ETRS89 / NTM zone 24 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=24.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2503,21 +3113,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",24.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",24.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "74\"]]");
-    p = add_epsg_def (filter, first, last, 4875, "epsg", 4875,
-        "ETRS89 / NTM zone 25 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4874\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4875, "epsg", 4875,
+        "ETRS89 / NTM zone 25 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=25.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2537,21 +3152,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",25.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",25.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "75\"]]");
-    p = add_epsg_def (filter, first, last, 4876, "epsg", 4876,
-        "ETRS89 / NTM zone 26 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4875\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4876, "epsg", 4876,
+        "ETRS89 / NTM zone 26 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=26.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2571,21 +3191,26 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",26.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",26.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "76\"]]");
-    p = add_epsg_def (filter, first, last, 4877, "epsg", 4877,
-        "ETRS89 / NTM zone 27 (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4876\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4877, "epsg", 4877,
+        "ETRS89 / NTM zone 27 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -2605,195 +3230,21 @@ initialize_epsg_24 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",27.5],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
+        "in\",0],PARAMETER[\"central_meridian\",27.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "77\"]]");
-    p = add_epsg_def (filter, first, last, 4878, "epsg", 4878,
-        "ETRS89 / NTM zone 28 (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=28.5 +k=1 +x_0=100000 +y_0=1");
-    add_proj4text (p, 1,
-        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / NTM zone 28 (deprecated)\",GEOGCS[\"ET");
-    add_srs_wkt (p, 1,
-        "RS89\",DATUM[\"European_Terrestrial_Reference_System_198");
-    add_srs_wkt (p, 2,
-        "9\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
-    add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"");
-    add_srs_wkt (p, 4,
-        "EPSG\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
-    add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
-    add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
-    add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
-    add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",28.5],PARAM");
-    add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
-    add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
-    add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
-    add_srs_wkt (p, 12,
-        "78\"]]");
-    p = add_epsg_def (filter, first, last, 4879, "epsg", 4879,
-        "ETRS89 / NTM zone 29 (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=29.5 +k=1 +x_0=100000 +y_0=1");
-    add_proj4text (p, 1,
-        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / NTM zone 29 (deprecated)\",GEOGCS[\"ET");
-    add_srs_wkt (p, 1,
-        "RS89\",DATUM[\"European_Terrestrial_Reference_System_198");
-    add_srs_wkt (p, 2,
-        "9\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
-    add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"");
-    add_srs_wkt (p, 4,
-        "EPSG\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
-    add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
-    add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
-    add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
-    add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",29.5],PARAM");
-    add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
-    add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
-    add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
-    add_srs_wkt (p, 12,
-        "79\"]]");
-    p = add_epsg_def (filter, first, last, 4880, "epsg", 4880,
-        "ETRS89 / NTM zone 30 (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=30.5 +k=1 +x_0=100000 +y_0=1");
-    add_proj4text (p, 1,
-        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / NTM zone 30 (deprecated)\",GEOGCS[\"ET");
-    add_srs_wkt (p, 1,
-        "RS89\",DATUM[\"European_Terrestrial_Reference_System_198");
-    add_srs_wkt (p, 2,
-        "9\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
-    add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"");
-    add_srs_wkt (p, 4,
-        "EPSG\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
-    add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
-    add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PR");
-    add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
-    add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",30.5],PARAM");
-    add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
-    add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
-    add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"48");
-    add_srs_wkt (p, 12,
-        "80\"]]");
-    p = add_epsg_def (filter, first, last, 4901, "epsg", 4901,
-        "ATF (Paris)");
-    add_proj4text (p, 0,
-        "+proj=longlat +a=6376523 +b=6355862.933255573 +pm=2.3372");
-    add_proj4text (p, 1,
-        "08333333333 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"ATF (Paris)\",DATUM[\"Ancienne_Triangulation_Fr");
-    add_srs_wkt (p, 1,
-        "ancaise_Paris\",SPHEROID[\"Plessis 1817\",6376523,308.64");
-    add_srs_wkt (p, 2,
-        ",AUTHORITY[\"EPSG\",\"7027\"]],AUTHORITY[\"EPSG\",\"6901");
-    add_srs_wkt (p, 3,
-        "\"]],PRIMEM[\"Paris RGS\",2.337208333333333,AUTHORITY[\"");
-    add_srs_wkt (p, 4,
-        "EPSG\",\"8914\"]],UNIT[\"grad\",0.01570796326794897,AUTH");
-    add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9105\"]],AUTHORITY[\"EPSG\",\"4901\"]]");
-    p = add_epsg_def (filter, first, last, 4902, "epsg", 4902,
-        "NDG (Paris)");
-    add_proj4text (p, 0,
-        "+proj=longlat +a=6376523 +b=6355862.933255573 +pm=paris ");
-    add_proj4text (p, 1,
-        "+no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"NDG (Paris)\",DATUM[\"Nord_de_Guerre_Paris\",SP");
-    add_srs_wkt (p, 1,
-        "HEROID[\"Plessis 1817\",6376523,308.64,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 2,
-        ",\"7027\"]],AUTHORITY[\"EPSG\",\"6902\"]],PRIMEM[\"Paris");
-    add_srs_wkt (p, 3,
-        "\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\"");
-    add_srs_wkt (p, 4,
-        ",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHO");
-    add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"4902\"]]");
-    p = add_epsg_def (filter, first, last, 4903, "epsg", 4903,
-        "Madrid 1870 (Madrid)");
-    add_proj4text (p, 0,
-        "+proj=longlat +a=6378298.3 +b=6356657.142669561 +pm=madr");
-    add_proj4text (p, 1,
-        "id +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Madrid 1870 (Madrid)\",DATUM[\"Madrid_1870_Madr");
-    add_srs_wkt (p, 1,
-        "id\",SPHEROID[\"Struve 1860\",6378298.3,294.73,AUTHORITY");
-    add_srs_wkt (p, 2,
-        "[\"EPSG\",\"7028\"]],AUTHORITY[\"EPSG\",\"6903\"]],PRIME");
-    add_srs_wkt (p, 3,
-        "M[\"Madrid\",-3.687938888888889,AUTHORITY[\"EPSG\",\"890");
-    add_srs_wkt (p, 4,
-        "5\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
-    add_srs_wkt (p, 5,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4903\"]]");
-    p = add_epsg_def (filter, first, last, 4904, "epsg", 4904,
-        "Lisbon 1890 (Lisbon)");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=bessel +towgs84=508.088,-191.042,56");
-    add_proj4text (p, 1,
-        "5.223,0,0,0,0 +pm=lisbon +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Lisbon 1890 (Lisbon)\",DATUM[\"Lisbon_1890_Lisb");
-    add_srs_wkt (p, 1,
-        "on\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AU");
-    add_srs_wkt (p, 2,
-        "THORITY[\"EPSG\",\"7004\"]],TOWGS84[508.088,-191.042,565");
-    add_srs_wkt (p, 3,
-        ".223,0,0,0,0],AUTHORITY[\"EPSG\",\"6904\"]],PRIMEM[\"Lis");
-    add_srs_wkt (p, 4,
-        "bon\",-9.131906111111112,AUTHORITY[\"EPSG\",\"8902\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4904\"]]");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4877\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_25.c b/src/srsinit/epsg_inlined_25.c
index de9cfd8..70866b9 100644
--- a/src/srsinit/epsg_inlined_25.c
+++ b/src/srsinit/epsg_inlined_25.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,222 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 5013, "epsg", 5013,
-        "PTRA08");
+    p = add_epsg_def_ex (filter, first, last, 4878, "epsg", 4878,
+        "ETRS89 / NTM zone 28 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=28.5 +k=1 +x_0=100000 +y_0=1");
+    add_proj4text (p, 1,
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"ETRS89 / NTM zone 28 (deprecated)\",GEOGCS[\"ET");
+    add_srs_wkt (p, 1,
+        "RS89\",DATUM[\"European_Terrestrial_Reference_System_198");
+    add_srs_wkt (p, 2,
+        "9\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+    add_srs_wkt (p, 3,
+        "Y[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"");
+    add_srs_wkt (p, 4,
+        "EPSG\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 5,
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+    add_srs_wkt (p, 6,
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 7,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+    add_srs_wkt (p, 8,
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+    add_srs_wkt (p, 9,
+        "in\",0],PARAMETER[\"central_meridian\",28.5],PARAMETER[\"");
+    add_srs_wkt (p, 10,
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
+    add_srs_wkt (p, 11,
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4878\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4879, "epsg", 4879,
+        "ETRS89 / NTM zone 29 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=29.5 +k=1 +x_0=100000 +y_0=1");
+    add_proj4text (p, 1,
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"ETRS89 / NTM zone 29 (deprecated)\",GEOGCS[\"ET");
+    add_srs_wkt (p, 1,
+        "RS89\",DATUM[\"European_Terrestrial_Reference_System_198");
+    add_srs_wkt (p, 2,
+        "9\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+    add_srs_wkt (p, 3,
+        "Y[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"");
+    add_srs_wkt (p, 4,
+        "EPSG\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 5,
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+    add_srs_wkt (p, 6,
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 7,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+    add_srs_wkt (p, 8,
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+    add_srs_wkt (p, 9,
+        "in\",0],PARAMETER[\"central_meridian\",29.5],PARAMETER[\"");
+    add_srs_wkt (p, 10,
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
+    add_srs_wkt (p, 11,
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4879\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4880, "epsg", 4880,
+        "ETRS89 / NTM zone 30 (deprecated)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=30.5 +k=1 +x_0=100000 +y_0=1");
+    add_proj4text (p, 1,
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"ETRS89 / NTM zone 30 (deprecated)\",GEOGCS[\"ET");
+    add_srs_wkt (p, 1,
+        "RS89\",DATUM[\"European_Terrestrial_Reference_System_198");
+    add_srs_wkt (p, 2,
+        "9\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+    add_srs_wkt (p, 3,
+        "Y[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"");
+    add_srs_wkt (p, 4,
+        "EPSG\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 5,
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+    add_srs_wkt (p, 6,
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 7,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+    add_srs_wkt (p, 8,
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+    add_srs_wkt (p, 9,
+        "in\",0],PARAMETER[\"central_meridian\",30.5],PARAMETER[\"");
+    add_srs_wkt (p, 10,
+        "scale_factor\",1],PARAMETER[\"false_easting\",100000],PA");
+    add_srs_wkt (p, 11,
+        "RAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"4880\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4901, "epsg", 4901,
+        "ATF (Paris)", 1, 1,
+        "Plessis 1817", "Paris RGS",
+        "Ancienne_Triangulation_Francaise_Paris", "none", "grad",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +a=6376523 +b=6355862.933255573 +pm=2.3372");
+    add_proj4text (p, 1,
+        "08333333333 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"ATF (Paris)\",DATUM[\"Ancienne_Triangulation_Fr");
+    add_srs_wkt (p, 1,
+        "ancaise_Paris\",SPHEROID[\"Plessis 1817\",6376523,308.64");
+    add_srs_wkt (p, 2,
+        ",AUTHORITY[\"EPSG\",\"7027\"]],AUTHORITY[\"EPSG\",\"6901");
+    add_srs_wkt (p, 3,
+        "\"]],PRIMEM[\"Paris RGS\",2.337208333333333,AUTHORITY[\"");
+    add_srs_wkt (p, 4,
+        "EPSG\",\"8914\"]],UNIT[\"grad\",0.01570796326794897,AUTH");
+    add_srs_wkt (p, 5,
+        "ORITY[\"EPSG\",\"9105\"]],AXIS[\"Latitude\",NORTH],AXIS[");
+    add_srs_wkt (p, 6,
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4901\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4902, "epsg", 4902,
+        "NDG (Paris)", 1, 1,
+        "Plessis 1817", "Paris",
+        "Nord_de_Guerre_Paris", "none", "grad",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +a=6376523 +b=6355862.933255573 +pm=paris ");
+    add_proj4text (p, 1,
+        "+no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"NDG (Paris)\",DATUM[\"Nord_de_Guerre_Paris\",SP");
+    add_srs_wkt (p, 1,
+        "HEROID[\"Plessis 1817\",6376523,308.64,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 2,
+        ",\"7027\"]],AUTHORITY[\"EPSG\",\"6902\"]],PRIMEM[\"Paris");
+    add_srs_wkt (p, 3,
+        "\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\"");
+    add_srs_wkt (p, 4,
+        ",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[");
+    add_srs_wkt (p, 5,
+        "\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"");
+    add_srs_wkt (p, 6,
+        "EPSG\",\"4902\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4903, "epsg", 4903,
+        "Madrid 1870 (Madrid)", 1, 1,
+        "Struve 1860", "Madrid",
+        "Madrid_1870_Madrid", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +a=6378298.3 +b=6356657.142669562 +pm=madr");
+    add_proj4text (p, 1,
+        "id +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Madrid 1870 (Madrid)\",DATUM[\"Madrid_1870_Madr");
+    add_srs_wkt (p, 1,
+        "id\",SPHEROID[\"Struve 1860\",6378298.3,294.73,AUTHORITY");
+    add_srs_wkt (p, 2,
+        "[\"EPSG\",\"7028\"]],AUTHORITY[\"EPSG\",\"6903\"]],PRIME");
+    add_srs_wkt (p, 3,
+        "M[\"Madrid\",-3.687938888888889,AUTHORITY[\"EPSG\",\"890");
+    add_srs_wkt (p, 4,
+        "5\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 5,
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 6,
+        "\",EAST],AUTHORITY[\"EPSG\",\"4903\"]]");
+    p = add_epsg_def_ex (filter, first, last, 4904, "epsg", 4904,
+        "Lisbon 1890 (Lisbon)", 1, 1,
+        "Bessel 1841", "Lisbon",
+        "Lisbon_1890_Lisbon", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=bessel +towgs84=508.088,-191.042,56");
+    add_proj4text (p, 1,
+        "5.223,0,0,0,0 +pm=lisbon +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"Lisbon 1890 (Lisbon)\",DATUM[\"Lisbon_1890_Lisb");
+    add_srs_wkt (p, 1,
+        "on\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AU");
+    add_srs_wkt (p, 2,
+        "THORITY[\"EPSG\",\"7004\"]],TOWGS84[508.088,-191.042,565");
+    add_srs_wkt (p, 3,
+        ".223,0,0,0,0],AUTHORITY[\"EPSG\",\"6904\"]],PRIMEM[\"Lis");
+    add_srs_wkt (p, 4,
+        "bon\",-9.131906111111112,AUTHORITY[\"EPSG\",\"8902\"]],U");
+    add_srs_wkt (p, 5,
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 6,
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 7,
+        "],AUTHORITY[\"EPSG\",\"4904\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5013, "epsg", 5013,
+        "PTRA08", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Autonomous_Regions_of_Portugal_2008", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -69,11 +285,14 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5013\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5014, "epsg", 5014,
-        "PTRA08 / UTM zone 25N");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5013\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5014, "epsg", 5014,
+        "PTRA08 / UTM zone 25N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Autonomous_Regions_of_Portugal_2008", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=25 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -91,21 +310,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5013\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5013\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-33],PARAMETER[\"scale_factor");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "\"central_meridian\",-33],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"5014\"]]");
-    p = add_epsg_def (filter, first, last, 5015, "epsg", 5015,
-        "PTRA08 / UTM zone 26N");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"5014\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5015, "epsg", 5015,
+        "PTRA08 / UTM zone 26N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Autonomous_Regions_of_Portugal_2008", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -123,21 +347,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5013\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5013\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-27],PARAMETER[\"scale_factor");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "\"central_meridian\",-27],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"5015\"]]");
-    p = add_epsg_def (filter, first, last, 5016, "epsg", 5016,
-        "PTRA08 / UTM zone 28N");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"5015\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5016, "epsg", 5016,
+        "PTRA08 / UTM zone 28N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Autonomous_Regions_of_Portugal_2008", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -155,21 +384,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5013\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5013\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-15],PARAMETER[\"scale_factor");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "\"central_meridian\",-15],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"5016\"]]");
-    p = add_epsg_def (filter, first, last, 5018, "epsg", 5018,
-        "Lisbon / Portuguese Grid New");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"5016\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5018, "epsg", 5018,
+        "Lisbon / Portuguese Grid New", 0, 0,
+        "International 1924", "Greenwich",
+        "Lisbon_1937", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111");
     add_proj4text (p, 1,
@@ -189,21 +423,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4207\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",39.6666");
+        "AUTHORITY[\"EPSG\",\"4207\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "6666666666],PARAMETER[\"central_meridian\",-8.1319061111");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",39.6666666666");
     add_srs_wkt (p, 9,
-        "11112],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "6666],PARAMETER[\"central_meridian\",-8.131906111111112]");
     add_srs_wkt (p, 10,
-        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5018\"]]");
-    p = add_epsg_def (filter, first, last, 5041, "epsg", 5041,
-        "WGS 84 / UPS North (E,N)");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"5018\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5041, "epsg", 5041,
+        "WGS 84 / UPS North (E,N)", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=");
     add_proj4text (p, 1,
@@ -219,21 +458,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"P");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "olar_Stereographic\"],PARAMETER[\"latitude_of_origin\",9");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_S");
     add_srs_wkt (p, 7,
-        "0],PARAMETER[\"central_meridian\",0],PARAMETER[\"scale_f");
+        "tereographic\"],PARAMETER[\"latitude_of_origin\",90],PAR");
     add_srs_wkt (p, 8,
-        "actor\",0.994],PARAMETER[\"false_easting\",2000000],PARA");
+        "AMETER[\"central_meridian\",0],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "METER[\"false_northing\",2000000],UNIT[\"metre\",1,AUTHO");
+        ",0.994],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"5041\"]]");
-    p = add_epsg_def (filter, first, last, 5042, "epsg", 5042,
-        "WGS 84 / UPS South (E,N)");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"5041\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5042, "epsg", 5042,
+        "WGS 84 / UPS South (E,N)", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_");
     add_proj4text (p, 1,
@@ -249,21 +493,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"P");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "olar_Stereographic\"],PARAMETER[\"latitude_of_origin\",-");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_S");
     add_srs_wkt (p, 7,
-        "90],PARAMETER[\"central_meridian\",0],PARAMETER[\"scale_");
+        "tereographic\"],PARAMETER[\"latitude_of_origin\",-90],PA");
     add_srs_wkt (p, 8,
-        "factor\",0.994],PARAMETER[\"false_easting\",2000000],PAR");
+        "RAMETER[\"central_meridian\",0],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_northing\",2000000],UNIT[\"metre\",1,AUTH");
+        "\",0.994],PARAMETER[\"false_easting\",2000000],PARAMETER");
     add_srs_wkt (p, 10,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "[\"false_northing\",2000000],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5042\"]]");
-    p = add_epsg_def (filter, first, last, 5048, "epsg", 5048,
-        "ETRS89 / TM35FIN(N,E)");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 12,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"5042\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5048, "epsg", 5048,
+        "ETRS89 / TM35FIN(N,E)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -281,19 +530,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "METER[\"central_meridian\",27],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5048\"]]");
-    p = add_epsg_def (filter, first, last, 5069, "epsg", 5069,
-        "NAD27 / Conus Albers");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"5048\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5069, "epsg", 5069,
+        "NAD27 / Conus Albers", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +");
     add_proj4text (p, 1,
@@ -303,33 +559,40 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
         "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMET");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "ER[\"standard_parallel_1\",29.5],PARAMETER[\"standard_pa");
+        "]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMETER[\"s");
     add_srs_wkt (p, 8,
-        "rallel_2\",45.5],PARAMETER[\"latitude_of_center\",23],PA");
+        "tandard_parallel_1\",29.5],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "RAMETER[\"longitude_of_center\",-96],PARAMETER[\"false_e");
+        "_2\",45.5],PARAMETER[\"latitude_of_center\",23],PARAMETE");
     add_srs_wkt (p, 10,
-        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "R[\"longitude_of_center\",-96],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5069\"]]");
-    p = add_epsg_def (filter, first, last, 5070, "epsg", 5070,
-        "NAD83 / Conus Albers");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"5069\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5070, "epsg", 5070,
+        "NAD83 / Conus Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +");
     add_proj4text (p, 1,
-        "x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Conus Albers\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -341,25 +604,28 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_A");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "rea\"],PARAMETER[\"standard_parallel_1\",29.5],PARAMETER");
+        "PSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_Area\"]");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_2\",45.5],PARAMETER[\"latitude_of_c");
+        ",PARAMETER[\"standard_parallel_1\",29.5],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "enter\",23],PARAMETER[\"longitude_of_center\",-96],PARAM");
+        "ndard_parallel_2\",45.5],PARAMETER[\"latitude_of_center\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",0],PARAMETER[\"false_northing\",0");
+        ",23],PARAMETER[\"longitude_of_center\",-96],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5070\"]");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 5071, "epsg", 5071,
-        "NAD83(HARN) / Conus Albers");
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5070\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5071, "epsg", 5071,
+        "NAD83(HARN) / Conus Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +");
     add_proj4text (p, 1,
@@ -379,23 +645,28 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_par");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"A");
     add_srs_wkt (p, 8,
-        "allel_1\",29.5],PARAMETER[\"standard_parallel_2\",45.5],");
+        "lbers_Conic_Equal_Area\"],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_center\",23],PARAMETER[\"longitu");
+        "1\",29.5],PARAMETER[\"standard_parallel_2\",45.5],PARAME");
     add_srs_wkt (p, 10,
-        "de_of_center\",-96],PARAMETER[\"false_easting\",0],PARAM");
+        "TER[\"latitude_of_center\",23],PARAMETER[\"longitude_of_");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "center\",-96],PARAMETER[\"false_easting\",0],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"5071\"]]");
-    p = add_epsg_def (filter, first, last, 5072, "epsg", 5072,
-        "NAD83(NSRS2007) / Conus Albers");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"5071\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5072, "epsg", 5072,
+        "NAD83(NSRS2007) / Conus Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +");
     add_proj4text (p, 1,
@@ -415,23 +686,28 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"47");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "59\"]],PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMETER");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"]]");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",29.5],PARAMETER[\"standard_para");
+        ",PROJECTION[\"Albers_Conic_Equal_Area\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "llel_2\",45.5],PARAMETER[\"latitude_of_center\",23],PARA");
+        "ndard_parallel_1\",29.5],PARAMETER[\"standard_parallel_2");
     add_srs_wkt (p, 10,
-        "METER[\"longitude_of_center\",-96],PARAMETER[\"false_eas");
+        "\",45.5],PARAMETER[\"latitude_of_center\",23],PARAMETER[");
     add_srs_wkt (p, 11,
-        "ting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "\"longitude_of_center\",-96],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"5072\"]]");
-    p = add_epsg_def (filter, first, last, 5105, "epsg", 5105,
-        "ETRS89 / NTM zone 5");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 14,
+        "ORTH],AUTHORITY[\"EPSG\",\"5072\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5105, "epsg", 5105,
+        "ETRS89 / NTM zone 5", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=5.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -451,19 +727,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],");
+        "T],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",5.5],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PARAME");
     add_srs_wkt (p, 9,
-        "ctor\",1],PARAMETER[\"false_easting\",100000],PARAMETER[");
+        "TER[\"central_meridian\",5.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5105\"]]");
-    p = add_epsg_def (filter, first, last, 5106, "epsg", 5106,
-        "ETRS89 / NTM zone 6");
+        "e_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"5105\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5106, "epsg", 5106,
+        "ETRS89 / NTM zone 6", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=6.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -483,19 +766,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],");
+        "T],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",6.5],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PARAME");
     add_srs_wkt (p, 9,
-        "ctor\",1],PARAMETER[\"false_easting\",100000],PARAMETER[");
+        "TER[\"central_meridian\",6.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5106\"]]");
-    p = add_epsg_def (filter, first, last, 5107, "epsg", 5107,
-        "ETRS89 / NTM zone 7");
+        "e_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"5106\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5107, "epsg", 5107,
+        "ETRS89 / NTM zone 7", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=7.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -515,19 +805,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],");
+        "T],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",7.5],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PARAME");
     add_srs_wkt (p, 9,
-        "ctor\",1],PARAMETER[\"false_easting\",100000],PARAMETER[");
+        "TER[\"central_meridian\",7.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5107\"]]");
-    p = add_epsg_def (filter, first, last, 5108, "epsg", 5108,
-        "ETRS89 / NTM zone 8");
+        "e_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"5107\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5108, "epsg", 5108,
+        "ETRS89 / NTM zone 8", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=8.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -547,19 +844,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],");
+        "T],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",8.5],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PARAME");
     add_srs_wkt (p, 9,
-        "ctor\",1],PARAMETER[\"false_easting\",100000],PARAMETER[");
+        "TER[\"central_meridian\",8.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5108\"]]");
-    p = add_epsg_def (filter, first, last, 5109, "epsg", 5109,
-        "ETRS89 / NTM zone 9");
+        "e_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"5108\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5109, "epsg", 5109,
+        "ETRS89 / NTM zone 9", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=9.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
@@ -579,19 +883,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],");
+        "T],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",9.5],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PARAME");
     add_srs_wkt (p, 9,
-        "ctor\",1],PARAMETER[\"false_easting\",100000],PARAMETER[");
+        "TER[\"central_meridian\",9.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5109\"]]");
-    p = add_epsg_def (filter, first, last, 5110, "epsg", 5110,
-        "ETRS89 / NTM zone 10");
+        "e_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"5109\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5110, "epsg", 5110,
+        "ETRS89 / NTM zone 10", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=10.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -611,19 +922,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",10.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",10.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5110\"]]");
-    p = add_epsg_def (filter, first, last, 5111, "epsg", 5111,
-        "ETRS89 / NTM zone 11");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5110\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5111, "epsg", 5111,
+        "ETRS89 / NTM zone 11", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=11.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -643,19 +961,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",11.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",11.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5111\"]]");
-    p = add_epsg_def (filter, first, last, 5112, "epsg", 5112,
-        "ETRS89 / NTM zone 12");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5111\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5112, "epsg", 5112,
+        "ETRS89 / NTM zone 12", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=12.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -675,19 +1000,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",12.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",12.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5112\"]]");
-    p = add_epsg_def (filter, first, last, 5113, "epsg", 5113,
-        "ETRS89 / NTM zone 13");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5112\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5113, "epsg", 5113,
+        "ETRS89 / NTM zone 13", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=13.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -707,19 +1039,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",13.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",13.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5113\"]]");
-    p = add_epsg_def (filter, first, last, 5114, "epsg", 5114,
-        "ETRS89 / NTM zone 14");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5113\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5114, "epsg", 5114,
+        "ETRS89 / NTM zone 14", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=14.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -739,19 +1078,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",14.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",14.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5114\"]]");
-    p = add_epsg_def (filter, first, last, 5115, "epsg", 5115,
-        "ETRS89 / NTM zone 15");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5114\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5115, "epsg", 5115,
+        "ETRS89 / NTM zone 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=15.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -771,19 +1117,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",15.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",15.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5115\"]]");
-    p = add_epsg_def (filter, first, last, 5116, "epsg", 5116,
-        "ETRS89 / NTM zone 16");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5115\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5116, "epsg", 5116,
+        "ETRS89 / NTM zone 16", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=16.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -803,19 +1156,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",16.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",16.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5116\"]]");
-    p = add_epsg_def (filter, first, last, 5117, "epsg", 5117,
-        "ETRS89 / NTM zone 17");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5116\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5117, "epsg", 5117,
+        "ETRS89 / NTM zone 17", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=17.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -835,19 +1195,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",17.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",17.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5117\"]]");
-    p = add_epsg_def (filter, first, last, 5118, "epsg", 5118,
-        "ETRS89 / NTM zone 18");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5117\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5118, "epsg", 5118,
+        "ETRS89 / NTM zone 18", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=18.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -867,19 +1234,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",18.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",18.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5118\"]]");
-    p = add_epsg_def (filter, first, last, 5119, "epsg", 5119,
-        "ETRS89 / NTM zone 19");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5118\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5119, "epsg", 5119,
+        "ETRS89 / NTM zone 19", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=19.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -899,19 +1273,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",19.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",19.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5119\"]]");
-    p = add_epsg_def (filter, first, last, 5120, "epsg", 5120,
-        "ETRS89 / NTM zone 20");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5119\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5120, "epsg", 5120,
+        "ETRS89 / NTM zone 20", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=20.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -931,19 +1312,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",20.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",20.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5120\"]]");
-    p = add_epsg_def (filter, first, last, 5121, "epsg", 5121,
-        "ETRS89 / NTM zone 21");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5120\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5121, "epsg", 5121,
+        "ETRS89 / NTM zone 21", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=21.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -963,19 +1351,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",21.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",21.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5121\"]]");
-    p = add_epsg_def (filter, first, last, 5122, "epsg", 5122,
-        "ETRS89 / NTM zone 22");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5121\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5122, "epsg", 5122,
+        "ETRS89 / NTM zone 22", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=22.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -995,19 +1390,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",22.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",22.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5122\"]]");
-    p = add_epsg_def (filter, first, last, 5123, "epsg", 5123,
-        "ETRS89 / NTM zone 23");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5122\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5123, "epsg", 5123,
+        "ETRS89 / NTM zone 23", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=23.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -1027,19 +1429,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",23.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",23.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5123\"]]");
-    p = add_epsg_def (filter, first, last, 5124, "epsg", 5124,
-        "ETRS89 / NTM zone 24");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5123\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5124, "epsg", 5124,
+        "ETRS89 / NTM zone 24", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=24.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -1059,19 +1468,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",24.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",24.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5124\"]]");
-    p = add_epsg_def (filter, first, last, 5125, "epsg", 5125,
-        "ETRS89 / NTM zone 25");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5124\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5125, "epsg", 5125,
+        "ETRS89 / NTM zone 25", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=25.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -1091,19 +1507,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",25.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",25.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5125\"]]");
-    p = add_epsg_def (filter, first, last, 5126, "epsg", 5126,
-        "ETRS89 / NTM zone 26");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5125\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5126, "epsg", 5126,
+        "ETRS89 / NTM zone 26", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=26.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -1123,19 +1546,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",26.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",26.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5126\"]]");
-    p = add_epsg_def (filter, first, last, 5127, "epsg", 5127,
-        "ETRS89 / NTM zone 27");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5126\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5127, "epsg", 5127,
+        "ETRS89 / NTM zone 27", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=27.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -1155,19 +1585,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",27.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",27.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5127\"]]");
-    p = add_epsg_def (filter, first, last, 5128, "epsg", 5128,
-        "ETRS89 / NTM zone 28");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5127\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5128, "epsg", 5128,
+        "ETRS89 / NTM zone 28", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=28.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -1187,19 +1624,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",28.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",28.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5128\"]]");
-    p = add_epsg_def (filter, first, last, 5129, "epsg", 5129,
-        "ETRS89 / NTM zone 29");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5128\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5129, "epsg", 5129,
+        "ETRS89 / NTM zone 29", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=29.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -1219,19 +1663,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",29.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",29.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5129\"]]");
-    p = add_epsg_def (filter, first, last, 5130, "epsg", 5130,
-        "ETRS89 / NTM zone 30");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5129\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5130, "epsg", 5130,
+        "ETRS89 / NTM zone 30", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=58 +lon_0=30.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
@@ -1251,19 +1702,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "8],PARAMETER[\"central_meridian\",30.5],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",58],PAR");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",100000],PARAME");
+        "AMETER[\"central_meridian\",30.5],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORI");
+        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5130\"]]");
-    p = add_epsg_def (filter, first, last, 5132, "epsg", 5132,
-        "Tokyo 1892");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5130\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5132, "epsg", 5132,
+        "Tokyo 1892", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo_1892", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
@@ -1275,11 +1733,16 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 4,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 5,
-        "EPSG\",\"5132\"]]");
-    p = add_epsg_def (filter, first, last, 5167, "epsg", 5167,
-        "Korean 1985 / East Sea Belt");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 6,
+        ",\"5132\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5167, "epsg", 5167,
+        "Korean 1985 / East Sea Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1295,21 +1758,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4162\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4162");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",38],PARAMETER[\"central_meridian");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "\",131],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
+        "itude_of_origin\",38],PARAMETER[\"central_meridian\",131");
     add_srs_wkt (p, 9,
-        "easting\",200000],PARAMETER[\"false_northing\",500000],U");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        "g\",200000],PARAMETER[\"false_northing\",500000],UNIT[\"");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"5167\"]]");
-    p = add_epsg_def (filter, first, last, 5168, "epsg", 5168,
-        "Korean 1985 / Central Belt Jeju");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH");
+    add_srs_wkt (p, 12,
+        "],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5167\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5168, "epsg", 5168,
+        "Korean 1985 / Central Belt Jeju", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1325,21 +1793,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "G\",\"4162\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",38],PARAMETER[\"central_meri");
+        "4162\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "dian\",127],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
+        "latitude_of_origin\",38],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 9,
-        "lse_easting\",200000],PARAMETER[\"false_northing\",55000");
+        "127],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "ting\",200000],PARAMETER[\"false_northing\",550000],UNIT");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"5168\"]]");
-    p = add_epsg_def (filter, first, last, 5169, "epsg", 5169,
-        "Tokyo 1892 / Korea West Belt");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NO");
+    add_srs_wkt (p, 12,
+        "RTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5168\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5169, "epsg", 5169,
+        "Tokyo 1892 / Korea West Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo_1892", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1355,21 +1828,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5132\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5132\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",38],PARAMETER[\"central_meridian\",125],");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",38],PARAMETER[\"central_meridian\",125],PARAM");
     add_srs_wkt (p, 9,
-        ",200000],PARAMETER[\"false_northing\",500000],UNIT[\"met");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",200");
     add_srs_wkt (p, 10,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "000],PARAMETER[\"false_northing\",500000],UNIT[\"metre\"");
     add_srs_wkt (p, 11,
-        "\"5169\"]]");
-    p = add_epsg_def (filter, first, last, 5170, "epsg", 5170,
-        "Tokyo 1892 / Korea Central Belt");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"5169\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5170, "epsg", 5170,
+        "Tokyo 1892 / Korea Central Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo_1892", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1385,21 +1863,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"51");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "32\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5132\"]]");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",38],PARAMETER[\"central_meridian\",1");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "27],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "e_of_origin\",38],PARAMETER[\"central_meridian\",127],PA");
     add_srs_wkt (p, 9,
-        "ing\",200000],PARAMETER[\"false_northing\",500000],UNIT[");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EP");
+        "200000],PARAMETER[\"false_northing\",500000],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "SG\",\"5170\"]]");
-    p = add_epsg_def (filter, first, last, 5171, "epsg", 5171,
-        "Tokyo 1892 / Korea East Belt");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 12,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5170\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5171, "epsg", 5171,
+        "Tokyo 1892 / Korea East Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo_1892", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1415,21 +1898,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5132\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5132\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",38],PARAMETER[\"central_meridian\",129],");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "f_origin\",38],PARAMETER[\"central_meridian\",129],PARAM");
     add_srs_wkt (p, 9,
-        ",200000],PARAMETER[\"false_northing\",500000],UNIT[\"met");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",200");
     add_srs_wkt (p, 10,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "000],PARAMETER[\"false_northing\",500000],UNIT[\"metre\"");
     add_srs_wkt (p, 11,
-        "\"5171\"]]");
-    p = add_epsg_def (filter, first, last, 5172, "epsg", 5172,
-        "Tokyo 1892 / Korea East Sea Belt");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 12,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"5171\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5172, "epsg", 5172,
+        "Tokyo 1892 / Korea East Sea Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo_1892", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1445,21 +1933,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "132\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5132\"]");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",38],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        "131],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "de_of_origin\",38],PARAMETER[\"central_meridian\",131],P");
     add_srs_wkt (p, 9,
-        "ting\",200000],PARAMETER[\"false_northing\",500000],UNIT");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        ",200000],PARAMETER[\"false_northing\",500000],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "PSG\",\"5172\"]]");
-    p = add_epsg_def (filter, first, last, 5173, "epsg", 5173,
-        "Korean 1985 / Modified West Belt");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
+    add_srs_wkt (p, 12,
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5172\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5173, "epsg", 5173,
+        "Korean 1985 / Modified West Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=125.0028902777778 +k=1 +x_0");
     add_proj4text (p, 1,
@@ -1475,21 +1968,28 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4162\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "METER[\"latitude_of_origin\",38],PARAMETER[\"central_mer");
+        "4162\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "idian\",125.0028902777778],PARAMETER[\"scale_factor\",1]");
+        "latitude_of_origin\",38],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",200000],PARAMETER[\"false_n");
+        "125.0028902777778],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "orthing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "ER[\"false_easting\",200000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"5173\"]]");
-    p = add_epsg_def (filter, first, last, 5174, "epsg", 5174,
-        "Korean 1985 / Modified Central Belt");
+        ",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "5173\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5174, "epsg", 5174,
+        "Korean 1985 / Modified Central Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0");
     add_proj4text (p, 1,
@@ -1505,21 +2005,28 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4162\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",38],PARAMETER[\"central_m");
+        ",\"4162\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "eridian\",127.0028902777778],PARAMETER[\"scale_factor\",");
+        "R[\"latitude_of_origin\",38],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"false_easting\",200000],PARAMETER[\"false");
+        "n\",127.0028902777778],PARAMETER[\"scale_factor\",1],PAR");
     add_srs_wkt (p, 10,
-        "_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "AMETER[\"false_easting\",200000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"5174\"]]");
-    p = add_epsg_def (filter, first, last, 5175, "epsg", 5175,
-        "Korean 1985 / Modified Central Belt Jeju");
+        "ing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"5174\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5175, "epsg", 5175,
+        "Korean 1985 / Modified Central Belt Jeju", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0");
     add_proj4text (p, 1,
@@ -1535,21 +2042,28 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4162\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"cen");
+        "PSG\",\"4162\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "tral_meridian\",127.0028902777778],PARAMETER[\"scale_fac");
+        "AMETER[\"latitude_of_origin\",38],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "tor\",1],PARAMETER[\"false_easting\",200000],PARAMETER[\"");
+        "ridian\",127.0028902777778],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",550000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "],PARAMETER[\"false_easting\",200000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5175\"]]");
-    p = add_epsg_def (filter, first, last, 5176, "epsg", 5176,
-        "Korean 1985 / Modified East Belt");
+        "northing\",550000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 12,
+        "9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"5175\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5176, "epsg", 5176,
+        "Korean 1985 / Modified East Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=129.0028902777778 +k=1 +x_0");
     add_proj4text (p, 1,
@@ -1565,21 +2079,28 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "SG\",\"4162\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "METER[\"latitude_of_origin\",38],PARAMETER[\"central_mer");
+        "4162\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "idian\",129.0028902777778],PARAMETER[\"scale_factor\",1]");
+        "latitude_of_origin\",38],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",200000],PARAMETER[\"false_n");
+        "129.0028902777778],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "orthing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "ER[\"false_easting\",200000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"5176\"]]");
-    p = add_epsg_def (filter, first, last, 5177, "epsg", 5177,
-        "Korean 1985 / Modified East Sea Belt");
+        ",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "5176\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5177, "epsg", 5177,
+        "Korean 1985 / Modified East Sea Belt", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=131.0028902777778 +k=1 +x_0");
     add_proj4text (p, 1,
@@ -1595,21 +2116,28 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4162\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",38],PARAMETER[\"central_m");
+        ",\"4162\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "eridian\",131.0028902777778],PARAMETER[\"scale_factor\",");
+        "R[\"latitude_of_origin\",38],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"false_easting\",200000],PARAMETER[\"false");
+        "n\",131.0028902777778],PARAMETER[\"scale_factor\",1],PAR");
     add_srs_wkt (p, 10,
-        "_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "AMETER[\"false_easting\",200000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"5177\"]]");
-    p = add_epsg_def (filter, first, last, 5178, "epsg", 5178,
-        "Korean 1985 / Unified CS");
+        "ing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 12,
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"5177\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5178, "epsg", 5178,
+        "Korean 1985 / Unified CS", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Korean_Datum_1985", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=100000");
     add_proj4text (p, 1,
@@ -1625,21 +2153,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "162\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4162\"]");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",38],PARAMETER[\"central_meridian\",");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        "127.5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "de_of_origin\",38],PARAMETER[\"central_meridian\",127.5]");
     add_srs_wkt (p, 9,
-        "lse_easting\",1000000],PARAMETER[\"false_northing\",2000");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTH");
+        "sting\",1000000],PARAMETER[\"false_northing\",2000000],U");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"5178\"]]");
-    p = add_epsg_def (filter, first, last, 5179, "epsg", 5179,
-        "Korea 2000 / Unified CS");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5178\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5179, "epsg", 5179,
+        "Korea 2000 / Unified CS", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=100000");
     add_proj4text (p, 1,
@@ -1659,19 +2192,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",38],PARAMET");
+        "ORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",127.5],PARAMETER[\"scale_factor\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",1000000],PARAMETER[");
+        "entral_meridian\",127.5],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "\"false_northing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "96],PARAMETER[\"false_easting\",1000000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5179\"]]");
-    p = add_epsg_def (filter, first, last, 5180, "epsg", 5180,
-        "Korea 2000 / West Belt");
+        "se_northing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 12,
+        "\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"5179\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5180, "epsg", 5180,
+        "Korea 2000 / West Belt", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1691,19 +2231,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER");
+        "ITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",125],PARAMETER[\"scale_factor\",1]");
+        "\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",200000],PARAMETER[\"false_n");
+        "tral_meridian\",125],PARAMETER[\"scale_factor\",1],PARAM");
     add_srs_wkt (p, 10,
-        "orthing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "ETER[\"false_easting\",200000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"5180\"]]");
-    p = add_epsg_def (filter, first, last, 5181, "epsg", 5181,
-        "Korea 2000 / Central Belt");
+        "g\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5180\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5181, "epsg", 5181,
+        "Korea 2000 / Central Belt", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1723,19 +2270,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",38],PARAME");
+        "HORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "TER[\"central_meridian\",127],PARAMETER[\"scale_factor\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        ",1],PARAMETER[\"false_easting\",200000],PARAMETER[\"fals");
+        "central_meridian\",127],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 10,
-        "e_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "RAMETER[\"false_easting\",200000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"5181\"]]");
-    p = add_epsg_def (filter, first, last, 5182, "epsg", 5182,
-        "Korea 2000 / Central Belt Jeju");
+        "hing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 12,
+        "1\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"5181\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5182, "epsg", 5182,
+        "Korea 2000 / Central Belt Jeju", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1755,19 +2309,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",38],");
+        "T],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",127],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",38],PARAME");
     add_srs_wkt (p, 9,
-        "ctor\",1],PARAMETER[\"false_easting\",200000],PARAMETER[");
+        "TER[\"central_meridian\",127],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",550000],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",200000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5182\"]]");
-    p = add_epsg_def (filter, first, last, 5183, "epsg", 5183,
-        "Korea 2000 / East Belt");
+        "e_northing\",550000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"5182\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5183, "epsg", 5183,
+        "Korea 2000 / East Belt", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1787,19 +2348,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse_Me");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER");
+        "ITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",129],PARAMETER[\"scale_factor\",1]");
+        "\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",200000],PARAMETER[\"false_n");
+        "tral_meridian\",129],PARAMETER[\"scale_factor\",1],PARAM");
     add_srs_wkt (p, 10,
-        "orthing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "ETER[\"false_easting\",200000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"5183\"]]");
-    p = add_epsg_def (filter, first, last, 5184, "epsg", 5184,
-        "Korea 2000 / East Sea Belt");
+        "g\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 12,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5183\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5184, "epsg", 5184,
+        "Korea 2000 / East Sea Belt", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=5");
     add_proj4text (p, 1,
@@ -1819,19 +2387,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transver");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",38],PARA");
+        "UTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",131],PARAMETER[\"scale_factor");
+        "cator\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",200000],PARAMETER[\"fa");
+        "\"central_meridian\",131],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "lse_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "PARAMETER[\"false_easting\",200000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"5184\"]]");
-    p = add_epsg_def (filter, first, last, 5185, "epsg", 5185,
-        "Korea 2000 / West Belt 2010");
+        "rthing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 12,
+        "001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"5184\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5185, "epsg", 5185,
+        "Korea 2000 / West Belt 2010", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=6");
     add_proj4text (p, 1,
@@ -1851,19 +2426,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",38],PAR");
+        "AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",125],PARAMETER[\"scale_facto");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
+        "[\"central_meridian\",125],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "alse_northing\",600000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        ",PARAMETER[\"false_easting\",200000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"5185\"]]");
-    p = add_epsg_def (filter, first, last, 5186, "epsg", 5186,
-        "Korea 2000 / Central Belt 2010");
+        "orthing\",600000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 12,
+        "9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"5185\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5186, "epsg", 5186,
+        "Korea 2000 / Central Belt 2010", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=6");
     add_proj4text (p, 1,
@@ -1883,19 +2465,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",38],");
+        "T],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",127],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",38],PARAME");
     add_srs_wkt (p, 9,
-        "ctor\",1],PARAMETER[\"false_easting\",200000],PARAMETER[");
+        "TER[\"central_meridian\",127],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",600000],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",200000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5186\"]]");
-    p = add_epsg_def (filter, first, last, 5187, "epsg", 5187,
-        "Korea 2000 / East Belt 2010");
+        "e_northing\",600000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"5186\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5187, "epsg", 5187,
+        "Korea 2000 / East Belt 2010", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=6");
     add_proj4text (p, 1,
@@ -1915,19 +2504,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",38],PAR");
+        "AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",129],PARAMETER[\"scale_facto");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
+        "[\"central_meridian\",129],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "alse_northing\",600000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        ",PARAMETER[\"false_easting\",200000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"5187\"]]");
-    p = add_epsg_def (filter, first, last, 5188, "epsg", 5188,
-        "Korea 2000 / East Sea Belt 2010");
+        "orthing\",600000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 12,
+        "9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"5187\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5188, "epsg", 5188,
+        "Korea 2000 / East Sea Belt 2010", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_datum_of_Korea", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=6");
     add_proj4text (p, 1,
@@ -1947,19 +2543,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",38],");
+        "T],AUTHORITY[\"EPSG\",\"4737\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",131],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",38],PARAME");
     add_srs_wkt (p, 9,
-        "ctor\",1],PARAMETER[\"false_easting\",200000],PARAMETER[");
+        "TER[\"central_meridian\",131],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\"false_northing\",600000],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",200000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5188\"]]");
-    p = add_epsg_def (filter, first, last, 5221, "epsg", 5221,
-        "S-JTSK (Ferro) / Krovak East North");
+        "e_northing\",600000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"5188\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5221, "epsg", 5221,
+        "S-JTSK (Ferro) / Krovak East North", 0, 0,
+        "Bessel 1841", "Ferro",
+        "System_Jednotne_Trigonometricke_Site_Katastralni_Ferro", "Krovak", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.288139722");
     add_proj4text (p, 1,
@@ -1981,23 +2584,28 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4818\"]],PROJECTION[\"K");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 8,
-        "rovak\"],PARAMETER[\"latitude_of_center\",49.5],PARAMETE");
+        "EAST],AUTHORITY[\"EPSG\",\"4818\"]],PROJECTION[\"Krovak\"");
     add_srs_wkt (p, 9,
-        "R[\"longitude_of_center\",42.5],PARAMETER[\"azimuth\",30");
+        "],PARAMETER[\"latitude_of_center\",49.5],PARAMETER[\"lon");
     add_srs_wkt (p, 10,
-        ".28813972222222],PARAMETER[\"pseudo_standard_parallel_1\"");
+        "gitude_of_center\",42.5],PARAMETER[\"azimuth\",30.288139");
     add_srs_wkt (p, 11,
-        ",78.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fa");
+        "72222222],PARAMETER[\"pseudo_standard_parallel_1\",78.5]");
     add_srs_wkt (p, 12,
-        "lse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
+        ",PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_ea");
     add_srs_wkt (p, 13,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "sting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 14,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5221\"]]");
-    p = add_epsg_def (filter, first, last, 5223, "epsg", 5223,
-        "WGS 84 / Gabon TM");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"5221\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5223, "epsg", 5223,
+        "WGS 84 / Gabon TM", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -2013,21 +2621,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 6,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 7,
-        "METER[\"central_meridian\",12],PARAMETER[\"scale_factor\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 8,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "\"central_meridian\",12],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 9,
-        "false_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "e_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"5223\"]]");
-    p = add_epsg_def (filter, first, last, 5228, "epsg", 5228,
-        "S-JTSK/05");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"5223\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5228, "epsg", 5228,
+        "S-JTSK/05", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "System_Jednotne_Trigonometricke_Site_Katastralni_05", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=572.213,85.334,461.");
     add_proj4text (p, 1,
@@ -2045,11 +2658,14 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"522");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "8\"]]");
-    p = add_epsg_def (filter, first, last, 5229, "epsg", 5229,
-        "S-JTSK/05 (Ferro)");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5228\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5229, "epsg", 5229,
+        "S-JTSK/05 (Ferro)", 1, 1,
+        "Bessel 1841", "Ferro",
+        "System_Jednotne_Trigonometricke_Site_Katastralni_05_Ferro", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=bessel +towgs84=572.213,85.334,461.");
     add_proj4text (p, 1,
@@ -2069,15 +2685,20 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 6,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "],AUTHORITY[\"EPSG\",\"5229\"]]");
-    p = add_epsg_def (filter, first, last, 5233, "epsg", 5233,
-        "SLD99");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 8,
+        "ORITY[\"EPSG\",\"5229\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5233, "epsg", 5233,
+        "SLD99", 1, 1,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Sri_Lanka_Datum_1999", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8");
+        "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs");
     add_proj4text (p, 1,
-        "4=-0.293,766.95,87.713,0.195704,1.69507,3.47302,-0.03933");
+        "84=-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.03");
     add_proj4text (p, 2,
-        "8 +no_defs");
+        "9338 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"SLD99\",DATUM[\"Sri_Lanka_Datum_1999\",SPHEROID");
     add_srs_wkt (p, 1,
@@ -2085,23 +2706,28 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         ",AUTHORITY[\"EPSG\",\"7015\"]],TOWGS84[-0.293,766.95,87.");
     add_srs_wkt (p, 3,
-        "713,0.195704,1.69507,3.47302,-0.039338],AUTHORITY[\"EPSG");
+        "713,0.195704,1.695068,3.473016,-0.039338],AUTHORITY[\"EP");
     add_srs_wkt (p, 4,
-        "\",\"1053\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
+        "SG\",\"1053\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5233\"]]");
-    p = add_epsg_def (filter, first, last, 5234, "epsg", 5234,
-        "Kandawala / Sri Lanka Grid");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 7,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"5233\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5234, "epsg", 5234,
+        "Kandawala / Sri Lanka Grid", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Kandawala", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=7.000480277777778 +lon_0=80.771711111");
     add_proj4text (p, 1,
         "11112 +k=0.9999238418 +x_0=200000 +y_0=200000 +a=6377276");
     add_proj4text (p, 2,
-        ".345 +b=6356075.41314024 +towgs84=-97,787,86,0,0,0,0 +un");
+        ".345 +b=6356075.413140239 +towgs84=-97,787,86,0,0,0,0 +u");
     add_proj4text (p, 3,
-        "its=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Kandawala / Sri Lanka Grid\",GEOGCS[\"Kandawala");
     add_srs_wkt (p, 1,
@@ -2115,31 +2741,36 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4244\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",EAST],AUTHORITY[\"EPSG\",\"4244\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "7.000480277777778],PARAMETER[\"central_meridian\",80.771");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",7.0004");
     add_srs_wkt (p, 9,
-        "71111111112],PARAMETER[\"scale_factor\",0.9999238418],PA");
+        "80277777778],PARAMETER[\"central_meridian\",80.771711111");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",200000],PARAMETER[\"false_nort");
+        "11112],PARAMETER[\"scale_factor\",0.9999238418],PARAMETE");
     add_srs_wkt (p, 11,
-        "hing\",200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "R[\"false_easting\",200000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        ",200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "THORITY[\"EPSG\",\"5234\"]]");
-    p = add_epsg_def (filter, first, last, 5235, "epsg", 5235,
-        "SLD99 / Sri Lanka Grid 1999");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 14,
+        "Y[\"EPSG\",\"5234\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5235, "epsg", 5235,
+        "SLD99 / Sri Lanka Grid 1999", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Sri_Lanka_Datum_1999", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=7.000471527777778 +lon_0=80.771713083");
     add_proj4text (p, 1,
         "33334 +k=0.9999238418 +x_0=500000 +y_0=500000 +a=6377276");
     add_proj4text (p, 2,
-        ".345 +b=6356075.41314024 +towgs84=-0.293,766.95,87.713,0");
+        ".345 +b=6356075.413140239 +towgs84=-0.293,766.95,87.713,");
     add_proj4text (p, 3,
-        ".195704,1.69507,3.47302,-0.039338 +units=m +no_defs");
+        "0.195704,1.695068,3.473016,-0.039338 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"SLD99 / Sri Lanka Grid 1999\",GEOGCS[\"SLD99\",");
     add_srs_wkt (p, 1,
@@ -2149,29 +2780,34 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 3,
         "\",\"7015\"]],TOWGS84[-0.293,766.95,87.713,0.195704,1.69");
     add_srs_wkt (p, 4,
-        "507,3.47302,-0.039338],AUTHORITY[\"EPSG\",\"1053\"]],PRI");
+        "5068,3.473016,-0.039338],AUTHORITY[\"EPSG\",\"1053\"]],P");
     add_srs_wkt (p, 5,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 6,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 7,
-        "],AUTHORITY[\"EPSG\",\"5233\"]],PROJECTION[\"Transverse_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 8,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",7.000471527");
+        "UTHORITY[\"EPSG\",\"5233\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 9,
-        "777778],PARAMETER[\"central_meridian\",80.77171308333334");
+        "cator\"],PARAMETER[\"latitude_of_origin\",7.000471527777");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"scale_factor\",0.9999238418],PARAMETER[\"f");
+        "778],PARAMETER[\"central_meridian\",80.77171308333334],P");
     add_srs_wkt (p, 11,
-        "alse_easting\",500000],PARAMETER[\"false_northing\",5000");
+        "ARAMETER[\"scale_factor\",0.9999238418],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "e_easting\",500000],PARAMETER[\"false_northing\",500000]");
     add_srs_wkt (p, 13,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
     add_srs_wkt (p, 14,
-        "PSG\",\"5235\"]]");
-    p = add_epsg_def (filter, first, last, 5243, "epsg", 5243,
-        "ETRS89 / LCC Germany (E-N)");
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 15,
+        "\",\"5235\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5243, "epsg", 5243,
+        "ETRS89 / LCC Germany (E-N)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=48.66666666666666 +lat_2=53.66666666666");
     add_proj4text (p, 1,
@@ -2191,25 +2827,30 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_parallel_1\",48.66666666666666],PARAMETER[\"standard_pa");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "rallel_2\",53.66666666666666],PARAMETER[\"latitude_of_or");
+        "lel_1\",48.66666666666666],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "igin\",51],PARAMETER[\"central_meridian\",10.5],PARAMETE");
+        "_2\",53.66666666666666],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",0],PARAMETER[\"false_northing\",0],U");
+        ",51],PARAMETER[\"central_meridian\",10.5],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "lse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 13,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 14,
-        ",\"5243\"]]");
-    p = add_epsg_def (filter, first, last, 5246, "epsg", 5246,
-        "GDBD2009");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"524");
+    add_srs_wkt (p, 15,
+        "3\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5246, "epsg", 5246,
+        "GDBD2009", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_Brunei_Darussalam_2009", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -2225,11 +2866,16 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "5246\"]]");
-    p = add_epsg_def (filter, first, last, 5247, "epsg", 5247,
-        "GDBD2009 / Brunei BRSO");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5246\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 5247, "epsg", 5247,
+        "GDBD2009 / Brunei BRSO", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_Brunei_Darussalam_2009", "Hotine_Oblique_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.9");
     add_proj4text (p, 1,
@@ -2249,25 +2895,30 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"5246\"]],PROJECTION[\"H");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "otine_Oblique_Mercator\"],PARAMETER[\"latitude_of_center");
+        "EAST],AUTHORITY[\"EPSG\",\"5246\"]],PROJECTION[\"Hotine_");
     add_srs_wkt (p, 8,
-        "\",4],PARAMETER[\"longitude_of_center\",115],PARAMETER[\"");
+        "Oblique_Mercator\"],PARAMETER[\"latitude_of_center\",4],");
     add_srs_wkt (p, 9,
-        "azimuth\",53.31580995],PARAMETER[\"rectified_grid_angle\"");
+        "PARAMETER[\"longitude_of_center\",115],PARAMETER[\"azimu");
     add_srs_wkt (p, 10,
-        ",53.13010236111111],PARAMETER[\"scale_factor\",0.99984],");
+        "th\",53.31580995],PARAMETER[\"rectified_grid_angle\",53.");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
+        "13010236111111],PARAMETER[\"scale_factor\",0.99984],PARA");
     add_srs_wkt (p, 12,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "METER[\"false_easting\",0],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "\"EPSG\",\"5247\"]]");
-    p = add_epsg_def (filter, first, last, 5252, "epsg", 5252,
-        "TUREF");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"5247\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5252, "epsg", 5252,
+        "TUREF", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -2283,9 +2934,14 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5252\"]]");
-    p = add_epsg_def (filter, first, last, 5253, "epsg", 5253,
-        "TUREF / TM27");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 6,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"5252\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5253, "epsg", 5253,
+        "TUREF / TM27", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2301,21 +2957,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",27],PARAMETER[\"scale_factor\",1],PARAMETER");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "idian\",27],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"5253\"]]");
-    p = add_epsg_def (filter, first, last, 5254, "epsg", 5254,
-        "TUREF / TM30");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 12,
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5253\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5254, "epsg", 5254,
+        "TUREF / TM30", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2331,21 +2992,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",30],PARAMETER[\"scale_factor\",1],PARAMETER");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "idian\",30],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"5254\"]]");
-    p = add_epsg_def (filter, first, last, 5255, "epsg", 5255,
-        "TUREF / TM33");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 12,
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5254\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5255, "epsg", 5255,
+        "TUREF / TM33", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2361,21 +3027,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",33],PARAMETER[\"scale_factor\",1],PARAMETER");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "idian\",33],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"5255\"]]");
-    p = add_epsg_def (filter, first, last, 5256, "epsg", 5256,
-        "TUREF / TM36");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 12,
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5255\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5256, "epsg", 5256,
+        "TUREF / TM36", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2391,21 +3062,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",36],PARAMETER[\"scale_factor\",1],PARAMETER");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "idian\",36],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"5256\"]]");
-    p = add_epsg_def (filter, first, last, 5257, "epsg", 5257,
-        "TUREF / TM39");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 12,
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5256\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5257, "epsg", 5257,
+        "TUREF / TM39", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2421,21 +3097,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",39],PARAMETER[\"scale_factor\",1],PARAMETER");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "idian\",39],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"5257\"]]");
-    p = add_epsg_def (filter, first, last, 5258, "epsg", 5258,
-        "TUREF / TM42");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 12,
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5257\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5258, "epsg", 5258,
+        "TUREF / TM42", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2451,21 +3132,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",42],PARAMETER[\"scale_factor\",1],PARAMETER");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "idian\",42],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"5258\"]]");
-    p = add_epsg_def (filter, first, last, 5259, "epsg", 5259,
-        "TUREF / TM45");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 12,
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5258\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5259, "epsg", 5259,
+        "TUREF / TM45", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2481,21 +3167,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"5252\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",45],PARAMETER[\"scale_factor\",1],PARAMETER");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "idian\",45],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"5259\"]]");
-    p = add_epsg_def (filter, first, last, 5264, "epsg", 5264,
-        "DRUKREF 03");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 12,
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5259\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5264, "epsg", 5264,
+        "DRUKREF 03", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -2511,9 +3202,14 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5264\"]]");
-    p = add_epsg_def (filter, first, last, 5266, "epsg", 5266,
-        "DRUKREF 03 / Bhutan National Grid");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
+    add_srs_wkt (p, 6,
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5264\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5266, "epsg", 5266,
+        "DRUKREF 03 / Bhutan National Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=250000 +y_0=0 +");
     add_proj4text (p, 1,
@@ -2531,21 +3227,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",90],PARAMETER[\"sc");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
     add_srs_wkt (p, 9,
-        "ale_factor\",1],PARAMETER[\"false_easting\",250000],PARA");
+        ",PARAMETER[\"central_meridian\",90],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ctor\",1],PARAMETER[\"false_easting\",250000],PARAMETER[");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"5266\"]]");
-    p = add_epsg_def (filter, first, last, 5269, "epsg", 5269,
-        "TUREF / 3-degree Gauss-Kruger zone 9");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"5266\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5269, "epsg", 5269,
+        "TUREF / 3-degree Gauss-Kruger zone 9", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 ");
     add_proj4text (p, 1,
@@ -2563,19 +3264,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",9500000],PARAME");
+        "ARAMETER[\"central_meridian\",27],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "or\",1],PARAMETER[\"false_easting\",9500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5269\"]]");
-    p = add_epsg_def (filter, first, last, 5270, "epsg", 5270,
-        "TUREF / 3-degree Gauss-Kruger zone 10");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"5269\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5270, "epsg", 5270,
+        "TUREF / 3-degree Gauss-Kruger zone 10", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2593,19 +3301,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",30],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",1],PARAMETER[\"false_easting\",10500000],P");
+        "],PARAMETER[\"central_meridian\",30],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "actor\",1],PARAMETER[\"false_easting\",10500000],PARAMET");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5270\"]]");
-    p = add_epsg_def (filter, first, last, 5271, "epsg", 5271,
-        "TUREF / 3-degree Gauss-Kruger zone 11");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"5270\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5271, "epsg", 5271,
+        "TUREF / 3-degree Gauss-Kruger zone 11", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2623,19 +3338,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",1],PARAMETER[\"false_easting\",11500000],P");
+        "],PARAMETER[\"central_meridian\",33],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "actor\",1],PARAMETER[\"false_easting\",11500000],PARAMET");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5271\"]]");
-    p = add_epsg_def (filter, first, last, 5272, "epsg", 5272,
-        "TUREF / 3-degree Gauss-Kruger zone 12");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"5271\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5272, "epsg", 5272,
+        "TUREF / 3-degree Gauss-Kruger zone 12", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2653,19 +3375,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",36],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",1],PARAMETER[\"false_easting\",12500000],P");
+        "],PARAMETER[\"central_meridian\",36],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "actor\",1],PARAMETER[\"false_easting\",12500000],PARAMET");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5272\"]]");
-    p = add_epsg_def (filter, first, last, 5273, "epsg", 5273,
-        "TUREF / 3-degree Gauss-Kruger zone 13");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"5272\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5273, "epsg", 5273,
+        "TUREF / 3-degree Gauss-Kruger zone 13", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2683,19 +3412,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",1],PARAMETER[\"false_easting\",13500000],P");
+        "],PARAMETER[\"central_meridian\",39],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "actor\",1],PARAMETER[\"false_easting\",13500000],PARAMET");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5273\"]]");
-    p = add_epsg_def (filter, first, last, 5274, "epsg", 5274,
-        "TUREF / 3-degree Gauss-Kruger zone 14");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"5273\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5274, "epsg", 5274,
+        "TUREF / 3-degree Gauss-Kruger zone 14", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2713,19 +3449,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",42],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",1],PARAMETER[\"false_easting\",14500000],P");
+        "],PARAMETER[\"central_meridian\",42],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "actor\",1],PARAMETER[\"false_easting\",14500000],PARAMET");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5274\"]]");
-    p = add_epsg_def (filter, first, last, 5275, "epsg", 5275,
-        "TUREF / 3-degree Gauss-Kruger zone 15");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"5274\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5275, "epsg", 5275,
+        "TUREF / 3-degree Gauss-Kruger zone 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0");
     add_proj4text (p, 1,
@@ -2743,19 +3486,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5252\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"s");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "cale_factor\",1],PARAMETER[\"false_easting\",15500000],P");
+        "],PARAMETER[\"central_meridian\",45],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "actor\",1],PARAMETER[\"false_easting\",15500000],PARAMET");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5275\"]]");
-    p = add_epsg_def (filter, first, last, 5292, "epsg", 5292,
-        "DRUKREF 03 / Bumthang TM");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"5275\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5292, "epsg", 5292,
+        "DRUKREF 03 / Bumthang TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90.73333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2775,21 +3525,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",90.73333333333333],PARAMETER[");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",250000],");
+        "\"central_meridian\",90.73333333333333],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",-2500000],UNIT[\"metre\",1,");
+        "e_factor\",1],PARAMETER[\"false_easting\",250000],PARAME");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "TER[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5292\"]]");
-    p = add_epsg_def (filter, first, last, 5293, "epsg", 5293,
-        "DRUKREF 03 / Chhukha TM");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 13,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5292\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5293, "epsg", 5293,
+        "DRUKREF 03 / Chhukha TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=89.55 +k=1 +x_0=250000 +y_0=");
     add_proj4text (p, 1,
@@ -2809,21 +3564,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",89.55],PARAMETER[\"scale_fact");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",250000],PARAMETER[\"");
+        "\"central_meridian\",89.55],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "],PARAMETER[\"false_easting\",250000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"5293\"]]");
-    p = add_epsg_def (filter, first, last, 5294, "epsg", 5294,
-        "DRUKREF 03 / Dagana TM");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"5293\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5294, "epsg", 5294,
+        "DRUKREF 03 / Dagana TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=89.84999999999999 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2843,21 +3603,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",89.85],PARAMETER[\"scale_fact");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",250000],PARAMETER[\"");
+        "\"central_meridian\",89.85],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "],PARAMETER[\"false_easting\",250000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"5294\"]]");
-    p = add_epsg_def (filter, first, last, 5295, "epsg", 5295,
-        "DRUKREF 03 / Gasa TM");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"5294\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5295, "epsg", 5295,
+        "DRUKREF 03 / Gasa TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90.03333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2877,21 +3642,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "HORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",90.03333333333333],PARAMETER[\"s");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "cale_factor\",1],PARAMETER[\"false_easting\",250000],PAR");
+        "entral_meridian\",90.03333333333333],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",-2500000],UNIT[\"metre\",1,AUT");
+        "actor\",1],PARAMETER[\"false_easting\",250000],PARAMETER");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5295\"]]");
-    p = add_epsg_def (filter, first, last, 5296, "epsg", 5296,
-        "DRUKREF 03 / Ha TM");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"5295\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5296, "epsg", 5296,
+        "DRUKREF 03 / Ha TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90.15000000000001 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2911,21 +3681,26 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",90.15],PARAMETER[\"scale_factor\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        ",1],PARAMETER[\"false_easting\",250000],PARAMETER[\"fals");
+        "ntral_meridian\",90.15],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 10,
-        "e_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "RAMETER[\"false_easting\",250000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "hing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"5296\"]]");
-    p = add_epsg_def (filter, first, last, 5297, "epsg", 5297,
-        "DRUKREF 03 / Lhuentse TM");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"5296\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5297, "epsg", 5297,
+        "DRUKREF 03 / Lhuentse TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=91.13333333333334 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -2945,259 +3720,21 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
-    add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
-    add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",91.13333333333334],PARAMETER[");
-    add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",250000],");
-    add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",-2500000],UNIT[\"metre\",1,");
-    add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
-    add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5297\"]]");
-    p = add_epsg_def (filter, first, last, 5298, "epsg", 5298,
-        "DRUKREF 03 / Mongar TM");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=91.23333333333333 +k=1 +x_0=");
-    add_proj4text (p, 1,
-        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
-    add_proj4text (p, 2,
-        " +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"DRUKREF 03 / Mongar TM\",GEOGCS[\"DRUKREF 03\",");
-    add_srs_wkt (p, 1,
-        "DATUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"GRS ");
-    add_srs_wkt (p, 2,
-        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
-    add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"]],");
-    add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
-    add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
-    add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
-    add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
-    add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",91.23333333333333],PARAMETER[");
-    add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",250000],");
-    add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",-2500000],UNIT[\"metre\",1,");
-    add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
-    add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5298\"]]");
-    p = add_epsg_def (filter, first, last, 5299, "epsg", 5299,
-        "DRUKREF 03 / Paro TM");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=89.34999999999999 +k=1 +x_0=");
-    add_proj4text (p, 1,
-        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
-    add_proj4text (p, 2,
-        " +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"DRUKREF 03 / Paro TM\",GEOGCS[\"DRUKREF 03\",DA");
-    add_srs_wkt (p, 1,
-        "TUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"GRS 19");
-    add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
-    add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"]],PR");
-    add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
-    add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
-    add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse");
-    add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
-    add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",89.35],PARAMETER[\"scale_factor\"");
-    add_srs_wkt (p, 9,
-        ",1],PARAMETER[\"false_easting\",250000],PARAMETER[\"fals");
-    add_srs_wkt (p, 10,
-        "e_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
-    add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
-    add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"5299\"]]");
-    p = add_epsg_def (filter, first, last, 5300, "epsg", 5300,
-        "DRUKREF 03 / Pemagatshel TM");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=91.34999999999999 +k=1 +x_0=");
-    add_proj4text (p, 1,
-        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
-    add_proj4text (p, 2,
-        " +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"DRUKREF 03 / Pemagatshel TM\",GEOGCS[\"DRUKREF ");
-    add_srs_wkt (p, 1,
-        "03\",DATUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"");
-    add_srs_wkt (p, 2,
-        "GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"70");
-    add_srs_wkt (p, 3,
-        "19\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"");
-    add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
-    add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Tran");
-    add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
-    add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",91.35],PARAMETER[\"scale_f");
-    add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",250000],PARAMETER");
-    add_srs_wkt (p, 10,
-        "[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY");
-    add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
-    add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"5300\"]]");
-    p = add_epsg_def (filter, first, last, 5301, "epsg", 5301,
-        "DRUKREF 03 / Punakha TM");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=89.84999999999999 +k=1 +x_0=");
-    add_proj4text (p, 1,
-        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
-    add_proj4text (p, 2,
-        " +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"DRUKREF 03 / Punakha TM\",GEOGCS[\"DRUKREF 03\"");
-    add_srs_wkt (p, 1,
-        ",DATUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"GRS");
-    add_srs_wkt (p, 2,
-        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
-    add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"]],");
-    add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
-    add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
-    add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",89.85],PARAMETER[\"scale_fact");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",250000],PARAMETER[\"");
+        "\"central_meridian\",91.13333333333334],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "false_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "e_factor\",1],PARAMETER[\"false_easting\",250000],PARAME");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "TER[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"5301\"]]");
-    p = add_epsg_def (filter, first, last, 5302, "epsg", 5302,
-        "DRUKREF 03 / Samdrup Jongkhar TM");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=91.56666666666666 +k=1 +x_0=");
-    add_proj4text (p, 1,
-        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
-    add_proj4text (p, 2,
-        " +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"DRUKREF 03 / Samdrup Jongkhar TM\",GEOGCS[\"DRU");
-    add_srs_wkt (p, 1,
-        "KREF 03\",DATUM[\"Bhutan_National_Geodetic_Datum\",SPHER");
-    add_srs_wkt (p, 2,
-        "OID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 3,
-        ",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 4,
-        "1058\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
-    add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
-    add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[");
-    add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
-    add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",91.56666666666666],PA");
-    add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
-    add_srs_wkt (p, 10,
-        "250000],PARAMETER[\"false_northing\",-2500000],UNIT[\"me");
-    add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
-    add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5302\"");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5303, "epsg", 5303,
-        "DRUKREF 03 / Samtse TM");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=89.06666666666666 +k=1 +x_0=");
-    add_proj4text (p, 1,
-        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
-    add_proj4text (p, 2,
-        " +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"DRUKREF 03 / Samtse TM\",GEOGCS[\"DRUKREF 03\",");
-    add_srs_wkt (p, 1,
-        "DATUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"GRS ");
-    add_srs_wkt (p, 2,
-        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
-    add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"]],");
-    add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
-    add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
-    add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
-    add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
-    add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",89.06666666666666],PARAMETER[");
-    add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",250000],");
-    add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",-2500000],UNIT[\"metre\",1,");
-    add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
-    add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5303\"]]");
-    p = add_epsg_def (filter, first, last, 5304, "epsg", 5304,
-        "DRUKREF 03 / Sarpang TM");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=90.26666666666667 +k=1 +x_0=");
-    add_proj4text (p, 1,
-        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
-    add_proj4text (p, 2,
-        " +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"DRUKREF 03 / Sarpang TM\",GEOGCS[\"DRUKREF 03\"");
-    add_srs_wkt (p, 1,
-        ",DATUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"GRS");
-    add_srs_wkt (p, 2,
-        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
-    add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"]],");
-    add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
-    add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
-    add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
-    add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
-    add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",90.26666666666667],PARAMETER[");
-    add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",250000],");
-    add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",-2500000],UNIT[\"metre\",1,");
-    add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
-    add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5304\"]]");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5297\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_26.c b/src/srsinit/epsg_inlined_26.c
index 9fe42d9..4498ef7 100644
--- a/src/srsinit/epsg_inlined_26.c
+++ b/src/srsinit/epsg_inlined_26.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,8 +54,284 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 5305, "epsg", 5305,
-        "DRUKREF 03 / Thimphu TM");
+    p = add_epsg_def_ex (filter, first, last, 5298, "epsg", 5298,
+        "DRUKREF 03 / Mongar TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=91.23333333333333 +k=1 +x_0=");
+    add_proj4text (p, 1,
+        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"DRUKREF 03 / Mongar TM\",GEOGCS[\"DRUKREF 03\",");
+    add_srs_wkt (p, 1,
+        "DATUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"GRS ");
+    add_srs_wkt (p, 2,
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
+    add_srs_wkt (p, 3,
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"]],");
+    add_srs_wkt (p, 4,
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+    add_srs_wkt (p, 5,
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+    add_srs_wkt (p, 6,
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 7,
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
+    add_srs_wkt (p, 8,
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+    add_srs_wkt (p, 9,
+        "\"central_meridian\",91.23333333333333],PARAMETER[\"scal");
+    add_srs_wkt (p, 10,
+        "e_factor\",1],PARAMETER[\"false_easting\",250000],PARAME");
+    add_srs_wkt (p, 11,
+        "TER[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 12,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 13,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5298\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5299, "epsg", 5299,
+        "DRUKREF 03 / Paro TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=89.34999999999999 +k=1 +x_0=");
+    add_proj4text (p, 1,
+        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"DRUKREF 03 / Paro TM\",GEOGCS[\"DRUKREF 03\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"GRS 19");
+    add_srs_wkt (p, 2,
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+    add_srs_wkt (p, 3,
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"]],PR");
+    add_srs_wkt (p, 4,
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+    add_srs_wkt (p, 5,
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+    add_srs_wkt (p, 6,
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
+    add_srs_wkt (p, 7,
+        "HORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Merca");
+    add_srs_wkt (p, 8,
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+    add_srs_wkt (p, 9,
+        "entral_meridian\",89.35],PARAMETER[\"scale_factor\",1],P");
+    add_srs_wkt (p, 10,
+        "ARAMETER[\"false_easting\",250000],PARAMETER[\"false_nor");
+    add_srs_wkt (p, 11,
+        "thing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 12,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"5299\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5300, "epsg", 5300,
+        "DRUKREF 03 / Pemagatshel TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=91.34999999999999 +k=1 +x_0=");
+    add_proj4text (p, 1,
+        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"DRUKREF 03 / Pemagatshel TM\",GEOGCS[\"DRUKREF ");
+    add_srs_wkt (p, 1,
+        "03\",DATUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"70");
+    add_srs_wkt (p, 3,
+        "19\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"");
+    add_srs_wkt (p, 4,
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+    add_srs_wkt (p, 5,
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 7,
+        "T],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse");
+    add_srs_wkt (p, 8,
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+    add_srs_wkt (p, 9,
+        "ER[\"central_meridian\",91.35],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",1],PARAMETER[\"false_easting\",250000],PARAMETER[\"fals");
+    add_srs_wkt (p, 11,
+        "e_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 12,
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"5300\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5301, "epsg", 5301,
+        "DRUKREF 03 / Punakha TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=89.84999999999999 +k=1 +x_0=");
+    add_proj4text (p, 1,
+        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"DRUKREF 03 / Punakha TM\",GEOGCS[\"DRUKREF 03\"");
+    add_srs_wkt (p, 1,
+        ",DATUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"GRS");
+    add_srs_wkt (p, 2,
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
+    add_srs_wkt (p, 3,
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"]],");
+    add_srs_wkt (p, 4,
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+    add_srs_wkt (p, 5,
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+    add_srs_wkt (p, 6,
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 7,
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
+    add_srs_wkt (p, 8,
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+    add_srs_wkt (p, 9,
+        "\"central_meridian\",89.85],PARAMETER[\"scale_factor\",1");
+    add_srs_wkt (p, 10,
+        "],PARAMETER[\"false_easting\",250000],PARAMETER[\"false_");
+    add_srs_wkt (p, 11,
+        "northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"5301\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5302, "epsg", 5302,
+        "DRUKREF 03 / Samdrup Jongkhar TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=91.56666666666666 +k=1 +x_0=");
+    add_proj4text (p, 1,
+        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"DRUKREF 03 / Samdrup Jongkhar TM\",GEOGCS[\"DRU");
+    add_srs_wkt (p, 1,
+        "KREF 03\",DATUM[\"Bhutan_National_Geodetic_Datum\",SPHER");
+    add_srs_wkt (p, 2,
+        "OID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 3,
+        ",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 4,
+        "1058\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+    add_srs_wkt (p, 5,
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 6,
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
+    add_srs_wkt (p, 7,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Tran");
+    add_srs_wkt (p, 8,
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+    add_srs_wkt (p, 9,
+        "ARAMETER[\"central_meridian\",91.56666666666666],PARAMET");
+    add_srs_wkt (p, 10,
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",25000");
+    add_srs_wkt (p, 11,
+        "0],PARAMETER[\"false_northing\",-2500000],UNIT[\"metre\"");
+    add_srs_wkt (p, 12,
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+    add_srs_wkt (p, 13,
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5302\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5303, "epsg", 5303,
+        "DRUKREF 03 / Samtse TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=89.06666666666666 +k=1 +x_0=");
+    add_proj4text (p, 1,
+        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"DRUKREF 03 / Samtse TM\",GEOGCS[\"DRUKREF 03\",");
+    add_srs_wkt (p, 1,
+        "DATUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"GRS ");
+    add_srs_wkt (p, 2,
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
+    add_srs_wkt (p, 3,
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"]],");
+    add_srs_wkt (p, 4,
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+    add_srs_wkt (p, 5,
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+    add_srs_wkt (p, 6,
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 7,
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
+    add_srs_wkt (p, 8,
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+    add_srs_wkt (p, 9,
+        "\"central_meridian\",89.06666666666666],PARAMETER[\"scal");
+    add_srs_wkt (p, 10,
+        "e_factor\",1],PARAMETER[\"false_easting\",250000],PARAME");
+    add_srs_wkt (p, 11,
+        "TER[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 12,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 13,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5303\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5304, "epsg", 5304,
+        "DRUKREF 03 / Sarpang TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=90.26666666666667 +k=1 +x_0=");
+    add_proj4text (p, 1,
+        "250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"DRUKREF 03 / Sarpang TM\",GEOGCS[\"DRUKREF 03\"");
+    add_srs_wkt (p, 1,
+        ",DATUM[\"Bhutan_National_Geodetic_Datum\",SPHEROID[\"GRS");
+    add_srs_wkt (p, 2,
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
+    add_srs_wkt (p, 3,
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1058\"]],");
+    add_srs_wkt (p, 4,
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+    add_srs_wkt (p, 5,
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+    add_srs_wkt (p, 6,
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
+    add_srs_wkt (p, 7,
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
+    add_srs_wkt (p, 8,
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+    add_srs_wkt (p, 9,
+        "\"central_meridian\",90.26666666666667],PARAMETER[\"scal");
+    add_srs_wkt (p, 10,
+        "e_factor\",1],PARAMETER[\"false_easting\",250000],PARAME");
+    add_srs_wkt (p, 11,
+        "TER[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 12,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 13,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5304\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5305, "epsg", 5305,
+        "DRUKREF 03 / Thimphu TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=89.55 +k=1 +x_0=250000 +y_0=");
     add_proj4text (p, 1,
@@ -73,21 +351,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",89.55],PARAMETER[\"scale_fact");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",250000],PARAMETER[\"");
+        "\"central_meridian\",89.55],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 10,
-        "false_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "],PARAMETER[\"false_easting\",250000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"5305\"]]");
-    p = add_epsg_def (filter, first, last, 5306, "epsg", 5306,
-        "DRUKREF 03 / Trashigang TM");
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"5305\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5306, "epsg", 5306,
+        "DRUKREF 03 / Trashigang TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=91.75 +k=1 +x_0=250000 +y_0=");
     add_proj4text (p, 1,
@@ -107,21 +390,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",91.75],PARAMETER[\"scale_f");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",250000],PARAMETER");
+        "ER[\"central_meridian\",91.75],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY");
+        ",1],PARAMETER[\"false_easting\",250000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "e_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"5306\"]]");
-    p = add_epsg_def (filter, first, last, 5307, "epsg", 5307,
-        "DRUKREF 03 / Trongsa TM");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"5306\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5307, "epsg", 5307,
+        "DRUKREF 03 / Trongsa TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90.5 +k=1 +x_0=250000 +y_0=-");
     add_proj4text (p, 1,
@@ -141,21 +429,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",90.5],PARAMETER[\"scale_facto");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",250000],PARAMETER[\"f");
+        "\"central_meridian\",90.5],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "alse_northing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        ",PARAMETER[\"false_easting\",250000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "orthing\",-2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"5307\"]]");
-    p = add_epsg_def (filter, first, last, 5308, "epsg", 5308,
-        "DRUKREF 03 / Tsirang TM");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"5307\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5308, "epsg", 5308,
+        "DRUKREF 03 / Tsirang TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90.16666666666667 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -175,21 +468,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",90.16666666666667],PARAMETER[");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",250000],");
+        "\"central_meridian\",90.16666666666667],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",-2500000],UNIT[\"metre\",1,");
+        "e_factor\",1],PARAMETER[\"false_easting\",250000],PARAME");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "TER[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5308\"]]");
-    p = add_epsg_def (filter, first, last, 5309, "epsg", 5309,
-        "DRUKREF 03 / Wangdue Phodrang TM");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 13,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5308\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5309, "epsg", 5309,
+        "DRUKREF 03 / Wangdue Phodrang TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90.11666666666666 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -209,23 +507,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",90.11666666666666],PA");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "ARAMETER[\"central_meridian\",90.11666666666666],PARAMET");
     add_srs_wkt (p, 10,
-        "250000],PARAMETER[\"false_northing\",-2500000],UNIT[\"me");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",25000");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "0],PARAMETER[\"false_northing\",-2500000],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5309\"");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5310, "epsg", 5310,
-        "DRUKREF 03 / Yangtse TM");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5309\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5310, "epsg", 5310,
+        "DRUKREF 03 / Yangtse TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=91.56666666666666 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -245,21 +546,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",91.56666666666666],PARAMETER[");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",250000],");
+        "\"central_meridian\",91.56666666666666],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",-2500000],UNIT[\"metre\",1,");
+        "e_factor\",1],PARAMETER[\"false_easting\",250000],PARAME");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "TER[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5310\"]]");
-    p = add_epsg_def (filter, first, last, 5311, "epsg", 5311,
-        "DRUKREF 03 / Zhemgang TM");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 13,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5310\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5311, "epsg", 5311,
+        "DRUKREF 03 / Zhemgang TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Bhutan_National_Geodetic_Datum", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=90.86666666666666 +k=1 +x_0=");
     add_proj4text (p, 1,
@@ -279,21 +585,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"5264\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",90.86666666666666],PARAMETER[");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",1],PARAMETER[\"false_easting\",250000],");
+        "\"central_meridian\",90.86666666666666],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",-2500000],UNIT[\"metre\",1,");
+        "e_factor\",1],PARAMETER[\"false_easting\",250000],PARAME");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "TER[\"false_northing\",-2500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5311\"]]");
-    p = add_epsg_def (filter, first, last, 5316, "epsg", 5316,
-        "ETRS89 / Faroe TM");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 13,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5311\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5316, "epsg", 5316,
+        "ETRS89 / Faroe TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-7 +k=0.999997 +x_0=200000 +");
     add_proj4text (p, 1,
@@ -313,25 +624,81 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse");
+    add_srs_wkt (p, 8,
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+    add_srs_wkt (p, 9,
+        "ER[\"central_meridian\",-7],PARAMETER[\"scale_factor\",0");
+    add_srs_wkt (p, 10,
+        ".999997],PARAMETER[\"false_easting\",200000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",-6000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"5316\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5318, "epsg", 5318,
+        "ETRS89 / Faroe TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=-7 +k=0.999997 +x_0=200000 +");
+    add_proj4text (p, 1,
+        "y_0=-6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"ETRS89 / Faroe TM + FVR09 height\",PROJCS[\"E");
+    add_srs_wkt (p, 1,
+        "TRS89 / Faroe TM\",GEOGCS[\"ETRS89\",DATUM[\"European_Te");
+    add_srs_wkt (p, 2,
+        "rrestrial_Reference_System_1989\",SPHEROID[\"GRS 1980\",");
+    add_srs_wkt (p, 3,
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+    add_srs_wkt (p, 4,
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRIMEM[");
+    add_srs_wkt (p, 5,
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+    add_srs_wkt (p, 6,
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+    add_srs_wkt (p, 7,
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-7],PARAMETER[\"scale_fact");
+        "TY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 9,
-        "or\",0.999997],PARAMETER[\"false_easting\",200000],PARAM");
+        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",-6000000],UNIT[\"metre\",1,AUTHO");
+        "l_meridian\",-7],PARAMETER[\"scale_factor\",0.999997],PA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "RAMETER[\"false_easting\",200000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"5316\"]]");
-    p = add_epsg_def (filter, first, last, 5320, "epsg", 5320,
-        "NAD83 / Teranet Ontario Lambert");
+        "hing\",-6000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 13,
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"5316\"]],VERT_CS[\"FVR09 height\",V");
+    add_srs_wkt (p, 15,
+        "ERT_DATUM[\"Faroe Islands Vertical Reference 2009\",2005");
+    add_srs_wkt (p, 16,
+        ",AUTHORITY[\"EPSG\",\"1059\"]],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 17,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 18,
+        ",\"5317\"]],AUTHORITY[\"EPSG\",\"5318\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5320, "epsg", 5320,
+        "NAD83 / Teranet Ontario Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.5 +lat_2=54.5 +lat_0=0 +lon_0=-84 +x");
     add_proj4text (p, 1,
-        "_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
+    add_proj4text (p, 2,
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"NAD83 / Teranet Ontario Lambert\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
@@ -345,23 +712,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        ",44.5],PARAMETER[\"standard_parallel_2\",54.5],PARAMETER");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44.5]");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        ",PARAMETER[\"standard_parallel_2\",54.5],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        ",-84],PARAMETER[\"false_easting\",1000000],PARAMETER[\"f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-84]");
     add_srs_wkt (p, 11,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_easting\",1000000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 13,
-        "EPSG\",\"5320\"]]");
-    p = add_epsg_def (filter, first, last, 5321, "epsg", 5321,
-        "NAD83(CSRS) / Teranet Ontario Lambert");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"5320\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5321, "epsg", 5321,
+        "NAD83(CSRS) / Teranet Ontario Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=44.5 +lat_2=54.5 +lat_0=0 +lon_0=-84 +x");
     add_proj4text (p, 1,
@@ -381,23 +753,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_1\",44.5],PARAMETER[\"standard_pa");
+        "ROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "rallel_2\",54.5],PARAMETER[\"latitude_of_origin\",0],PAR");
+        "tandard_parallel_1\",44.5],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "AMETER[\"central_meridian\",-84],PARAMETER[\"false_easti");
+        "_2\",54.5],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 11,
-        "ng\",1000000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "[\"central_meridian\",-84],PARAMETER[\"false_easting\",1");
     add_srs_wkt (p, 12,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "000000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5321\"]]");
-    p = add_epsg_def (filter, first, last, 5324, "epsg", 5324,
-        "ISN2004");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"5321\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5324, "epsg", 5324,
+        "ISN2004", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Islands_Net_2004", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -413,9 +790,14 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"5324\"]]");
-    p = add_epsg_def (filter, first, last, 5325, "epsg", 5325,
-        "ISN2004 / Lambert 2004");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 6,
+        "T],AUTHORITY[\"EPSG\",\"5324\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5325, "epsg", 5325,
+        "ISN2004 / Lambert 2004", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Islands_Net_2004", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=64.25 +lat_2=65.75 +lat_0=65 +lon_0=-19");
     add_proj4text (p, 1,
@@ -433,25 +815,30 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "EPSG\",\"5324\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"standard_parallel_1\",64.25],PARAMETER");
+        ",\"5324\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_2\",65.75],PARAMETER[\"latitude_of_");
+        "PARAMETER[\"standard_parallel_1\",64.25],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "origin\",65],PARAMETER[\"central_meridian\",-19],PARAMET");
+        "ndard_parallel_2\",65.75],PARAMETER[\"latitude_of_origin");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",1700000],PARAMETER[\"false_northing");
+        "\",65],PARAMETER[\"central_meridian\",-19],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",300000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "alse_easting\",1700000],PARAMETER[\"false_northing\",300");
     add_srs_wkt (p, 12,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
     add_srs_wkt (p, 13,
-        "\"5325\"]]");
-    p = add_epsg_def (filter, first, last, 5329, "epsg", 5329,
-        "Segara (Jakarta) / NEIEZ");
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5325");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5329, "epsg", 5329,
+        "Segara (Jakarta) / NEIEZ", 0, 0,
+        "Bessel 1841", "Jakarta",
+        "Gunung_Segara_Jakarta", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=3.192280555555556 +k=0.997 +x_0=390000");
     add_proj4text (p, 1,
@@ -471,21 +858,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"EPSG\",\"8908\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4820\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Mercator_1SP\"],PARAMETER[\"central_meri");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4820\"]],PRO");
     add_srs_wkt (p, 8,
-        "dian\",3.192280555555556],PARAMETER[\"scale_factor\",0.9");
+        "JECTION[\"Mercator_1SP\"],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 9,
-        "97],PARAMETER[\"false_easting\",3900000],PARAMETER[\"fal");
+        ",3.192280555555556],PARAMETER[\"scale_factor\",0.997],PA");
     add_srs_wkt (p, 10,
-        "se_northing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "RAMETER[\"false_easting\",3900000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "thing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"5329\"]]");
-    p = add_epsg_def (filter, first, last, 5330, "epsg", 5330,
-        "Batavia (Jakarta) / NEIEZ");
+        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"5329\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5330, "epsg", 5330,
+        "Batavia (Jakarta) / NEIEZ", 0, 0,
+        "Bessel 1841", "Jakarta",
+        "Batavia_Jakarta", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=3.192280555555556 +k=0.997 +x_0=390000");
     add_proj4text (p, 1,
@@ -505,21 +897,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8908\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4813\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Mercator_1SP\"],PARAMETER[\"central_meridi");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4813\"]],PROJE");
     add_srs_wkt (p, 8,
-        "an\",3.192280555555556],PARAMETER[\"scale_factor\",0.997");
+        "CTION[\"Mercator_1SP\"],PARAMETER[\"central_meridian\",3");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",3900000],PARAMETER[\"false");
+        ".192280555555556],PARAMETER[\"scale_factor\",0.997],PARA");
     add_srs_wkt (p, 10,
-        "_northing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "METER[\"false_easting\",3900000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "ing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"5330\"]]");
-    p = add_epsg_def (filter, first, last, 5331, "epsg", 5331,
-        "Makassar (Jakarta) / NEIEZ");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"5330\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5331, "epsg", 5331,
+        "Makassar (Jakarta) / NEIEZ", 0, 0,
+        "Bessel 1841", "Jakarta",
+        "Makassar_Jakarta", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=merc +lon_0=3.192280555555556 +k=0.997 +x_0=390000");
     add_proj4text (p, 1,
@@ -539,21 +936,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UTHORITY[\"EPSG\",\"8908\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        ",\"4804\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER[\"cen");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"480");
     add_srs_wkt (p, 8,
-        "tral_meridian\",3.192280555555556],PARAMETER[\"scale_fac");
+        "4\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER[\"central_m");
     add_srs_wkt (p, 9,
-        "tor\",0.997],PARAMETER[\"false_easting\",3900000],PARAME");
+        "eridian\",3.192280555555556],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",900000],UNIT[\"metre\",1,AUTHORIT");
+        "0.997],PARAMETER[\"false_easting\",3900000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "false_northing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"5331\"]]");
-    p = add_epsg_def (filter, first, last, 5337, "epsg", 5337,
-        "Aratu / UTM zone 25S");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"5331\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5337, "epsg", 5337,
+        "Aratu / UTM zone 25S", 0, 0,
+        "International 1924", "Greenwich",
+        "Aratu", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=25 +south +ellps=intl +towgs84=-151.99,2");
     add_proj4text (p, 1,
@@ -569,23 +971,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4208\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "\",\"4208\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 8,
-        "meridian\",-33],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "an\",-33],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"5337\"]]");
-    p = add_epsg_def (filter, first, last, 5340, "epsg", 5340,
-        "POSGAR 2007");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"5337\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5340, "epsg", 5340,
+        "POSGAR 2007", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_2007", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -601,11 +1008,16 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "5340\"]]");
-    p = add_epsg_def (filter, first, last, 5343, "epsg", 5343,
-        "POSGAR 2007 / Argentina 1");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5340\"");
+    add_srs_wkt (p, 7,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 5343, "epsg", 5343,
+        "POSGAR 2007 / Argentina 1", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_2007", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0");
     add_proj4text (p, 1,
@@ -623,19 +1035,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",-90],PARAMETER[\"central_meridian\",-72],PARAMETER[\"");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 9,
-        "scale_factor\",1],PARAMETER[\"false_easting\",1500000],P");
+        "0],PARAMETER[\"central_meridian\",-72],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "_factor\",1],PARAMETER[\"false_easting\",1500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5343\"]]");
-    p = add_epsg_def (filter, first, last, 5344, "epsg", 5344,
-        "POSGAR 2007 / Argentina 2");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"5343\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5344, "epsg", 5344,
+        "POSGAR 2007 / Argentina 2", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_2007", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0");
     add_proj4text (p, 1,
@@ -653,19 +1072,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",-90],PARAMETER[\"central_meridian\",-69],PARAMETER[\"");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 9,
-        "scale_factor\",1],PARAMETER[\"false_easting\",2500000],P");
+        "0],PARAMETER[\"central_meridian\",-69],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "_factor\",1],PARAMETER[\"false_easting\",2500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5344\"]]");
-    p = add_epsg_def (filter, first, last, 5345, "epsg", 5345,
-        "POSGAR 2007 / Argentina 3");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"5344\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5345, "epsg", 5345,
+        "POSGAR 2007 / Argentina 3", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_2007", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0");
     add_proj4text (p, 1,
@@ -683,19 +1109,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",-90],PARAMETER[\"central_meridian\",-66],PARAMETER[\"");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 9,
-        "scale_factor\",1],PARAMETER[\"false_easting\",3500000],P");
+        "0],PARAMETER[\"central_meridian\",-66],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "_factor\",1],PARAMETER[\"false_easting\",3500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5345\"]]");
-    p = add_epsg_def (filter, first, last, 5346, "epsg", 5346,
-        "POSGAR 2007 / Argentina 4");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"5345\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5346, "epsg", 5346,
+        "POSGAR 2007 / Argentina 4", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_2007", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0");
     add_proj4text (p, 1,
@@ -713,19 +1146,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",-90],PARAMETER[\"central_meridian\",-63],PARAMETER[\"");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 9,
-        "scale_factor\",1],PARAMETER[\"false_easting\",4500000],P");
+        "0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "_factor\",1],PARAMETER[\"false_easting\",4500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5346\"]]");
-    p = add_epsg_def (filter, first, last, 5347, "epsg", 5347,
-        "POSGAR 2007 / Argentina 5");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"5346\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5347, "epsg", 5347,
+        "POSGAR 2007 / Argentina 5", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_2007", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0");
     add_proj4text (p, 1,
@@ -743,19 +1183,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",-90],PARAMETER[\"central_meridian\",-60],PARAMETER[\"");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 9,
-        "scale_factor\",1],PARAMETER[\"false_easting\",5500000],P");
+        "0],PARAMETER[\"central_meridian\",-60],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "_factor\",1],PARAMETER[\"false_easting\",5500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5347\"]]");
-    p = add_epsg_def (filter, first, last, 5348, "epsg", 5348,
-        "POSGAR 2007 / Argentina 6");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"5347\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5348, "epsg", 5348,
+        "POSGAR 2007 / Argentina 6", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_2007", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0");
     add_proj4text (p, 1,
@@ -773,19 +1220,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",-90],PARAMETER[\"central_meridian\",-57],PARAMETER[\"");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 9,
-        "scale_factor\",1],PARAMETER[\"false_easting\",6500000],P");
+        "0],PARAMETER[\"central_meridian\",-57],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "_factor\",1],PARAMETER[\"false_easting\",6500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5348\"]]");
-    p = add_epsg_def (filter, first, last, 5349, "epsg", 5349,
-        "POSGAR 2007 / Argentina 7");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"5348\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5349, "epsg", 5349,
+        "POSGAR 2007 / Argentina 7", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_2007", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0");
     add_proj4text (p, 1,
@@ -803,19 +1257,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"5340\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "n\",-90],PARAMETER[\"central_meridian\",-54],PARAMETER[\"");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
     add_srs_wkt (p, 9,
-        "scale_factor\",1],PARAMETER[\"false_easting\",7500000],P");
+        "0],PARAMETER[\"central_meridian\",-54],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "_factor\",1],PARAMETER[\"false_easting\",7500000],PARAME");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5349\"]]");
-    p = add_epsg_def (filter, first, last, 5354, "epsg", 5354,
-        "MARGEN");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"5349\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5354, "epsg", 5354,
+        "MARGEN", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Marco_Geodesico_Nacional", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -831,9 +1292,14 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5354\"]]");
-    p = add_epsg_def (filter, first, last, 5355, "epsg", 5355,
-        "MARGEN / UTM zone 20S");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5354\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5355, "epsg", 5355,
+        "MARGEN / UTM zone 20S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Marco_Geodesico_Nacional", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -849,23 +1315,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"5354\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"5354\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-63],PARAMETER[\"scale_factor\",0.9996],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"5355\"]]");
-    p = add_epsg_def (filter, first, last, 5356, "epsg", 5356,
-        "MARGEN / UTM zone 19S");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"5355\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5356, "epsg", 5356,
+        "MARGEN / UTM zone 19S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Marco_Geodesico_Nacional", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -881,23 +1352,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"5354\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"5354\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-69],PARAMETER[\"scale_factor\",0.9996],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"5356\"]]");
-    p = add_epsg_def (filter, first, last, 5357, "epsg", 5357,
-        "MARGEN / UTM zone 21S");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"5356\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5357, "epsg", 5357,
+        "MARGEN / UTM zone 21S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Marco_Geodesico_Nacional", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -913,23 +1389,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"5354\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"5354\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-57],PARAMETER[\"scale_factor\",0.9996],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"5357\"]]");
-    p = add_epsg_def (filter, first, last, 5360, "epsg", 5360,
-        "SIRGAS-Chile");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"5357\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5360, "epsg", 5360,
+        "SIRGAS-Chile", 1, 1,
+        "GRS 1980", "Greenwich",
+        "SIRGAS_Chile", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -945,9 +1426,14 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"5360\"]]");
-    p = add_epsg_def (filter, first, last, 5361, "epsg", 5361,
-        "SIRGAS-Chile / UTM zone 19S");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
+    add_srs_wkt (p, 6,
+        "EAST],AUTHORITY[\"EPSG\",\"5360\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5361, "epsg", 5361,
+        "SIRGAS-Chile / UTM zone 19S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "SIRGAS_Chile", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -963,23 +1449,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"5360\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"5360\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-69],PARAMETER[\"scale_factor\",0.9996],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"5361\"]]");
-    p = add_epsg_def (filter, first, last, 5362, "epsg", 5362,
-        "SIRGAS-Chile / UTM zone 18S");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"5361\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5362, "epsg", 5362,
+        "SIRGAS-Chile / UTM zone 18S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "SIRGAS_Chile", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -995,23 +1486,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"5360\"]],PROJECTION[\"Transverse_Mercator");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "PSG\",\"5360\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-75],PARAMETER[\"scale_factor\",0.9996],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"5362\"]]");
-    p = add_epsg_def (filter, first, last, 5365, "epsg", 5365,
-        "CR05");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"5362\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5365, "epsg", 5365,
+        "CR05", 1, 1,
+        "WGS 84", "Greenwich",
+        "Costa_Rica_2005", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1027,9 +1523,14 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 5,
-        "\"]],AUTHORITY[\"EPSG\",\"5365\"]]");
-    p = add_epsg_def (filter, first, last, 5367, "epsg", 5367,
-        "CR05 / CRTM05");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
+    add_srs_wkt (p, 6,
+        "UTHORITY[\"EPSG\",\"5365\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5367, "epsg", 5367,
+        "CR05 / CRTM05", 0, 1,
+        "WGS 84", "Greenwich",
+        "Costa_Rica_2005", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=500000 +y");
     add_proj4text (p, 1,
@@ -1047,21 +1548,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5365\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5365\"]],PR");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-84],P");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_east");
+        "f_origin\",0],PARAMETER[\"central_meridian\",-84],PARAME");
     add_srs_wkt (p, 9,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "TER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 10,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 11,
-        "\"5367\"]]");
-    p = add_epsg_def (filter, first, last, 5371, "epsg", 5371,
-        "MACARIO SOLIS");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"5367\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5371, "epsg", 5371,
+        "MACARIO SOLIS", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Sistema_Geodesico_Nacional_de_Panama_MACARIO_SOLIS", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1077,11 +1583,16 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"5371\"]]");
-    p = add_epsg_def (filter, first, last, 5373, "epsg", 5373,
-        "Peru96");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 7,
+        "PSG\",\"5371\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5373, "epsg", 5373,
+        "Peru96", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Peru96", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1097,9 +1608,14 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"5373\"]]");
-    p = add_epsg_def (filter, first, last, 5381, "epsg", 5381,
-        "SIRGAS-ROU98");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
+    add_srs_wkt (p, 6,
+        "ITY[\"EPSG\",\"5373\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5381, "epsg", 5381,
+        "SIRGAS-ROU98", 1, 1,
+        "WGS 84", "Greenwich",
+        "SIRGAS_ROU98", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1115,9 +1631,14 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"5381\"]]");
-    p = add_epsg_def (filter, first, last, 5382, "epsg", 5382,
-        "SIRGAS-ROU98 / UTM zone 21S");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 6,
+        "T],AUTHORITY[\"EPSG\",\"5381\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5382, "epsg", 5382,
+        "SIRGAS-ROU98 / UTM zone 21S", 0, 0,
+        "WGS 84", "Greenwich",
+        "SIRGAS_ROU98", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1133,23 +1654,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"5381\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"5381\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",-57],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "idian\",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"5382\"]]");
-    p = add_epsg_def (filter, first, last, 5383, "epsg", 5383,
-        "SIRGAS-ROU98 / UTM zone 22S");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"5382\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5383, "epsg", 5383,
+        "SIRGAS-ROU98 / UTM zone 22S", 0, 0,
+        "WGS 84", "Greenwich",
+        "SIRGAS_ROU98", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=22 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1165,23 +1691,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"5381\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"5381\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",-51],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "idian\",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"5383\"]]");
-    p = add_epsg_def (filter, first, last, 5387, "epsg", 5387,
-        "Peru96 / UTM zone 18S");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"5383\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5387, "epsg", 5387,
+        "Peru96 / UTM zone 18S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Peru96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1197,23 +1728,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"53");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "73\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5373\"]]");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-7");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-75],PAR");
     add_srs_wkt (p, 9,
-        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+        "g\",500000],PARAMETER[\"false_northing\",10000000],UNIT[");
     add_srs_wkt (p, 11,
-        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
     add_srs_wkt (p, 12,
-        "\",\"5387\"]]");
-    p = add_epsg_def (filter, first, last, 5388, "epsg", 5388,
-        "Peru96 / UTM zone 17S (deprecated)");
+        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5");
+    add_srs_wkt (p, 13,
+        "387\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5388, "epsg", 5388,
+        "Peru96 / UTM zone 17S (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Peru96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1229,23 +1765,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"5373\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "\",\"5373\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 8,
-        "meridian\",-81],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "an\",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"5388\"]]");
-    p = add_epsg_def (filter, first, last, 5389, "epsg", 5389,
-        "Peru96 / UTM zone 19S");
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5388\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5389, "epsg", 5389,
+        "Peru96 / UTM zone 19S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Peru96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1261,23 +1802,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"53");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "73\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5373\"]]");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-6");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-69],PAR");
     add_srs_wkt (p, 9,
-        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+        "g\",500000],PARAMETER[\"false_northing\",10000000],UNIT[");
     add_srs_wkt (p, 11,
-        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
     add_srs_wkt (p, 12,
-        "\",\"5389\"]]");
-    p = add_epsg_def (filter, first, last, 5393, "epsg", 5393,
-        "SIRGAS_ES2007.8");
+        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5");
+    add_srs_wkt (p, 13,
+        "389\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5393, "epsg", 5393,
+        "SIRGAS_ES2007.8", 1, 1,
+        "GRS 1980", "Greenwich",
+        "SIRGAS_ES2007_8", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1293,9 +1839,14 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5393\"]]");
-    p = add_epsg_def (filter, first, last, 5396, "epsg", 5396,
-        "SIRGAS 2000 / UTM zone 26S");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5393\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5396, "epsg", 5396,
+        "SIRGAS 2000 / UTM zone 26S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -1313,117 +1864,135 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",-27],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-27]");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
     add_srs_wkt (p, 13,
-        "PSG\",\"5396\"]]");
-    p = add_epsg_def (filter, first, last, 5451, "epsg", 5451,
-        "Ocotepeque 1935");
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"5396\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5451, "epsg", 5451,
+        "Ocotepeque 1935", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Ocotepeque_1935", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=clrk66 +towgs84=213.11,9.37,-74.95,");
+        "+proj=longlat +ellps=clrk66 +towgs84=205,96,-98,0,0,0,0 ");
     add_proj4text (p, 1,
-        "0,0,0,0 +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Ocotepeque 1935\",DATUM[\"Ocotepeque_1935\",SPH");
     add_srs_wkt (p, 1,
-        "EROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHOR");
+        "EROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHOR");
     add_srs_wkt (p, 2,
-        "ITY[\"EPSG\",\"7008\"]],TOWGS84[213.11,9.37,-74.95,0,0,0");
+        "ITY[\"EPSG\",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTH");
     add_srs_wkt (p, 3,
-        ",0],AUTHORITY[\"EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0");
+        "ORITY[\"EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "\",\"5451\"]]");
-    p = add_epsg_def (filter, first, last, 5456, "epsg", 5456,
-        "Ocotepeque 1935 / Costa Rica Norte");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5451\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5456, "epsg", 5456,
+        "Ocotepeque 1935 / Costa Rica Norte", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Ocotepeque_1935", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=10.46666666666667 +lat_0=10.46666666666");
     add_proj4text (p, 1,
         "667 +lon_0=-84.33333333333333 +k_0=0.99995696 +x_0=50000");
     add_proj4text (p, 2,
-        "0 +y_0=271820.522 +ellps=clrk66 +towgs84=213.11,9.37,-74");
+        "0 +y_0=271820.522 +ellps=clrk66 +towgs84=205,96,-98,0,0,");
     add_proj4text (p, 3,
-        ".95,0,0,0,0 +units=m +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Ocotepeque 1935 / Costa Rica Norte\",GEOGCS[\"O");
     add_srs_wkt (p, 1,
         "cotepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Cl");
     add_srs_wkt (p, 2,
-        "arke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG");
+        "arke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "\",\"7008\"]],TOWGS84[213.11,9.37,-74.95,0,0,0,0],AUTHOR");
+        "\",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EP");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
+        "SG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5451\"");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"5451\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",10.46666666666667],PARAMETER[\"c");
+        "\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        "entral_meridian\",-84.33333333333333],PARAMETER[\"scale_");
+        "_origin\",10.46666666666667],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        "factor\",0.99995696],PARAMETER[\"false_easting\",500000]");
+        "n\",-84.33333333333333],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",271820.522],UNIT[\"metre\"");
+        "95696],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "alse_northing\",271820.522],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"5456\"]]");
-    p = add_epsg_def (filter, first, last, 5457, "epsg", 5457,
-        "Ocotepeque 1935 / Costa Rica Sur");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"5456\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5457, "epsg", 5457,
+        "Ocotepeque 1935 / Costa Rica Sur", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Ocotepeque_1935", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=9 +lat_0=9 +lon_0=-83.66666666666667 +k");
     add_proj4text (p, 1,
         "_0=0.99995696 +x_0=500000 +y_0=327987.436 +ellps=clrk66 ");
     add_proj4text (p, 2,
-        "+towgs84=213.11,9.37,-74.95,0,0,0,0 +units=m +no_defs");
+        "+towgs84=205,96,-98,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Ocotepeque 1935 / Costa Rica Sur\",GEOGCS[\"Oco");
     add_srs_wkt (p, 1,
         "tepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",\"7008\"]],TOWGS84[213.11,9.37,-74.95,0,0,0,0],AUTHORIT");
+        ",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 4,
-        "Y[\"EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5451\"]]");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"5451\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",9],PARAMETER[\"central_meridian\",-");
+        "Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "83.66666666666667],PARAMETER[\"scale_factor\",0.99995696");
+        "rigin\",9],PARAMETER[\"central_meridian\",-83.6666666666");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "6667],PARAMETER[\"scale_factor\",0.99995696],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "northing\",327987.436],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "false_easting\",500000],PARAMETER[\"false_northing\",327");
     add_srs_wkt (p, 12,
-        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "987.436],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"5457\"]]");
-    p = add_epsg_def (filter, first, last, 5458, "epsg", 5458,
-        "Ocotepeque 1935 / Guatemala Norte (deprecated)");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "5457\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5458, "epsg", 5458,
+        "Ocotepeque 1935 / Guatemala Norte (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666");
     add_proj4text (p, 1,
@@ -1435,7 +2004,7 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         ",GEOGCS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SP");
     add_srs_wkt (p, 2,
-        "HEROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHO");
+        "HEROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHO");
     add_srs_wkt (p, 3,
         "RITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],P");
     add_srs_wkt (p, 4,
@@ -1443,179 +2012,202 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",");
+        "UTHORITY[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        "16.81666666666667],PARAMETER[\"central_meridian\",-90.33");
+        "mal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",16.816");
     add_srs_wkt (p, 9,
-        "333333333333],PARAMETER[\"scale_factor\",0.99992226],PAR");
+        "66666666667],PARAMETER[\"central_meridian\",-90.33333333");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "333333],PARAMETER[\"scale_factor\",0.99992226],PARAMETER");
     add_srs_wkt (p, 11,
-        "ing\",292209.579],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "292209.579],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"5458\"]]");
-    p = add_epsg_def (filter, first, last, 5459, "epsg", 5459,
-        "Ocotepeque 1935 / Guatemala Sur");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"5458\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5459, "epsg", 5459,
+        "Ocotepeque 1935 / Guatemala Sur", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Ocotepeque_1935", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=14.9 +lat_0=14.9 +lon_0=-90.33333333333");
     add_proj4text (p, 1,
         "333 +k_0=0.99989906 +x_0=500000 +y_0=325992.681 +ellps=c");
     add_proj4text (p, 2,
-        "lrk66 +towgs84=213.11,9.37,-74.95,0,0,0,0 +units=m +no_d");
-    add_proj4text (p, 3,
-        "efs");
+        "lrk66 +towgs84=205,96,-98,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Ocotepeque 1935 / Guatemala Sur\",GEOGCS[\"Ocot");
     add_srs_wkt (p, 1,
         "epeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Clark");
     add_srs_wkt (p, 2,
-        "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",");
+        "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "\"7008\"]],TOWGS84[213.11,9.37,-74.95,0,0,0,0],AUTHORITY");
+        "\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        ",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5451\"]]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5451\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",14.9],PARAMETER[\"central_meridian\"");
+        "ambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        ",-90.33333333333333],PARAMETER[\"scale_factor\",0.999899");
+        "igin\",14.9],PARAMETER[\"central_meridian\",-90.33333333");
     add_srs_wkt (p, 10,
-        "06],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "333333],PARAMETER[\"scale_factor\",0.99989906],PARAMETER");
     add_srs_wkt (p, 11,
-        "e_northing\",325992.681],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "325992.681],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"5459\"]]");
-    p = add_epsg_def (filter, first, last, 5460, "epsg", 5460,
-        "Ocotepeque 1935 / El Salvador Lambert");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"5459\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5460, "epsg", 5460,
+        "Ocotepeque 1935 / El Salvador Lambert", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Ocotepeque_1935", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=13.78333333333333 +lat_0=13.78333333333");
     add_proj4text (p, 1,
         "333 +lon_0=-89 +k_0=0.99996704 +x_0=500000 +y_0=295809.1");
     add_proj4text (p, 2,
-        "84 +ellps=clrk66 +towgs84=213.11,9.37,-74.95,0,0,0,0 +un");
+        "84 +ellps=clrk66 +towgs84=205,96,-98,0,0,0,0 +units=m +n");
     add_proj4text (p, 3,
-        "its=m +no_defs");
+        "o_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Ocotepeque 1935 / El Salvador Lambert\",GEOGCS[");
     add_srs_wkt (p, 1,
         "\"Ocotepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EP");
+        "Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "SG\",\"7008\"]],TOWGS84[213.11,9.37,-74.95,0,0,0,0],AUTH");
+        "SG\",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        "EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"545");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "1\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAME");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"5451\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",13.78333333333333],PARAMETER[");
+        "ON[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "\"central_meridian\",-89],PARAMETER[\"scale_factor\",0.9");
+        "_of_origin\",13.78333333333333],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "9996704],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "dian\",-89],PARAMETER[\"scale_factor\",0.99996704],PARAM");
     add_srs_wkt (p, 11,
-        "false_northing\",295809.184],UNIT[\"metre\",1,AUTHORITY[");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "g\",295809.184],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"5460\"]]");
-    p = add_epsg_def (filter, first, last, 5461, "epsg", 5461,
-        "Ocotepeque 1935 / Nicaragua Norte");
+        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"5460\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5461, "epsg", 5461,
+        "Ocotepeque 1935 / Nicaragua Norte", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Ocotepeque_1935", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=13.86666666666667 +lat_0=13.86666666666");
     add_proj4text (p, 1,
         "667 +lon_0=-85.5 +k_0=0.99990314 +x_0=500000 +y_0=359891");
     add_proj4text (p, 2,
-        ".816 +ellps=clrk66 +towgs84=213.11,9.37,-74.95,0,0,0,0 +");
+        ".816 +ellps=clrk66 +towgs84=205,96,-98,0,0,0,0 +units=m ");
     add_proj4text (p, 3,
-        "units=m +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Ocotepeque 1935 / Nicaragua Norte\",GEOGCS[\"Oc");
     add_srs_wkt (p, 1,
         "otepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",\"7008\"]],TOWGS84[213.11,9.37,-74.95,0,0,0,0],AUTHORIT");
+        ",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 4,
-        "Y[\"EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5451\"]]");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"5451\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",13.86666666666667],PARAMETER[\"cent");
+        "Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-85.5],PARAMETER[\"scale_factor\",0.99990");
+        "rigin\",13.86666666666667],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "314],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        ",-85.5],PARAMETER[\"scale_factor\",0.99990314],PARAMETER");
     add_srs_wkt (p, 11,
-        "se_northing\",359891.816],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "359891.816],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"5461\"]]");
-    p = add_epsg_def (filter, first, last, 5462, "epsg", 5462,
-        "Ocotepeque 1935 / Nicaragua Sur");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"5461\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5462, "epsg", 5462,
+        "Ocotepeque 1935 / Nicaragua Sur", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Ocotepeque_1935", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=11.73333333333333 +lat_0=11.73333333333");
     add_proj4text (p, 1,
         "333 +lon_0=-85.5 +k_0=0.9999222800000001 +x_0=500000 +y_");
     add_proj4text (p, 2,
-        "0=288876.327 +ellps=clrk66 +towgs84=213.11,9.37,-74.95,0");
+        "0=288876.327 +ellps=clrk66 +towgs84=205,96,-98,0,0,0,0 +");
     add_proj4text (p, 3,
-        ",0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"Ocotepeque 1935 / Nicaragua Sur\",GEOGCS[\"Ocot");
     add_srs_wkt (p, 1,
         "epeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Clark");
     add_srs_wkt (p, 2,
-        "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",");
+        "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "\"7008\"]],TOWGS84[213.11,9.37,-74.95,0,0,0,0],AUTHORITY");
+        "\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        ",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5451\"]]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5451\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",11.73333333333333],PARAMETER[\"cent");
+        "ambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-85.5],PARAMETER[\"scale_factor\",0.99992");
+        "igin\",11.73333333333333],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "228],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        ",-85.5],PARAMETER[\"scale_factor\",0.99992228],PARAMETER");
     add_srs_wkt (p, 11,
-        "se_northing\",288876.327],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "288876.327],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"5462\"]]");
-    p = add_epsg_def (filter, first, last, 5463, "epsg", 5463,
-        "SAD69 / UTM zone 17N");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"5462\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5463, "epsg", 5463,
+        "SAD69 / UTM zone 17N", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +ellps=aust_SA +towgs84=-57,1,-41,0,0");
+        "+proj=utm +zone=17 +ellps=aust_SA +towgs84=-66.87,4.37,-");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"SAD69 / UTM zone 17N\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
@@ -1623,27 +2215,32 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "central_meridian\",-81],PARAMETER[\"scale_factor\",0.999");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "R[\"central_meridian\",-81],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"5463\"]]");
-    p = add_epsg_def (filter, first, last, 5464, "epsg", 5464,
-        "Sibun Gorge 1922");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"5463\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5464, "epsg", 5464,
+        "Sibun Gorge 1922", 1, 1,
+        "Clarke 1858", "Greenwich",
+        "Sibun_Gorge_1922", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 ");
     add_proj4text (p, 1,
@@ -1653,15 +2250,20 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "PHEROID[\"Clarke 1858\",6378293.645208759,294.2606763692");
     add_srs_wkt (p, 2,
-        "569,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"1");
+        "606,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"1");
     add_srs_wkt (p, 3,
         "071\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 4,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"5464\"]]");
-    p = add_epsg_def (filter, first, last, 5466, "epsg", 5466,
-        "Sibun Gorge 1922 / Colony Grid (deprecated)");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
+    add_srs_wkt (p, 6,
+        ",EAST],AUTHORITY[\"EPSG\",\"5464\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5466, "epsg", 5466,
+        "Sibun Gorge 1922 / Colony Grid (deprecated)", 0, 0,
+        "Clarke 1858", "Greenwich",
+        "Sibun_Gorge_1922", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=17.06124194444444 +lon_0=-88.6318575 ");
     add_proj4text (p, 1,
@@ -1673,37 +2275,42 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "EOGCS[\"Sibun Gorge 1922\",DATUM[\"Sibun_Gorge_1922\",SP");
     add_srs_wkt (p, 2,
-        "HEROID[\"Clarke 1858\",6378293.645208759,294.26067636925");
+        "HEROID[\"Clarke 1858\",6378293.645208759,294.26067636926");
     add_srs_wkt (p, 3,
-        "69,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"10");
+        "06,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"10");
     add_srs_wkt (p, 4,
         "71\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"5464\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",1");
+        "EAST],AUTHORITY[\"EPSG\",\"5464\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "7.06124194444444],PARAMETER[\"central_meridian\",-88.631");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",17.0612");
     add_srs_wkt (p, 9,
-        "8575],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_ea");
+        "4194444444],PARAMETER[\"central_meridian\",-88.6318575],");
     add_srs_wkt (p, 10,
-        "sting\",66220.02833082761],PARAMETER[\"false_northing\",");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "135779.5099885299],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",66220.02833082761],PARAMETER[\"false_northing\",135779.");
     add_srs_wkt (p, 12,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "5099885299],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"5466\"]]");
-    p = add_epsg_def (filter, first, last, 5467, "epsg", 5467,
-        "Panama-Colon 1911");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"5466\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5467, "epsg", 5467,
+        "Panama-Colon 1911", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "Panama_Colon_1911", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=clrk66 +no_defs");
     add_srs_wkt (p, 0,
         "GEOGCS[\"Panama-Colon 1911\",DATUM[\"Panama_Colon_1911\"");
     add_srs_wkt (p, 1,
-        ",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006,AU");
+        ",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138982,AU");
     add_srs_wkt (p, 2,
         "THORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"1072\"]");
     add_srs_wkt (p, 3,
@@ -1711,9 +2318,14 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 5,
-        "122\"]],AUTHORITY[\"EPSG\",\"5467\"]]");
-    p = add_epsg_def (filter, first, last, 5469, "epsg", 5469,
-        "Panama-Colon 1911 / Panama Lambert");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
+    add_srs_wkt (p, 6,
+        "],AUTHORITY[\"EPSG\",\"5467\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5469, "epsg", 5469,
+        "Panama-Colon 1911 / Panama Lambert", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Panama_Colon_1911", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=8.416666666666666 +lat_0=8.416666666666");
     add_proj4text (p, 1,
@@ -1725,29 +2337,34 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "anama-Colon 1911\",DATUM[\"Panama_Colon_1911\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"");
+        "\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"");
     add_srs_wkt (p, 3,
         "EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"1072\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"5467\"]],PROJECTION[\"Lambert_Conforma");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "l_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",8.416666");
+        "[\"EPSG\",\"5467\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "666666666],PARAMETER[\"central_meridian\",-80],PARAMETER");
+        "c_1SP\"],PARAMETER[\"latitude_of_origin\",8.416666666666");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.99989909],PARAMETER[\"false_easting\"");
+        "666],PARAMETER[\"central_meridian\",-80],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",294865.303],UNIT[\"");
+        "le_factor\",0.99989909],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "00],PARAMETER[\"false_northing\",294865.303],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5469\"]]");
-    p = add_epsg_def (filter, first, last, 5472, "epsg", 5472,
-        "Panama-Colon 1911 / Panama Polyconic");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5469\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5472, "epsg", 5472,
+        "Panama-Colon 1911 / Panama Polyconic", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Panama_Colon_1911", "Polyconic", "Clarke's yard",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=poly +lat_0=8.25 +lon_0=-81 +x_0=914391.7962 +y_0=");
     add_proj4text (p, 1,
@@ -1759,29 +2376,34 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 1,
         "Panama-Colon 1911\",DATUM[\"Panama_Colon_1911\",SPHEROID");
     add_srs_wkt (p, 2,
-        "[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"");
+        "[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"");
     add_srs_wkt (p, 3,
         "EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"1072\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"5467\"]],PROJECTION[\"Polyconic\"],PAR");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "AMETER[\"latitude_of_origin\",8.25],PARAMETER[\"central_");
+        "[\"EPSG\",\"5467\"]],PROJECTION[\"Polyconic\"],PARAMETER");
     add_srs_wkt (p, 8,
-        "meridian\",-81],PARAMETER[\"false_easting\",1000000],PAR");
+        "[\"latitude_of_origin\",8.25],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_northing\",1092972.1],UNIT[\"Clarke's yar");
+        "an\",-81],PARAMETER[\"false_easting\",1000000],PARAMETER");
     add_srs_wkt (p, 10,
-        "d\",0.9143917962,AUTHORITY[\"EPSG\",\"9037\"]],AXIS[\"Ea");
+        "[\"false_northing\",1092972.1],UNIT[\"Clarke's yard\",0.");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "9143917962,AUTHORITY[\"EPSG\",\"9037\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        ",\"5472\"]]");
-    p = add_epsg_def (filter, first, last, 5479, "epsg", 5479,
-        "RSRGD2000 / MSLC2000");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"547");
+    add_srs_wkt (p, 13,
+        "2\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5479, "epsg", 5479,
+        "RSRGD2000 / MSLC2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Ross_Sea_Region_Geodetic_Datum_2000", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.333333333");
     add_proj4text (p, 1,
@@ -1801,23 +2423,30 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4764\"]],PROJECTION[\"Lambe");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "],AUTHORITY[\"EPSG\",\"4764\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "1\",-76.66666666666667],PARAMETER[\"standard_parallel_2\"");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",-7");
     add_srs_wkt (p, 9,
-        ",-79.33333333333333],PARAMETER[\"latitude_of_origin\",-7");
+        "6.66666666666667],PARAMETER[\"standard_parallel_2\",-79.");
     add_srs_wkt (p, 10,
-        "8],PARAMETER[\"central_meridian\",163],PARAMETER[\"false");
+        "33333333333333],PARAMETER[\"latitude_of_origin\",-78],PA");
     add_srs_wkt (p, 11,
-        "_easting\",7000000],PARAMETER[\"false_northing\",5000000");
+        "RAMETER[\"central_meridian\",163],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORI");
+        "ing\",7000000],PARAMETER[\"false_northing\",5000000],UNI");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"5479\"]]");
-    p = add_epsg_def (filter, first, last, 5480, "epsg", 5480,
-        "RSRGD2000 / BCLC2000");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"North");
+    add_srs_wkt (p, 14,
+        "ing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "5479\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5480, "epsg", 5480,
+        "RSRGD2000 / BCLC2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Ross_Sea_Region_Geodetic_Datum_2000", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-73.66666666666667 +lat_2=-75.333333333");
     add_proj4text (p, 1,
@@ -1837,23 +2466,30 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4764\"]],PROJECTION[\"Lambe");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "],AUTHORITY[\"EPSG\",\"4764\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "1\",-73.66666666666667],PARAMETER[\"standard_parallel_2\"");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",-7");
     add_srs_wkt (p, 9,
-        ",-75.33333333333333],PARAMETER[\"latitude_of_origin\",-7");
+        "3.66666666666667],PARAMETER[\"standard_parallel_2\",-75.");
     add_srs_wkt (p, 10,
-        "4.5],PARAMETER[\"central_meridian\",165],PARAMETER[\"fal");
+        "33333333333333],PARAMETER[\"latitude_of_origin\",-74.5],");
     add_srs_wkt (p, 11,
-        "se_easting\",5000000],PARAMETER[\"false_northing\",30000");
+        "PARAMETER[\"central_meridian\",165],PARAMETER[\"false_ea");
     add_srs_wkt (p, 12,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "sting\",5000000],PARAMETER[\"false_northing\",3000000],U");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"5480\"]]");
-    p = add_epsg_def (filter, first, last, 5481, "epsg", 5481,
-        "RSRGD2000 / PCLC2000");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Nor");
+    add_srs_wkt (p, 14,
+        "thing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"5480\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5481, "epsg", 5481,
+        "RSRGD2000 / PCLC2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Ross_Sea_Region_Geodetic_Datum_2000", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=-70.66666666666667 +lat_2=-72.333333333");
     add_proj4text (p, 1,
@@ -1873,23 +2509,30 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4764\"]],PROJECTION[\"Lambe");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "],AUTHORITY[\"EPSG\",\"4764\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "1\",-70.66666666666667],PARAMETER[\"standard_parallel_2\"");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",-7");
     add_srs_wkt (p, 9,
-        ",-72.33333333333333],PARAMETER[\"latitude_of_origin\",-7");
+        "0.66666666666667],PARAMETER[\"standard_parallel_2\",-72.");
     add_srs_wkt (p, 10,
-        "1.5],PARAMETER[\"central_meridian\",166],PARAMETER[\"fal");
+        "33333333333333],PARAMETER[\"latitude_of_origin\",-71.5],");
     add_srs_wkt (p, 11,
-        "se_easting\",3000000],PARAMETER[\"false_northing\",10000");
+        "PARAMETER[\"central_meridian\",166],PARAMETER[\"false_ea");
     add_srs_wkt (p, 12,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "sting\",3000000],PARAMETER[\"false_northing\",1000000],U");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"5481\"]]");
-    p = add_epsg_def (filter, first, last, 5482, "epsg", 5482,
-        "RSRGD2000 / RSPS2000");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Nor");
+    add_srs_wkt (p, 14,
+        "thing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"5481\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5482, "epsg", 5482,
+        "RSRGD2000 / RSPS2000", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Ross_Sea_Region_Geodetic_Datum_2000", "Polar_Stereographic", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=180 +k=0.994 +");
     add_proj4text (p, 1,
@@ -1909,19 +2552,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4764\"]],PROJECTION[\"Polar");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "_Stereographic\"],PARAMETER[\"latitude_of_origin\",-90],");
+        "],AUTHORITY[\"EPSG\",\"4764\"]],PROJECTION[\"Polar_Stere");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",180],PARAMETER[\"scale_fa");
+        "ographic\"],PARAMETER[\"latitude_of_origin\",-90],PARAME");
     add_srs_wkt (p, 9,
-        "ctor\",0.994],PARAMETER[\"false_easting\",5000000],PARAM");
+        "TER[\"central_meridian\",180],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHOR");
+        ",0.994],PARAMETER[\"false_easting\",5000000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5482\"]]");
-    p = add_epsg_def (filter, first, last, 5489, "epsg", 5489,
-        "RGAF09");
+        "false_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"5482\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5489, "epsg", 5489,
+        "RGAF09", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_des_Antilles_Francaises_2009", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -1937,11 +2587,16 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"5489\"]]");
-    p = add_epsg_def (filter, first, last, 5490, "epsg", 5490,
-        "RGAF09 / UTM zone 20N");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"54");
+    add_srs_wkt (p, 7,
+        "89\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5490, "epsg", 5490,
+        "RGAF09 / UTM zone 20N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_des_Antilles_Francaises_2009", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
@@ -1959,21 +2614,155 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5489\"]],PROJECTIO");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
+    add_srs_wkt (p, 7,
+        "de\",EAST],AUTHORITY[\"EPSG\",\"5489\"]],PROJECTION[\"Tr");
+    add_srs_wkt (p, 8,
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_f");
+    add_srs_wkt (p, 10,
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+    add_srs_wkt (p, 11,
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"5490\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5498, "epsg", 5498,
+        "NAD83", 1, 1,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +geoid");
+    add_proj4text (p, 1,
+        "grids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx");
+    add_proj4text (p, 2,
+        ",g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gt");
+    add_proj4text (p, 3,
+        "x +vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"NAD83 + NAVD88 height\",GEOGCS[\"NAD83\",DATU");
+    add_srs_wkt (p, 1,
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+    add_srs_wkt (p, 2,
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+    add_srs_wkt (p, 3,
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+    add_srs_wkt (p, 4,
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+    add_srs_wkt (p, 5,
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
+    add_srs_wkt (p, 6,
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "[\"EPSG\",\"4269\"]],VERT_CS[\"NAVD88 height\",VERT_DATU");
     add_srs_wkt (p, 8,
-        "n\",0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"s");
+        "M[\"North American Vertical Datum 1988\",2005,EXTENSION[");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "\"PROJ4_GRIDS\",\"g2012a_conus.gtx,g2012a_alaska.gtx,g20");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "12a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g20");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "12a_samoa.gtx\"],AUTHORITY[\"EPSG\",\"5103\"]],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"5490\"]]");
-    p = add_epsg_def (filter, first, last, 5513, "epsg", 5513,
-        "S-JTSK / Krovak");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"5703\"]],AUTHORITY[\"EPSG\",\"5498\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 5499, "epsg", 5499,
+        "NAD83(HARN)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +geoid");
+    add_proj4text (p, 1,
+        "grids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx");
+    add_proj4text (p, 2,
+        ",g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gt");
+    add_proj4text (p, 3,
+        "x +vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"NAD83(HARN) + NAVD88 height\",GEOGCS[\"NAD83(");
+    add_srs_wkt (p, 1,
+        "HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\",");
+    add_srs_wkt (p, 2,
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+    add_srs_wkt (p, 3,
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 4,
+        "G\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 5,
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+    add_srs_wkt (p, 6,
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
+    add_srs_wkt (p, 7,
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],VERT_CS[\"N");
+    add_srs_wkt (p, 8,
+        "AVD88 height\",VERT_DATUM[\"North American Vertical Datu");
+    add_srs_wkt (p, 9,
+        "m 1988\",2005,EXTENSION[\"PROJ4_GRIDS\",\"g2012a_conus.g");
+    add_srs_wkt (p, 10,
+        "tx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g");
+    add_srs_wkt (p, 11,
+        "2012a_puertorico.gtx,g2012a_samoa.gtx\"],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 12,
+        "G\",\"5103\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 13,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5703\"]],AUTH");
+    add_srs_wkt (p, 14,
+        "ORITY[\"EPSG\",\"5499\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5500, "epsg", 5500,
+        "NAD83(NSRS2007)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +geoid");
+    add_proj4text (p, 1,
+        "grids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx");
+    add_proj4text (p, 2,
+        ",g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gt");
+    add_proj4text (p, 3,
+        "x +vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"NAD83(NSRS2007) + NAVD88 height\",GEOGCS[\"NA");
+    add_srs_wkt (p, 1,
+        "D83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Reference");
+    add_srs_wkt (p, 2,
+        "_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+    add_srs_wkt (p, 3,
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],");
+    add_srs_wkt (p, 4,
+        "AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,AUT");
+    add_srs_wkt (p, 5,
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+    add_srs_wkt (p, 6,
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
+    add_srs_wkt (p, 7,
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
+    add_srs_wkt (p, 8,
+        "]],VERT_CS[\"NAVD88 height\",VERT_DATUM[\"North American");
+    add_srs_wkt (p, 9,
+        " Vertical Datum 1988\",2005,EXTENSION[\"PROJ4_GRIDS\",\"");
+    add_srs_wkt (p, 10,
+        "g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012");
+    add_srs_wkt (p, 11,
+        "a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx\"],A");
+    add_srs_wkt (p, 12,
+        "UTHORITY[\"EPSG\",\"5103\"]],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "5703\"]],AUTHORITY[\"EPSG\",\"5500\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5513, "epsg", 5513,
+        "S-JTSK / Krovak", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "System_Jednotne_Trigonometricke_Site_Katastralni", "Krovak", "metre",
+        "X", "South", "Y", "West");
     add_proj4text (p, 0,
         "+proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha");
     add_proj4text (p, 1,
@@ -1993,25 +2782,30 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4156\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "JECTION[\"Krovak\"],PARAMETER[\"latitude_of_center\",49.");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4156\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "5],PARAMETER[\"longitude_of_center\",24.83333333333333],");
+        "N[\"Krovak\"],PARAMETER[\"latitude_of_center\",49.5],PAR");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"azimuth\",30.28813972222222],PARAMETER[\"pse");
+        "AMETER[\"longitude_of_center\",24.83333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "udo_standard_parallel_1\",78.5],PARAMETER[\"scale_factor");
+        "TER[\"azimuth\",30.28813972222222],PARAMETER[\"pseudo_st");
     add_srs_wkt (p, 11,
-        "\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"fa");
+        "andard_parallel_1\",78.5],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 12,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "999],PARAMETER[\"false_easting\",0],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "9001\"]],AXIS[\"X\",SOUTH],AXIS[\"Y\",WEST],AUTHORITY[\"");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "EPSG\",\"5513\"]]");
-    p = add_epsg_def (filter, first, last, 5514, "epsg", 5514,
-        "S-JTSK / Krovak East North");
+        "]],AXIS[\"X\",SOUTH],AXIS[\"Y\",WEST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"5513\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5514, "epsg", 5514,
+        "S-JTSK / Krovak East North", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "System_Jednotne_Trigonometricke_Site_Katastralni", "Krovak", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha");
     add_proj4text (p, 1,
@@ -2031,25 +2825,30 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "156\"]],PROJECTION[\"Krovak\"],PARAMETER[\"latitude_of_c");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4156\"]");
     add_srs_wkt (p, 8,
-        "enter\",49.5],PARAMETER[\"longitude_of_center\",24.83333");
+        "],PROJECTION[\"Krovak\"],PARAMETER[\"latitude_of_center\"");
     add_srs_wkt (p, 9,
-        "333333333],PARAMETER[\"azimuth\",30.28813972222222],PARA");
+        ",49.5],PARAMETER[\"longitude_of_center\",24.833333333333");
     add_srs_wkt (p, 10,
-        "METER[\"pseudo_standard_parallel_1\",78.5],PARAMETER[\"s");
+        "33],PARAMETER[\"azimuth\",30.28813972222222],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "cale_factor\",0.9999],PARAMETER[\"false_easting\",0],PAR");
+        "pseudo_standard_parallel_1\",78.5],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 12,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "tor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 14,
-        "UTHORITY[\"EPSG\",\"5514\"]]");
-    p = add_epsg_def (filter, first, last, 5518, "epsg", 5518,
-        "CI1971 / Chatham Islands Map Grid");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"5514\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5518, "epsg", 5518,
+        "CI1971 / Chatham Islands Map Grid", 0, 1,
+        "International 1924", "Greenwich",
+        "Chatham_Islands_Datum_1971", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-44 +lon_0=-176.5 +k=1 +x_0=350000 +y");
     add_proj4text (p, 1,
@@ -2069,27 +2868,32 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4672\"]]");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4672\"]],PROJE");
     add_srs_wkt (p, 8,
-        "e_of_origin\",-44],PARAMETER[\"central_meridian\",-176.5");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "rigin\",-44],PARAMETER[\"central_meridian\",-176.5],PARA");
     add_srs_wkt (p, 10,
-        "g\",350000],PARAMETER[\"false_northing\",650000],UNIT[\"");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",35");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "0000],PARAMETER[\"false_northing\",650000],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "\",\"5518\"]]");
-    p = add_epsg_def (filter, first, last, 5519, "epsg", 5519,
-        "CI1979 / Chatham Islands Map Grid");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"5518\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5519, "epsg", 5519,
+        "CI1979 / Chatham Islands Map Grid", 0, 1,
+        "International 1924", "Greenwich",
+        "Chatham_Islands_Datum_1979", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=-44 +lon_0=-176.5 +k=1 +x_0=350000 +y");
     add_proj4text (p, 1,
-        "_0=650000 +ellps=intl +towgs84=174.05,-25.49,112.57,-0,-");
+        "_0=650000 +ellps=intl +towgs84=174.05,-25.49,112.57,0,0,");
     add_proj4text (p, 2,
-        "0,0.554,0.2263 +units=m +no_defs");
+        "0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"CI1979 / Chatham Islands Map Grid\",GEOGCS[\"Ch");
     add_srs_wkt (p, 1,
@@ -2097,31 +2901,40 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         ",SPHEROID[\"International 1924\",6378388,297,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7022\"]],TOWGS84[174.05,-25.49,112.57,-0,-0,0.5");
+        "EPSG\",\"7022\"]],TOWGS84[174.05,-25.49,112.57,0,0,0.554");
     add_srs_wkt (p, 4,
-        "54,0.2263],AUTHORITY[\"EPSG\",\"6673\"]],PRIMEM[\"Greenw");
+        ",0.2263],AUTHORITY[\"EPSG\",\"6673\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4673\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",-44],PARAMETER[\"centr");
+        ",\"4673\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "al_meridian\",-176.5],PARAMETER[\"scale_factor\",1],PARA");
+        "R[\"latitude_of_origin\",-44],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",350000],PARAMETER[\"false_northi");
+        "an\",-176.5],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "ng\",650000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "alse_easting\",350000],PARAMETER[\"false_northing\",6500");
     add_srs_wkt (p, 12,
-        "]],AUTHORITY[\"EPSG\",\"5519\"]]");
-    p = add_epsg_def (filter, first, last, 5520, "epsg", 5520,
-        "DHDN / 3-degree Gauss-Kruger zone 1");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"5519\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5520, "epsg", 5520,
+        "DHDN / 3-degree Gauss-Kruger zone 1", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "datum=potsdam +units=m +no_defs");
+        "ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.45");
+    add_proj4text (p, 2,
+        "5,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 1\",GEOGCS[\"");
     add_srs_wkt (p, 1,
@@ -2135,21 +2948,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ian\",3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
     add_srs_wkt (p, 10,
-        "_easting\",1500000],PARAMETER[\"false_northing\",0],UNIT");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "g\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "PSG\",\"5520\"]]");
-    p = add_epsg_def (filter, first, last, 5523, "epsg", 5523,
-        "WGS 84 / Gabon TM 2011");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"5520\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5523, "epsg", 5523,
+        "WGS 84 / Gabon TM 2011", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.9996 +x_0=1500000 ");
     add_proj4text (p, 1,
@@ -2165,21 +2983,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 6,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"central_meridian\",11.5],PARAMETER[\"scale_");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 8,
-        "factor\",0.9996],PARAMETER[\"false_easting\",1500000],PA");
+        "ETER[\"central_meridian\",11.5],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_northing\",5500000],UNIT[\"metre\",1,AUT");
+        "\",0.9996],PARAMETER[\"false_easting\",1500000],PARAMETE");
     add_srs_wkt (p, 10,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "R[\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        "ORTH],AUTHORITY[\"EPSG\",\"5523\"]]");
-    p = add_epsg_def (filter, first, last, 5524, "epsg", 5524,
-        "Corrego Alegre 1961");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AUTHORITY[\"EPSG\",\"5523\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5524, "epsg", 5524,
+        "Corrego Alegre 1961", 1, 1,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1961", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=intl +no_defs");
     add_srs_wkt (p, 0,
@@ -2193,9 +3016,14 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 5,
-        "],AUTHORITY[\"EPSG\",\"5524\"]]");
-    p = add_epsg_def (filter, first, last, 5527, "epsg", 5527,
-        "SAD69(96)");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 6,
+        "ORITY[\"EPSG\",\"5524\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5527, "epsg", 5527,
+        "SAD69(96)", 1, 1,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969_96", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=aust_SA +towgs84=-67.35,3.88,-38.22");
     add_proj4text (p, 1,
@@ -2211,11 +3039,16 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 5,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\",\"5527\"]]");
-    p = add_epsg_def (filter, first, last, 5530, "epsg", 5530,
-        "SAD69(96) / Brazil Polyconic");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"55");
+    add_srs_wkt (p, 7,
+        "27\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5530, "epsg", 5530,
+        "SAD69(96) / Brazil Polyconic", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969_96", "Polyconic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=1000000");
     add_proj4text (p, 1,
@@ -2235,21 +3068,24 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5527\"]],PR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Polyconic\"],PARAMETER[\"latitude_of_origin\"");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-54],PARAMETER[\"fals");
+        "ON[\"Polyconic\"],PARAMETER[\"latitude_of_origin\",0],PA");
     add_srs_wkt (p, 9,
-        "e_easting\",5000000],PARAMETER[\"false_northing\",100000");
+        "RAMETER[\"central_meridian\",-54],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ing\",5000000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5530\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5531, "epsg", 5531,
-        "SAD69(96) / UTM zone 21S");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5530\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5531, "epsg", 5531,
+        "SAD69(96) / UTM zone 21S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969_96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +south +ellps=aust_SA +towgs84=-67.35");
     add_proj4text (p, 1,
@@ -2267,25 +3103,30 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-57],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5531\"]]");
-    p = add_epsg_def (filter, first, last, 5532, "epsg", 5532,
-        "SAD69(96) / UTM zone 22S (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5531\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5532, "epsg", 5532,
+        "SAD69(96) / UTM zone 22S (deprecated)", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=aust_SA +towgs84=-57,1,");
+        "+proj=utm +zone=22 +south +ellps=aust_SA +towgs84=-66.87");
     add_proj4text (p, 1,
-        "-41,0,0,0,0 +units=m +no_defs");
+        ",4.37,-38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
         "PROJCS[\"SAD69(96) / UTM zone 22S (deprecated)\",GEOGCS[");
     add_srs_wkt (p, 1,
@@ -2293,27 +3134,32 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 2,
         "GRS 1967 Modified\",6378160,298.25,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "7050\"]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "7050\"]],TOWGS84[-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "6618\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "EPSG\",\"6618\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-51],PARAMETER[\"scal");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "in\",0],PARAMETER[\"central_meridian\",-51],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
+        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5532\"]]");
-    p = add_epsg_def (filter, first, last, 5533, "epsg", 5533,
-        "SAD69(96) / UTM zone 23S");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+    add_srs_wkt (p, 13,
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5532\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5533, "epsg", 5533,
+        "SAD69(96) / UTM zone 23S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969_96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=23 +south +ellps=aust_SA +towgs84=-67.35");
     add_proj4text (p, 1,
@@ -2331,21 +3177,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-45],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-45],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5533\"]]");
-    p = add_epsg_def (filter, first, last, 5534, "epsg", 5534,
-        "SAD69(96) / UTM zone 24S");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5533\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5534, "epsg", 5534,
+        "SAD69(96) / UTM zone 24S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969_96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=24 +south +ellps=aust_SA +towgs84=-67.35");
     add_proj4text (p, 1,
@@ -2363,21 +3214,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-39],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-39],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5534\"]]");
-    p = add_epsg_def (filter, first, last, 5535, "epsg", 5535,
-        "SAD69(96) / UTM zone 25S");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5534\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5535, "epsg", 5535,
+        "SAD69(96) / UTM zone 25S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969_96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=25 +south +ellps=aust_SA +towgs84=-67.35");
     add_proj4text (p, 1,
@@ -2395,21 +3251,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTI");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-33],PARAMETER[\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"central_meridian\",-33],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5535\"]]");
-    p = add_epsg_def (filter, first, last, 5536, "epsg", 5536,
-        "Corrego Alegre 1961 / UTM zone 21S");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5535\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5536, "epsg", 5536,
+        "Corrego Alegre 1961 / UTM zone 21S", 0, 0,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1961", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +south +ellps=intl +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2423,23 +3284,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"5524\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"5524\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-57],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"5536\"]]");
-    p = add_epsg_def (filter, first, last, 5537, "epsg", 5537,
-        "Corrego Alegre 1961 / UTM zone 22S");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"5536\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5537, "epsg", 5537,
+        "Corrego Alegre 1961 / UTM zone 22S", 0, 0,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1961", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=22 +south +ellps=intl +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2453,23 +3319,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"5524\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"5524\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-51],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"5537\"]]");
-    p = add_epsg_def (filter, first, last, 5538, "epsg", 5538,
-        "Corrego Alegre 1961 / UTM zone 23S");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"5537\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5538, "epsg", 5538,
+        "Corrego Alegre 1961 / UTM zone 23S", 0, 0,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1961", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=23 +south +ellps=intl +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2483,23 +3354,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"5524\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"5524\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-45],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",-45],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"5538\"]]");
-    p = add_epsg_def (filter, first, last, 5539, "epsg", 5539,
-        "Corrego Alegre 1961 / UTM zone 24S");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"5538\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5539, "epsg", 5539,
+        "Corrego Alegre 1961 / UTM zone 24S", 0, 0,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1961", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=24 +south +ellps=intl +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2513,23 +3389,28 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"5524\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"5524\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-39],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",-39],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"5539\"]]");
-    p = add_epsg_def (filter, first, last, 5546, "epsg", 5546,
-        "PNG94");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"5539\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5546, "epsg", 5546,
+        "PNG94", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Papua_New_Guinea_Geodetic_Datum_1994", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
@@ -2545,11 +3426,14 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 4,
         "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5546\"");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5550, "epsg", 5550,
-        "PNG94 / PNGMG94 zone 54");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5546\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5550, "epsg", 5550,
+        "PNG94 / PNGMG94 zone 54", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Papua_New_Guinea_Geodetic_Datum_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -2567,21 +3451,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5546\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"5546\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",141],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "R[\"central_meridian\",141],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"5550\"]]");
-    p = add_epsg_def (filter, first, last, 5551, "epsg", 5551,
-        "PNG94 / PNGMG94 zone 55");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"5550\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5551, "epsg", 5551,
+        "PNG94 / PNGMG94 zone 55", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Papua_New_Guinea_Geodetic_Datum_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -2599,21 +3488,26 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5546\"]],PROJECTION[\"Trans");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "],AUTHORITY[\"EPSG\",\"5546\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",147],PARAMETER[\"scale_fact");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "R[\"central_meridian\",147],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"5551\"]]");
-    p = add_epsg_def (filter, first, last, 5552, "epsg", 5552,
-        "PNG94 / PNGMG94 zone 56");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"5551\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5552, "epsg", 5552,
+        "PNG94 / PNGMG94 zone 56", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Papua_New_Guinea_Geodetic_Datum_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=56 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
@@ -2631,535 +3525,228 @@ initialize_epsg_26 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5546\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",153],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
-    add_srs_wkt (p, 10,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
-    add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
-    add_srs_wkt (p, 12,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"5552\"]]");
-    p = add_epsg_def (filter, first, last, 5559, "epsg", 5559,
-        "Ocotepeque 1935 / Guatemala Norte");
-    add_proj4text (p, 0,
-        "+proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666");
-    add_proj4text (p, 1,
-        "667 +lon_0=-90.33333333333333 +k_0=0.99992226 +x_0=50000");
-    add_proj4text (p, 2,
-        "0 +y_0=292209.579 +ellps=clrk66 +towgs84=213.11,9.37,-74");
-    add_proj4text (p, 3,
-        ".95,0,0,0,0 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"Ocotepeque 1935 / Guatemala Norte\",GEOGCS[\"Oc");
-    add_srs_wkt (p, 1,
-        "otepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Cla");
-    add_srs_wkt (p, 2,
-        "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 3,
-        ",\"7008\"]],TOWGS84[213.11,9.37,-74.95,0,0,0,0],AUTHORIT");
-    add_srs_wkt (p, 4,
-        "Y[\"EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
-    add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
-    add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5451\"]]");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"");
+        "],AUTHORITY[\"EPSG\",\"5546\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",16.81666666666667],PARAMETER[\"cent");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-90.33333333333333],PARAMETER[\"scale_fac");
+        "R[\"central_meridian\",153],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "tor\",0.99992226],PARAMETER[\"false_easting\",500000],PA");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",292209.579],UNIT[\"metre\",1,");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"5559\"]]");
-    p = add_epsg_def (filter, first, last, 5561, "epsg", 5561,
-        "UCS-2000");
+        ",NORTH],AUTHORITY[\"EPSG\",\"5552\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5554, "epsg", 5554,
+        "ETRS89 / UTM zone 31N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=krass +towgs84=25,-141,-78.5,-0,0.3");
+        "+proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "5,0.736,0 +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Kr");
+        "COMPD_CS[\"ETRS89 / UTM zone 31N + DHHN92 height\",PROJC");
     add_srs_wkt (p, 1,
-        "assowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"");
+        "S[\"ETRS89 / UTM zone 31N\",GEOGCS[\"ETRS89\",DATUM[\"Eu");
     add_srs_wkt (p, 2,
-        "]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EP");
+        "ropean_Terrestrial_Reference_System_1989\",SPHEROID[\"GR");
     add_srs_wkt (p, 3,
-        "SG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "S 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019");
     add_srs_wkt (p, 4,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561\"]]");
-    p = add_epsg_def (filter, first, last, 5562, "epsg", 5562,
-        "UCS-2000 / Gauss-Kruger zone 4");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni");
-    add_proj4text (p, 2,
-        "ts=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Gauss-Kruger zone 4\",GEOGCS[\"UCS-2");
-    add_srs_wkt (p, 1,
-        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
-    add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
-    add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
-    add_srs_wkt (p, 4,
         "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",21],PARAMETER[\"scale_facto");
-    add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",4500000],PARAMETER[\"");
-    add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"5562\"]]");
-    p = add_epsg_def (filter, first, last, 5563, "epsg", 5563,
-        "UCS-2000 / Gauss-Kruger zone 5");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni");
-    add_proj4text (p, 2,
-        "ts=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Gauss-Kruger zone 5\",GEOGCS[\"UCS-2");
-    add_srs_wkt (p, 1,
-        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
-    add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
-    add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",27],PARAMETER[\"scale_facto");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",5500000],PARAMETER[\"");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "R[\"central_meridian\",3],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"5563\"]]");
-    p = add_epsg_def (filter, first, last, 5564, "epsg", 5564,
-        "UCS-2000 / Gauss-Kruger zone 6");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+    add_srs_wkt (p, 12,
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 13,
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"25831\"]],VERT_CS[\"DHHN92 height\"");
+    add_srs_wkt (p, 15,
+        ",VERT_DATUM[\"Deutsches Haupthoehennetz 1992\",2005,AUTH");
+    add_srs_wkt (p, 16,
+        "ORITY[\"EPSG\",\"5181\"]],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 17,
+        "PSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"57");
+    add_srs_wkt (p, 18,
+        "83\"]],AUTHORITY[\"EPSG\",\"5554\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5555, "epsg", 5555,
+        "ETRS89 / UTM zone 32N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 ");
+        "+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni");
-    add_proj4text (p, 2,
-        "ts=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Gauss-Kruger zone 6\",GEOGCS[\"UCS-2");
+        "COMPD_CS[\"ETRS89 / UTM zone 32N + DHHN92 height\",PROJC");
     add_srs_wkt (p, 1,
-        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
+        "S[\"ETRS89 / UTM zone 32N\",GEOGCS[\"ETRS89\",DATUM[\"Eu");
     add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
+        "ropean_Terrestrial_Reference_System_1989\",SPHEROID[\"GR");
     add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
+        "S 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",33],PARAMETER[\"scale_facto");
-    add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",6500000],PARAMETER[\"");
-    add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"5564\"]]");
-    p = add_epsg_def (filter, first, last, 5565, "epsg", 5565,
-        "UCS-2000 / Gauss-Kruger zone 7");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni");
-    add_proj4text (p, 2,
-        "ts=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Gauss-Kruger zone 7\",GEOGCS[\"UCS-2");
-    add_srs_wkt (p, 1,
-        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
-    add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
-    add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
-    add_srs_wkt (p, 4,
         "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",39],PARAMETER[\"scale_facto");
-    add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",7500000],PARAMETER[\"");
-    add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"5565\"]]");
-    p = add_epsg_def (filter, first, last, 5566, "epsg", 5566,
-        "UCS-2000 / Gauss-Kruger CM 21E");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
-    add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
-    add_proj4text (p, 2,
-        "s=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Gauss-Kruger CM 21E\",GEOGCS[\"UCS-2");
-    add_srs_wkt (p, 1,
-        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
-    add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
-    add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",21],PARAMETER[\"scale_facto");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "R[\"central_meridian\",9],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"5566\"]]");
-    p = add_epsg_def (filter, first, last, 5567, "epsg", 5567,
-        "UCS-2000 / Gauss-Kruger CM 27E");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+    add_srs_wkt (p, 12,
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 13,
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"25832\"]],VERT_CS[\"DHHN92 height\"");
+    add_srs_wkt (p, 15,
+        ",VERT_DATUM[\"Deutsches Haupthoehennetz 1992\",2005,AUTH");
+    add_srs_wkt (p, 16,
+        "ORITY[\"EPSG\",\"5181\"]],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 17,
+        "PSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"57");
+    add_srs_wkt (p, 18,
+        "83\"]],AUTHORITY[\"EPSG\",\"5555\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5556, "epsg", 5556,
+        "ETRS89 / UTM zone 33N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
-    add_proj4text (p, 2,
-        "s=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Gauss-Kruger CM 27E\",GEOGCS[\"UCS-2");
+        "COMPD_CS[\"ETRS89 / UTM zone 33N + DHHN92 height\",PROJC");
     add_srs_wkt (p, 1,
-        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
+        "S[\"ETRS89 / UTM zone 33N\",GEOGCS[\"ETRS89\",DATUM[\"Eu");
     add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
+        "ropean_Terrestrial_Reference_System_1989\",SPHEROID[\"GR");
     add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
+        "S 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",27],PARAMETER[\"scale_facto");
-    add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
-    add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"5567\"]]");
-    p = add_epsg_def (filter, first, last, 5568, "epsg", 5568,
-        "UCS-2000 / Gauss-Kruger CM 33E");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
-    add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
-    add_proj4text (p, 2,
-        "s=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Gauss-Kruger CM 33E\",GEOGCS[\"UCS-2");
-    add_srs_wkt (p, 1,
-        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
-    add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
-    add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
-    add_srs_wkt (p, 4,
         "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",33],PARAMETER[\"scale_facto");
-    add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
-    add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"5568\"]]");
-    p = add_epsg_def (filter, first, last, 5569, "epsg", 5569,
-        "UCS-2000 / Gauss-Kruger CM 39E");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
-    add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
-    add_proj4text (p, 2,
-        "s=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Gauss-Kruger CM 39E\",GEOGCS[\"UCS-2");
-    add_srs_wkt (p, 1,
-        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
-    add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
-    add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",39],PARAMETER[\"scale_facto");
-    add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
-    add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"5569\"]]");
-    p = add_epsg_def (filter, first, last, 5570, "epsg", 5570,
-        "UCS-2000 / 3-degree Gauss-Kruger zone 7 (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni");
-    add_proj4text (p, 2,
-        "ts=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 7 (deprec");
-    add_srs_wkt (p, 1,
-        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
-    add_srs_wkt (p, 2,
-        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
-    add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
-    add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
-    add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
-    add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
-    add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",21],");
-    add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
-    add_srs_wkt (p, 10,
-        ",7500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
-    add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"55");
-    add_srs_wkt (p, 12,
-        "70\"]]");
-    p = add_epsg_def (filter, first, last, 5571, "epsg", 5571,
-        "UCS-2000 / 3-degree Gauss-Kruger zone 8 (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni");
-    add_proj4text (p, 2,
-        "ts=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 8 (deprec");
-    add_srs_wkt (p, 1,
-        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
-    add_srs_wkt (p, 2,
-        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
-    add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
-    add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
-    add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
-    add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
-    add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",24],");
-    add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
-    add_srs_wkt (p, 10,
-        ",8500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
-    add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"55");
-    add_srs_wkt (p, 12,
-        "71\"]]");
-    p = add_epsg_def (filter, first, last, 5572, "epsg", 5572,
-        "UCS-2000 / 3-degree Gauss-Kruger zone 9 (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni");
-    add_proj4text (p, 2,
-        "ts=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 9 (deprec");
-    add_srs_wkt (p, 1,
-        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
-    add_srs_wkt (p, 2,
-        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
-    add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
-    add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
-    add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",27],");
+        "],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 10,
-        ",9500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "R[\"central_meridian\",15],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"55");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "72\"]]");
-    p = add_epsg_def (filter, first, last, 5573, "epsg", 5573,
-        "UCS-2000 / 3-degree Gauss-Kruger zone 10 (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0");
-    add_proj4text (p, 1,
-        " +ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +un");
-    add_proj4text (p, 2,
-        "its=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 10 (depre");
-    add_srs_wkt (p, 1,
-        "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE");
-    add_srs_wkt (p, 2,
-        "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
-    add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
-    add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
-    add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
-    add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
-    add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",30],");
-    add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
-    add_srs_wkt (p, 10,
-        ",10500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
-    add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"55");
-    add_srs_wkt (p, 12,
-        "73\"]]");
-    p = add_epsg_def (filter, first, last, 5574, "epsg", 5574,
-        "UCS-2000 / 3-degree Gauss-Kruger zone 11 (deprecated)");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"25833\"]],VERT_CS[\"DHHN92 height\"");
+    add_srs_wkt (p, 15,
+        ",VERT_DATUM[\"Deutsches Haupthoehennetz 1992\",2005,AUTH");
+    add_srs_wkt (p, 16,
+        "ORITY[\"EPSG\",\"5181\"]],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 17,
+        "PSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"57");
+    add_srs_wkt (p, 18,
+        "83\"]],AUTHORITY[\"EPSG\",\"5556\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5559, "epsg", 5559,
+        "Ocotepeque 1935 / Guatemala Norte", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Ocotepeque_1935", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0");
+        "+proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +un");
+        "667 +lon_0=-90.33333333333333 +k_0=0.99992226 +x_0=50000");
     add_proj4text (p, 2,
-        "its=m +no_defs");
+        "0 +y_0=292209.579 +ellps=clrk66 +towgs84=205,96,-98,0,0,");
+    add_proj4text (p, 3,
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 11 (depre");
+        "PROJCS[\"Ocotepeque 1935 / Guatemala Norte\",GEOGCS[\"Oc");
     add_srs_wkt (p, 1,
-        "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE");
+        "otepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
+        "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
+        ",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"5451\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",33],");
+        "Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "rigin\",16.81666666666667],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        ",11500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        ",-90.33333333333333],PARAMETER[\"scale_factor\",0.999922");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"55");
+        "26],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "74\"]]");
-    p = add_epsg_def (filter, first, last, 5575, "epsg", 5575,
-        "UCS-2000 / 3-degree Gauss-Kruger zone 12 (deprecated)");
+        "e_northing\",292209.579],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"5559\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5561, "epsg", 5561,
+        "UCS-2000", 1, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0");
+        "+proj=longlat +ellps=krass +towgs84=25,-141,-78.5,0,0.35");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +un");
-    add_proj4text (p, 2,
-        "its=m +no_defs");
+        ",0.736,0 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 12 (depre");
+        "GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Kr");
     add_srs_wkt (p, 1,
-        "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE");
+        "assowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"");
     add_srs_wkt (p, 2,
-        "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
+        "]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
+        "G\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
-    add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
-    add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",36],");
-    add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
-    add_srs_wkt (p, 10,
-        ",12500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
-    add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"55");
-    add_srs_wkt (p, 12,
-        "75\"]]");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_27.c b/src/srsinit/epsg_inlined_27.c
index 864c2a4..2e38b2a 100644
--- a/src/srsinit/epsg_inlined_27.c
+++ b/src/srsinit/epsg_inlined_27.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3334 +54,4065 @@ initialize_epsg_27 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 5576, "epsg", 5576,
-        "UCS-2000 / 3-degree Gauss-Kruger zone 13 (deprecated)");
+    p = add_epsg_def_ex (filter, first, last, 5562, "epsg", 5562,
+        "UCS-2000 / Gauss-Kruger zone 4", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +un");
+        "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit");
     add_proj4text (p, 2,
-        "its=m +no_defs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 13 (depre");
+        "PROJCS[\"UCS-2000 / Gauss-Kruger zone 4\",GEOGCS[\"UCS-2");
     add_srs_wkt (p, 1,
-        "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE");
+        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",39],");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "[\"central_meridian\",21],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        ",13500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "PARAMETER[\"false_easting\",4500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"55");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "76\"]]");
-    p = add_epsg_def (filter, first, last, 5577, "epsg", 5577,
-        "UCS-2000 / 3-degree Gauss-Kruger CM 21E (deprecated)");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5562\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5563, "epsg", 5563,
+        "UCS-2000 / Gauss-Kruger zone 5", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit");
     add_proj4text (p, 2,
         "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 21E (deprec");
+        "PROJCS[\"UCS-2000 / Gauss-Kruger zone 5\",GEOGCS[\"UCS-2");
     add_srs_wkt (p, 1,
-        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
+        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",21],");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "[\"central_meridian\",27],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "PARAMETER[\"false_easting\",5500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"557");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "7\"]]");
-    p = add_epsg_def (filter, first, last, 5578, "epsg", 5578,
-        "UCS-2000 / 3-degree Gauss-Kruger CM 24E (deprecated)");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5563\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5564, "epsg", 5564,
+        "UCS-2000 / Gauss-Kruger zone 6", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit");
     add_proj4text (p, 2,
         "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 24E (deprec");
+        "PROJCS[\"UCS-2000 / Gauss-Kruger zone 6\",GEOGCS[\"UCS-2");
     add_srs_wkt (p, 1,
-        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
+        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",24],");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "[\"central_meridian\",33],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "PARAMETER[\"false_easting\",6500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"557");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "8\"]]");
-    p = add_epsg_def (filter, first, last, 5579, "epsg", 5579,
-        "UCS-2000 / 3-degree Gauss-Kruger CM 27E (deprecated)");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5564\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5565, "epsg", 5565,
+        "UCS-2000 / Gauss-Kruger zone 7", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit");
     add_proj4text (p, 2,
         "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 27E (deprec");
+        "PROJCS[\"UCS-2000 / Gauss-Kruger zone 7\",GEOGCS[\"UCS-2");
     add_srs_wkt (p, 1,
-        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
+        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",27],");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "[\"central_meridian\",39],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "PARAMETER[\"false_easting\",7500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"557");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 5580, "epsg", 5580,
-        "UCS-2000 / 3-degree Gauss-Kruger CM 30E (deprecated)");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5565\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5566, "epsg", 5566,
+        "UCS-2000 / Gauss-Kruger CM 21E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 30E (deprec");
+        "PROJCS[\"UCS-2000 / Gauss-Kruger CM 21E\",GEOGCS[\"UCS-2");
     add_srs_wkt (p, 1,
-        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
+        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",30],");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "[\"central_meridian\",21],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"558");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 5581, "epsg", 5581,
-        "UCS-2000 / 3-degree Gauss-Kruger CM 33E (deprecated)");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5566\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5567, "epsg", 5567,
+        "UCS-2000 / Gauss-Kruger CM 27E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 33E (deprec");
+        "PROJCS[\"UCS-2000 / Gauss-Kruger CM 27E\",GEOGCS[\"UCS-2");
     add_srs_wkt (p, 1,
-        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
+        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",33],");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "[\"central_meridian\",27],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"558");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 5582, "epsg", 5582,
-        "UCS-2000 / 3-degree Gauss-Kruger CM 36E (deprecated)");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5567\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5568, "epsg", 5568,
+        "UCS-2000 / Gauss-Kruger CM 33E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 36E (deprec");
+        "PROJCS[\"UCS-2000 / Gauss-Kruger CM 33E\",GEOGCS[\"UCS-2");
     add_srs_wkt (p, 1,
-        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
+        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",36],");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "[\"central_meridian\",33],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"558");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 5583, "epsg", 5583,
-        "UCS-2000 / 3-degree Gauss-Kruger CM 39E (deprecated)");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5568\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5569, "epsg", 5569,
+        "UCS-2000 / Gauss-Kruger CM 39E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 39E (deprec");
+        "PROJCS[\"UCS-2000 / Gauss-Kruger CM 39E\",GEOGCS[\"UCS-2");
     add_srs_wkt (p, 1,
-        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
+        "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5561");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",39],");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "[\"central_meridian\",39],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"558");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 5588, "epsg", 5588,
-        "NAD27 / New Brunswick Stereographic (NAD27)");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5569\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5570, "epsg", 5570,
+        "UCS-2000 / 3-degree Gauss-Kruger zone 7 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=3");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "04800 +y_0=304800 +datum=NAD27 +units=ft +no_defs");
+        "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit");
+    add_proj4text (p, 2,
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / New Brunswick Stereographic (NAD27)\",G");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 7 (deprec");
     add_srs_wkt (p, 1,
-        "EOGCS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHE");
+        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
     add_srs_wkt (p, 2,
-        "ROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORI");
+        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRI");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4267\"]],PROJECTION[\"Oblique_Ste");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "reographic\"],PARAMETER[\"latitude_of_origin\",46.5],PAR");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",-66.5],PARAMETER[\"scale_fac");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "tor\",0.999912],PARAMETER[\"false_easting\",1000000],PAR");
+        "f_origin\",0],PARAMETER[\"central_meridian\",21],PARAMET");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",1000000],UNIT[\"foot\",0.3048,");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",75000");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9002\"]],AUTHORITY[\"EPSG\",\"5588\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5589, "epsg", 5589,
-        "Sibun Gorge 1922 / Colony Grid");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"5570\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5571, "epsg", 5571,
+        "UCS-2000 / 3-degree Gauss-Kruger zone 8 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=17.06124194444444 +lon_0=-88.6318575 ");
+        "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+k=1 +x_0=66220.02833082761 +y_0=135779.5099885299 +a=63");
+        "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit");
     add_proj4text (p, 2,
-        "78293.645208759 +b=6356617.987679838 +to_meter=0.3047972");
-    add_proj4text (p, 3,
-        "654 +no_defs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Sibun Gorge 1922 / Colony Grid\",GEOGCS[\"Sibun");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 8 (deprec");
     add_srs_wkt (p, 1,
-        " Gorge 1922\",DATUM[\"Sibun_Gorge_1922\",SPHEROID[\"Clar");
+        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
     add_srs_wkt (p, 2,
-        "ke 1858\",6378293.645208759,294.2606763692569,AUTHORITY[");
+        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"1071\"]],PRIMEM");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"5464\"]],PROJECTION[\"Transverse_Me");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",17.0612419444");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "4444],PARAMETER[\"central_meridian\",-88.6318575],PARAME");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",2172");
+        "f_origin\",0],PARAMETER[\"central_meridian\",24],PARAMET");
     add_srs_wkt (p, 10,
-        "59.26],PARAMETER[\"false_northing\",445474.83],UNIT[\"Cl");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",85000");
     add_srs_wkt (p, 11,
-        "arke's foot\",0.3047972654,AUTHORITY[\"EPSG\",\"9005\"]]");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"5589\"]]");
-    p = add_epsg_def (filter, first, last, 5593, "epsg", 5593,
-        "FEH2010");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
-    add_proj4text (p, 1,
-        "fs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"FEH2010\",DATUM[\"Fehmarnbelt_Datum_2010\",SPHE");
-    add_srs_wkt (p, 1,
-        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
-    add_srs_wkt (p, 2,
-        "\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 3,
-        "\"1078\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
-    add_srs_wkt (p, 4,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
-    add_srs_wkt (p, 5,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5593\"]]");
-    p = add_epsg_def (filter, first, last, 5596, "epsg", 5596,
-        "FEH2010 / Fehmarnbelt TM");
+        "EAST],AUTHORITY[\"EPSG\",\"5571\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5572, "epsg", 5572,
+        "UCS-2000 / 3-degree Gauss-Kruger zone 9 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=11.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+        "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit");
     add_proj4text (p, 2,
         "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"FEH2010 / Fehmarnbelt TM\",GEOGCS[\"FEH2010\",D");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 9 (deprec");
     add_srs_wkt (p, 1,
-        "ATUM[\"Fehmarnbelt_Datum_2010\",SPHEROID[\"GRS 1980\",63");
+        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1078\"]],PRIMEM[\"");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"5593\"]],PROJECTION[\"Transverse_Merca");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "entral_meridian\",11.33333333333333],PARAMETER[\"scale_f");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",1000000],PARAMETE");
+        "f_origin\",0],PARAMETER[\"central_meridian\",27],PARAMET");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",95000");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"5596\"]]");
-    p = add_epsg_def (filter, first, last, 5623, "epsg", 5623,
-        "NAD27 / Michigan East");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"5572\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5573, "epsg", 5573,
+        "UCS-2000 / 3-degree Gauss-Kruger zone 10 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.9");
+        "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0");
     add_proj4text (p, 1,
-        "99942857 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
+        " +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +uni");
     add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        "ts=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Michigan East\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 10 (depre");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",41.5],PARAMETER[\"central_meridi");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "an\",-83.66666666666667],PARAMETER[\"scale_factor\",0.99");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "9942857],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "f_origin\",0],PARAMETER[\"central_meridian\",30],PARAMET");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",10500");
     add_srs_wkt (p, 11,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5623\"]]");
-    p = add_epsg_def (filter, first, last, 5624, "epsg", 5624,
-        "NAD27 / Michigan Old Central");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"5573\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5574, "epsg", 5574,
+        "UCS-2000 / 3-degree Gauss-Kruger zone 11 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_");
+        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0");
     add_proj4text (p, 1,
-        "0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no");
+        " +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +uni");
     add_proj4text (p, 2,
-        "_defs");
+        "ts=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Michigan Old Central\",GEOGCS[\"NAD27\"");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 11 (depre");
     add_srs_wkt (p, 1,
-        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
+        "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE");
     add_srs_wkt (p, 2,
-        "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7");
+        "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",41.5],PARAMETER[\"central");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "_meridian\",-85.75],PARAMETER[\"scale_factor\",0.9999090");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "91],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "f_origin\",0],PARAMETER[\"central_meridian\",33],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",11500");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"5624\"]]");
-    p = add_epsg_def (filter, first, last, 5625, "epsg", 5625,
-        "NAD27 / Michigan West");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"5574\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5575, "epsg", 5575,
+        "UCS-2000 / 3-degree Gauss-Kruger zone 12 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_");
+        "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0");
     add_proj4text (p, 1,
-        "0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no");
+        " +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +uni");
     add_proj4text (p, 2,
-        "_defs");
+        "ts=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Michigan West\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 12 (depre");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",41.5],PARAMETER[\"central_meridi");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "an\",-88.75],PARAMETER[\"scale_factor\",0.999909091],PAR");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "f_origin\",0],PARAMETER[\"central_meridian\",36],PARAMET");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",12500");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "RTH],AUTHORITY[\"EPSG\",\"5625\"]]");
-    p = add_epsg_def (filter, first, last, 5627, "epsg", 5627,
-        "ED50 / TM 6 NE");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"5575\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5576, "epsg", 5576,
+        "UCS-2000 / 3-degree Gauss-Kruger zone 13 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +n");
+        " +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +uni");
     add_proj4text (p, 2,
-        "o_defs");
+        "ts=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / TM 6 NE\",GEOGCS[\"ED50\",DATUM[\"Europe");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 13 (depre");
     add_srs_wkt (p, 1,
-        "an_Datum_1950\",SPHEROID[\"International 1924\",6378388,");
+        "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE");
     add_srs_wkt (p, 2,
-        "297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-121,0");
+        "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Greenwich");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "ridian\",6],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "f_origin\",0],PARAMETER[\"central_meridian\",39],PARAMET");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",13500");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "G\",\"5627\"]]");
-    p = add_epsg_def (filter, first, last, 5629, "epsg", 5629,
-        "Moznet / UTM zone 38S");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"5576\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5577, "epsg", 5577,
+        "UCS-2000 / 3-degree Gauss-Kruger CM 21E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +south +ellps=WGS84 +towgs84=0,0,0,-0");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        ",-0,-0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Moznet / UTM zone 38S\",GEOGCS[\"Moznet\",DATUM");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 21E (deprec");
     add_srs_wkt (p, 1,
-        "[\"Moznet_ITRF94\",SPHEROID[\"WGS 84\",6378137,298.25722");
+        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
     add_srs_wkt (p, 2,
-        "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,-0,-0,-");
+        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "0,0],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\",");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "G\",\"4130\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "ian\",45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        "f_origin\",0],PARAMETER[\"central_meridian\",21],PARAMET");
     add_srs_wkt (p, 10,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"5629\"]]");
-    p = add_epsg_def (filter, first, last, 5631, "epsg", 5631,
-        "Pulkovo 1942(58) / Gauss-Kruger zone 2 (E-N)");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E");
+    add_srs_wkt (p, 13,
+        "AST],AUTHORITY[\"EPSG\",\"5577\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5578, "epsg", 5578,
+        "UCS-2000 / 3-degree Gauss-Kruger CM 24E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.8");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "44,-0.84 +units=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942(58) / Gauss-Kruger zone 2 (E-N)\",");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 24E (deprec");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942(58)\",DATUM[\"Pulkovo_1942_58\",SP");
+        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
     add_srs_wkt (p, 2,
-        "HEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPS");
+        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "G\",\"7024\"]],TOWGS84[33.4,-146.6,-76.3,-0.359,-0.053,0");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        ".844,-0.84],AUTHORITY[\"EPSG\",\"6179\"]],PRIMEM[\"Green");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "l_meridian\",9],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "f_origin\",0],PARAMETER[\"central_meridian\",24],PARAMET");
     add_srs_wkt (p, 10,
-        "\"false_easting\",2500000],PARAMETER[\"false_northing\",");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E");
     add_srs_wkt (p, 13,
-        "G\",\"5631\"]]");
-    p = add_epsg_def (filter, first, last, 5632, "epsg", 5632,
-        "PTRA08 / LCC Europe");
+        "AST],AUTHORITY[\"EPSG\",\"5578\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5579, "epsg", 5579,
+        "UCS-2000 / 3-degree Gauss-Kruger CM 27E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4");
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PTRA08 / LCC Europe\",GEOGCS[\"PTRA08\",DATUM[\"");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 27E (deprec");
     add_srs_wkt (p, 1,
-        "Autonomous_Regions_of_Portugal_2008\",SPHEROID[\"GRS 198");
+        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
     add_srs_wkt (p, 2,
-        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
+        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1041\"]],PRI");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"5013\"]],PROJECTION[\"Lambert_Con");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",65],PARAMETER[\"lati");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",52],PARAMETER[\"central_meridian\",10],");
+        "f_origin\",0],PARAMETER[\"central_meridian\",27],PARAMET");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",4000000],PARAMETER[\"false_n");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "orthing\",2800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "9001\"]],AUTHORITY[\"EPSG\",\"5632\"]]");
-    p = add_epsg_def (filter, first, last, 5633, "epsg", 5633,
-        "PTRA08 / LAEA Europe");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E");
+    add_srs_wkt (p, 13,
+        "AST],AUTHORITY[\"EPSG\",\"5579\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5580, "epsg", 5580,
+        "UCS-2000 / 3-degree Gauss-Kruger CM 30E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000");
+        "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PTRA08 / LAEA Europe\",GEOGCS[\"PTRA08\",DATUM[");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 30E (deprec");
     add_srs_wkt (p, 1,
-        "\"Autonomous_Regions_of_Portugal_2008\",SPHEROID[\"GRS 1");
+        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
     add_srs_wkt (p, 2,
-        "980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]");
+        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1041\"]],P");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"5013\"]],PROJECTION[\"Lambert_");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "Azimuthal_Equal_Area\"],PARAMETER[\"latitude_of_center\"");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        ",52],PARAMETER[\"longitude_of_center\",10],PARAMETER[\"f");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "alse_easting\",4321000],PARAMETER[\"false_northing\",321");
+        "f_origin\",0],PARAMETER[\"central_meridian\",30],PARAMET");
     add_srs_wkt (p, 10,
-        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"5633\"]]");
-    p = add_epsg_def (filter, first, last, 5634, "epsg", 5634,
-        "REGCAN95 / LCC Europe");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+    add_srs_wkt (p, 12,
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E");
+    add_srs_wkt (p, 13,
+        "AST],AUTHORITY[\"EPSG\",\"5580\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5581, "epsg", 5581,
+        "UCS-2000 / 3-degree Gauss-Kruger CM 33E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4");
+        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"REGCAN95 / LCC Europe\",GEOGCS[\"REGCAN95\",DAT");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 33E (deprec");
     add_srs_wkt (p, 1,
-        "UM[\"Red_Geodesica_de_Canarias_1995\",SPHEROID[\"GRS 198");
+        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
     add_srs_wkt (p, 2,
-        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
+        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1035\"]],PRI");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4081\"]],PROJECTION[\"Lambert_Con");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",65],PARAMETER[\"lati");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",52],PARAMETER[\"central_meridian\",10],");
+        "f_origin\",0],PARAMETER[\"central_meridian\",33],PARAMET");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",4000000],PARAMETER[\"false_n");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "orthing\",2800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "9001\"]],AUTHORITY[\"EPSG\",\"5634\"]]");
-    p = add_epsg_def (filter, first, last, 5635, "epsg", 5635,
-        "REGCAN95 / LAEA Europe");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E");
+    add_srs_wkt (p, 13,
+        "AST],AUTHORITY[\"EPSG\",\"5581\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5582, "epsg", 5582,
+        "UCS-2000 / 3-degree Gauss-Kruger CM 36E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000");
+        "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"REGCAN95 / LAEA Europe\",GEOGCS[\"REGCAN95\",DA");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 36E (deprec");
     add_srs_wkt (p, 1,
-        "TUM[\"Red_Geodesica_de_Canarias_1995\",SPHEROID[\"GRS 19");
+        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1035\"]],PR");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4081\"]],PROJECTION[\"Lambert_Az");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "imuthal_Equal_Area\"],PARAMETER[\"latitude_of_center\",5");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "2],PARAMETER[\"longitude_of_center\",10],PARAMETER[\"fal");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "se_easting\",4321000],PARAMETER[\"false_northing\",32100");
+        "f_origin\",0],PARAMETER[\"central_meridian\",36],PARAMET");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"5635\"]]");
-    p = add_epsg_def (filter, first, last, 5636, "epsg", 5636,
-        "TUREF / LAEA Europe");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+    add_srs_wkt (p, 12,
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E");
+    add_srs_wkt (p, 13,
+        "AST],AUTHORITY[\"EPSG\",\"5582\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5583, "epsg", 5583,
+        "UCS-2000 / 3-degree Gauss-Kruger CM 39E (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000");
+        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"TUREF / LAEA Europe\",GEOGCS[\"TUREF\",DATUM[\"");
+        "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 39E (deprec");
     add_srs_wkt (p, 1,
-        "Turkish_National_Reference_Frame\",SPHEROID[\"GRS 1980\"");
+        "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1057\"]],PRIMEM");
+        ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"5252\"]],PROJECTION[\"Lambert_Azimu");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "thal_Equal_Area\"],PARAMETER[\"latitude_of_center\",52],");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"longitude_of_center\",10],PARAMETER[\"false_");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "easting\",4321000],PARAMETER[\"false_northing\",3210000]");
+        "f_origin\",0],PARAMETER[\"central_meridian\",39],PARAMET");
     add_srs_wkt (p, 10,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORIT");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"5636\"]]");
-    p = add_epsg_def (filter, first, last, 5637, "epsg", 5637,
-        "TUREF / LCC Europe");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+    add_srs_wkt (p, 12,
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E");
+    add_srs_wkt (p, 13,
+        "AST],AUTHORITY[\"EPSG\",\"5583\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5588, "epsg", 5588,
+        "NAD27 / New Brunswick Stereographic (NAD27)", 0, 1,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Oblique_Stereographic", "foot",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4");
+        "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=3");
     add_proj4text (p, 1,
-        "000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
-    add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "04800 +y_0=304800 +datum=NAD27 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"TUREF / LCC Europe\",GEOGCS[\"TUREF\",DATUM[\"T");
+        "PROJCS[\"NAD27 / New Brunswick Stereographic (NAD27)\",G");
     add_srs_wkt (p, 1,
-        "urkish_National_Reference_Frame\",SPHEROID[\"GRS 1980\",");
+        "EOGCS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHE");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "ROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORI");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1057\"]],PRIMEM[");
+        "TY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRI");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"5252\"]],PROJECTION[\"Lambert_Confor");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35],P");
+        "ORITY[\"EPSG\",\"4267\"]],PROJECTION[\"Oblique_Stereogra");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_2\",65],PARAMETER[\"latitud");
+        "phic\"],PARAMETER[\"latitude_of_origin\",46.5],PARAMETER");
     add_srs_wkt (p, 9,
-        "e_of_origin\",52],PARAMETER[\"central_meridian\",10],PAR");
+        "[\"central_meridian\",-66.5],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",4000000],PARAMETER[\"false_nort");
+        "0.999912],PARAMETER[\"false_easting\",1000000],PARAMETER");
     add_srs_wkt (p, 11,
-        "hing\",2800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_northing\",1000000],UNIT[\"foot\",0.3048,AUTHOR");
     add_srs_wkt (p, 12,
-        "01\"]],AUTHORITY[\"EPSG\",\"5637\"]]");
-    p = add_epsg_def (filter, first, last, 5638, "epsg", 5638,
-        "ISN2004 / LAEA Europe");
+        "ITY[\"EPSG\",\"9002\"]],AXIS[\"Northing\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Easting\",EAST],AUTHORITY[\"EPSG\",\"5588\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5589, "epsg", 5589,
+        "Sibun Gorge 1922 / Colony Grid", 0, 0,
+        "Clarke 1858", "Greenwich",
+        "Sibun_Gorge_1922", "Transverse_Mercator", "Clarke's foot",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000");
+        "+proj=tmerc +lat_0=17.06124194444444 +lon_0=-88.6318575 ");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "+k=1 +x_0=66220.02833082761 +y_0=135779.5099885299 +a=63");
+    add_proj4text (p, 2,
+        "78293.645208759 +b=6356617.987679838 +to_meter=0.3047972");
+    add_proj4text (p, 3,
+        "654 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ISN2004 / LAEA Europe\",GEOGCS[\"ISN2004\",DATU");
+        "PROJCS[\"Sibun Gorge 1922 / Colony Grid\",GEOGCS[\"Sibun");
     add_srs_wkt (p, 1,
-        "M[\"Islands_Net_2004\",SPHEROID[\"GRS 1980\",6378137,298");
+        " Gorge 1922\",DATUM[\"Sibun_Gorge_1922\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        ".257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0");
+        "ke 1858\",6378293.645208759,294.2606763692606,AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",0,0,0],AUTHORITY[\"EPSG\",\"1060\"]],PRIMEM[\"Greenwich");
+        "\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"1071\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "EPSG\",\"5324\"]],PROJECTION[\"Lambert_Azimuthal_Equal_A");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rea\"],PARAMETER[\"latitude_of_center\",52],PARAMETER[\"");
+        "ITY[\"EPSG\",\"5464\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "longitude_of_center\",10],PARAMETER[\"false_easting\",43");
+        "\"],PARAMETER[\"latitude_of_origin\",17.06124194444444],");
     add_srs_wkt (p, 9,
-        "21000],PARAMETER[\"false_northing\",3210000],UNIT[\"metr");
+        "PARAMETER[\"central_meridian\",-88.6318575],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",217259.26]");
     add_srs_wkt (p, 11,
-        "5638\"]]");
-    p = add_epsg_def (filter, first, last, 5639, "epsg", 5639,
-        "ISN2004 / LCC Europe");
+        ",PARAMETER[\"false_northing\",445474.83],UNIT[\"Clarke's");
+    add_srs_wkt (p, 12,
+        " foot\",0.3047972654,AUTHORITY[\"EPSG\",\"9005\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"5589\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5593, "epsg", 5593,
+        "FEH2010", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Fehmarnbelt_Datum_2010", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
-        "000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
-    add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ISN2004 / LCC Europe\",GEOGCS[\"ISN2004\",DATUM");
+        "GEOGCS[\"FEH2010\",DATUM[\"Fehmarnbelt_Datum_2010\",SPHE");
     add_srs_wkt (p, 1,
-        "[\"Islands_Net_2004\",SPHEROID[\"GRS 1980\",6378137,298.");
+        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 2,
-        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,");
+        "\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "0,0,0],AUTHORITY[\"EPSG\",\"1060\"]],PRIMEM[\"Greenwich\"");
+        "\"1078\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 6,
-        "SG\",\"5324\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
-    add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",35],PARAMETER[\"st");
-    add_srs_wkt (p, 8,
-        "andard_parallel_2\",65],PARAMETER[\"latitude_of_origin\"");
-    add_srs_wkt (p, 9,
-        ",52],PARAMETER[\"central_meridian\",10],PARAMETER[\"fals");
-    add_srs_wkt (p, 10,
-        "e_easting\",4000000],PARAMETER[\"false_northing\",280000");
-    add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHOR");
-    add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"5639\"]]");
-    p = add_epsg_def (filter, first, last, 5641, "epsg", 5641,
-        "SIRGAS 2000 / Brazil Mercator");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"5593\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5596, "epsg", 5596,
+        "FEH2010 / Fehmarnbelt TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Fehmarnbelt_Datum_2010", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=merc +lon_0=-43 +lat_ts=-2 +x_0=5000000 +y_0=10000");
+        "+proj=tmerc +lat_0=0 +lon_0=11.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_def");
+        "1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
     add_proj4text (p, 2,
-        "s");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / Brazil Mercator\",GEOGCS[\"SIRGAS");
+        "PROJCS[\"FEH2010 / Fehmarnbelt TM\",GEOGCS[\"FEH2010\",D");
     add_srs_wkt (p, 1,
-        " 2000\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_l");
+        "ATUM[\"Fehmarnbelt_Datum_2010\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        "as_AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1078\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "\",\"4674\"]],PROJECTION[\"Mercator_2SP\"],PARAMETER[\"s");
+        "[\"EPSG\",\"5593\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "tandard_parallel_1\",-2],PARAMETER[\"central_meridian\",");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "-43],PARAMETER[\"false_easting\",5000000],PARAMETER[\"fa");
+        "_meridian\",11.33333333333333],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ",1],PARAMETER[\"false_easting\",1000000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"5641\"]]");
-    p = add_epsg_def (filter, first, last, 5643, "epsg", 5643,
-        "ED50 / SPBA LCC");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"5596\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5598, "epsg", 5598,
+        "FEH2010 / Fehmarnbelt TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Fehmarnbelt_Datum_2010", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=52.66666666666666 +lat_2=54.33333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=11.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "334 +lat_0=48 +lon_0=10 +x_0=815000 +y_0=0 +ellps=intl +");
+        "1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
     add_proj4text (p, 2,
-        "towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs");
+        "s=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / SPBA LCC\",GEOGCS[\"ED50\",DATUM[\"Europ");
+        "COMPD_CS[\"FEH2010 / Fehmarnbelt TM + FCSVR10 height\",P");
     add_srs_wkt (p, 1,
-        "ean_Datum_1950\",SPHEROID[\"International 1924\",6378388");
+        "ROJCS[\"FEH2010 / Fehmarnbelt TM\",GEOGCS[\"FEH2010\",DA");
     add_srs_wkt (p, 2,
-        ",297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-121,");
+        "TUM[\"Fehmarnbelt_Datum_2010\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 3,
-        "0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Greenwic");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 4,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1078\"]],PRIMEM[\"G");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4230\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"standard_parallel_1\",52.6666666666666");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 8,
-        "6],PARAMETER[\"standard_parallel_2\",54.33333333333334],");
+        "\"EPSG\",\"5593\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",48],PARAMETER[\"central");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 10,
-        "_meridian\",10],PARAMETER[\"false_easting\",815000],PARA");
+        "meridian\",11.33333333333333],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",1000000],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"5643\"]]");
-    p = add_epsg_def (filter, first, last, 5644, "epsg", 5644,
-        "RGR92 / UTM zone 39S");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"5596\"]],VERT_CS[\"FCSVR10 height\"");
+    add_srs_wkt (p, 15,
+        ",VERT_DATUM[\"Fehmarnbelt Vertical Reference 2010\",2005");
+    add_srs_wkt (p, 16,
+        ",AUTHORITY[\"EPSG\",\"1079\"]],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 17,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 18,
+        ",\"5597\"]],AUTHORITY[\"EPSG\",\"5598\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5623, "epsg", 5623,
+        "NAD27 / Michigan East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "99942857 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"RGR92 / UTM zone 39S\",GEOGCS[\"RGR92\",DATUM[\"");
+        "PROJCS[\"NAD27 / Michigan East\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "Reseau_Geodesique_de_la_Reunion_1992\",SPHEROID[\"GRS 19");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6627\"]],PR");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4627\"]],PROJECTION[\"Transverse");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",51],PARAMETER[\"scale_factor\",0");
+        "itude_of_origin\",41.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "83.66666666666667],PARAMETER[\"scale_factor\",0.99994285");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "7],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"5644\"]]");
-    p = add_epsg_def (filter, first, last, 5646, "epsg", 5646,
-        "NAD83 / Vermont (ftUS)");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"5623\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5624, "epsg", 5624,
+        "NAD27 / Michigan Old Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
+        "+proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_");
     add_proj4text (p, 1,
-        "=500000.00001016 +y_0=0 +datum=NAD83 +units=us-ft +no_de");
+        "0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no");
     add_proj4text (p, 2,
-        "fs");
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Vermont (ftUS)\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"NAD27 / Michigan Old Central\",GEOGCS[\"NAD27\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",42.5],PARAMETER[\"");
+        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "central_meridian\",-72.5],PARAMETER[\"scale_factor\",0.9");
+        "R[\"latitude_of_origin\",41.5],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "99964286],PARAMETER[\"false_easting\",1640416.6667],PARA");
+        "ian\",-85.75],PARAMETER[\"scale_factor\",0.999909091],PA");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5646\"]]");
-    p = add_epsg_def (filter, first, last, 5649, "epsg", 5649,
-        "ETRS89 / UTM zone 31N (zE-N)");
+        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"5624\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5625, "epsg", 5625,
+        "NAD27 / Michigan West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=3 +k=0.9996 +x_0=31500000 +y");
+        "+proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+        "0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no");
     add_proj4text (p, 2,
-        "fs");
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 31N (zE-N)\",GEOGCS[\"ETRS89\"");
+        "PROJCS[\"NAD27 / Michigan West\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",3],PARAMETER[\"sc");
+        "itude_of_origin\",41.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",3150000");
+        "88.75],PARAMETER[\"scale_factor\",0.999909091],PARAMETER");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5649\"]]");
-    p = add_epsg_def (filter, first, last, 5650, "epsg", 5650,
-        "ETRS89 / UTM zone 33N (zE-N)");
+        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"5625\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5627, "epsg", 5627,
+        "ED50 / TM 6 NE", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=33500000 +");
+        "+proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0");
     add_proj4text (p, 1,
-        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_d");
+        "=0 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +n");
     add_proj4text (p, 2,
-        "efs");
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 33N (zE-N)\",GEOGCS[\"ETRS89\"");
+        "PROJCS[\"ED50 / TM 6 NE\",GEOGCS[\"ED50\",DATUM[\"Europe");
     add_srs_wkt (p, 1,
-        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
+        "an_Datum_1950\",SPHEROID[\"International 1924\",6378388,");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-121,0");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        ",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"s");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",335000");
+        "\",6],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5650\"]]");
-    p = add_epsg_def (filter, first, last, 5651, "epsg", 5651,
-        "ETRS89 / UTM zone 31N (N-zE)");
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "5627\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5628, "epsg", 5628,
+        "SWEREF99", 1, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=3 +k=0.9996 +x_0=31500000 +y");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunit");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
-    add_proj4text (p, 2,
-        "fs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 31N (N-zE)\",GEOGCS[\"ETRS89\"");
+        "COMPD_CS[\"SWEREF99 + RH2000 height\",GEOGCS[\"SWEREF99\"");
     add_srs_wkt (p, 1,
-        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
+        ",DATUM[\"SWEREF99\",SPHEROID[\"GRS 1980\",6378137,298.25");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "7222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "0,0],AUTHORITY[\"EPSG\",\"6619\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 4,
-        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "4619\"]],VERT_CS[\"RH2000 height\",VERT_DATUM[\"Rikets h");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",3],PARAMETER[\"sc");
+        "ojdsystem 2000\",2005,AUTHORITY[\"EPSG\",\"5208\"]],UNIT");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",3150000");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",U");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "P],AUTHORITY[\"EPSG\",\"5613\"]],AUTHORITY[\"EPSG\",\"56");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5651\"]]");
-    p = add_epsg_def (filter, first, last, 5652, "epsg", 5652,
-        "ETRS89 / UTM zone 32N (N-zE)");
+        "28\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5629, "epsg", 5629,
+        "Moznet / UTM zone 38S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Moznet_ITRF94", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=32500000 +y");
+        "+proj=utm +zone=38 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
-    add_proj4text (p, 2,
-        "fs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 32N (N-zE)\",GEOGCS[\"ETRS89\"");
+        "PROJCS[\"Moznet / UTM zone 38S\",GEOGCS[\"Moznet\",DATUM");
     add_srs_wkt (p, 1,
-        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
+        "[\"Moznet_ITRF94\",SPHEROID[\"WGS 84\",6378137,298.25722");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"413");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "0\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"sc");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",45]");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",3250000");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5652\"]]");
-    p = add_epsg_def (filter, first, last, 5653, "epsg", 5653,
-        "ETRS89 / UTM zone 33N (N-zE)");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"5629\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5631, "epsg", 5631,
+        "Pulkovo 1942(58) / Gauss-Kruger zone 2 (E-N)", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=33500000 +");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_d");
+        "ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.8");
     add_proj4text (p, 2,
-        "efs");
+        "44,-0.84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 33N (N-zE)\",GEOGCS[\"ETRS89\"");
+        "PROJCS[\"Pulkovo 1942(58) / Gauss-Kruger zone 2 (E-N)\",");
     add_srs_wkt (p, 1,
-        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
+        "GEOGCS[\"Pulkovo 1942(58)\",DATUM[\"Pulkovo_1942_58\",SP");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "HEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "G\",\"7024\"]],TOWGS84[33.4,-146.6,-76.3,-0.359,-0.053,0");
     add_srs_wkt (p, 4,
-        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        ".844,-0.84],AUTHORITY[\"EPSG\",\"6179\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTI");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"s");
+        "SG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",335000");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "dian\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"5653\"]]");
-    p = add_epsg_def (filter, first, last, 5654, "epsg", 5654,
-        "NAD83(HARN) / Vermont (ftUS)");
+        "e_easting\",2500000],PARAMETER[\"false_northing\",0],UNI");
+    add_srs_wkt (p, 12,
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+    add_srs_wkt (p, 13,
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "5631\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5632, "epsg", 5632,
+        "PTRA08 / LCC Europe", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Autonomous_Regions_of_Portugal_2008", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
+        "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4");
     add_proj4text (p, 1,
-        "=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,");
+        "000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
     add_proj4text (p, 2,
-        "0,0 +units=us-ft +no_defs");
+        "+units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Vermont (ftUS)\",GEOGCS[\"NAD83(H");
+        "PROJCS[\"PTRA08 / LCC Europe\",GEOGCS[\"PTRA08\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\",S");
+        "Autonomous_Regions_of_Portugal_2008\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 2,
-        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 3,
-        "PSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1041\"]],PRI");
     add_srs_wkt (p, 4,
-        "\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJEC");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "ORITY[\"EPSG\",\"5013\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "igin\",42.5],PARAMETER[\"central_meridian\",-72.5],PARAM");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35],PARA");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.999964286],PARAMETER[\"false_eas");
+        "METER[\"standard_parallel_2\",65],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        "ting\",1640416.6667],PARAMETER[\"false_northing\",0],UNI");
+        "f_origin\",52],PARAMETER[\"central_meridian\",10],PARAME");
     add_srs_wkt (p, 11,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "TER[\"false_easting\",4000000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "g\",2800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"5654\"]]");
-    p = add_epsg_def (filter, first, last, 5655, "epsg", 5655,
-        "NAD83(NSRS2007) / Vermont (ftUS)");
+        "]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"5632\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5633, "epsg", 5633,
+        "PTRA08 / LAEA Europe", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Autonomous_Regions_of_Portugal_2008", "Lambert_Azimuthal_Equal_Area", "metre",
+        "Y", "North", "X", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
+        "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000");
     add_proj4text (p, 1,
-        "=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,");
-    add_proj4text (p, 2,
-        "0,0 +units=us-ft +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Vermont (ftUS)\",GEOGCS[\"NAD");
+        "PROJCS[\"PTRA08 / LAEA Europe\",GEOGCS[\"PTRA08\",DATUM[");
     add_srs_wkt (p, 1,
-        "83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Reference_");
+        "\"Autonomous_Regions_of_Portugal_2008\",SPHEROID[\"GRS 1");
     add_srs_wkt (p, 2,
-        "System_2007\",SPHEROID[\"GRS 1980\",6378137,298.25722210");
+        "980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]");
     add_srs_wkt (p, 3,
-        "1,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],A");
+        "],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1041\"]],P");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "UTHORITY[\"EPSG\",\"5013\"]],PROJECTION[\"Lambert_Azimut");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",42.5],PARAMETER[\"central_meridian\"");
+        "hal_Equal_Area\"],PARAMETER[\"latitude_of_center\",52],P");
     add_srs_wkt (p, 9,
-        ",-72.5],PARAMETER[\"scale_factor\",0.999964286],PARAMETE");
+        "ARAMETER[\"longitude_of_center\",10],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",1640416.6667],PARAMETER[\"false_nort");
+        "asting\",4321000],PARAMETER[\"false_northing\",3210000],");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
-    add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"5655\"]]");
-    p = add_epsg_def (filter, first, last, 5659, "epsg", 5659,
-        "Monte Mario / TM Emilia-Romagna");
+        ",NORTH],AXIS[\"X\",EAST],AUTHORITY[\"EPSG\",\"5633\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5634, "epsg", 5634,
+        "REGCAN95 / LCC Europe", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Red_Geodesica_de_Canarias_1995", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=500053 +y_0");
+        "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4");
     add_proj4text (p, 1,
-        "=-3999820 +ellps=intl +towgs84=-104.1,-49.1,-9.9,0.971,-");
+        "000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
     add_proj4text (p, 2,
-        "2.917,0.714,-11.68 +units=m +no_defs");
+        "+units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Monte Mario / TM Emilia-Romagna\",GEOGCS[\"Mont");
+        "PROJCS[\"REGCAN95 / LCC Europe\",GEOGCS[\"REGCAN95\",DAT");
     add_srs_wkt (p, 1,
-        "e Mario\",DATUM[\"Monte_Mario\",SPHEROID[\"International");
+        "UM[\"Red_Geodesica_de_Canarias_1995\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 2,
-        " 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS8");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 3,
-        "4[-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68],AUTHORITY");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1035\"]],PRI");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6265\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4265\"]]");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "ORITY[\"EPSG\",\"4081\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",9],PARAM");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35],PARA");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
+        "METER[\"standard_parallel_2\",65],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        ",500053],PARAMETER[\"false_northing\",-3999820],UNIT[\"m");
+        "f_origin\",52],PARAMETER[\"central_meridian\",10],PARAME");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+        "TER[\"false_easting\",4000000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5659\"]]");
-    p = add_epsg_def (filter, first, last, 5663, "epsg", 5663,
-        "Pulkovo 1942(58) / Gauss-Kruger zone 3 (E-N)");
+        "g\",2800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 13,
+        "]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"5634\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5635, "epsg", 5635,
+        "REGCAN95 / LAEA Europe", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Red_Geodesica_de_Canarias_1995", "Lambert_Azimuthal_Equal_Area", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 ");
+        "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.");
-    add_proj4text (p, 2,
-        "844,-0.84 +units=m +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942(58) / Gauss-Kruger zone 3 (E-N)\",");
+        "PROJCS[\"REGCAN95 / LAEA Europe\",GEOGCS[\"REGCAN95\",DA");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942(58)\",DATUM[\"Pulkovo_1942_58\",SP");
+        "TUM[\"Red_Geodesica_de_Canarias_1995\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 2,
-        "HEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPS");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 3,
-        "G\",\"7024\"]],TOWGS84[33.4,-146.6,-76.3,-0.359,-0.053,0");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1035\"]],PR");
     add_srs_wkt (p, 4,
-        ".844,-0.84],AUTHORITY[\"EPSG\",\"6179\"]],PRIMEM[\"Green");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"");
+        "HORITY[\"EPSG\",\"4081\"]],PROJECTION[\"Lambert_Azimutha");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "l_Equal_Area\"],PARAMETER[\"latitude_of_center\",52],PAR");
     add_srs_wkt (p, 9,
-        "l_meridian\",15],PARAMETER[\"scale_factor\",1],PARAMETER");
+        "AMETER[\"longitude_of_center\",10],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",3500000],PARAMETER[\"false_northing\"");
+        "ting\",4321000],PARAMETER[\"false_northing\",3210000],UN");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Nort");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "hing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "PSG\",\"5663\"]]");
-    p = add_epsg_def (filter, first, last, 5664, "epsg", 5664,
-        "Pulkovo 1942(83) / Gauss-Kruger zone 2 (E-N)");
+        "\"5635\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5636, "epsg", 5636,
+        "TUREF / LAEA Europe", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Lambert_Azimuthal_Equal_Area", "metre",
+        "Y", "North", "X", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +");
+        "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_de");
-    add_proj4text (p, 2,
-        "fs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942(83) / Gauss-Kruger zone 2 (E-N)\",");
+        "PROJCS[\"TUREF / LAEA Europe\",GEOGCS[\"TUREF\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942(83)\",DATUM[\"Pulkovo_1942_83\",SP");
+        "Turkish_National_Reference_Frame\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "HEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPS");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        "G\",\"7024\"]],TOWGS84[26,-121,-78,0,0,0,0],AUTHORITY[\"");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1057\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6178\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]],PR");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "ITY[\"EPSG\",\"5252\"]],PROJECTION[\"Lambert_Azimuthal_E");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",9],PARAMETE");
+        "qual_Area\"],PARAMETER[\"latitude_of_center\",52],PARAME");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",250000");
+        "TER[\"longitude_of_center\",10],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "g\",4321000],PARAMETER[\"false_northing\",3210000],UNIT[");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\",NOR");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5664\"]]");
-    p = add_epsg_def (filter, first, last, 5665, "epsg", 5665,
-        "Pulkovo 1942(83) / Gauss-Kruger zone 3 (E-N)");
+        "TH],AXIS[\"X\",EAST],AUTHORITY[\"EPSG\",\"5636\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5637, "epsg", 5637,
+        "TUREF / LCC Europe", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Turkish_National_Reference_Frame", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 ");
+        "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_d");
+        "000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
     add_proj4text (p, 2,
-        "efs");
+        "+units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942(83) / Gauss-Kruger zone 3 (E-N)\",");
+        "PROJCS[\"TUREF / LCC Europe\",GEOGCS[\"TUREF\",DATUM[\"T");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942(83)\",DATUM[\"Pulkovo_1942_83\",SP");
+        "urkish_National_Reference_Frame\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "HEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPS");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "G\",\"7024\"]],TOWGS84[26,-121,-78,0,0,0,0],AUTHORITY[\"");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1057\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6178\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4178\"]],PR");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "TY[\"EPSG\",\"5252\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",15],PARAMET");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",35],PARAMET");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",35000");
+        "ER[\"standard_parallel_2\",65],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "rigin\",52],PARAMETER[\"central_meridian\",10],PARAMETER");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "[\"false_easting\",4000000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5665\"]]");
-    p = add_epsg_def (filter, first, last, 5666, "epsg", 5666,
-        "PD/83 / 3-degree Gauss-Kruger zone 3 (E-N)");
+        ",2800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"5637\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5638, "epsg", 5638,
+        "ISN2004 / LAEA Europe", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Islands_Net_2004", "Lambert_Azimuthal_Equal_Area", "metre",
+        "Y", "North", "X", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
+        "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000");
     add_proj4text (p, 1,
-        "ellps=bessel +units=m +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PD/83 / 3-degree Gauss-Kruger zone 3 (E-N)\",GE");
+        "PROJCS[\"ISN2004 / LAEA Europe\",GEOGCS[\"ISN2004\",DATU");
     add_srs_wkt (p, 1,
-        "OGCS[\"PD/83\",DATUM[\"Potsdam_Datum_83\",SPHEROID[\"Bes");
+        "M[\"Islands_Net_2004\",SPHEROID[\"GRS 1980\",6378137,298");
     add_srs_wkt (p, 2,
-        "sel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
+        ".257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0");
     add_srs_wkt (p, 3,
-        "7004\"]],AUTHORITY[\"EPSG\",\"6746\"]],PRIMEM[\"Greenwic");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"1060\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4746\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        ",\"5324\"]],PROJECTION[\"Lambert_Azimuthal_Equal_Area\"]");
     add_srs_wkt (p, 8,
-        "ridian\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
+        ",PARAMETER[\"latitude_of_center\",52],PARAMETER[\"longit");
     add_srs_wkt (p, 9,
-        "lse_easting\",3500000],PARAMETER[\"false_northing\",0],U");
+        "ude_of_center\",10],PARAMETER[\"false_easting\",4321000]");
     add_srs_wkt (p, 10,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        ",PARAMETER[\"false_northing\",3210000],UNIT[\"metre\",1,");
     add_srs_wkt (p, 11,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\",NORTH],AXIS[\"X");
     add_srs_wkt (p, 12,
-        ",\"5666\"]]");
-    p = add_epsg_def (filter, first, last, 5667, "epsg", 5667,
-        "PD/83 / 3-degree Gauss-Kruger zone 4 (E-N)");
+        "\",EAST],AUTHORITY[\"EPSG\",\"5638\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5639, "epsg", 5639,
+        "ISN2004 / LCC Europe", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Islands_Net_2004", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
+        "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4");
     add_proj4text (p, 1,
-        "+ellps=bessel +units=m +no_defs");
+        "000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+    add_proj4text (p, 2,
+        "+units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PD/83 / 3-degree Gauss-Kruger zone 4 (E-N)\",GE");
+        "PROJCS[\"ISN2004 / LCC Europe\",GEOGCS[\"ISN2004\",DATUM");
     add_srs_wkt (p, 1,
-        "OGCS[\"PD/83\",DATUM[\"Potsdam_Datum_83\",SPHEROID[\"Bes");
+        "[\"Islands_Net_2004\",SPHEROID[\"GRS 1980\",6378137,298.");
     add_srs_wkt (p, 2,
-        "sel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
+        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,");
     add_srs_wkt (p, 3,
-        "7004\"]],AUTHORITY[\"EPSG\",\"6746\"]],PRIMEM[\"Greenwic");
+        "0,0,0],AUTHORITY[\"EPSG\",\"1060\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4746\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        "5324\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "ridian\",12],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
+        "AMETER[\"standard_parallel_1\",35],PARAMETER[\"standard_");
     add_srs_wkt (p, 9,
-        "alse_easting\",4500000],PARAMETER[\"false_northing\",0],");
+        "parallel_2\",65],PARAMETER[\"latitude_of_origin\",52],PA");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "RAMETER[\"central_meridian\",10],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "ng\",4000000],PARAMETER[\"false_northing\",2800000],UNIT");
     add_srs_wkt (p, 12,
-        ",\"5667\"]]");
-    p = add_epsg_def (filter, first, last, 5668, "epsg", 5668,
-        "RD/83 / 3-degree Gauss-Kruger zone 4 (E-N)");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "5639\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5641, "epsg", 5641,
+        "SIRGAS 2000 / Brazil Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Mercator_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
+        "+proj=merc +lon_0=-43 +lat_ts=-2 +x_0=5000000 +y_0=10000");
     add_proj4text (p, 1,
-        "+ellps=bessel +units=m +no_defs");
+        "000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_def");
+    add_proj4text (p, 2,
+        "s");
     add_srs_wkt (p, 0,
-        "PROJCS[\"RD/83 / 3-degree Gauss-Kruger zone 4 (E-N)\",GE");
+        "PROJCS[\"SIRGAS 2000 / Brazil Mercator\",GEOGCS[\"SIRGAS");
     add_srs_wkt (p, 1,
-        "OGCS[\"RD/83\",DATUM[\"Rauenberg_Datum_83\",SPHEROID[\"B");
+        " 2000\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_l");
     add_srs_wkt (p, 2,
-        "essel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",");
+        "as_AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "\"7004\"]],AUTHORITY[\"EPSG\",\"6745\"]],PRIMEM[\"Greenw");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        ",0],AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4745\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"46");
     add_srs_wkt (p, 8,
-        "_meridian\",12],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "74\"]],PROJECTION[\"Mercator_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "\"false_easting\",4500000],PARAMETER[\"false_northing\",");
+        "_parallel_1\",-2],PARAMETER[\"central_meridian\",-43],PA");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "RAMETER[\"false_easting\",5000000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "thing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "G\",\"5668\"]]");
-    p = add_epsg_def (filter, first, last, 5669, "epsg", 5669,
-        "RD/83 / 3-degree Gauss-Kruger zone 5 (E-N)");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"5641\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5643, "epsg", 5643,
+        "ED50 / SPBA LCC", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
+        "+proj=lcc +lat_1=52.66666666666666 +lat_2=54.33333333333");
     add_proj4text (p, 1,
-        "+ellps=bessel +units=m +no_defs");
+        "334 +lat_0=48 +lon_0=10 +x_0=815000 +y_0=0 +ellps=intl +");
+    add_proj4text (p, 2,
+        "towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"RD/83 / 3-degree Gauss-Kruger zone 5 (E-N)\",GE");
+        "PROJCS[\"ED50 / SPBA LCC\",GEOGCS[\"ED50\",DATUM[\"Europ");
     add_srs_wkt (p, 1,
-        "OGCS[\"RD/83\",DATUM[\"Rauenberg_Datum_83\",SPHEROID[\"B");
+        "ean_Datum_1950\",SPHEROID[\"International 1924\",6378388");
     add_srs_wkt (p, 2,
-        "essel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",");
+        ",297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-121,");
     add_srs_wkt (p, 3,
-        "\"7004\"]],AUTHORITY[\"EPSG\",\"6745\"]],PRIMEM[\"Greenw");
+        "0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 4,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4745\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        ",\"4230\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 8,
-        "_meridian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "PARAMETER[\"standard_parallel_1\",52.66666666666666],PAR");
     add_srs_wkt (p, 9,
-        "\"false_easting\",5500000],PARAMETER[\"false_northing\",");
+        "AMETER[\"standard_parallel_2\",54.33333333333334],PARAME");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "TER[\"latitude_of_origin\",48],PARAMETER[\"central_merid");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "ian\",10],PARAMETER[\"false_easting\",815000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "G\",\"5669\"]]");
-    p = add_epsg_def (filter, first, last, 5670, "epsg", 5670,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3 (E-N)");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"5643\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5644, "epsg", 5644,
+        "RGR92 / UTM zone 39S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_Reunion_1992", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
+        "+proj=utm +zone=39 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.8");
-    add_proj4text (p, 2,
-        "44,-0.84 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3");
+        "PROJCS[\"RGR92 / UTM zone 39S\",GEOGCS[\"RGR92\",DATUM[\"");
     add_srs_wkt (p, 1,
-        " (E-N)\",GEOGCS[\"Pulkovo 1942(58)\",DATUM[\"Pulkovo_194");
+        "Reseau_Geodesique_de_la_Reunion_1992\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 2,
-        "2_58\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7024\"]],TOWGS84[33.4,-146.6,-76.3,-0.359");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6627\"]],PR");
     add_srs_wkt (p, 4,
-        ",-0.053,0.844,-0.84],AUTHORITY[\"EPSG\",\"6179\"]],PRIME");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_M");
+        "HORITY[\"EPSG\",\"4627\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",9],PARAMETER[\"scale_factor\",1],P");
+        "entral_meridian\",51],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_easting\",3500000],PARAMETER[\"false_no");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"5670\"]]");
-    p = add_epsg_def (filter, first, last, 5671, "epsg", 5671,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4 (E-N)");
+        "H],AUTHORITY[\"EPSG\",\"5644\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5646, "epsg", 5646,
+        "NAD83 / Vermont (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.");
+        "=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,");
     add_proj4text (p, 2,
-        "844,-0.84 +units=m +no_defs");
+        "0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4");
+        "PROJCS[\"NAD83 / Vermont (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        " (E-N)\",GEOGCS[\"Pulkovo 1942(58)\",DATUM[\"Pulkovo_194");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "2_58\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7024\"]],TOWGS84[33.4,-146.6,-76.3,-0.359");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        ",-0.053,0.844,-0.84],AUTHORITY[\"EPSG\",\"6179\"]],PRIME");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_M");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "PARAMETER[\"latitude_of_origin\",42.5],PARAMETER[\"centr");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",12],PARAMETER[\"scale_factor\",1],");
+        "al_meridian\",-72.5],PARAMETER[\"scale_factor\",0.999964");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",4500000],PARAMETER[\"false_n");
+        "286],PARAMETER[\"false_easting\",1640416.6667],PARAMETER");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "[\"false_northing\",0],UNIT[\"US survey foot\",0.3048006");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST]");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"5671\"]]");
-    p = add_epsg_def (filter, first, last, 5672, "epsg", 5672,
-        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5 (E-N)");
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5646\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5649, "epsg", 5649,
+        "ETRS89 / UTM zone 31N (zE-N)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=3 +k=0.9996 +x_0=31500000 +y");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
-        "844,-0.84 +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5");
+        "PROJCS[\"ETRS89 / UTM zone 31N (zE-N)\",GEOGCS[\"ETRS89\"");
     add_srs_wkt (p, 1,
-        " (E-N)\",GEOGCS[\"Pulkovo 1942(58)\",DATUM[\"Pulkovo_194");
+        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
     add_srs_wkt (p, 2,
-        "2_58\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7024\"]],TOWGS84[33.4,-146.6,-76.3,-0.359");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        ",-0.053,0.844,-0.84],AUTHORITY[\"EPSG\",\"6179\"]],PRIME");
+        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_M");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",15],PARAMETER[\"scale_factor\",1],");
+        "],PARAMETER[\"central_meridian\",3],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",5500000],PARAMETER[\"false_n");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",31500000],PAR");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"5672\"]]");
-    p = add_epsg_def (filter, first, last, 5673, "epsg", 5673,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3 (E-N)");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"5649\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5650, "epsg", 5650,
+        "ETRS89 / UTM zone 33N (zE-N)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=33500000 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_de");
+        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 2,
+        "efs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"ETRS89 / UTM zone 33N (zE-N)\",GEOGCS[\"ETRS89\"");
+    add_srs_wkt (p, 1,
+        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
+    add_srs_wkt (p, 2,
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+    add_srs_wkt (p, 3,
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 4,
+        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 5,
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+    add_srs_wkt (p, 6,
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 7,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+    add_srs_wkt (p, 8,
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+    add_srs_wkt (p, 9,
+        "],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_f");
+    add_srs_wkt (p, 10,
+        "actor\",0.9996],PARAMETER[\"false_easting\",33500000],PA");
+    add_srs_wkt (p, 11,
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"5650\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5651, "epsg", 5651,
+        "ETRS89 / UTM zone 31N (N-zE)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=3 +k=0.9996 +x_0=31500000 +y");
+    add_proj4text (p, 1,
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
         "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3");
+        "PROJCS[\"ETRS89 / UTM zone 31N (N-zE)\",GEOGCS[\"ETRS89\"");
     add_srs_wkt (p, 1,
-        " (E-N)\",GEOGCS[\"Pulkovo 1942(83)\",DATUM[\"Pulkovo_194");
+        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
     add_srs_wkt (p, 2,
-        "2_83\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7024\"]],TOWGS84[26,-121,-78,0,0,0,0],AUT");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6178\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "78\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",9]");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "],PARAMETER[\"central_meridian\",3],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "\",3500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",31500000],PAR");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5673\"]]");
-    p = add_epsg_def (filter, first, last, 5674, "epsg", 5674,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4 (E-N)");
+        "\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"East");
+    add_srs_wkt (p, 13,
+        "ing\",EAST],AUTHORITY[\"EPSG\",\"5651\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5652, "epsg", 5652,
+        "ETRS89 / UTM zone 32N (N-zE)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=32500000 +y");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_d");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
-        "efs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4");
+        "PROJCS[\"ETRS89 / UTM zone 32N (N-zE)\",GEOGCS[\"ETRS89\"");
     add_srs_wkt (p, 1,
-        " (E-N)\",GEOGCS[\"Pulkovo 1942(83)\",DATUM[\"Pulkovo_194");
+        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
     add_srs_wkt (p, 2,
-        "2_83\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7024\"]],TOWGS84[26,-121,-78,0,0,0,0],AUT");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6178\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "78\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",12");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "g\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",32500000],PAR");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5674\"]");
+        "\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"East");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 5675, "epsg", 5675,
-        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5 (E-N)");
+        "ing\",EAST],AUTHORITY[\"EPSG\",\"5652\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5653, "epsg", 5653,
+        "ETRS89 / UTM zone 33N (N-zE)", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=33500000 +");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_d");
+        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_d");
     add_proj4text (p, 2,
         "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5");
+        "PROJCS[\"ETRS89 / UTM zone 33N (N-zE)\",GEOGCS[\"ETRS89\"");
     add_srs_wkt (p, 1,
-        " (E-N)\",GEOGCS[\"Pulkovo 1942(83)\",DATUM[\"Pulkovo_194");
+        ",DATUM[\"European_Terrestrial_Reference_System_1989\",SP");
     add_srs_wkt (p, 2,
-        "2_83\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7024\"]],TOWGS84[26,-121,-78,0,0,0,0],AUT");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6178\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "78\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",15");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "g\",5500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "actor\",0.9996],PARAMETER[\"false_easting\",33500000],PA");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5675\"]");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eas");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 5676, "epsg", 5676,
-        "DHDN / 3-degree Gauss-Kruger zone 2 (E-N)");
+        "ting\",EAST],AUTHORITY[\"EPSG\",\"5653\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5654, "epsg", 5654,
+        "NAD83(HARN) / Vermont (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
     add_proj4text (p, 1,
-        "datum=potsdam +units=m +no_defs");
+        "=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 2 (E-N)\",GEO");
+        "PROJCS[\"NAD83(HARN) / Vermont (ftUS)\",GEOGCS[\"NAD83(H");
     add_srs_wkt (p, 1,
-        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
+        "ARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\",S");
     add_srs_wkt (p, 2,
-        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
+        "PSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 4,
-        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
+        "\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "_meridian\",6],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "42.5],PARAMETER[\"central_meridian\",-72.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "false_easting\",2500000],PARAMETER[\"false_northing\",0]");
+        "scale_factor\",0.999964286],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+        "1640416.6667],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 12,
-        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "\",\"5676\"]]");
-    p = add_epsg_def (filter, first, last, 5677, "epsg", 5677,
-        "DHDN / 3-degree Gauss-Kruger zone 3 (E-N)");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"5654\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5655, "epsg", 5655,
+        "NAD83(NSRS2007) / Vermont (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
     add_proj4text (p, 1,
-        "datum=potsdam +units=m +no_defs");
+        "=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 3 (E-N)\",GEO");
+        "PROJCS[\"NAD83(NSRS2007) / Vermont (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
+        "83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Reference_");
     add_srs_wkt (p, 2,
-        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        "System_2007\",SPHEROID[\"GRS 1980\",6378137,298.25722210");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
+        "1,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],A");
     add_srs_wkt (p, 4,
-        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
+        "UTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "_meridian\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "ude_of_origin\",42.5],PARAMETER[\"central_meridian\",-72");
     add_srs_wkt (p, 10,
-        "false_easting\",3500000],PARAMETER[\"false_northing\",0]");
+        ".5],PARAMETER[\"scale_factor\",0.999964286],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+        "false_easting\",1640416.6667],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+        "\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
     add_srs_wkt (p, 13,
-        "\",\"5677\"]]");
-    p = add_epsg_def (filter, first, last, 5678, "epsg", 5678,
-        "DHDN / 3-degree Gauss-Kruger zone 4 (E-N)");
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"5655\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5659, "epsg", 5659,
+        "Monte Mario / TM Emilia-Romagna", 0, 0,
+        "International 1924", "Greenwich",
+        "Monte_Mario", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=500053 +y_0");
     add_proj4text (p, 1,
-        "+datum=potsdam +units=m +no_defs");
+        "=-3999820 +ellps=intl +towgs84=-104.1,-49.1,-9.9,0.971,-");
+    add_proj4text (p, 2,
+        "2.917,0.714,-11.68 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 4 (E-N)\",GEO");
+        "PROJCS[\"Monte Mario / TM Emilia-Romagna\",GEOGCS[\"Mont");
     add_srs_wkt (p, 1,
-        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
+        "e Mario\",DATUM[\"Monte_Mario\",SPHEROID[\"International");
     add_srs_wkt (p, 2,
-        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        " 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
+        "4[-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68],AUTHORITY");
     add_srs_wkt (p, 4,
-        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
+        "[\"EPSG\",\"6265\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4265\"]],PROJE");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "_meridian\",12],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "rigin\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "\"false_easting\",4500000],PARAMETER[\"false_northing\",");
+        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50005");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "3],PARAMETER[\"false_northing\",-3999820],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
     add_srs_wkt (p, 13,
-        "G\",\"5678\"]]");
-    p = add_epsg_def (filter, first, last, 5679, "epsg", 5679,
-        "DHDN / 3-degree Gauss-Kruger zone 5 (E-N)");
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"5659\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5663, "epsg", 5663,
+        "Pulkovo 1942(58) / Gauss-Kruger zone 3 (E-N)", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+datum=potsdam +units=m +no_defs");
+        "+ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.");
+    add_proj4text (p, 2,
+        "844,-0.84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 5 (E-N)\",GEO");
+        "PROJCS[\"Pulkovo 1942(58) / Gauss-Kruger zone 3 (E-N)\",");
     add_srs_wkt (p, 1,
-        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
+        "GEOGCS[\"Pulkovo 1942(58)\",DATUM[\"Pulkovo_1942_58\",SP");
     add_srs_wkt (p, 2,
-        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        "HEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
+        "G\",\"7024\"]],TOWGS84[33.4,-146.6,-76.3,-0.359,-0.053,0");
     add_srs_wkt (p, 4,
-        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
+        ".844,-0.84],AUTHORITY[\"EPSG\",\"6179\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "SG\",\"4179\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 9,
-        "_meridian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "\"false_easting\",5500000],PARAMETER[\"false_northing\",");
+        "dian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "se_easting\",3500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 13,
-        "G\",\"5679\"]]");
-    p = add_epsg_def (filter, first, last, 5680, "epsg", 5680,
-        "DHDN / 3-degree Gauss-Kruger zone 1 (E-N)");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"5663\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5664, "epsg", 5664,
+        "Pulkovo 1942(83) / Gauss-Kruger zone 2 (E-N)", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "datum=potsdam +units=m +no_defs");
+        "ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 1 (E-N)\",GEO");
+        "PROJCS[\"Pulkovo 1942(83) / Gauss-Kruger zone 2 (E-N)\",");
     add_srs_wkt (p, 1,
-        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
+        "GEOGCS[\"Pulkovo 1942(83)\",DATUM[\"Pulkovo_1942_83\",SP");
     add_srs_wkt (p, 2,
-        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        "HEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
+        "G\",\"7024\"]],TOWGS84[26,-121,-78,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
+        "EPSG\",\"6178\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "_meridian\",3],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "in\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "false_easting\",1500000],PARAMETER[\"false_northing\",0]");
+        "ale_factor\",1],PARAMETER[\"false_easting\",2500000],PAR");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 13,
-        "\",\"5680\"]]");
-    p = add_epsg_def (filter, first, last, 5681, "epsg", 5681,
-        "DB_REF");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"5664\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5665, "epsg", 5665,
+        "Pulkovo 1942(83) / Gauss-Kruger zone 3 (E-N)", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=bessel +no_defs");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 ");
+    add_proj4text (p, 1,
+        "+ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 2,
+        "efs");
     add_srs_wkt (p, 0,
-        "GEOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_Reference_System");
+        "PROJCS[\"Pulkovo 1942(83) / Gauss-Kruger zone 3 (E-N)\",");
     add_srs_wkt (p, 1,
-        "\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTH");
+        "GEOGCS[\"Pulkovo 1942(83)\",DATUM[\"Pulkovo_1942_83\",SP");
     add_srs_wkt (p, 2,
-        "ORITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"1081\"]],");
+        "HEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "G\",\"7024\"]],TOWGS84[26,-121,-78,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "EPSG\",\"6178\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"5681\"]]");
-    p = add_epsg_def (filter, first, last, 5682, "epsg", 5682,
-        "DB_REF / 3-degree Gauss-Kruger zone 2 (E-N)");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+    add_srs_wkt (p, 6,
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 7,
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]],PROJECTI");
+    add_srs_wkt (p, 8,
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+    add_srs_wkt (p, 9,
+        "in\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"s");
+    add_srs_wkt (p, 10,
+        "cale_factor\",1],PARAMETER[\"false_easting\",3500000],PA");
+    add_srs_wkt (p, 11,
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"5665\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5666, "epsg", 5666,
+        "PD/83 / 3-degree Gauss-Kruger zone 3 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Potsdam_Datum_83", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
         "ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DB_REF / 3-degree Gauss-Kruger zone 2 (E-N)\",G");
+        "PROJCS[\"PD/83 / 3-degree Gauss-Kruger zone 3 (E-N)\",GE");
     add_srs_wkt (p, 1,
-        "EOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_Reference_System\"");
+        "OGCS[\"PD/83\",DATUM[\"Potsdam_Datum_83\",SPHEROID[\"Bes");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
+        "sel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"1081\"]],PR");
+        "7004\"]],AUTHORITY[\"EPSG\",\"6746\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"5681\"]],PROJECTION[\"Transverse");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        ",\"4746\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",6],PARAMETER[\"scale_factor\",1]");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",2500000],PARAMETER[\"false_");
+        "\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "sting\",3500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"5682\"]]");
-    p = add_epsg_def (filter, first, last, 5683, "epsg", 5683,
-        "DB_REF / 3-degree Gauss-Kruger zone 3 (E-N)");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"566");
+    add_srs_wkt (p, 13,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5667, "epsg", 5667,
+        "PD/83 / 3-degree Gauss-Kruger zone 4 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Potsdam_Datum_83", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "ellps=bessel +units=m +no_defs");
+        "+ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DB_REF / 3-degree Gauss-Kruger zone 3 (E-N)\",G");
+        "PROJCS[\"PD/83 / 3-degree Gauss-Kruger zone 4 (E-N)\",GE");
     add_srs_wkt (p, 1,
-        "EOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_Reference_System\"");
+        "OGCS[\"PD/83\",DATUM[\"Potsdam_Datum_83\",SPHEROID[\"Bes");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
+        "sel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"1081\"]],PR");
+        "7004\"]],AUTHORITY[\"EPSG\",\"6746\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"5681\"]],PROJECTION[\"Transverse");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        ",\"4746\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",9],PARAMETER[\"scale_factor\",1]");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",3500000],PARAMETER[\"false_");
+        "\",12],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "asting\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"5683\"]]");
-    p = add_epsg_def (filter, first, last, 5684, "epsg", 5684,
-        "DB_REF / 3-degree Gauss-Kruger zone 4 (E-N)");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"566");
+    add_srs_wkt (p, 13,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5668, "epsg", 5668,
+        "RD/83 / 3-degree Gauss-Kruger zone 4 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Rauenberg_Datum_83", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
         "+ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DB_REF / 3-degree Gauss-Kruger zone 4 (E-N)\",G");
+        "PROJCS[\"RD/83 / 3-degree Gauss-Kruger zone 4 (E-N)\",GE");
     add_srs_wkt (p, 1,
-        "EOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_Reference_System\"");
+        "OGCS[\"RD/83\",DATUM[\"Rauenberg_Datum_83\",SPHEROID[\"B");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
+        "essel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"1081\"]],PR");
+        "\"7004\"]],AUTHORITY[\"EPSG\",\"6745\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"5681\"]],PROJECTION[\"Transverse");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "G\",\"4745\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",12],PARAMETER[\"scale_factor\",1");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",4500000],PARAMETER[\"false");
+        "ian\",12],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "e_easting\",4500000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"5684\"]]");
-    p = add_epsg_def (filter, first, last, 5685, "epsg", 5685,
-        "DB_REF / 3-degree Gauss-Kruger zone 5 (E-N)");
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "5668\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5669, "epsg", 5669,
+        "RD/83 / 3-degree Gauss-Kruger zone 5 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Rauenberg_Datum_83", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
         "+ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DB_REF / 3-degree Gauss-Kruger zone 5 (E-N)\",G");
+        "PROJCS[\"RD/83 / 3-degree Gauss-Kruger zone 5 (E-N)\",GE");
     add_srs_wkt (p, 1,
-        "EOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_Reference_System\"");
+        "OGCS[\"RD/83\",DATUM[\"Rauenberg_Datum_83\",SPHEROID[\"B");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
+        "essel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"1081\"]],PR");
+        "\"7004\"]],AUTHORITY[\"EPSG\",\"6745\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"5681\"]],PROJECTION[\"Transverse");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "G\",\"4745\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",15],PARAMETER[\"scale_factor\",1");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",5500000],PARAMETER[\"false");
+        "ian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "e_easting\",5500000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"5685\"]]");
-    p = add_epsg_def (filter, first, last, 5700, "epsg", 5700,
-        "NZGD2000 / UTM zone 1S");
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "5669\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5670, "epsg", 5670,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3 (E-N)", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=1 +south +ellps=GRS80 +towgs84=0,0,0,0,0");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.8");
+    add_proj4text (p, 2,
+        "44,-0.84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD2000 / UTM zone 1S\",GEOGCS[\"NZGD2000\",DA");
+        "PROJCS[\"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3");
     add_srs_wkt (p, 1,
-        "TUM[\"New_Zealand_Geodetic_Datum_2000\",SPHEROID[\"GRS 1");
+        " (E-N)\",GEOGCS[\"Pulkovo 1942(58)\",DATUM[\"Pulkovo_194");
     add_srs_wkt (p, 2,
-        "980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]");
+        "2_58\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
     add_srs_wkt (p, 3,
-        "],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6167\"]],P");
+        "ITY[\"EPSG\",\"7024\"]],TOWGS84[33.4,-146.6,-76.3,-0.359");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        ",-0.053,0.844,-0.84],AUTHORITY[\"EPSG\",\"6179\"]],PRIME");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transver");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-177],PARAMETER[\"scale_factor");
+        "RITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "tral_meridian\",9],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "ER[\"false_easting\",3500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"5700\"]]");
-    p = add_epsg_def (filter, first, last, 5825, "epsg", 5825,
-        "AGD66 / ACT Standard Grid");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"5670\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5671, "epsg", 5671,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4 (E-N)", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-35.31773627777778 +lon_0=149.0092948");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "305555 +k=1.000086 +x_0=200000 +y_0=600000 +ellps=aust_S");
+        "+ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.");
     add_proj4text (p, 2,
-        "A +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0");
-    add_proj4text (p, 3,
-        ".29 +units=m +no_defs");
+        "844,-0.84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / ACT Standard Grid\",GEOGCS[\"AGD66\",DA");
+        "PROJCS[\"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4");
     add_srs_wkt (p, 1,
-        "TUM[\"Australian_Geodetic_Datum_1966\",SPHEROID[\"Austra");
+        " (E-N)\",GEOGCS[\"Pulkovo 1942(58)\",DATUM[\"Pulkovo_194");
     add_srs_wkt (p, 2,
-        "lian National Spheroid\",6378160,298.25,AUTHORITY[\"EPSG");
+        "2_58\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
     add_srs_wkt (p, 3,
-        "\",\"7003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.4");
+        "ITY[\"EPSG\",\"7024\"]],TOWGS84[33.4,-146.6,-76.3,-0.359");
     add_srs_wkt (p, 4,
-        "46,0.234,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"G");
+        ",-0.053,0.844,-0.84],AUTHORITY[\"EPSG\",\"6179\"]],PRIME");
     add_srs_wkt (p, 5,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "ORITY[\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercat");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "or\"],PARAMETER[\"latitude_of_origin\",-35.3177362777777");
+        "RITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "8],PARAMETER[\"central_meridian\",149.0092948305555],PAR");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "AMETER[\"scale_factor\",1.000086],PARAMETER[\"false_east");
+        "tral_meridian\",12],PARAMETER[\"scale_factor\",1],PARAME");
     add_srs_wkt (p, 11,
-        "ing\",200000],PARAMETER[\"false_northing\",600000],UNIT[");
+        "TER[\"false_easting\",4500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
     add_srs_wkt (p, 14,
-        "825\"]]");
-    p = add_epsg_def (filter, first, last, 5836, "epsg", 5836,
-        "Yemen NGN96 / UTM zone 37N");
+        "\"EPSG\",\"5671\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5672, "epsg", 5672,
+        "Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5 (E-N)", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_58", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "+ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.");
+    add_proj4text (p, 2,
+        "844,-0.84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Yemen NGN96 / UTM zone 37N\",GEOGCS[\"Yemen NGN");
+        "PROJCS[\"Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5");
     add_srs_wkt (p, 1,
-        "96\",DATUM[\"Yemen_National_Geodetic_Network_1996\",SPHE");
+        " (E-N)\",GEOGCS[\"Pulkovo 1942(58)\",DATUM[\"Pulkovo_194");
     add_srs_wkt (p, 2,
-        "ROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\"");
+        "2_58\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
     add_srs_wkt (p, 3,
-        ",\"7030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "ITY[\"EPSG\",\"7024\"]],TOWGS84[33.4,-146.6,-76.3,-0.359");
     add_srs_wkt (p, 4,
-        "6163\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        ",-0.053,0.844,-0.84],AUTHORITY[\"EPSG\",\"6179\"]],PRIME");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4163\"]],PROJECTION[");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"scale");
+        "RITY[\"EPSG\",\"4179\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "tral_meridian\",15],PARAMETER[\"scale_factor\",1],PARAME");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "TER[\"false_easting\",5500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"5836\"]]");
-    p = add_epsg_def (filter, first, last, 5837, "epsg", 5837,
-        "Yemen NGN96 / UTM zone 40N");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"5672\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5673, "epsg", 5673,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3 (E-N)", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=40 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Yemen NGN96 / UTM zone 40N\",GEOGCS[\"Yemen NGN");
+        "PROJCS[\"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3");
     add_srs_wkt (p, 1,
-        "96\",DATUM[\"Yemen_National_Geodetic_Network_1996\",SPHE");
+        " (E-N)\",GEOGCS[\"Pulkovo 1942(83)\",DATUM[\"Pulkovo_194");
     add_srs_wkt (p, 2,
-        "ROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\"");
+        "2_83\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
     add_srs_wkt (p, 3,
-        ",\"7030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "ITY[\"EPSG\",\"7024\"]],TOWGS84[26,-121,-78,0,0,0,0],AUT");
     add_srs_wkt (p, 4,
-        "6163\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "HORITY[\"EPSG\",\"6178\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4163\"]],PROJECTION[");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]]");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"scale");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",9],PARAM");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",350");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"5837\"]]");
-    p = add_epsg_def (filter, first, last, 5839, "epsg", 5839,
-        "Peru96 / UTM zone 17S");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5673\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5674, "epsg", 5674,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4 (E-N)", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 2,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Peru96 / UTM zone 17S\",GEOGCS[\"Peru96\",DATUM");
+        "PROJCS[\"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4");
     add_srs_wkt (p, 1,
-        "[\"Peru96\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        " (E-N)\",GEOGCS[\"Pulkovo 1942(83)\",DATUM[\"Pulkovo_194");
     add_srs_wkt (p, 2,
-        "AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUT");
+        "2_83\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"1067\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "ITY[\"EPSG\",\"7024\"]],TOWGS84[26,-121,-78,0,0,0,0],AUT");
     add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"6178\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+    add_srs_wkt (p, 5,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+    add_srs_wkt (p, 6,
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
+    add_srs_wkt (p, 7,
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]]");
+    add_srs_wkt (p, 8,
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+    add_srs_wkt (p, 9,
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",12],PARA");
+    add_srs_wkt (p, 10,
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",45");
+    add_srs_wkt (p, 11,
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+    add_srs_wkt (p, 12,
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5674\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5675, "epsg", 5675,
+        "Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5 (E-N)", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942_83", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
+    add_proj4text (p, 1,
+        "+ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 2,
+        "efs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5");
+    add_srs_wkt (p, 1,
+        " (E-N)\",GEOGCS[\"Pulkovo 1942(83)\",DATUM[\"Pulkovo_194");
+    add_srs_wkt (p, 2,
+        "2_83\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
+    add_srs_wkt (p, 3,
+        "ITY[\"EPSG\",\"7024\"]],TOWGS84[26,-121,-78,0,0,0,0],AUT");
+    add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"6178\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"53");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "73\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-8");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4178\"]]");
     add_srs_wkt (p, 8,
-        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",15],PARA");
     add_srs_wkt (p, 10,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",55");
     add_srs_wkt (p, 11,
-        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\",\"5839\"]]");
-    p = add_epsg_def (filter, first, last, 5842, "epsg", 5842,
-        "WGS 84 / TM 12 SE");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5675\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5676, "epsg", 5676,
+        "DHDN / 3-degree Gauss-Kruger zone 2 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_");
+        "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "0=10000000 +datum=WGS84 +units=m +no_defs");
+        "ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.45");
+    add_proj4text (p, 2,
+        "5,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / TM 12 SE\",GEOGCS[\"WGS 84\",DATUM[\"W");
+        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 2 (E-N)\",GEO");
     add_srs_wkt (p, 1,
-        "GS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTH");
+        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
     add_srs_wkt (p, 2,
-        "ORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],");
+        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
     add_srs_wkt (p, 4,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transve");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "METER[\"central_meridian\",12],PARAMETER[\"scale_factor\"");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "ian\",6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"5842\"]]");
-    p = add_epsg_def (filter, first, last, 5844, "epsg", 5844,
-        "RGRDC 2005 / Congo TM zone 30");
+        "_easting\",2500000],PARAMETER[\"false_northing\",0],UNIT");
+    add_srs_wkt (p, 12,
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "5676\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5677, "epsg", 5677,
+        "DHDN / 3-degree Gauss-Kruger zone 3 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9999 +x_0=500000 +y_");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+        "ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.45");
     add_proj4text (p, 2,
-        "+no_defs");
+        "5,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"RGRDC 2005 / Congo TM zone 30\",GEOGCS[\"RGRDC ");
+        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 3 (E-N)\",GEO");
     add_srs_wkt (p, 1,
-        "2005\",DATUM[\"Reseau_Geodesique_de_la_RDC_2005\",SPHERO");
+        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
     add_srs_wkt (p, 2,
-        "ID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\"");
+        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        ",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
     add_srs_wkt (p, 4,
-        "1033\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",30],PARAMETER[\"scale");
+        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AU");
+        "ian\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "_easting\",3500000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"5844\"]]");
-    p = add_epsg_def (filter, first, last, 5858, "epsg", 5858,
-        "SAD69(96) / UTM zone 22S");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "5677\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5678, "epsg", 5678,
+        "DHDN / 3-degree Gauss-Kruger zone 4 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=aust_SA +towgs84=-67.35");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        ",3.88,-38.22,0,0,0,0 +units=m +no_defs");
+        "+ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.4");
+    add_proj4text (p, 2,
+        "55,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69(96) / UTM zone 22S\",GEOGCS[\"SAD69(96)\"");
+        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 4 (E-N)\",GEO");
     add_srs_wkt (p, 1,
-        ",DATUM[\"South_American_Datum_1969_96\",SPHEROID[\"GRS 1");
+        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
     add_srs_wkt (p, 2,
-        "967 Modified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"");
+        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-67.35,3.88,-38.22,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
     add_srs_wkt (p, 4,
-        ",\"1075\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTI");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-51],PARAMETER[\"");
+        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "ian\",12],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "e_easting\",4500000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5858\"]]");
-    p = add_epsg_def (filter, first, last, 5875, "epsg", 5875,
-        "SAD69(96) / UTM zone 18S");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+    add_srs_wkt (p, 13,
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "5678\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5679, "epsg", 5679,
+        "DHDN / 3-degree Gauss-Kruger zone 5 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +south +ellps=aust_SA +towgs84=-67.35");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        ",3.88,-38.22,0,0,0,0 +units=m +no_defs");
+        "+ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.4");
+    add_proj4text (p, 2,
+        "55,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69(96) / UTM zone 18S\",GEOGCS[\"SAD69(96)\"");
+        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 5 (E-N)\",GEO");
     add_srs_wkt (p, 1,
-        ",DATUM[\"South_American_Datum_1969_96\",SPHEROID[\"GRS 1");
+        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
     add_srs_wkt (p, 2,
-        "967 Modified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"");
+        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-67.35,3.88,-38.22,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
     add_srs_wkt (p, 4,
-        ",\"1075\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTI");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-75],PARAMETER[\"");
+        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "ian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "e_easting\",5500000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5875\"]]");
-    p = add_epsg_def (filter, first, last, 5876, "epsg", 5876,
-        "SAD69(96) / UTM zone 19S");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+    add_srs_wkt (p, 13,
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "5679\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5680, "epsg", 5680,
+        "DHDN / 3-degree Gauss-Kruger zone 1 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +south +ellps=aust_SA +towgs84=-67.35");
+        "+proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +");
     add_proj4text (p, 1,
-        ",3.88,-38.22,0,0,0,0 +units=m +no_defs");
+        "ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.45");
+    add_proj4text (p, 2,
+        "5,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69(96) / UTM zone 19S\",GEOGCS[\"SAD69(96)\"");
+        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 1 (E-N)\",GEO");
     add_srs_wkt (p, 1,
-        ",DATUM[\"South_American_Datum_1969_96\",SPHEROID[\"GRS 1");
+        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
     add_srs_wkt (p, 2,
-        "967 Modified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"");
+        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-67.35,3.88,-38.22,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
     add_srs_wkt (p, 4,
-        ",\"1075\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTI");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-69],PARAMETER[\"");
+        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "ian\",3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "_easting\",1500000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5876\"]]");
-    p = add_epsg_def (filter, first, last, 5877, "epsg", 5877,
-        "SAD69(96) / UTM zone 20S");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+    add_srs_wkt (p, 13,
+        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "5680\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5681, "epsg", 5681,
+        "DB_REF", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Deutsche_Bahn_Reference_System", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +south +ellps=aust_SA +towgs84=-67.35");
-    add_proj4text (p, 1,
-        ",3.88,-38.22,0,0,0,0 +units=m +no_defs");
+        "+proj=longlat +ellps=bessel +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69(96) / UTM zone 20S\",GEOGCS[\"SAD69(96)\"");
+        "GEOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_Reference_System");
     add_srs_wkt (p, 1,
-        ",DATUM[\"South_American_Datum_1969_96\",SPHEROID[\"GRS 1");
+        "\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTH");
     add_srs_wkt (p, 2,
-        "967 Modified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"");
+        "ORITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"1081\"]],");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-67.35,3.88,-38.22,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 4,
-        ",\"1075\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTI");
-    add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
-    add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"");
-    add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
-    add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
-    add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
-    add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5877\"]]");
-    p = add_epsg_def (filter, first, last, 5879, "epsg", 5879,
-        "Cadastre 1997 / UTM zone 38S");
+        "AUTHORITY[\"EPSG\",\"5681\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5682, "epsg", 5682,
+        "DB_REF / 3-degree Gauss-Kruger zone 2 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsche_Bahn_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +south +ellps=intl +towgs84=-381.788,");
+        "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "-57.501,-256.673,0,0,0,0 +units=m +no_defs");
+        "ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cadastre 1997 / UTM zone 38S\",GEOGCS[\"Cadastr");
+        "PROJCS[\"DB_REF / 3-degree Gauss-Kruger zone 2 (E-N)\",G");
     add_srs_wkt (p, 1,
-        "e 1997\",DATUM[\"Cadastre_1997\",SPHEROID[\"Internationa");
+        "EOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_Reference_System\"");
     add_srs_wkt (p, 2,
-        "l 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS");
+        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
     add_srs_wkt (p, 3,
-        "84[-381.788,-57.501,-256.673,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "ITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"1081\"]],PR");
     add_srs_wkt (p, 4,
-        ",\"1037\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4475\"]],PROJECTI");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "HORITY[\"EPSG\",\"5681\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"s");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "entral_meridian\",6],PARAMETER[\"scale_factor\",1],PARAM");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\",");
+        "ETER[\"false_easting\",2500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5879\"]]");
-    p = add_epsg_def (filter, first, last, 5880, "epsg", 5880,
-        "SIRGAS 2000 / Brazil Polyconic");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"5682\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5683, "epsg", 5683,
+        "DB_REF / 3-degree Gauss-Kruger zone 3 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsche_Bahn_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=1000000");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / Brazil Polyconic\",GEOGCS[\"SIRGA");
+        "PROJCS[\"DB_REF / 3-degree Gauss-Kruger zone 3 (E-N)\",G");
     add_srs_wkt (p, 1,
-        "S 2000\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_");
+        "EOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_Reference_System\"");
     add_srs_wkt (p, 2,
-        "las_AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.25");
+        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
     add_srs_wkt (p, 3,
-        "7222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,");
+        "ITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"1081\"]],PR");
     add_srs_wkt (p, 4,
-        "0,0],AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "G\",\"4674\"]],PROJECTION[\"Polyconic\"],PARAMETER[\"lat");
+        "HORITY[\"EPSG\",\"5681\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-54]");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",5000000],PARAMETER[\"false_");
+        "entral_meridian\",9],PARAMETER[\"scale_factor\",1],PARAM");
     add_srs_wkt (p, 10,
-        "northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "ETER[\"false_easting\",3500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"5880\"]]");
-    p = add_epsg_def (filter, first, last, 5886, "epsg", 5886,
-        "TGD2005");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=GRS80 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"TGD2005\",DATUM[\"Tonga_Geodetic_Datum_2005\",S");
-    add_srs_wkt (p, 1,
-        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
-    add_srs_wkt (p, 2,
-        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1095\"]],PRIMEM[\"");
-    add_srs_wkt (p, 3,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
-    add_srs_wkt (p, 4,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
-    add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"5886\"]]");
-    p = add_epsg_def (filter, first, last, 5887, "epsg", 5887,
-        "TGD2005 / Tonga Map Grid");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"5683\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5684, "epsg", 5684,
+        "DB_REF / 3-degree Gauss-Kruger zone 4 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsche_Bahn_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-177 +k=0.9996 +x_0=1500000 ");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+y_0=5000000 +ellps=GRS80 +units=m +no_defs");
+        "+ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"TGD2005 / Tonga Map Grid\",GEOGCS[\"TGD2005\",D");
+        "PROJCS[\"DB_REF / 3-degree Gauss-Kruger zone 4 (E-N)\",G");
     add_srs_wkt (p, 1,
-        "ATUM[\"Tonga_Geodetic_Datum_2005\",SPHEROID[\"GRS 1980\"");
+        "EOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_Reference_System\"");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
+        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"1095\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "ITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"1081\"]],PR");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"58");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "86\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-1");
+        "HORITY[\"EPSG\",\"5681\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "77],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "_easting\",1500000],PARAMETER[\"false_northing\",5000000");
+        "entral_meridian\",12],PARAMETER[\"scale_factor\",1],PARA");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "METER[\"false_easting\",4500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "G\",\"5887\"]]");
-    p = add_epsg_def (filter, first, last, 5890, "epsg", 5890,
-        "JAXA Snow Depth Polar Stereographic North");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"5684\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5685, "epsg", 5685,
+        "DB_REF / 3-degree Gauss-Kruger zone 5 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsche_Bahn_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=90 +k=1 +x_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs");
+        "+ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JAXA Snow Depth Polar Stereographic North\",GEO");
+        "PROJCS[\"DB_REF / 3-degree Gauss-Kruger zone 5 (E-N)\",G");
     add_srs_wkt (p, 1,
-        "GCS[\"Unspecified datum based upon the Hughes 1980 ellip");
+        "EOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_Reference_System\"");
     add_srs_wkt (p, 2,
-        "soid\",DATUM[\"Not_specified_based_on_Hughes_1980_ellips");
+        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
     add_srs_wkt (p, 3,
-        "oid\",SPHEROID[\"Hughes 1980\",6378273,298.279411123061,");
+        "ITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"1081\"]],PR");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"6054\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4054\"]],PROJECTION[\"Pola");
+        "HORITY[\"EPSG\",\"5681\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "r_Stereographic\"],PARAMETER[\"latitude_of_origin\",70],");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"central_meridian\",90],PARAMETER[\"scale_fac");
+        "entral_meridian\",15],PARAMETER[\"scale_factor\",1],PARA");
     add_srs_wkt (p, 10,
-        "tor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"fals");
+        "METER[\"false_easting\",5500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
     add_srs_wkt (p, 13,
-        "SG\",\"5890\"]]");
-    p = add_epsg_def (filter, first, last, 5921, "epsg", 5921,
-        "WGS 84 / EPSG Arctic Regional zone A1");
+        "Y[\"EPSG\",\"5685\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5698, "epsg", 5698,
+        "RGF93 / Lambert-93", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +");
+        "+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=");
     add_proj4text (p, 1,
-        "lon_0=-111 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+    add_proj4text (p, 2,
+        "+units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone A1\",GEOGCS[");
+        "COMPD_CS[\"RGF93 / Lambert-93 + NGF-IGN69 height\",PROJC");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "S[\"RGF93 / Lambert-93\",GEOGCS[\"RGF93\",DATUM[\"Reseau");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "_Geodesique_Francais_1993\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6171\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",85],PARAMETER[\"standard_parallel_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "2\",77],PARAMETER[\"latitude_of_origin\",81.317226],PARA");
+        "PSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 9,
-        "METER[\"central_meridian\",-111],PARAMETER[\"false_easti");
+        "P\"],PARAMETER[\"standard_parallel_1\",49],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "ng\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "tandard_parallel_2\",44],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AX");
+        ",46.5],PARAMETER[\"central_meridian\",3],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "IS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5921\"]]");
-    p = add_epsg_def (filter, first, last, 5922, "epsg", 5922,
-        "WGS 84 / EPSG Arctic Regional zone A2");
+        "se_easting\",700000],PARAMETER[\"false_northing\",660000");
+    add_srs_wkt (p, 13,
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2154\"]");
+    add_srs_wkt (p, 15,
+        "],VERT_CS[\"NGF-IGN69 height\",VERT_DATUM[\"Nivellement ");
+    add_srs_wkt (p, 16,
+        "General de la France - IGN69\",2005,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 17,
+        "5119\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+    add_srs_wkt (p, 18,
+        "AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5720\"]],AUTHORITY[");
+    add_srs_wkt (p, 19,
+        "\"EPSG\",\"5698\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5699, "epsg", 5699,
+        "RGF93 / Lambert-93", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_Francais_1993", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +");
+        "+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=");
     add_proj4text (p, 1,
-        "lon_0=-39 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+    add_proj4text (p, 2,
+        "+units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone A2\",GEOGCS[");
+        "COMPD_CS[\"RGF93 / Lambert-93 + NGF-IGN78 height\",PROJC");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "S[\"RGF93 / Lambert-93\",GEOGCS[\"RGF93\",DATUM[\"Reseau");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "_Geodesique_Francais_1993\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6171\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",85],PARAMETER[\"standard_parallel_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "2\",77],PARAMETER[\"latitude_of_origin\",81.317226],PARA");
+        "PSG\",\"4171\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 9,
-        "METER[\"central_meridian\",-39],PARAMETER[\"false_eastin");
+        "P\"],PARAMETER[\"standard_parallel_1\",49],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "tandard_parallel_2\",44],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        ",46.5],PARAMETER[\"central_meridian\",3],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5922\"]]");
-    p = add_epsg_def (filter, first, last, 5923, "epsg", 5923,
-        "WGS 84 / EPSG Arctic Regional zone A3");
+        "se_easting\",700000],PARAMETER[\"false_northing\",660000");
+    add_srs_wkt (p, 13,
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2154\"]");
+    add_srs_wkt (p, 15,
+        "],VERT_CS[\"NGF-IGN78 height\",VERT_DATUM[\"Nivellement ");
+    add_srs_wkt (p, 16,
+        "General de la France - IGN78\",2005,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 17,
+        "5120\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+    add_srs_wkt (p, 18,
+        "AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5721\"]],AUTHORITY[");
+    add_srs_wkt (p, 19,
+        "\"EPSG\",\"5699\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5700, "epsg", 5700,
+        "NZGD2000 / UTM zone 1S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "New_Zealand_Geodetic_Datum_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +");
+        "+proj=utm +zone=1 +south +ellps=GRS80 +towgs84=0,0,0,0,0");
     add_proj4text (p, 1,
-        "lon_0=33 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone A3\",GEOGCS[");
+        "PROJCS[\"NZGD2000 / UTM zone 1S\",GEOGCS[\"NZGD2000\",DA");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "TUM[\"New_Zealand_Geodetic_Datum_2000\",SPHEROID[\"GRS 1");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6167\"]],P");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",85],PARAMETER[\"standard_parallel_");
+        "UTHORITY[\"EPSG\",\"4167\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "2\",77],PARAMETER[\"latitude_of_origin\",81.317226],PARA");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "METER[\"central_meridian\",33],PARAMETER[\"false_easting");
+        "central_meridian\",-177],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "e_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5923\"]]");
-    p = add_epsg_def (filter, first, last, 5924, "epsg", 5924,
-        "WGS 84 / EPSG Arctic Regional zone A4");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"5700\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5707, "epsg", 5707,
+        "NTF (Paris) / Lambert zone I", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +");
+        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
     add_proj4text (p, 1,
-        "lon_0=105 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +");
+    add_proj4text (p, 2,
+        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
+    add_proj4text (p, 3,
+        "=paris +units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone A4\",GEOGCS[");
+        "COMPD_CS[\"NTF (Paris) / Lambert zone I + NGF-IGN69 heig");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "ht\",PROJCS[\"NTF (Paris) / Lambert zone I\",GEOGCS[\"NT");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "F (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Par");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "is\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.466021");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "2936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,3");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "20,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\"");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",85],PARAMETER[\"standard_parallel_");
+        ",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[");
     add_srs_wkt (p, 8,
-        "2\",77],PARAMETER[\"latitude_of_origin\",81.317226],PARA");
+        "\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"");
     add_srs_wkt (p, 9,
-        "METER[\"central_meridian\",105],PARAMETER[\"false_eastin");
+        "EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1");
     add_srs_wkt (p, 10,
-        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "SP\"],PARAMETER[\"latitude_of_origin\",55],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "entral_meridian\",0],PARAMETER[\"scale_factor\",0.999877");
     add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5924\"]]");
-    p = add_epsg_def (filter, first, last, 5925, "epsg", 5925,
-        "WGS 84 / EPSG Arctic Regional zone A5");
+        "341],PARAMETER[\"false_easting\",600000],PARAMETER[\"fal");
+    add_srs_wkt (p, 13,
+        "se_northing\",1200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"27571\"]],VERT_CS[\"NGF-IGN69 height\",VER");
+    add_srs_wkt (p, 16,
+        "T_DATUM[\"Nivellement General de la France - IGN69\",200");
+    add_srs_wkt (p, 17,
+        "5,AUTHORITY[\"EPSG\",\"5119\"]],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 18,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 19,
+        ",\"5720\"]],AUTHORITY[\"EPSG\",\"5707\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5708, "epsg", 5708,
+        "NTF (Paris) / Lambert zone IV", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +");
+        "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000");
     add_proj4text (p, 1,
-        "lon_0=177 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.3");
+    add_proj4text (p, 2,
+        "69 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0");
+    add_proj4text (p, 3,
+        " +pm=paris +units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone A5\",GEOGCS[");
+        "COMPD_CS[\"NTF (Paris) / Lambert zone IV + NGF-IGN78 hei");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "ght\",PROJCS[\"NTF (Paris) / Lambert zone IV\",GEOGCS[\"");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",85],PARAMETER[\"standard_parallel_");
+        "d\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AX");
     add_srs_wkt (p, 8,
-        "2\",77],PARAMETER[\"latitude_of_origin\",81.317226],PARA");
+        "IS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORIT");
     add_srs_wkt (p, 9,
-        "METER[\"central_meridian\",177],PARAMETER[\"false_eastin");
+        "Y[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Con");
     add_srs_wkt (p, 10,
-        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "ic_1SP\"],PARAMETER[\"latitude_of_origin\",46.85],PARAME");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "TER[\"central_meridian\",0],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5925\"]]");
-    p = add_epsg_def (filter, first, last, 5926, "epsg", 5926,
-        "WGS 84 / EPSG Arctic Regional zone B1");
+        ".99994471],PARAMETER[\"false_easting\",234.358],PARAMETE");
+    add_srs_wkt (p, 13,
+        "R[\"false_northing\",4185861.369],UNIT[\"metre\",1,AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"27574\"]],VERT_CS[\"NGF-IGN78 h");
+    add_srs_wkt (p, 16,
+        "eight\",VERT_DATUM[\"Nivellement General de la France - ");
+    add_srs_wkt (p, 17,
+        "IGN78\",2005,AUTHORITY[\"EPSG\",\"5120\"]],UNIT[\"metre\"");
+    add_srs_wkt (p, 18,
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORI");
+    add_srs_wkt (p, 19,
+        "TY[\"EPSG\",\"5721\"]],AUTHORITY[\"EPSG\",\"5708\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5825, "epsg", 5825,
+        "AGD66 / ACT Standard Grid", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +");
+        "+proj=tmerc +lat_0=-35.31773627777778 +lon_0=149.0092948");
     add_proj4text (p, 1,
-        "lon_0=-111 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "305555 +k=1.000086 +x_0=200000 +y_0=600000 +ellps=aust_S");
+    add_proj4text (p, 2,
+        "A +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0");
+    add_proj4text (p, 3,
+        ".29 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone B1\",GEOGCS[");
+        "PROJCS[\"AGD66 / ACT Standard Grid\",GEOGCS[\"AGD66\",DA");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "TUM[\"Australian_Geodetic_Datum_1966\",SPHEROID[\"Austra");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "lian National Spheroid\",6378160,298.25,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "\",\"7003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.4");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "46,0.234,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"G");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",77],PARAMETER[\"standard_parallel_");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 8,
-        "2\",69],PARAMETER[\"latitude_of_origin\",73.155740861111");
+        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"central_meridian\",-111],PARAMETER[\"fal");
+        "PARAMETER[\"latitude_of_origin\",-35.31773627777778],PAR");
     add_srs_wkt (p, 10,
-        "se_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "AMETER[\"central_meridian\",149.0092948305555],PARAMETER");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+        "[\"scale_factor\",1.000086],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5926");
+        "200000],PARAMETER[\"false_northing\",600000],UNIT[\"metr");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 5927, "epsg", 5927,
-        "WGS 84 / EPSG Arctic Regional zone B2");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5825\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 5832, "epsg", 5832,
+        "DB_REF / 3-degree Gauss-Kruger zone 2 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsche_Bahn_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +");
+        "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "lon_0=-39 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "ellps=bessel +units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone B2\",GEOGCS[");
+        "COMPD_CS[\"DB_REF / 3-degree Gauss-Kruger zone 2 (E-N) +");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        " DHHN92 height\",PROJCS[\"DB_REF / 3-degree Gauss-Kruger");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        " zone 2 (E-N)\",GEOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "Reference_System\",SPHEROID[\"Bessel 1841\",6377397.155,");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EP");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "SG\",\"1081\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",77],PARAMETER[\"standard_parallel_");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "2\",69],PARAMETER[\"latitude_of_origin\",73.155740861111");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"5681\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"central_meridian\",-39],PARAMETER[\"fals");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        ",0],PARAMETER[\"central_meridian\",6],PARAMETER[\"scale_");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "factor\",1],PARAMETER[\"false_easting\",2500000],PARAMET");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5927\"");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5928, "epsg", 5928,
-        "WGS 84 / EPSG Arctic Regional zone B3");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"5682\"]],VERT_CS[\"DHHN92 h");
+    add_srs_wkt (p, 15,
+        "eight\",VERT_DATUM[\"Deutsches Haupthoehennetz 1992\",20");
+    add_srs_wkt (p, 16,
+        "05,AUTHORITY[\"EPSG\",\"5181\"]],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 17,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 18,
+        "\",\"5783\"]],AUTHORITY[\"EPSG\",\"5832\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5833, "epsg", 5833,
+        "DB_REF / 3-degree Gauss-Kruger zone 3 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsche_Bahn_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "lon_0=33 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "ellps=bessel +units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone B3\",GEOGCS[");
+        "COMPD_CS[\"DB_REF / 3-degree Gauss-Kruger zone 3 (E-N) +");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        " DHHN92 height\",PROJCS[\"DB_REF / 3-degree Gauss-Kruger");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        " zone 3 (E-N)\",GEOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "Reference_System\",SPHEROID[\"Bessel 1841\",6377397.155,");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EP");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "SG\",\"1081\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",77],PARAMETER[\"standard_parallel_");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "2\",69],PARAMETER[\"latitude_of_origin\",73.155740861111");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"5681\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"central_meridian\",33],PARAMETER[\"false");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        ",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
+        "factor\",1],PARAMETER[\"false_easting\",3500000],PARAMET");
     add_srs_wkt (p, 12,
-        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5928\"");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5929, "epsg", 5929,
-        "WGS 84 / EPSG Arctic Regional zone B4");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"5683\"]],VERT_CS[\"DHHN92 h");
+    add_srs_wkt (p, 15,
+        "eight\",VERT_DATUM[\"Deutsches Haupthoehennetz 1992\",20");
+    add_srs_wkt (p, 16,
+        "05,AUTHORITY[\"EPSG\",\"5181\"]],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 17,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 18,
+        "\",\"5783\"]],AUTHORITY[\"EPSG\",\"5833\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5834, "epsg", 5834,
+        "DB_REF / 3-degree Gauss-Kruger zone 4 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsche_Bahn_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "lon_0=105 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "+ellps=bessel +units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone B4\",GEOGCS[");
+        "COMPD_CS[\"DB_REF / 3-degree Gauss-Kruger zone 4 (E-N) +");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        " DHHN92 height\",PROJCS[\"DB_REF / 3-degree Gauss-Kruger");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        " zone 4 (E-N)\",GEOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "Reference_System\",SPHEROID[\"Bessel 1841\",6377397.155,");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EP");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "SG\",\"1081\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",77],PARAMETER[\"standard_parallel_");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "2\",69],PARAMETER[\"latitude_of_origin\",73.155740861111");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"5681\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"central_meridian\",105],PARAMETER[\"fals");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        ",0],PARAMETER[\"central_meridian\",12],PARAMETER[\"scale");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "_factor\",1],PARAMETER[\"false_easting\",4500000],PARAME");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5929\"");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5930, "epsg", 5930,
-        "WGS 84 / EPSG Arctic Regional zone B5");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"5684\"]],VERT_CS[\"DHHN92 h");
+    add_srs_wkt (p, 15,
+        "eight\",VERT_DATUM[\"Deutsches Haupthoehennetz 1992\",20");
+    add_srs_wkt (p, 16,
+        "05,AUTHORITY[\"EPSG\",\"5181\"]],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 17,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 18,
+        "\",\"5783\"]],AUTHORITY[\"EPSG\",\"5834\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5835, "epsg", 5835,
+        "DB_REF / 3-degree Gauss-Kruger zone 5 (E-N)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsche_Bahn_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "lon_0=177 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "+ellps=bessel +units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone B5\",GEOGCS[");
+        "COMPD_CS[\"DB_REF / 3-degree Gauss-Kruger zone 5 (E-N) +");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        " DHHN92 height\",PROJCS[\"DB_REF / 3-degree Gauss-Kruger");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        " zone 5 (E-N)\",GEOGCS[\"DB_REF\",DATUM[\"Deutsche_Bahn_");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "Reference_System\",SPHEROID[\"Bessel 1841\",6377397.155,");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EP");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "SG\",\"1081\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",77],PARAMETER[\"standard_parallel_");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "2\",69],PARAMETER[\"latitude_of_origin\",73.155740861111");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"5681\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"central_meridian\",177],PARAMETER[\"fals");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "_factor\",1],PARAMETER[\"false_easting\",5500000],PARAME");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5930\"");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5931, "epsg", 5931,
-        "WGS 84 / EPSG Arctic Regional zone C1");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"5685\"]],VERT_CS[\"DHHN92 h");
+    add_srs_wkt (p, 15,
+        "eight\",VERT_DATUM[\"Deutsches Haupthoehennetz 1992\",20");
+    add_srs_wkt (p, 16,
+        "05,AUTHORITY[\"EPSG\",\"5181\"]],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 17,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 18,
+        "\",\"5783\"]],AUTHORITY[\"EPSG\",\"5835\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5836, "epsg", 5836,
+        "Yemen NGN96 / UTM zone 37N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Yemen_National_Geodetic_Network_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +");
+        "+proj=utm +zone=37 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "lon_0=-111 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone C1\",GEOGCS[");
+        "PROJCS[\"Yemen NGN96 / UTM zone 37N\",GEOGCS[\"Yemen NGN");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "96\",DATUM[\"Yemen_National_Geodetic_Network_1996\",SPHE");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "ROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        ",\"7030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "6163\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",69],PARAMETER[\"standard_parallel_");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4163\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "2\",61],PARAMETER[\"latitude_of_origin\",65.101270888888");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "88],PARAMETER[\"central_meridian\",-111],PARAMETER[\"fal");
+        "ARAMETER[\"central_meridian\",39],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "se_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5931");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 5932, "epsg", 5932,
-        "WGS 84 / EPSG Arctic Regional zone C2");
+        ",NORTH],AUTHORITY[\"EPSG\",\"5836\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5837, "epsg", 5837,
+        "Yemen NGN96 / UTM zone 40N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Yemen_National_Geodetic_Network_1996", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +");
+        "+proj=utm +zone=40 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "lon_0=-39 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone C2\",GEOGCS[");
+        "PROJCS[\"Yemen NGN96 / UTM zone 40N\",GEOGCS[\"Yemen NGN");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "96\",DATUM[\"Yemen_National_Geodetic_Network_1996\",SPHE");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "ROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        ",\"7030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "6163\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",69],PARAMETER[\"standard_parallel_");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4163\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "2\",61],PARAMETER[\"latitude_of_origin\",65.101270888888");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "88],PARAMETER[\"central_meridian\",-39],PARAMETER[\"fals");
+        "ARAMETER[\"central_meridian\",57],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5932\"");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5933, "epsg", 5933,
-        "WGS 84 / EPSG Arctic Regional zone C3");
+        ",NORTH],AUTHORITY[\"EPSG\",\"5837\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5839, "epsg", 5839,
+        "Peru96 / UTM zone 17S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Peru96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +");
+        "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "lon_0=33 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone C3\",GEOGCS[");
+        "PROJCS[\"Peru96 / UTM zone 17S\",GEOGCS[\"Peru96\",DATUM");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "[\"Peru96\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUT");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "HORITY[\"EPSG\",\"1067\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5373\"]]");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",69],PARAMETER[\"standard_parallel_");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "2\",61],PARAMETER[\"latitude_of_origin\",65.101270888888");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-81],PAR");
     add_srs_wkt (p, 9,
-        "88],PARAMETER[\"central_meridian\",33],PARAMETER[\"false");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "g\",500000],PARAMETER[\"false_northing\",10000000],UNIT[");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
     add_srs_wkt (p, 12,
-        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5933\"");
+        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5934, "epsg", 5934,
-        "WGS 84 / EPSG Arctic Regional zone C4");
+        "839\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5842, "epsg", 5842,
+        "WGS 84 / TM 12 SE", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "lon_0=105 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "0=10000000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone C4\",GEOGCS[");
+        "PROJCS[\"WGS 84 / TM 12 SE\",GEOGCS[\"WGS 84\",DATUM[\"W");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "GS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTH");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "ORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",69],PARAMETER[\"standard_parallel_");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 8,
-        "2\",61],PARAMETER[\"latitude_of_origin\",65.101270888888");
+        "\"central_meridian\",12],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 9,
-        "88],PARAMETER[\"central_meridian\",105],PARAMETER[\"fals");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 10,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "e_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5934\"");
-    add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5935, "epsg", 5935,
-        "WGS 84 / EPSG Arctic Regional zone C5");
+        "ORTH],AUTHORITY[\"EPSG\",\"5842\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5844, "epsg", 5844,
+        "RGRDC 2005 / Congo TM zone 30", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Reseau_Geodesique_de_la_RDC_2005", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +");
+        "+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "lon_0=177 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
+        "0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone C5\",GEOGCS[");
+        "PROJCS[\"RGRDC 2005 / Congo TM zone 30\",GEOGCS[\"RGRDC ");
     add_srs_wkt (p, 1,
-        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
+        "2005\",DATUM[\"Reseau_Geodesique_de_la_RDC_2005\",SPHERO");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
+        "ID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        ",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "1033\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "standard_parallel_1\",69],PARAMETER[\"standard_parallel_");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4046\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "2\",61],PARAMETER[\"latitude_of_origin\",65.101270888888");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "88],PARAMETER[\"central_meridian\",177],PARAMETER[\"fals");
+        "ARAMETER[\"central_meridian\",30],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "or\",0.9999],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5935\"");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 5936, "epsg", 5936,
-        "WGS 84 / EPSG Alaska Polar Stereographic");
+        "],AUTHORITY[\"EPSG\",\"5844\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5845, "epsg", 5845,
+        "SWEREF99 TM", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=-150 +k=0.994 +x");
+        "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Alaska Polar Stereographic\",GEOG");
+        "COMPD_CS[\"SWEREF99 TM + RH2000 height\",PROJCS[\"SWEREF");
     add_srs_wkt (p, 1,
-        "CS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637");
+        "99 TM\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "8137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORI");
+        "\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"661");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "9\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Polar_Stereographic\"],PARAMETER[\"latit");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",90],PARAMETER[\"central_meridian\",-150]");
+        "EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",0.994],PARAMETER[\"false_eas");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "ting\",2000000],PARAMETER[\"false_northing\",2000000],UN");
+        "METER[\"central_meridian\",15],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5936\"]]");
-    p = add_epsg_def (filter, first, last, 5937, "epsg", 5937,
-        "WGS 84 / EPSG Canada Polar Stereographic");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AUTHORITY[\"EPSG\",\"3006\"]],VERT_CS[\"RH2000 height");
+    add_srs_wkt (p, 14,
+        "\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 16,
+        "\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5613\"]]");
+    add_srs_wkt (p, 17,
+        ",AUTHORITY[\"EPSG\",\"5845\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5846, "epsg", 5846,
+        "SWEREF99 12 00", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=-100 +k=0.994 +x");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=150000 +y_0=0 +");
     add_proj4text (p, 1,
-        "_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs");
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +n");
+    add_proj4text (p, 2,
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Canada Polar Stereographic\",GEOG");
+        "COMPD_CS[\"SWEREF99 12 00 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "CS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637");
+        "REF99 12 00\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "8137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORI");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Polar_Stereographic\"],PARAMETER[\"latit");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",90],PARAMETER[\"central_meridian\",-100]");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"scale_factor\",0.994],PARAMETER[\"false_eas");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ting\",2000000],PARAMETER[\"false_northing\",2000000],UN");
+        "],PARAMETER[\"central_meridian\",12],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "actor\",1],PARAMETER[\"false_easting\",150000],PARAMETER");
     add_srs_wkt (p, 11,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5937\"]]");
-    p = add_epsg_def (filter, first, last, 5938, "epsg", 5938,
-        "WGS 84 / EPSG Greenland Polar Stereographic");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 12,
+        "\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"3007\"]],VERT_CS[\"RH2000 hei");
+    add_srs_wkt (p, 14,
+        "ght\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 16,
+        "\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5613\"");
+    add_srs_wkt (p, 17,
+        "]],AUTHORITY[\"EPSG\",\"5846\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5847, "epsg", 5847,
+        "SWEREF99 13 30", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=-33 +k=0.994 +x_");
+        "+proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=150000 +y_0=0");
     add_proj4text (p, 1,
-        "0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Greenland Polar Stereographic\",G");
+        "COMPD_CS[\"SWEREF99 13 30 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "EOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",");
+        "REF99 13 30\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTH");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"432");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "6\"]],PROJECTION[\"Polar_Stereographic\"],PARAMETER[\"la");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",90],PARAMETER[\"central_meridian\",-3");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "3],PARAMETER[\"scale_factor\",0.994],PARAMETER[\"false_e");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "asting\",2000000],PARAMETER[\"false_northing\",2000000],");
+        "],PARAMETER[\"central_meridian\",13.5],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "_factor\",1],PARAMETER[\"false_easting\",150000],PARAMET");
     add_srs_wkt (p, 11,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5938\"]]");
-    p = add_epsg_def (filter, first, last, 5939, "epsg", 5939,
-        "WGS 84 / EPSG Norway Polar Stereographic");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"3008\"]],VERT_CS[\"RH2000 he");
+    add_srs_wkt (p, 14,
+        "ight\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5613");
+    add_srs_wkt (p, 17,
+        "\"]],AUTHORITY[\"EPSG\",\"5847\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5848, "epsg", 5848,
+        "SWEREF99 15 00", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=18 +k=0.994 +x_0");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=150000 +y_0=0 +");
     add_proj4text (p, 1,
-        "=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs");
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +n");
+    add_proj4text (p, 2,
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Norway Polar Stereographic\",GEOG");
+        "COMPD_CS[\"SWEREF99 15 00 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "CS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637");
+        "REF99 15 00\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "8137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORI");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Polar_Stereographic\"],PARAMETER[\"latit");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",90],PARAMETER[\"central_meridian\",18],P");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"scale_factor\",0.994],PARAMETER[\"false_easti");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ng\",2000000],PARAMETER[\"false_northing\",2000000],UNIT");
+        "],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        "actor\",1],PARAMETER[\"false_easting\",150000],PARAMETER");
     add_srs_wkt (p, 11,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5939\"]]");
-    p = add_epsg_def (filter, first, last, 5940, "epsg", 5940,
-        "WGS 84 / EPSG Russia Polar Stereographic");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 12,
+        "\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"3009\"]],VERT_CS[\"RH2000 hei");
+    add_srs_wkt (p, 14,
+        "ght\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 16,
+        "\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5613\"");
+    add_srs_wkt (p, 17,
+        "]],AUTHORITY[\"EPSG\",\"5848\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5849, "epsg", 5849,
+        "SWEREF99 16 30", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=105 +k=0.994 +x_");
+        "+proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=150000 +y_0=0");
     add_proj4text (p, 1,
-        "0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs");
+        " +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Russia Polar Stereographic\",GEOG");
+        "COMPD_CS[\"SWEREF99 16 30 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "CS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637");
+        "REF99 16 30\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "8137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORI");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "]],PROJECTION[\"Polar_Stereographic\"],PARAMETER[\"latit");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ude_of_origin\",90],PARAMETER[\"central_meridian\",105],");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"scale_factor\",0.994],PARAMETER[\"false_east");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ing\",2000000],PARAMETER[\"false_northing\",2000000],UNI");
+        "],PARAMETER[\"central_meridian\",16.5],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "_factor\",1],PARAMETER[\"false_easting\",150000],PARAMET");
     add_srs_wkt (p, 11,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5940\"]]");
-    p = add_epsg_def (filter, first, last, 6050, "epsg", 6050,
-        "GR96 / EPSG Arctic zone 1-25");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 12,
+        "SG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"3010\"]],VERT_CS[\"RH2000 he");
+    add_srs_wkt (p, 14,
+        "ight\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5613");
+    add_srs_wkt (p, 17,
+        "\"]],AUTHORITY[\"EPSG\",\"5849\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5850, "epsg", 5850,
+        "SWEREF99 18 00", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
+        "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=150000 +y_0=0 +");
     add_proj4text (p, 1,
-        "3711833333333 +lon_0=-30 +x_0=25500000 +y_0=1500000 +ell");
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +n");
     add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 1-25\",GEOGCS[\"GR96\",");
+        "COMPD_CS[\"SWEREF99 18 00 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "REF99 18 00\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",87],PARAMETER[");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "\"standard_parallel_2\",83.66666666666667],PARAMETER[\"l");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",85.43711833333333],PARAMETER[\"centr");
+        "],PARAMETER[\"central_meridian\",18],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "al_meridian\",-30],PARAMETER[\"false_easting\",25500000]");
+        "actor\",1],PARAMETER[\"false_easting\",150000],PARAMETER");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",1500000],UNIT[\"metre\",1,");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6050\"]]");
-    p = add_epsg_def (filter, first, last, 6051, "epsg", 6051,
-        "GR96 / EPSG Arctic zone 2-18");
+        "EAST],AUTHORITY[\"EPSG\",\"3011\"]],VERT_CS[\"RH2000 hei");
+    add_srs_wkt (p, 14,
+        "ght\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 16,
+        "\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5613\"");
+    add_srs_wkt (p, 17,
+        "]],AUTHORITY[\"EPSG\",\"5850\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5851, "epsg", 5851,
+        "SWEREF99 14 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=14.25 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=82.05842488888888 +lon_0=-52 +x_0=18500000 +y");
+        "0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m");
     add_proj4text (p, 2,
-        "_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 2-18\",GEOGCS[\"GR96\",");
+        "COMPD_CS[\"SWEREF99 14 15 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "REF99 14 15\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",83.66666666666");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "667],PARAMETER[\"standard_parallel_2\",80.33333333333333");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",82.05842488888888],PA");
+        "],PARAMETER[\"central_meridian\",14.25],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-52],PARAMETER[\"false_east");
+        "e_factor\",1],PARAMETER[\"false_easting\",150000],PARAME");
     add_srs_wkt (p, 11,
-        "ing\",18500000],PARAMETER[\"false_northing\",2500000],UN");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
     add_srs_wkt (p, 13,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "\",EAST],AUTHORITY[\"EPSG\",\"3012\"]],VERT_CS[\"RH2000 ");
     add_srs_wkt (p, 14,
-        "\"6051\"]]");
-    p = add_epsg_def (filter, first, last, 6052, "epsg", 6052,
-        "GR96 / EPSG Arctic zone 2-20");
+        "height\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"56");
+    add_srs_wkt (p, 17,
+        "13\"]],AUTHORITY[\"EPSG\",\"5851\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5852, "epsg", 5852,
+        "SWEREF99 15 45", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=15.75 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=82.05842488888888 +lon_0=-12 +x_0=20500000 +y");
+        "0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m");
     add_proj4text (p, 2,
-        "_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 2-20\",GEOGCS[\"GR96\",");
+        "COMPD_CS[\"SWEREF99 15 45 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "REF99 15 45\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",83.66666666666");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "667],PARAMETER[\"standard_parallel_2\",80.33333333333333");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",82.05842488888888],PA");
+        "],PARAMETER[\"central_meridian\",15.75],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-12],PARAMETER[\"false_east");
+        "e_factor\",1],PARAMETER[\"false_easting\",150000],PARAME");
     add_srs_wkt (p, 11,
-        "ing\",20500000],PARAMETER[\"false_northing\",2500000],UN");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
     add_srs_wkt (p, 13,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "\",EAST],AUTHORITY[\"EPSG\",\"3013\"]],VERT_CS[\"RH2000 ");
     add_srs_wkt (p, 14,
-        "\"6052\"]]");
-    p = add_epsg_def (filter, first, last, 6053, "epsg", 6053,
-        "GR96 / EPSG Arctic zone 3-29");
+        "height\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"56");
+    add_srs_wkt (p, 17,
+        "13\"]],AUTHORITY[\"EPSG\",\"5852\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5853, "epsg", 5853,
+        "SWEREF99 17 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=tmerc +lat_0=0 +lon_0=17.25 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=-69 +x_0=29500000 +y_0=3500000 +ell");
+        "0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m");
     add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 3-29\",GEOGCS[\"GR96\",");
+        "COMPD_CS[\"SWEREF99 17 15 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "REF99 17 15\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",80.33333333333");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "333],PARAMETER[\"standard_parallel_2\",77],PARAMETER[\"l");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",78.70733752777778],PARAMETER[\"centr");
+        "],PARAMETER[\"central_meridian\",17.25],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "al_meridian\",-69],PARAMETER[\"false_easting\",29500000]");
+        "e_factor\",1],PARAMETER[\"false_easting\",150000],PARAME");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",3500000],UNIT[\"metre\",1,");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6053\"]]");
+        "\",EAST],AUTHORITY[\"EPSG\",\"3014\"]],VERT_CS[\"RH2000 ");
+    add_srs_wkt (p, 14,
+        "height\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"56");
+    add_srs_wkt (p, 17,
+        "13\"]],AUTHORITY[\"EPSG\",\"5853\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_28.c b/src/srsinit/epsg_inlined_28.c
index fb6b23a..afd45bd 100644
--- a/src/srsinit/epsg_inlined_28.c
+++ b/src/srsinit/epsg_inlined_28.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3542 +54,4313 @@ initialize_epsg_28 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 6054, "epsg", 6054,
-        "GR96 / EPSG Arctic zone 3-31");
+    p = add_epsg_def_ex (filter, first, last, 5854, "epsg", 5854,
+        "SWEREF99 18 45", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=tmerc +lat_0=0 +lon_0=18.75 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=-39 +x_0=31500000 +y_0=3500000 +ell");
+        "0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m");
     add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 3-31\",GEOGCS[\"GR96\",");
+        "COMPD_CS[\"SWEREF99 18 45 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "REF99 18 45\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",80.33333333333");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "333],PARAMETER[\"standard_parallel_2\",77],PARAMETER[\"l");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",78.70733752777778],PARAMETER[\"centr");
+        "],PARAMETER[\"central_meridian\",18.75],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "al_meridian\",-39],PARAMETER[\"false_easting\",31500000]");
+        "e_factor\",1],PARAMETER[\"false_easting\",150000],PARAME");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",3500000],UNIT[\"metre\",1,");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6054\"]]");
-    p = add_epsg_def (filter, first, last, 6055, "epsg", 6055,
-        "GR96 / EPSG Arctic zone 3-33");
+        "\",EAST],AUTHORITY[\"EPSG\",\"3015\"]],VERT_CS[\"RH2000 ");
+    add_srs_wkt (p, 14,
+        "height\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"56");
+    add_srs_wkt (p, 17,
+        "13\"]],AUTHORITY[\"EPSG\",\"5854\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5855, "epsg", 5855,
+        "SWEREF99 20 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=tmerc +lat_0=0 +lon_0=20.25 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=-10 +x_0=33500000 +y_0=3500000 +ell");
+        "0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m");
     add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 3-33\",GEOGCS[\"GR96\",");
+        "COMPD_CS[\"SWEREF99 20 15 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "REF99 20 15\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",80.33333333333");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "333],PARAMETER[\"standard_parallel_2\",77],PARAMETER[\"l");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",78.70733752777778],PARAMETER[\"centr");
+        "],PARAMETER[\"central_meridian\",20.25],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "al_meridian\",-10],PARAMETER[\"false_easting\",33500000]");
+        "e_factor\",1],PARAMETER[\"false_easting\",150000],PARAME");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",3500000],UNIT[\"metre\",1,");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6055\"]]");
-    p = add_epsg_def (filter, first, last, 6056, "epsg", 6056,
-        "GR96 / EPSG Arctic zone 4-20");
+        "\",EAST],AUTHORITY[\"EPSG\",\"3016\"]],VERT_CS[\"RH2000 ");
+    add_srs_wkt (p, 14,
+        "height\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"56");
+    add_srs_wkt (p, 17,
+        "13\"]],AUTHORITY[\"EPSG\",\"5855\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5856, "epsg", 5856,
+        "SWEREF99 21 45", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=tmerc +lat_0=0 +lon_0=21.75 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=-64 +x_0=20500000 +y_0=4500000 +ell");
+        "0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m");
     add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 4-20\",GEOGCS[\"GR96\",");
+        "COMPD_CS[\"SWEREF99 21 45 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "REF99 21 45\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",77],PARAMETER[");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "\"standard_parallel_2\",73.66666666666667],PARAMETER[\"l");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",75.36440330555556],PARAMETER[\"centr");
+        "],PARAMETER[\"central_meridian\",21.75],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "al_meridian\",-64],PARAMETER[\"false_easting\",20500000]");
+        "e_factor\",1],PARAMETER[\"false_easting\",150000],PARAME");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",4500000],UNIT[\"metre\",1,");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6056\"]]");
-    p = add_epsg_def (filter, first, last, 6057, "epsg", 6057,
-        "GR96 / EPSG Arctic zone 4-22");
+        "\",EAST],AUTHORITY[\"EPSG\",\"3017\"]],VERT_CS[\"RH2000 ");
+    add_srs_wkt (p, 14,
+        "height\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"56");
+    add_srs_wkt (p, 17,
+        "13\"]],AUTHORITY[\"EPSG\",\"5856\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5857, "epsg", 5857,
+        "SWEREF99 23 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "SWEREF99", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=tmerc +lat_0=0 +lon_0=23.25 +k=1 +x_0=150000 +y_0=");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=-39 +x_0=22500000 +y_0=4500000 +ell");
+        "0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m");
     add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 4-22\",GEOGCS[\"GR96\",");
+        "COMPD_CS[\"SWEREF99 23 15 + RH2000 height\",PROJCS[\"SWE");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "REF99 23 15\",GEOGCS[\"SWEREF99\",DATUM[\"SWEREF99\",SPH");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"6619\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",77],PARAMETER[");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4619\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "\"standard_parallel_2\",73.66666666666667],PARAMETER[\"l");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",75.36440330555556],PARAMETER[\"centr");
+        "],PARAMETER[\"central_meridian\",23.25],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "al_meridian\",-39],PARAMETER[\"false_easting\",22500000]");
+        "e_factor\",1],PARAMETER[\"false_easting\",150000],PARAME");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",4500000],UNIT[\"metre\",1,");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6057\"]]");
-    p = add_epsg_def (filter, first, last, 6058, "epsg", 6058,
-        "GR96 / EPSG Arctic zone 4-24");
+        "\",EAST],AUTHORITY[\"EPSG\",\"3018\"]],VERT_CS[\"RH2000 ");
+    add_srs_wkt (p, 14,
+        "height\",VERT_DATUM[\"Rikets hojdsystem 2000\",2005,AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"5208\"]],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"56");
+    add_srs_wkt (p, 17,
+        "13\"]],AUTHORITY[\"EPSG\",\"5857\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5858, "epsg", 5858,
+        "SAD69(96) / UTM zone 22S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969_96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=utm +zone=22 +south +ellps=aust_SA +towgs84=-67.35");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=-14 +x_0=24500000 +y_0=4500000 +ell");
-    add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        ",3.88,-38.22,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 4-24\",GEOGCS[\"GR96\",");
+        "PROJCS[\"SAD69(96) / UTM zone 22S\",GEOGCS[\"SAD69(96)\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        ",DATUM[\"South_American_Datum_1969_96\",SPHEROID[\"GRS 1");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "967 Modified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "]],TOWGS84[-67.35,3.88,-38.22,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"1075\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",77],PARAMETER[");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "\"standard_parallel_2\",73.66666666666667],PARAMETER[\"l");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",75.36440330555556],PARAMETER[\"centr");
+        "],PARAMETER[\"central_meridian\",-51],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "al_meridian\",-14],PARAMETER[\"false_easting\",24500000]");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",4500000],UNIT[\"metre\",1,");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6058\"]]");
-    p = add_epsg_def (filter, first, last, 6059, "epsg", 6059,
-        "GR96 / EPSG Arctic zone 5-41");
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5858\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5875, "epsg", 5875,
+        "SAD69(96) / UTM zone 18S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969_96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=utm +zone=18 +south +ellps=aust_SA +towgs84=-67.35");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-62 +x_0=41500000 +y");
-    add_proj4text (p, 2,
-        "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        ",3.88,-38.22,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 5-41\",GEOGCS[\"GR96\",");
+        "PROJCS[\"SAD69(96) / UTM zone 18S\",GEOGCS[\"SAD69(96)\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        ",DATUM[\"South_American_Datum_1969_96\",SPHEROID[\"GRS 1");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "967 Modified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "]],TOWGS84[-67.35,3.88,-38.22,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"1075\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",73.66666666666");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "667],PARAMETER[\"standard_parallel_2\",70.33333333333333");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",72.02500919444445],PA");
+        "],PARAMETER[\"central_meridian\",-75],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-62],PARAMETER[\"false_east");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ing\",41500000],PARAMETER[\"false_northing\",5500000],UN");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
     add_srs_wkt (p, 13,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 14,
-        "\"6059\"]]");
-    p = add_epsg_def (filter, first, last, 6060, "epsg", 6060,
-        "GR96 / EPSG Arctic zone 5-43");
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5875\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5876, "epsg", 5876,
+        "SAD69(96) / UTM zone 19S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969_96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=utm +zone=19 +south +ellps=aust_SA +towgs84=-67.35");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-42 +x_0=43500000 +y");
-    add_proj4text (p, 2,
-        "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        ",3.88,-38.22,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 5-43\",GEOGCS[\"GR96\",");
+        "PROJCS[\"SAD69(96) / UTM zone 19S\",GEOGCS[\"SAD69(96)\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        ",DATUM[\"South_American_Datum_1969_96\",SPHEROID[\"GRS 1");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "967 Modified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "]],TOWGS84[-67.35,3.88,-38.22,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"1075\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",73.66666666666");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "667],PARAMETER[\"standard_parallel_2\",70.33333333333333");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",72.02500919444445],PA");
+        "],PARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-42],PARAMETER[\"false_east");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ing\",43500000],PARAMETER[\"false_northing\",5500000],UN");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
     add_srs_wkt (p, 13,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 14,
-        "\"6060\"]]");
-    p = add_epsg_def (filter, first, last, 6061, "epsg", 6061,
-        "GR96 / EPSG Arctic zone 5-45");
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5876\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5877, "epsg", 5877,
+        "SAD69(96) / UTM zone 20S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969_96", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=utm +zone=20 +south +ellps=aust_SA +towgs84=-67.35");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-22 +x_0=45500000 +y");
-    add_proj4text (p, 2,
-        "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        ",3.88,-38.22,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 5-45\",GEOGCS[\"GR96\",");
+        "PROJCS[\"SAD69(96) / UTM zone 20S\",GEOGCS[\"SAD69(96)\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        ",DATUM[\"South_American_Datum_1969_96\",SPHEROID[\"GRS 1");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "967 Modified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "]],TOWGS84[-67.35,3.88,-38.22,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"1075\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",73.66666666666");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"5527\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "667],PARAMETER[\"standard_parallel_2\",70.33333333333333");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",72.02500919444445],PA");
+        "],PARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-22],PARAMETER[\"false_east");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ing\",45500000],PARAMETER[\"false_northing\",5500000],UN");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
     add_srs_wkt (p, 13,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 14,
-        "\"6061\"]]");
-    p = add_epsg_def (filter, first, last, 6062, "epsg", 6062,
-        "GR96 / EPSG Arctic zone 6-26");
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5877\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5879, "epsg", 5879,
+        "Cadastre 1997 / UTM zone 38S", 0, 0,
+        "International 1924", "Greenwich",
+        "Cadastre_1997", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=utm +zone=38 +south +ellps=intl +towgs84=-381.788,");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-56 +x_0=26500000 +y_0=6500000 +ell");
-    add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "-57.501,-256.673,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 6-26\",GEOGCS[\"GR96\",");
+        "PROJCS[\"Cadastre 1997 / UTM zone 38S\",GEOGCS[\"Cadastr");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "e 1997\",DATUM[\"Cadastre_1997\",SPHEROID[\"Internationa");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "l 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "84[-381.788,-57.501,-256.673,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",\"1037\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",70.33333333333");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4475\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "333],PARAMETER[\"standard_parallel_2\",67],PARAMETER[\"l");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",68.68747555555557],PARAMETER[\"centr");
+        "],PARAMETER[\"central_meridian\",45],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "al_meridian\",-56],PARAMETER[\"false_easting\",26500000]");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",6500000],UNIT[\"metre\",1,");
+        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6062\"]]");
-    p = add_epsg_def (filter, first, last, 6063, "epsg", 6063,
-        "GR96 / EPSG Arctic zone 6-28");
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"5879\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5880, "epsg", 5880,
+        "SIRGAS 2000 / Brazil Polyconic", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Polyconic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=1000000");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-38 +x_0=28500000 +y_0=6500000 +ell");
-    add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 6-28\",GEOGCS[\"GR96\",");
+        "PROJCS[\"SIRGAS 2000 / Brazil Polyconic\",GEOGCS[\"SIRGA");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "S 2000\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "las_AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.25");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "7222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "0,0],AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",70.33333333333");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "333],PARAMETER[\"standard_parallel_2\",67],PARAMETER[\"l");
+        "4674\"]],PROJECTION[\"Polyconic\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",68.68747555555557],PARAMETER[\"centr");
+        "of_origin\",0],PARAMETER[\"central_meridian\",-54],PARAM");
     add_srs_wkt (p, 10,
-        "al_meridian\",-38],PARAMETER[\"false_easting\",28500000]");
+        "ETER[\"false_easting\",5000000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",6500000],UNIT[\"metre\",1,");
+        "ng\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6063\"]]");
-    p = add_epsg_def (filter, first, last, 6064, "epsg", 6064,
-        "GR96 / EPSG Arctic zone 6-30");
+        "G\",\"5880\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5886, "epsg", 5886,
+        "TGD2005", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Tonga_Geodetic_Datum_2005", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=longlat +ellps=GRS80 +no_defs");
+    add_srs_wkt (p, 0,
+        "GEOGCS[\"TGD2005\",DATUM[\"Tonga_Geodetic_Datum_2005\",S");
+    add_srs_wkt (p, 1,
+        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
+    add_srs_wkt (p, 2,
+        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1095\"]],PRIMEM[\"");
+    add_srs_wkt (p, 3,
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+    add_srs_wkt (p, 4,
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
+    add_srs_wkt (p, 5,
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 6,
+        "[\"EPSG\",\"5886\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5887, "epsg", 5887,
+        "TGD2005 / Tonga Map Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Tonga_Geodetic_Datum_2005", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=-177 +k=0.9996 +x_0=1500000 ");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-20 +x_0=30500000 +y_0=6500000 +ell");
-    add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "+y_0=5000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 6-30\",GEOGCS[\"GR96\",");
+        "PROJCS[\"TGD2005 / Tonga Map Grid\",GEOGCS[\"TGD2005\",D");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "ATUM[\"Tonga_Geodetic_Datum_2005\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "HORITY[\"EPSG\",\"1095\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5886\"]]");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",70.33333333333");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "333],PARAMETER[\"standard_parallel_2\",67],PARAMETER[\"l");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-177],PA");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",68.68747555555557],PARAMETER[\"centr");
+        "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "al_meridian\",-20],PARAMETER[\"false_easting\",30500000]");
+        "ng\",1500000],PARAMETER[\"false_northing\",5000000],UNIT");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",6500000],UNIT[\"metre\",1,");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6064\"]]");
-    p = add_epsg_def (filter, first, last, 6065, "epsg", 6065,
-        "GR96 / EPSG Arctic zone 7-11");
+        "5887\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5890, "epsg", 5890,
+        "JAXA Snow Depth Polar Stereographic North", 0, 0,
+        "Hughes 1980", "Greenwich",
+        "Not_specified_based_on_Hughes_1980_ellipsoid", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=67 +lat_2=63.66666666666666 +lat_0=65.3");
+        "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=90 +k=1 +x_0=0 +");
     add_proj4text (p, 1,
-        "5103930555555 +lon_0=-51 +x_0=11500000 +y_0=7500000 +ell");
-    add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 7-11\",GEOGCS[\"GR96\",");
+        "PROJCS[\"JAXA Snow Depth Polar Stereographic North\",GEO");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "GCS[\"Unspecified datum based upon the Hughes 1980 ellip");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "soid\",DATUM[\"Not_specified_based_on_Hughes_1980_ellips");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "oid\",SPHEROID[\"Hughes 1980\",6378273,298.279411123064,");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "AUTHORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"6054\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",67],PARAMETER[");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 8,
-        "\"standard_parallel_2\",63.66666666666666],PARAMETER[\"l");
+        "T],AUTHORITY[\"EPSG\",\"4054\"]],PROJECTION[\"Polar_Ster");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",65.35103930555555],PARAMETER[\"centr");
+        "eographic\"],PARAMETER[\"latitude_of_origin\",70],PARAME");
     add_srs_wkt (p, 10,
-        "al_meridian\",-51],PARAMETER[\"false_easting\",11500000]");
+        "TER[\"central_meridian\",90],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",7500000],UNIT[\"metre\",1,");
+        "1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6065\"]]");
-    p = add_epsg_def (filter, first, last, 6066, "epsg", 6066,
-        "GR96 / EPSG Arctic zone 7-13");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "5890\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5921, "epsg", 5921,
+        "WGS 84 / EPSG Arctic Regional zone A1", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=67 +lat_2=63.66666666666666 +lat_0=65.3");
+        "+proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +");
     add_proj4text (p, 1,
-        "5103930555555 +lon_0=-34 +x_0=13500000 +y_0=7500000 +ell");
-    add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "lon_0=-111 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 7-13\",GEOGCS[\"GR96\",");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone A1\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",67],PARAMETER[");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "\"standard_parallel_2\",63.66666666666666],PARAMETER[\"l");
+        "rd_parallel_1\",85],PARAMETER[\"standard_parallel_2\",77");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",65.35103930555555],PARAMETER[\"centr");
+        "],PARAMETER[\"latitude_of_origin\",81.317226],PARAMETER[");
     add_srs_wkt (p, 10,
-        "al_meridian\",-34],PARAMETER[\"false_easting\",13500000]");
+        "\"central_meridian\",-111],PARAMETER[\"false_easting\",0");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",7500000],UNIT[\"metre\",1,");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXI");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
     add_srs_wkt (p, 13,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6066\"]]");
-    p = add_epsg_def (filter, first, last, 6067, "epsg", 6067,
-        "GR96 / EPSG Arctic zone 8-20");
+        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"5921\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5922, "epsg", 5922,
+        "WGS 84 / EPSG Arctic Regional zone A2", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=63.66666666666666 +lat_2=60.33333333333");
+        "+proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +");
     add_proj4text (p, 1,
-        "334 +lat_0=62.01530688888889 +lon_0=-52 +x_0=20500000 +y");
-    add_proj4text (p, 2,
-        "_0=8500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        "lon_0=-39 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 8-20\",GEOGCS[\"GR96\",");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone A2\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",63.66666666666");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "666],PARAMETER[\"standard_parallel_2\",60.33333333333334");
+        "rd_parallel_1\",85],PARAMETER[\"standard_parallel_2\",77");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",62.01530688888889],PA");
+        "],PARAMETER[\"latitude_of_origin\",81.317226],PARAMETER[");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-52],PARAMETER[\"false_east");
+        "\"central_meridian\",-39],PARAMETER[\"false_easting\",0]");
     add_srs_wkt (p, 11,
-        "ing\",20500000],PARAMETER[\"false_northing\",8500000],UN");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 13,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 14,
-        "\"6067\"]]");
-    p = add_epsg_def (filter, first, last, 6068, "epsg", 6068,
-        "GR96 / EPSG Arctic zone 8-22");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5922\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5923, "epsg", 5923,
+        "WGS 84 / EPSG Arctic Regional zone A3", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=63.66666666666666 +lat_2=60.33333333333");
+        "+proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +");
     add_proj4text (p, 1,
-        "334 +lat_0=62.01530688888889 +lon_0=-37 +x_0=22500000 +y");
-    add_proj4text (p, 2,
-        "_0=8500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        "lon_0=33 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GR96 / EPSG Arctic zone 8-22\",GEOGCS[\"GR96\",");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone A3\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",63.66666666666");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "666],PARAMETER[\"standard_parallel_2\",60.33333333333334");
+        "rd_parallel_1\",85],PARAMETER[\"standard_parallel_2\",77");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",62.01530688888889],PA");
+        "],PARAMETER[\"latitude_of_origin\",81.317226],PARAMETER[");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-37],PARAMETER[\"false_east");
+        "\"central_meridian\",33],PARAMETER[\"false_easting\",0],");
     add_srs_wkt (p, 11,
-        "ing\",22500000],PARAMETER[\"false_northing\",8500000],UN");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
     add_srs_wkt (p, 13,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 14,
-        "\"6068\"]]");
-    p = add_epsg_def (filter, first, last, 6069, "epsg", 6069,
-        "ETRS89 / EPSG Arctic zone 2-22");
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"5923\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5924, "epsg", 5924,
+        "WGS 84 / EPSG Arctic Regional zone A4", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+        "+proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +");
     add_proj4text (p, 1,
-        "333 +lat_0=82.05842488888888 +lon_0=16 +x_0=22500000 +y_");
-    add_proj4text (p, 2,
-        "0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
-    add_proj4text (p, 3,
-        "no_defs");
+        "lon_0=105 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / EPSG Arctic zone 2-22\",GEOGCS[\"ETRS8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone A4\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",83.66666666666667],PARAMETER[\"standard");
+        "rd_parallel_1\",85],PARAMETER[\"standard_parallel_2\",77");
     add_srs_wkt (p, 9,
-        "_parallel_2\",80.33333333333333],PARAMETER[\"latitude_of");
+        "],PARAMETER[\"latitude_of_origin\",81.317226],PARAMETER[");
     add_srs_wkt (p, 10,
-        "_origin\",82.05842488888888],PARAMETER[\"central_meridia");
+        "\"central_meridian\",105],PARAMETER[\"false_easting\",0]");
     add_srs_wkt (p, 11,
-        "n\",16],PARAMETER[\"false_easting\",22500000],PARAMETER[");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\"false_northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
-    add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6069\"]]");
-    p = add_epsg_def (filter, first, last, 6070, "epsg", 6070,
-        "ETRS89 / EPSG Arctic zone 3-11");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5924\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5925, "epsg", 5925,
+        "WGS 84 / EPSG Arctic Regional zone A5", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=21 +x_0=11500000 +y_0=3500000 +ellp");
-    add_proj4text (p, 2,
-        "s=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "lon_0=177 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / EPSG Arctic zone 3-11\",GEOGCS[\"ETRS8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone A5\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",80.33333333333333],PARAMETER[\"standard");
+        "rd_parallel_1\",85],PARAMETER[\"standard_parallel_2\",77");
     add_srs_wkt (p, 9,
-        "_parallel_2\",77],PARAMETER[\"latitude_of_origin\",78.70");
+        "],PARAMETER[\"latitude_of_origin\",81.317226],PARAMETER[");
     add_srs_wkt (p, 10,
-        "733752777778],PARAMETER[\"central_meridian\",21],PARAMET");
+        "\"central_meridian\",177],PARAMETER[\"false_easting\",0]");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",11500000],PARAMETER[\"false_northin");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "g\",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
-    add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"6070\"]]");
-    p = add_epsg_def (filter, first, last, 6071, "epsg", 6071,
-        "ETRS89 / EPSG Arctic zone 4-26");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"5925\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5926, "epsg", 5926,
+        "WGS 84 / EPSG Arctic Regional zone B1", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=10 +x_0=26500000 +y_0=4500000 +ellp");
-    add_proj4text (p, 2,
-        "s=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "lon_0=-111 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / EPSG Arctic zone 4-26\",GEOGCS[\"ETRS8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone B1\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",77],PARAMETER[\"standard_parallel_2\",7");
+        "rd_parallel_1\",77],PARAMETER[\"standard_parallel_2\",69");
     add_srs_wkt (p, 9,
-        "3.66666666666667],PARAMETER[\"latitude_of_origin\",75.36");
+        "],PARAMETER[\"latitude_of_origin\",73.15574086111111],PA");
     add_srs_wkt (p, 10,
-        "440330555556],PARAMETER[\"central_meridian\",10],PARAMET");
+        "RAMETER[\"central_meridian\",-111],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",26500000],PARAMETER[\"false_northin");
+        "ting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "g\",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
-    add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"6071\"]]");
-    p = add_epsg_def (filter, first, last, 6072, "epsg", 6072,
-        "ETRS89 / EPSG Arctic zone 4-28");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5926\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5927, "epsg", 5927,
+        "WGS 84 / EPSG Arctic Regional zone B2", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=34 +x_0=28500000 +y_0=4500000 +ellp");
-    add_proj4text (p, 2,
-        "s=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "lon_0=-39 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / EPSG Arctic zone 4-28\",GEOGCS[\"ETRS8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone B2\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",77],PARAMETER[\"standard_parallel_2\",7");
+        "rd_parallel_1\",77],PARAMETER[\"standard_parallel_2\",69");
     add_srs_wkt (p, 9,
-        "3.66666666666667],PARAMETER[\"latitude_of_origin\",75.36");
+        "],PARAMETER[\"latitude_of_origin\",73.15574086111111],PA");
     add_srs_wkt (p, 10,
-        "440330555556],PARAMETER[\"central_meridian\",34],PARAMET");
+        "RAMETER[\"central_meridian\",-39],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",28500000],PARAMETER[\"false_northin");
+        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "g\",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
-    add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"6072\"]]");
-    p = add_epsg_def (filter, first, last, 6073, "epsg", 6073,
-        "ETRS89 / EPSG Arctic zone 5-11");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5927\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5928, "epsg", 5928,
+        "WGS 84 / EPSG Arctic Regional zone B3", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=14 +x_0=11500000 +y_");
-    add_proj4text (p, 2,
-        "0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
-    add_proj4text (p, 3,
-        "no_defs");
+        "lon_0=33 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / EPSG Arctic zone 5-11\",GEOGCS[\"ETRS8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone B3\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",73.66666666666667],PARAMETER[\"standard");
+        "rd_parallel_1\",77],PARAMETER[\"standard_parallel_2\",69");
     add_srs_wkt (p, 9,
-        "_parallel_2\",70.33333333333333],PARAMETER[\"latitude_of");
+        "],PARAMETER[\"latitude_of_origin\",73.15574086111111],PA");
     add_srs_wkt (p, 10,
-        "_origin\",72.02500919444445],PARAMETER[\"central_meridia");
+        "RAMETER[\"central_meridian\",33],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "n\",14],PARAMETER[\"false_easting\",11500000],PARAMETER[");
+        "ng\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AX");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
-    add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6073\"]]");
-    p = add_epsg_def (filter, first, last, 6074, "epsg", 6074,
-        "ETRS89 / EPSG Arctic zone 5-13");
+        "IS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5928\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5929, "epsg", 5929,
+        "WGS 84 / EPSG Arctic Regional zone B4", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=34 +x_0=13500000 +y_");
-    add_proj4text (p, 2,
-        "0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
-    add_proj4text (p, 3,
-        "no_defs");
+        "lon_0=105 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / EPSG Arctic zone 5-13\",GEOGCS[\"ETRS8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone B4\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",73.66666666666667],PARAMETER[\"standard");
+        "rd_parallel_1\",77],PARAMETER[\"standard_parallel_2\",69");
     add_srs_wkt (p, 9,
-        "_parallel_2\",70.33333333333333],PARAMETER[\"latitude_of");
+        "],PARAMETER[\"latitude_of_origin\",73.15574086111111],PA");
     add_srs_wkt (p, 10,
-        "_origin\",72.02500919444445],PARAMETER[\"central_meridia");
+        "RAMETER[\"central_meridian\",105],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        "n\",34],PARAMETER[\"false_easting\",13500000],PARAMETER[");
+        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
-    add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6074\"]]");
-    p = add_epsg_def (filter, first, last, 6075, "epsg", 6075,
-        "WGS 84 / EPSG Arctic zone 2-24");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5929\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5930, "epsg", 5930,
+        "WGS 84 / EPSG Arctic Regional zone B5", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+        "+proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +");
     add_proj4text (p, 1,
-        "333 +lat_0=82.05842488888888 +lon_0=53 +x_0=24500000 +y_");
-    add_proj4text (p, 2,
-        "0=2500000 +datum=WGS84 +units=m +no_defs");
+        "lon_0=177 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 2-24\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone B5\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "_parallel_1\",83.66666666666667],PARAMETER[\"standard_pa");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "rallel_2\",80.33333333333333],PARAMETER[\"latitude_of_or");
+        "rd_parallel_1\",77],PARAMETER[\"standard_parallel_2\",69");
     add_srs_wkt (p, 9,
-        "igin\",82.05842488888888],PARAMETER[\"central_meridian\"");
+        "],PARAMETER[\"latitude_of_origin\",73.15574086111111],PA");
     add_srs_wkt (p, 10,
-        ",53],PARAMETER[\"false_easting\",24500000],PARAMETER[\"f");
+        "RAMETER[\"central_meridian\",177],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        "alse_northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6075\"]]");
-    p = add_epsg_def (filter, first, last, 6076, "epsg", 6076,
-        "WGS 84 / EPSG Arctic zone 2-26");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5930\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5931, "epsg", 5931,
+        "WGS 84 / EPSG Arctic Regional zone C1", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+        "+proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +");
     add_proj4text (p, 1,
-        "333 +lat_0=82.05842488888888 +lon_0=93 +x_0=26500000 +y_");
-    add_proj4text (p, 2,
-        "0=2500000 +datum=WGS84 +units=m +no_defs");
+        "lon_0=-111 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 2-26\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone C1\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "_parallel_1\",83.66666666666667],PARAMETER[\"standard_pa");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "rallel_2\",80.33333333333333],PARAMETER[\"latitude_of_or");
+        "rd_parallel_1\",69],PARAMETER[\"standard_parallel_2\",61");
     add_srs_wkt (p, 9,
-        "igin\",82.05842488888888],PARAMETER[\"central_meridian\"");
+        "],PARAMETER[\"latitude_of_origin\",65.10127088888888],PA");
     add_srs_wkt (p, 10,
-        ",93],PARAMETER[\"false_easting\",26500000],PARAMETER[\"f");
+        "RAMETER[\"central_meridian\",-111],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "alse_northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "ting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6076\"]]");
-    p = add_epsg_def (filter, first, last, 6077, "epsg", 6077,
-        "WGS 84 / EPSG Arctic zone 3-13");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5931\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5932, "epsg", 5932,
+        "WGS 84 / EPSG Arctic Regional zone C2", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=52 +x_0=13500000 +y_0=3500000 +datu");
-    add_proj4text (p, 2,
-        "m=WGS84 +units=m +no_defs");
+        "lon_0=-39 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-13\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone C2\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "_parallel_1\",80.33333333333333],PARAMETER[\"standard_pa");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "rallel_2\",77],PARAMETER[\"latitude_of_origin\",78.70733");
+        "rd_parallel_1\",69],PARAMETER[\"standard_parallel_2\",61");
     add_srs_wkt (p, 9,
-        "752777778],PARAMETER[\"central_meridian\",52],PARAMETER[");
+        "],PARAMETER[\"latitude_of_origin\",65.10127088888888],PA");
     add_srs_wkt (p, 10,
-        "\"false_easting\",13500000],PARAMETER[\"false_northing\"");
+        "RAMETER[\"central_meridian\",-39],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        ",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6077\"]]");
-    p = add_epsg_def (filter, first, last, 6078, "epsg", 6078,
-        "WGS 84 / EPSG Arctic zone 3-15");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5932\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5933, "epsg", 5933,
+        "WGS 84 / EPSG Arctic Regional zone C3", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=83 +x_0=15500000 +y_0=3500000 +datu");
-    add_proj4text (p, 2,
-        "m=WGS84 +units=m +no_defs");
+        "lon_0=33 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-15\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone C3\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "_parallel_1\",80.33333333333333],PARAMETER[\"standard_pa");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "rallel_2\",77],PARAMETER[\"latitude_of_origin\",78.70733");
+        "rd_parallel_1\",69],PARAMETER[\"standard_parallel_2\",61");
     add_srs_wkt (p, 9,
-        "752777778],PARAMETER[\"central_meridian\",83],PARAMETER[");
+        "],PARAMETER[\"latitude_of_origin\",65.10127088888888],PA");
     add_srs_wkt (p, 10,
-        "\"false_easting\",15500000],PARAMETER[\"false_northing\"");
+        "RAMETER[\"central_meridian\",33],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        ",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "ng\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AX");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6078\"]]");
-    p = add_epsg_def (filter, first, last, 6079, "epsg", 6079,
-        "WGS 84 / EPSG Arctic zone 3-17");
+        "IS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5933\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5934, "epsg", 5934,
+        "WGS 84 / EPSG Arctic Regional zone C4", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=114 +x_0=17500000 +y_0=3500000 +dat");
-    add_proj4text (p, 2,
-        "um=WGS84 +units=m +no_defs");
+        "lon_0=105 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-17\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone C4\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "_parallel_1\",80.33333333333333],PARAMETER[\"standard_pa");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "rallel_2\",77],PARAMETER[\"latitude_of_origin\",78.70733");
+        "rd_parallel_1\",69],PARAMETER[\"standard_parallel_2\",61");
     add_srs_wkt (p, 9,
-        "752777778],PARAMETER[\"central_meridian\",114],PARAMETER");
+        "],PARAMETER[\"latitude_of_origin\",65.10127088888888],PA");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",17500000],PARAMETER[\"false_northing\"");
+        "RAMETER[\"central_meridian\",105],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        ",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6079\"]]");
-    p = add_epsg_def (filter, first, last, 6080, "epsg", 6080,
-        "WGS 84 / EPSG Arctic zone 3-19");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5934\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5935, "epsg", 5935,
+        "WGS 84 / EPSG Arctic Regional zone C5", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=145 +x_0=19500000 +y_0=3500000 +dat");
-    add_proj4text (p, 2,
-        "um=WGS84 +units=m +no_defs");
+        "lon_0=177 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-19\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Arctic Regional zone C5\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJEC");
     add_srs_wkt (p, 7,
-        "_parallel_1\",80.33333333333333],PARAMETER[\"standard_pa");
+        "TION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standa");
     add_srs_wkt (p, 8,
-        "rallel_2\",77],PARAMETER[\"latitude_of_origin\",78.70733");
+        "rd_parallel_1\",69],PARAMETER[\"standard_parallel_2\",61");
     add_srs_wkt (p, 9,
-        "752777778],PARAMETER[\"central_meridian\",145],PARAMETER");
+        "],PARAMETER[\"latitude_of_origin\",65.10127088888888],PA");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",19500000],PARAMETER[\"false_northing\"");
+        "RAMETER[\"central_meridian\",177],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        ",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6080\"]]");
-    p = add_epsg_def (filter, first, last, 6081, "epsg", 6081,
-        "WGS 84 / EPSG Arctic zone 4-30");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"5935\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5936, "epsg", 5936,
+        "WGS 84 / EPSG Alaska Polar Stereographic", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=-150 +k=0.994 +x");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=58 +x_0=30500000 +y_0=4500000 +datu");
-    add_proj4text (p, 2,
-        "m=WGS84 +units=m +no_defs");
+        "_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-30\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Alaska Polar Stereographic\",GEOG");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "CS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "8137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORI");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "TY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PRO");
     add_srs_wkt (p, 7,
-        "_parallel_1\",77],PARAMETER[\"standard_parallel_2\",73.6");
+        "JECTION[\"Polar_Stereographic\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",75.36440");
+        "_origin\",90],PARAMETER[\"central_meridian\",-150],PARAM");
     add_srs_wkt (p, 9,
-        "330555556],PARAMETER[\"central_meridian\",58],PARAMETER[");
+        "ETER[\"scale_factor\",0.994],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 10,
-        "\"false_easting\",30500000],PARAMETER[\"false_northing\"");
+        ",2000000],PARAMETER[\"false_northing\",2000000],UNIT[\"m");
     add_srs_wkt (p, 11,
-        ",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
-    add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6081\"]]");
-    p = add_epsg_def (filter, first, last, 6082, "epsg", 6082,
-        "WGS 84 / EPSG Arctic zone 4-32");
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5936\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5937, "epsg", 5937,
+        "WGS 84 / EPSG Canada Polar Stereographic", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=-100 +k=0.994 +x");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=82 +x_0=32500000 +y_0=4500000 +datu");
-    add_proj4text (p, 2,
-        "m=WGS84 +units=m +no_defs");
+        "_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-32\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Canada Polar Stereographic\",GEOG");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "CS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "8137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORI");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "TY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PRO");
     add_srs_wkt (p, 7,
-        "_parallel_1\",77],PARAMETER[\"standard_parallel_2\",73.6");
+        "JECTION[\"Polar_Stereographic\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",75.36440");
+        "_origin\",90],PARAMETER[\"central_meridian\",-100],PARAM");
     add_srs_wkt (p, 9,
-        "330555556],PARAMETER[\"central_meridian\",82],PARAMETER[");
+        "ETER[\"scale_factor\",0.994],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 10,
-        "\"false_easting\",32500000],PARAMETER[\"false_northing\"");
+        ",2000000],PARAMETER[\"false_northing\",2000000],UNIT[\"m");
     add_srs_wkt (p, 11,
-        ",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
-    add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6082\"]]");
-    p = add_epsg_def (filter, first, last, 6083, "epsg", 6083,
-        "WGS 84 / EPSG Arctic zone 4-34");
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5937\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5938, "epsg", 5938,
+        "WGS 84 / EPSG Greenland Polar Stereographic", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=-33 +k=0.994 +x_");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=106 +x_0=34500000 +y_0=4500000 +dat");
-    add_proj4text (p, 2,
-        "um=WGS84 +units=m +no_defs");
+        "0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-34\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Greenland Polar Stereographic\",G");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "EOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTH");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "ORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],");
     add_srs_wkt (p, 7,
-        "_parallel_1\",77],PARAMETER[\"standard_parallel_2\",73.6");
+        "PROJECTION[\"Polar_Stereographic\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",75.36440");
+        "_of_origin\",90],PARAMETER[\"central_meridian\",-33],PAR");
     add_srs_wkt (p, 9,
-        "330555556],PARAMETER[\"central_meridian\",106],PARAMETER");
+        "AMETER[\"scale_factor\",0.994],PARAMETER[\"false_easting");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",34500000],PARAMETER[\"false_northing\"");
+        "\",2000000],PARAMETER[\"false_northing\",2000000],UNIT[\"");
     add_srs_wkt (p, 11,
-        ",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
-    add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6083\"]]");
-    p = add_epsg_def (filter, first, last, 6084, "epsg", 6084,
-        "WGS 84 / EPSG Arctic zone 4-36");
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5938\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5939, "epsg", 5939,
+        "WGS 84 / EPSG Norway Polar Stereographic", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=18 +k=0.994 +x_0");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=130 +x_0=36500000 +y_0=4500000 +dat");
-    add_proj4text (p, 2,
-        "um=WGS84 +units=m +no_defs");
+        "=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-36\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Norway Polar Stereographic\",GEOG");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "CS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "8137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORI");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "TY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PRO");
     add_srs_wkt (p, 7,
-        "_parallel_1\",77],PARAMETER[\"standard_parallel_2\",73.6");
+        "JECTION[\"Polar_Stereographic\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",75.36440");
+        "_origin\",90],PARAMETER[\"central_meridian\",18],PARAMET");
     add_srs_wkt (p, 9,
-        "330555556],PARAMETER[\"central_meridian\",130],PARAMETER");
+        "ER[\"scale_factor\",0.994],PARAMETER[\"false_easting\",2");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",36500000],PARAMETER[\"false_northing\"");
+        "000000],PARAMETER[\"false_northing\",2000000],UNIT[\"met");
     add_srs_wkt (p, 11,
-        ",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
-    add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6084\"]]");
-    p = add_epsg_def (filter, first, last, 6085, "epsg", 6085,
-        "WGS 84 / EPSG Arctic zone 4-38");
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5939\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5940, "epsg", 5940,
+        "WGS 84 / EPSG Russia Polar Stereographic", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=105 +k=0.994 +x_");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=154 +x_0=38500000 +y_0=4500000 +dat");
-    add_proj4text (p, 2,
-        "um=WGS84 +units=m +no_defs");
+        "0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-38\",GEOGCS[\"WGS 8");
+        "PROJCS[\"WGS 84 / EPSG Russia Polar Stereographic\",GEOG");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "CS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",637");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "8137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORI");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "TY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PRO");
     add_srs_wkt (p, 7,
-        "_parallel_1\",77],PARAMETER[\"standard_parallel_2\",73.6");
+        "JECTION[\"Polar_Stereographic\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",75.36440");
+        "_origin\",90],PARAMETER[\"central_meridian\",105],PARAME");
     add_srs_wkt (p, 9,
-        "330555556],PARAMETER[\"central_meridian\",154],PARAMETER");
+        "TER[\"scale_factor\",0.994],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",38500000],PARAMETER[\"false_northing\"");
+        "2000000],PARAMETER[\"false_northing\",2000000],UNIT[\"me");
     add_srs_wkt (p, 11,
-        ",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
-    add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6085\"]]");
-    p = add_epsg_def (filter, first, last, 6086, "epsg", 6086,
-        "WGS 84 / EPSG Arctic zone 4-40");
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"5940\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5942, "epsg", 5942,
+        "ETRS89", 1, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunit");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=179 +x_0=40500000 +y_0=4500000 +dat");
-    add_proj4text (p, 2,
-        "um=WGS84 +units=m +no_defs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-40\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 + NN2000 height\",GEOGCS[\"ETRS89\",DA");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "TUM[\"European_Terrestrial_Reference_System_1989\",SPHER");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "OID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        ",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "_parallel_1\",77],PARAMETER[\"standard_parallel_2\",73.6");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],VERT_CS[\"NN2000 ");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",75.36440");
+        "height\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUT");
     add_srs_wkt (p, 9,
-        "330555556],PARAMETER[\"central_meridian\",179],PARAMETER");
+        "HORITY[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",40500000],PARAMETER[\"false_northing\"");
+        "EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5");
     add_srs_wkt (p, 11,
-        ",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
-    add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
-    add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6086\"]]");
-    p = add_epsg_def (filter, first, last, 6087, "epsg", 6087,
-        "WGS 84 / EPSG Arctic zone 5-15");
+        "941\"]],AUTHORITY[\"EPSG\",\"5942\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5945, "epsg", 5945,
+        "ETRS89 / NTM zone 5", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=5.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=54 +x_0=15500000 +y_");
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vun");
     add_proj4text (p, 2,
-        "0=5500000 +datum=WGS84 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-15\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / NTM zone 5 + NN2000 height\",PROJCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"ETRS89 / NTM zone 5\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "_parallel_1\",73.66666666666667],PARAMETER[\"standard_pa");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "rallel_2\",70.33333333333333],PARAMETER[\"latitude_of_or");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "igin\",72.02500919444445],PARAMETER[\"central_meridian\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",54],PARAMETER[\"false_easting\",15500000],PARAMETER[\"f");
+        "central_meridian\",5.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "alse_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6087\"]]");
-    p = add_epsg_def (filter, first, last, 6088, "epsg", 6088,
-        "WGS 84 / EPSG Arctic zone 5-17");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5105\"]],VERT_CS[\"NN2000 height\",V");
+    add_srs_wkt (p, 15,
+        "ERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 17,
+        "001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],AU");
+    add_srs_wkt (p, 18,
+        "THORITY[\"EPSG\",\"5945\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5946, "epsg", 5946,
+        "ETRS89 / NTM zone 6", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=6.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=74 +x_0=17500000 +y_");
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vun");
     add_proj4text (p, 2,
-        "0=5500000 +datum=WGS84 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-17\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / NTM zone 6 + NN2000 height\",PROJCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"ETRS89 / NTM zone 6\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "_parallel_1\",73.66666666666667],PARAMETER[\"standard_pa");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "rallel_2\",70.33333333333333],PARAMETER[\"latitude_of_or");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "igin\",72.02500919444445],PARAMETER[\"central_meridian\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",74],PARAMETER[\"false_easting\",17500000],PARAMETER[\"f");
+        "central_meridian\",6.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "alse_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6088\"]]");
-    p = add_epsg_def (filter, first, last, 6089, "epsg", 6089,
-        "WGS 84 / EPSG Arctic zone 5-19");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5106\"]],VERT_CS[\"NN2000 height\",V");
+    add_srs_wkt (p, 15,
+        "ERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 17,
+        "001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],AU");
+    add_srs_wkt (p, 18,
+        "THORITY[\"EPSG\",\"5946\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5947, "epsg", 5947,
+        "ETRS89 / NTM zone 7", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=7.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=95 +x_0=19500000 +y_");
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vun");
     add_proj4text (p, 2,
-        "0=5500000 +datum=WGS84 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-19\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / NTM zone 7 + NN2000 height\",PROJCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"ETRS89 / NTM zone 7\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "_parallel_1\",73.66666666666667],PARAMETER[\"standard_pa");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "rallel_2\",70.33333333333333],PARAMETER[\"latitude_of_or");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "igin\",72.02500919444445],PARAMETER[\"central_meridian\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",95],PARAMETER[\"false_easting\",19500000],PARAMETER[\"f");
+        "central_meridian\",7.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "alse_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6089\"]]");
-    p = add_epsg_def (filter, first, last, 6090, "epsg", 6090,
-        "WGS 84 / EPSG Arctic zone 5-21");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5107\"]],VERT_CS[\"NN2000 height\",V");
+    add_srs_wkt (p, 15,
+        "ERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 17,
+        "001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],AU");
+    add_srs_wkt (p, 18,
+        "THORITY[\"EPSG\",\"5947\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5948, "epsg", 5948,
+        "ETRS89 / NTM zone 8", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=8.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=116 +x_0=21500000 +y");
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vun");
     add_proj4text (p, 2,
-        "_0=5500000 +datum=WGS84 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-21\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / NTM zone 8 + NN2000 height\",PROJCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"ETRS89 / NTM zone 8\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "_parallel_1\",73.66666666666667],PARAMETER[\"standard_pa");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "rallel_2\",70.33333333333333],PARAMETER[\"latitude_of_or");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "igin\",72.02500919444445],PARAMETER[\"central_meridian\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",116],PARAMETER[\"false_easting\",21500000],PARAMETER[\"");
+        "central_meridian\",8.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "false_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6090\"]]");
-    p = add_epsg_def (filter, first, last, 6091, "epsg", 6091,
-        "WGS 84 / EPSG Arctic zone 5-23");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5108\"]],VERT_CS[\"NN2000 height\",V");
+    add_srs_wkt (p, 15,
+        "ERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 17,
+        "001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],AU");
+    add_srs_wkt (p, 18,
+        "THORITY[\"EPSG\",\"5948\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5949, "epsg", 5949,
+        "ETRS89 / NTM zone 9", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=9.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=137 +x_0=23500000 +y");
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vun");
     add_proj4text (p, 2,
-        "_0=5500000 +datum=WGS84 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-23\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / NTM zone 9 + NN2000 height\",PROJCS[");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "\"ETRS89 / NTM zone 9\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "_parallel_1\",73.66666666666667],PARAMETER[\"standard_pa");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "rallel_2\",70.33333333333333],PARAMETER[\"latitude_of_or");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "igin\",72.02500919444445],PARAMETER[\"central_meridian\"");
+        "tor\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",137],PARAMETER[\"false_easting\",23500000],PARAMETER[\"");
+        "central_meridian\",9.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "false_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6091\"]]");
-    p = add_epsg_def (filter, first, last, 6092, "epsg", 6092,
-        "WGS 84 / EPSG Arctic zone 5-25");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5109\"]],VERT_CS[\"NN2000 height\",V");
+    add_srs_wkt (p, 15,
+        "ERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 17,
+        "001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],AU");
+    add_srs_wkt (p, 18,
+        "THORITY[\"EPSG\",\"5949\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5950, "epsg", 5950,
+        "ETRS89 / NTM zone 10", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=10.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=158 +x_0=25500000 +y");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "_0=5500000 +datum=WGS84 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-25\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / NTM zone 10 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "[\"ETRS89 / NTM zone 10\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "_parallel_1\",73.66666666666667],PARAMETER[\"standard_pa");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "rallel_2\",70.33333333333333],PARAMETER[\"latitude_of_or");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "igin\",72.02500919444445],PARAMETER[\"central_meridian\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        ",158],PARAMETER[\"false_easting\",25500000],PARAMETER[\"");
+        "[\"central_meridian\",10.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "false_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6092\"]]");
-    p = add_epsg_def (filter, first, last, 6093, "epsg", 6093,
-        "WGS 84 / EPSG Arctic zone 5-27");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AUTHORITY[\"EPSG\",\"5110\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5950\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5951, "epsg", 5951,
+        "ETRS89 / NTM zone 11", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=11.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=179 +x_0=27500000 +y");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "_0=5500000 +datum=WGS84 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-27\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / NTM zone 11 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "[\"ETRS89 / NTM zone 11\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "_parallel_1\",73.66666666666667],PARAMETER[\"standard_pa");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "rallel_2\",70.33333333333333],PARAMETER[\"latitude_of_or");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "igin\",72.02500919444445],PARAMETER[\"central_meridian\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        ",179],PARAMETER[\"false_easting\",27500000],PARAMETER[\"");
+        "[\"central_meridian\",11.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "false_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6093\"]]");
-    p = add_epsg_def (filter, first, last, 6094, "epsg", 6094,
-        "NAD83(NSRS2007) / EPSG Arctic zone 5-29");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AUTHORITY[\"EPSG\",\"5111\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5951\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5952, "epsg", 5952,
+        "ETRS89 / NTM zone 12", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=12.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-163 +x_0=29500000 +");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
-    add_proj4text (p, 3,
-        " +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / EPSG Arctic zone 5-29\",GEOGC");
+        "COMPD_CS[\"ETRS89 / NTM zone 12 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "S[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Ref");
+        "[\"ETRS89 / NTM zone 12\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "erence_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        ",0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",73.66666666666667]");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",70.33333333333333],PA");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",72.02500919444445],PARAME");
+        "[\"central_meridian\",12.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "TER[\"central_meridian\",-163],PARAMETER[\"false_easting");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "\",29500000],PARAMETER[\"false_northing\",5500000],UNIT[");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6");
+        "T],AUTHORITY[\"EPSG\",\"5112\"]],VERT_CS[\"NN2000 height");
     add_srs_wkt (p, 15,
-        "094\"]]");
-    p = add_epsg_def (filter, first, last, 6095, "epsg", 6095,
-        "NAD83(NSRS2007) / EPSG Arctic zone 5-31");
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5952\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5953, "epsg", 5953,
+        "ETRS89 / NTM zone 13", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=13.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-147 +x_0=31500000 +");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
-    add_proj4text (p, 3,
-        " +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / EPSG Arctic zone 5-31\",GEOGC");
+        "COMPD_CS[\"ETRS89 / NTM zone 13 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "S[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Ref");
+        "[\"ETRS89 / NTM zone 13\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "erence_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        ",0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",73.66666666666667]");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",70.33333333333333],PA");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",72.02500919444445],PARAME");
+        "[\"central_meridian\",13.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "TER[\"central_meridian\",-147],PARAMETER[\"false_easting");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "\",31500000],PARAMETER[\"false_northing\",5500000],UNIT[");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6");
+        "T],AUTHORITY[\"EPSG\",\"5113\"]],VERT_CS[\"NN2000 height");
     add_srs_wkt (p, 15,
-        "095\"]]");
-    p = add_epsg_def (filter, first, last, 6096, "epsg", 6096,
-        "NAD83(NSRS2007) / EPSG Arctic zone 6-14");
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5953\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5954, "epsg", 5954,
+        "ETRS89 / NTM zone 14", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=tmerc +lat_0=58 +lon_0=14.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-165 +x_0=14500000 +y_0=6500000 +el");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / EPSG Arctic zone 6-14\",GEOGC");
+        "COMPD_CS[\"ETRS89 / NTM zone 14 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "S[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Ref");
+        "[\"ETRS89 / NTM zone 14\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "erence_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        ",0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",70.33333333333333]");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",67],PARAMETER[\"latit");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "ude_of_origin\",68.68747555555557],PARAMETER[\"central_m");
+        "[\"central_meridian\",14.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "eridian\",-165],PARAMETER[\"false_easting\",14500000],PA");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "RAMETER[\"false_northing\",6500000],UNIT[\"metre\",1,AUT");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"6096\"]]");
-    p = add_epsg_def (filter, first, last, 6097, "epsg", 6097,
-        "NAD83(NSRS2007) / EPSG Arctic zone 6-16");
+        "T],AUTHORITY[\"EPSG\",\"5114\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5954\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5955, "epsg", 5955,
+        "ETRS89 / NTM zone 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=tmerc +lat_0=58 +lon_0=15.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-147 +x_0=16500000 +y_0=6500000 +el");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / EPSG Arctic zone 6-16\",GEOGC");
+        "COMPD_CS[\"ETRS89 / NTM zone 15 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "S[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Ref");
+        "[\"ETRS89 / NTM zone 15\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "erence_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        ",0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",70.33333333333333]");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",67],PARAMETER[\"latit");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "ude_of_origin\",68.68747555555557],PARAMETER[\"central_m");
+        "[\"central_meridian\",15.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "eridian\",-147],PARAMETER[\"false_easting\",16500000],PA");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "RAMETER[\"false_northing\",6500000],UNIT[\"metre\",1,AUT");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"6097\"]]");
-    p = add_epsg_def (filter, first, last, 6098, "epsg", 6098,
-        "NAD83(CSRS) / EPSG Arctic zone 1-23");
+        "T],AUTHORITY[\"EPSG\",\"5115\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5955\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5956, "epsg", 5956,
+        "ETRS89 / NTM zone 16", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
+        "+proj=tmerc +lat_0=58 +lon_0=16.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "3711833333333 +lon_0=-90 +x_0=23500000 +y_0=1500000 +ell");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 1-23\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 16 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 16\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",87],PARAMETER[\"standard_parall");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "el_2\",83.66666666666667],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",85.43711833333333],PARAMETER[\"central_meridian\",-90");
+        "[\"central_meridian\",16.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",23500000],PARAMETER[\"fals");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "e_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"6098\"]]");
-    p = add_epsg_def (filter, first, last, 6099, "epsg", 6099,
-        "NAD83(CSRS) / EPSG Arctic zone 2-14");
+        "T],AUTHORITY[\"EPSG\",\"5116\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5956\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5957, "epsg", 5957,
+        "ETRS89 / NTM zone 17", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=17.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=82.05842488888888 +lon_0=-115 +x_0=14500000 +");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
-    add_proj4text (p, 3,
-        " +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 2-14\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 17 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 17\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",83.66666666666667],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",80.33333333333333],PARAMETER[\"lat");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",82.05842488888888],PARAMETER[\"central");
+        "[\"central_meridian\",17.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "_meridian\",-115],PARAMETER[\"false_easting\",14500000],");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "PARAMETER[\"false_northing\",2500000],UNIT[\"metre\",1,A");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6099\"]]");
-    p = add_epsg_def (filter, first, last, 6100, "epsg", 6100,
-        "NAD83(CSRS) / EPSG Arctic zone 2-16");
+        "T],AUTHORITY[\"EPSG\",\"5117\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5957\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5958, "epsg", 5958,
+        "ETRS89 / NTM zone 18", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=18.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=82.05842488888888 +lon_0=-75 +x_0=16500000 +y");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 2-16\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 18 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 18\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",83.66666666666667],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",80.33333333333333],PARAMETER[\"lat");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",82.05842488888888],PARAMETER[\"central");
+        "[\"central_meridian\",18.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "_meridian\",-75],PARAMETER[\"false_easting\",16500000],P");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "ARAMETER[\"false_northing\",2500000],UNIT[\"metre\",1,AU");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6100\"]]");
-    p = add_epsg_def (filter, first, last, 6101, "epsg", 6101,
-        "NAD83(CSRS) / EPSG Arctic zone 3-25");
+        "T],AUTHORITY[\"EPSG\",\"5118\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5958\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5959, "epsg", 5959,
+        "ETRS89 / NTM zone 19", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=tmerc +lat_0=58 +lon_0=19.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=-129 +x_0=25500000 +y_0=3500000 +el");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 3-25\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 19 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 19\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",80.33333333333333],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",77],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",78.70733752777778],PARAMETER[\"central_meridian\",-12");
+        "[\"central_meridian\",19.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "9],PARAMETER[\"false_easting\",25500000],PARAMETER[\"fal");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "se_northing\",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"6101\"]]");
-    p = add_epsg_def (filter, first, last, 6102, "epsg", 6102,
-        "NAD83(CSRS) / EPSG Arctic zone 3-27");
+        "T],AUTHORITY[\"EPSG\",\"5119\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5959\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5960, "epsg", 5960,
+        "ETRS89 / NTM zone 20", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=tmerc +lat_0=58 +lon_0=20.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=-99 +x_0=27500000 +y_0=3500000 +ell");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 3-27\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 20 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 20\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",80.33333333333333],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",77],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",78.70733752777778],PARAMETER[\"central_meridian\",-99");
+        "[\"central_meridian\",20.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",27500000],PARAMETER[\"fals");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "e_northing\",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"6102\"]]");
-    p = add_epsg_def (filter, first, last, 6103, "epsg", 6103,
-        "NAD83(CSRS) / EPSG Arctic zone 3-29");
+        "T],AUTHORITY[\"EPSG\",\"5120\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5960\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5961, "epsg", 5961,
+        "ETRS89 / NTM zone 21", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+        "+proj=tmerc +lat_0=58 +lon_0=21.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=-69 +x_0=29500000 +y_0=3500000 +ell");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 3-29\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 21 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 21\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",80.33333333333333],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",77],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",78.70733752777778],PARAMETER[\"central_meridian\",-69");
+        "[\"central_meridian\",21.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",29500000],PARAMETER[\"fals");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "e_northing\",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"6103\"]]");
-    p = add_epsg_def (filter, first, last, 6104, "epsg", 6104,
-        "NAD83(CSRS) / EPSG Arctic zone 4-14");
+        "T],AUTHORITY[\"EPSG\",\"5121\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5961\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5962, "epsg", 5962,
+        "ETRS89 / NTM zone 22", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=tmerc +lat_0=58 +lon_0=22.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=-129 +x_0=14500000 +y_0=4500000 +el");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 4-14\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 22 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 22\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",77],PARAMETER[\"standard_parall");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "el_2\",73.66666666666667],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",75.36440330555556],PARAMETER[\"central_meridian\",-12");
+        "[\"central_meridian\",22.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "9],PARAMETER[\"false_easting\",14500000],PARAMETER[\"fal");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "se_northing\",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"6104\"]]");
-    p = add_epsg_def (filter, first, last, 6105, "epsg", 6105,
-        "NAD83(CSRS) / EPSG Arctic zone 4-16");
+        "T],AUTHORITY[\"EPSG\",\"5122\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5962\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5963, "epsg", 5963,
+        "ETRS89 / NTM zone 23", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=tmerc +lat_0=58 +lon_0=23.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=-104 +x_0=16500000 +y_0=4500000 +el");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 4-16\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 23 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 23\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",77],PARAMETER[\"standard_parall");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "el_2\",73.66666666666667],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",75.36440330555556],PARAMETER[\"central_meridian\",-10");
+        "[\"central_meridian\",23.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "4],PARAMETER[\"false_easting\",16500000],PARAMETER[\"fal");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "se_northing\",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"6105\"]]");
-    p = add_epsg_def (filter, first, last, 6106, "epsg", 6106,
-        "NAD83(CSRS) / EPSG Arctic zone 4-18");
+        "T],AUTHORITY[\"EPSG\",\"5123\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5963\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5964, "epsg", 5964,
+        "ETRS89 / NTM zone 24", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=tmerc +lat_0=58 +lon_0=24.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=-79 +x_0=18500000 +y_0=4500000 +ell");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 4-18\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 24 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 24\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",77],PARAMETER[\"standard_parall");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "el_2\",73.66666666666667],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",75.36440330555556],PARAMETER[\"central_meridian\",-79");
+        "[\"central_meridian\",24.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",18500000],PARAMETER[\"fals");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "e_northing\",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"6106\"]]");
-    p = add_epsg_def (filter, first, last, 6107, "epsg", 6107,
-        "NAD83(CSRS) / EPSG Arctic zone 5-33");
+        "T],AUTHORITY[\"EPSG\",\"5124\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5964\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5965, "epsg", 5965,
+        "ETRS89 / NTM zone 25", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=25.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-131 +x_0=33500000 +");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
-    add_proj4text (p, 3,
-        " +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 5-33\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 25 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 25\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",73.66666666666667],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",70.33333333333333],PARAMETER[\"lat");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",72.02500919444445],PARAMETER[\"central");
+        "[\"central_meridian\",25.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "_meridian\",-131],PARAMETER[\"false_easting\",33500000],");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "PARAMETER[\"false_northing\",5500000],UNIT[\"metre\",1,A");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6107\"]]");
-    p = add_epsg_def (filter, first, last, 6108, "epsg", 6108,
-        "NAD83(CSRS) / EPSG Arctic zone 5-35");
+        "T],AUTHORITY[\"EPSG\",\"5125\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5965\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5966, "epsg", 5966,
+        "ETRS89 / NTM zone 26", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=26.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-111 +x_0=35500000 +");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
-    add_proj4text (p, 3,
-        " +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 5-35\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 26 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 26\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",73.66666666666667],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",70.33333333333333],PARAMETER[\"lat");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",72.02500919444445],PARAMETER[\"central");
+        "[\"central_meridian\",26.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "_meridian\",-111],PARAMETER[\"false_easting\",35500000],");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "PARAMETER[\"false_northing\",5500000],UNIT[\"metre\",1,A");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6108\"]]");
-    p = add_epsg_def (filter, first, last, 6109, "epsg", 6109,
-        "NAD83(CSRS) / EPSG Arctic zone 5-37");
+        "T],AUTHORITY[\"EPSG\",\"5126\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5966\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5967, "epsg", 5967,
+        "ETRS89 / NTM zone 27", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=27.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-91 +x_0=37500000 +y");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 5-37\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 27 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 27\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",73.66666666666667],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",70.33333333333333],PARAMETER[\"lat");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",72.02500919444445],PARAMETER[\"central");
+        "[\"central_meridian\",27.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "_meridian\",-91],PARAMETER[\"false_easting\",37500000],P");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "ARAMETER[\"false_northing\",5500000],UNIT[\"metre\",1,AU");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6109\"]]");
-    p = add_epsg_def (filter, first, last, 6110, "epsg", 6110,
-        "NAD83(CSRS) / EPSG Arctic zone 5-39");
+        "T],AUTHORITY[\"EPSG\",\"5127\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5967\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5968, "epsg", 5968,
+        "ETRS89 / NTM zone 28", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=28.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-71 +x_0=39500000 +y");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 5-39\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 28 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 28\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",73.66666666666667],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",70.33333333333333],PARAMETER[\"lat");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",72.02500919444445],PARAMETER[\"central");
+        "[\"central_meridian\",28.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "_meridian\",-71],PARAMETER[\"false_easting\",39500000],P");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "ARAMETER[\"false_northing\",5500000],UNIT[\"metre\",1,AU");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6110\"]]");
-    p = add_epsg_def (filter, first, last, 6111, "epsg", 6111,
-        "NAD83(CSRS) / EPSG Arctic zone 6-18");
+        "T],AUTHORITY[\"EPSG\",\"5128\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5968\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5969, "epsg", 5969,
+        "ETRS89 / NTM zone 29", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=tmerc +lat_0=58 +lon_0=29.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-132 +x_0=18500000 +y_0=6500000 +el");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 6-18\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 29 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 29\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",70.33333333333333],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",67],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",68.68747555555557],PARAMETER[\"central_meridian\",-13");
+        "[\"central_meridian\",29.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "2],PARAMETER[\"false_easting\",18500000],PARAMETER[\"fal");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "se_northing\",6500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"6111\"]]");
-    p = add_epsg_def (filter, first, last, 6112, "epsg", 6112,
-        "NAD83(CSRS) / EPSG Arctic zone 6-20");
+        "T],AUTHORITY[\"EPSG\",\"5129\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5969\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5970, "epsg", 5970,
+        "ETRS89 / NTM zone 30", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=tmerc +lat_0=58 +lon_0=30.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-113 +x_0=20500000 +y_0=6500000 +el");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 6-20\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 30 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / NTM zone 30\",GEOGCS[\"ETRS89\",DATUM[\"Euro");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "pean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",70.33333333333333],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",67],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",68.68747555555557],PARAMETER[\"central_meridian\",-11");
+        "[\"central_meridian\",30.5],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "3],PARAMETER[\"false_easting\",20500000],PARAMETER[\"fal");
+        "],PARAMETER[\"false_easting\",100000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "se_northing\",6500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"6112\"]]");
-    p = add_epsg_def (filter, first, last, 6113, "epsg", 6113,
-        "NAD83(CSRS) / EPSG Arctic zone 6-22");
+        "T],AUTHORITY[\"EPSG\",\"5130\"]],VERT_CS[\"NN2000 height");
+    add_srs_wkt (p, 15,
+        "\",VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY");
+    add_srs_wkt (p, 16,
+        "[\"EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"5970\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5971, "epsg", 5971,
+        "ETRS89 / UTM zone 31N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-94 +x_0=22500000 +y_0=6500000 +ell");
-    add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 6-22\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / UTM zone 31 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / UTM zone 31N\",GEOGCS[\"ETRS89\",DATUM[\"Eur");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "opean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",70.33333333333333],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",67],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\",68.68747555555557],PARAMETER[\"central_meridian\",-94");
+        "\"central_meridian\",3],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",22500000],PARAMETER[\"fals");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "e_northing\",6500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"6113\"]]");
-    p = add_epsg_def (filter, first, last, 6114, "epsg", 6114,
-        "NAD83(CSRS) / EPSG Arctic zone 6-24");
+        "THORITY[\"EPSG\",\"25831\"]],VERT_CS[\"NN2000 height\",V");
+    add_srs_wkt (p, 15,
+        "ERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 17,
+        "001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],AU");
+    add_srs_wkt (p, 18,
+        "THORITY[\"EPSG\",\"5971\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5972, "epsg", 5972,
+        "ETRS89 / UTM zone 32N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-75 +x_0=24500000 +y_0=6500000 +ell");
-    add_proj4text (p, 2,
-        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 6-24\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / UTM zone 32 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
+        "[\"ETRS89 / UTM zone 32N\",GEOGCS[\"ETRS89\",DATUM[\"Eur");
     add_srs_wkt (p, 2,
-        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "opean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",70.33333333333333],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",67],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\",68.68747555555557],PARAMETER[\"central_meridian\",-75");
+        "\"central_meridian\",9],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",24500000],PARAMETER[\"fals");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "e_northing\",6500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
     add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"6114\"]]");
-    p = add_epsg_def (filter, first, last, 6115, "epsg", 6115,
-        "WGS 84 / EPSG Arctic zone 1-27");
+        "THORITY[\"EPSG\",\"25832\"]],VERT_CS[\"NN2000 height\",V");
+    add_srs_wkt (p, 15,
+        "ERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"E");
+    add_srs_wkt (p, 16,
+        "PSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 17,
+        "001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],AU");
+    add_srs_wkt (p, 18,
+        "THORITY[\"EPSG\",\"5972\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5973, "epsg", 5973,
+        "ETRS89 / UTM zone 33N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
+        "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "3711833333333 +lon_0=30 +x_0=27500000 +y_0=1500000 +datu");
-    add_proj4text (p, 2,
-        "m=WGS84 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 1-27\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / UTM zone 33 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "[\"ETRS89 / UTM zone 33N\",GEOGCS[\"ETRS89\",DATUM[\"Eur");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "opean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "_parallel_1\",87],PARAMETER[\"standard_parallel_2\",83.6");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",85.43711");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "833333333],PARAMETER[\"central_meridian\",30],PARAMETER[");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\"false_easting\",27500000],PARAMETER[\"false_northing\"");
+        "\"central_meridian\",15],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 11,
-        ",1500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6115\"]]");
-    p = add_epsg_def (filter, first, last, 6116, "epsg", 6116,
-        "WGS 84 / EPSG Arctic zone 1-29");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"25833\"]],VERT_CS[\"NN2000 height\",");
+    add_srs_wkt (p, 15,
+        "VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"");
+    add_srs_wkt (p, 16,
+        "EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 17,
+        "9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],A");
+    add_srs_wkt (p, 18,
+        "UTHORITY[\"EPSG\",\"5973\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5974, "epsg", 5974,
+        "ETRS89 / UTM zone 34N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
+        "+proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "3711833333333 +lon_0=90 +x_0=29500000 +y_0=1500000 +datu");
-    add_proj4text (p, 2,
-        "m=WGS84 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 1-29\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / UTM zone 34 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "[\"ETRS89 / UTM zone 34N\",GEOGCS[\"ETRS89\",DATUM[\"Eur");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "opean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "_parallel_1\",87],PARAMETER[\"standard_parallel_2\",83.6");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",85.43711");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "833333333],PARAMETER[\"central_meridian\",90],PARAMETER[");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\"false_easting\",29500000],PARAMETER[\"false_northing\"");
+        "\"central_meridian\",21],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 11,
-        ",1500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6116\"]]");
-    p = add_epsg_def (filter, first, last, 6117, "epsg", 6117,
-        "WGS 84 / EPSG Arctic zone 1-31");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"25834\"]],VERT_CS[\"NN2000 height\",");
+    add_srs_wkt (p, 15,
+        "VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"");
+    add_srs_wkt (p, 16,
+        "EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 17,
+        "9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],A");
+    add_srs_wkt (p, 18,
+        "UTHORITY[\"EPSG\",\"5974\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5975, "epsg", 5975,
+        "ETRS89 / UTM zone 35N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
+        "+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "3711833333333 +lon_0=150 +x_0=31500000 +y_0=1500000 +dat");
-    add_proj4text (p, 2,
-        "um=WGS84 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 1-31\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / UTM zone 35 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "[\"ETRS89 / UTM zone 35N\",GEOGCS[\"ETRS89\",DATUM[\"Eur");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "opean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "_parallel_1\",87],PARAMETER[\"standard_parallel_2\",83.6");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",85.43711");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "833333333],PARAMETER[\"central_meridian\",150],PARAMETER");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",31500000],PARAMETER[\"false_northing\"");
+        "\"central_meridian\",27],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 11,
-        ",1500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6117\"]]");
-    p = add_epsg_def (filter, first, last, 6118, "epsg", 6118,
-        "WGS 84 / EPSG Arctic zone 1-21");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"25835\"]],VERT_CS[\"NN2000 height\",");
+    add_srs_wkt (p, 15,
+        "VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"");
+    add_srs_wkt (p, 16,
+        "EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 17,
+        "9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],A");
+    add_srs_wkt (p, 18,
+        "UTHORITY[\"EPSG\",\"5975\"]]");
+    p = add_epsg_def_ex (filter, first, last, 5976, "epsg", 5976,
+        "ETRS89 / UTM zone 36N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
+        "+proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "3711833333333 +lon_0=-150 +x_0=21500000 +y_0=1500000 +da");
-    add_proj4text (p, 2,
-        "tum=WGS84 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 1-21\",GEOGCS[\"WGS 8");
+        "COMPD_CS[\"ETRS89 / UTM zone 36 + NN2000 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "[\"ETRS89 / UTM zone 36N\",GEOGCS[\"ETRS89\",DATUM[\"Eur");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "opean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "_parallel_1\",87],PARAMETER[\"standard_parallel_2\",83.6");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",85.43711");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "833333333],PARAMETER[\"central_meridian\",-150],PARAMETE");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",21500000],PARAMETER[\"false_northing");
+        "\"central_meridian\",33],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 11,
-        "\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"6118\"]]");
-    p = add_epsg_def (filter, first, last, 6119, "epsg", 6119,
-        "WGS 84 / EPSG Arctic zone 2-28");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"25836\"]],VERT_CS[\"NN2000 height\",");
+    add_srs_wkt (p, 15,
+        "VERT_DATUM[\"Norway Normal Null 2000\",2005,AUTHORITY[\"");
+    add_srs_wkt (p, 16,
+        "EPSG\",\"1096\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 17,
+        "9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5941\"]],A");
+    add_srs_wkt (p, 18,
+        "UTHORITY[\"EPSG\",\"5976\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6050, "epsg", 6050,
+        "GR96 / EPSG Arctic zone 1-25", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
     add_proj4text (p, 1,
-        "333 +lat_0=82.05842488888888 +lon_0=133 +x_0=28500000 +y");
+        "3711833333333 +lon_0=-30 +x_0=25500000 +y_0=1500000 +ell");
     add_proj4text (p, 2,
-        "_0=2500000 +datum=WGS84 +units=m +no_defs");
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 2-28\",GEOGCS[\"WGS 8");
+        "PROJCS[\"GR96 / EPSG Arctic zone 1-25\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "_parallel_1\",83.66666666666667],PARAMETER[\"standard_pa");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "rallel_2\",80.33333333333333],PARAMETER[\"latitude_of_or");
+        "],PARAMETER[\"standard_parallel_1\",87],PARAMETER[\"stan");
     add_srs_wkt (p, 9,
-        "igin\",82.05842488888888],PARAMETER[\"central_meridian\"");
+        "dard_parallel_2\",83.66666666666667],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        ",133],PARAMETER[\"false_easting\",28500000],PARAMETER[\"");
+        "e_of_origin\",85.43711833333333],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "false_northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "idian\",-30],PARAMETER[\"false_easting\",25500000],PARAM");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "ETER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6119\"]]");
-    p = add_epsg_def (filter, first, last, 6120, "epsg", 6120,
-        "WGS 84 / EPSG Arctic zone 2-10");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6050\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6051, "epsg", 6051,
+        "GR96 / EPSG Arctic zone 2-18", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=82.05842488888888 +lon_0=166 +x_0=10500000 +y");
+        "333 +lat_0=82.05842488888888 +lon_0=-52 +x_0=18500000 +y");
     add_proj4text (p, 2,
-        "_0=2500000 +datum=WGS84 +units=m +no_defs");
+        "_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 2-10\",GEOGCS[\"WGS 8");
+        "PROJCS[\"GR96 / EPSG Arctic zone 2-18\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "_parallel_1\",83.66666666666667],PARAMETER[\"standard_pa");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "rallel_2\",80.33333333333333],PARAMETER[\"latitude_of_or");
+        "],PARAMETER[\"standard_parallel_1\",83.66666666666667],P");
     add_srs_wkt (p, 9,
-        "igin\",82.05842488888888],PARAMETER[\"central_meridian\"");
+        "ARAMETER[\"standard_parallel_2\",80.33333333333333],PARA");
     add_srs_wkt (p, 10,
-        ",166],PARAMETER[\"false_easting\",10500000],PARAMETER[\"");
+        "METER[\"latitude_of_origin\",82.05842488888888],PARAMETE");
     add_srs_wkt (p, 11,
-        "false_northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "R[\"central_meridian\",-52],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "18500000],PARAMETER[\"false_northing\",2500000],UNIT[\"m");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6120\"]]");
-    p = add_epsg_def (filter, first, last, 6121, "epsg", 6121,
-        "WGS 84 / EPSG Arctic zone 2-12");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6051");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6052, "epsg", 6052,
+        "GR96 / EPSG Arctic zone 2-20", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=82.05842488888888 +lon_0=-154 +x_0=12500000 +");
+        "333 +lat_0=82.05842488888888 +lon_0=-12 +x_0=20500000 +y");
     add_proj4text (p, 2,
-        "y_0=2500000 +datum=WGS84 +units=m +no_defs");
+        "_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 2-12\",GEOGCS[\"WGS 8");
+        "PROJCS[\"GR96 / EPSG Arctic zone 2-20\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "_parallel_1\",83.66666666666667],PARAMETER[\"standard_pa");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "rallel_2\",80.33333333333333],PARAMETER[\"latitude_of_or");
+        "],PARAMETER[\"standard_parallel_1\",83.66666666666667],P");
     add_srs_wkt (p, 9,
-        "igin\",82.05842488888888],PARAMETER[\"central_meridian\"");
+        "ARAMETER[\"standard_parallel_2\",80.33333333333333],PARA");
     add_srs_wkt (p, 10,
-        ",-154],PARAMETER[\"false_easting\",12500000],PARAMETER[\"");
+        "METER[\"latitude_of_origin\",82.05842488888888],PARAMETE");
     add_srs_wkt (p, 11,
-        "false_northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "R[\"central_meridian\",-12],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "20500000],PARAMETER[\"false_northing\",2500000],UNIT[\"m");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6121\"]]");
-    p = add_epsg_def (filter, first, last, 6122, "epsg", 6122,
-        "WGS 84 / EPSG Arctic zone 3-21");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6052");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6053, "epsg", 6053,
+        "GR96 / EPSG Arctic zone 3-29", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=176 +x_0=21500000 +y_0=3500000 +dat");
+        "0733752777778 +lon_0=-69 +x_0=29500000 +y_0=3500000 +ell");
     add_proj4text (p, 2,
-        "um=WGS84 +units=m +no_defs");
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-21\",GEOGCS[\"WGS 8");
+        "PROJCS[\"GR96 / EPSG Arctic zone 3-29\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "_parallel_1\",80.33333333333333],PARAMETER[\"standard_pa");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "rallel_2\",77],PARAMETER[\"latitude_of_origin\",78.70733");
+        "],PARAMETER[\"standard_parallel_1\",80.33333333333333],P");
     add_srs_wkt (p, 9,
-        "752777778],PARAMETER[\"central_meridian\",176],PARAMETER");
+        "ARAMETER[\"standard_parallel_2\",77],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",21500000],PARAMETER[\"false_northing\"");
+        "e_of_origin\",78.70733752777778],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        ",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "idian\",-69],PARAMETER[\"false_easting\",29500000],PARAM");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "ETER[\"false_northing\",3500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6122\"]]");
-    p = add_epsg_def (filter, first, last, 6123, "epsg", 6123,
-        "WGS 84 / EPSG Arctic zone 3-23");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6053\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6054, "epsg", 6054,
+        "GR96 / EPSG Arctic zone 3-31", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
     add_proj4text (p, 1,
-        "0733752777778 +lon_0=-153 +x_0=23500000 +y_0=3500000 +da");
+        "0733752777778 +lon_0=-39 +x_0=31500000 +y_0=3500000 +ell");
     add_proj4text (p, 2,
-        "tum=WGS84 +units=m +no_defs");
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-23\",GEOGCS[\"WGS 8");
+        "PROJCS[\"GR96 / EPSG Arctic zone 3-31\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "_parallel_1\",80.33333333333333],PARAMETER[\"standard_pa");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "rallel_2\",77],PARAMETER[\"latitude_of_origin\",78.70733");
+        "],PARAMETER[\"standard_parallel_1\",80.33333333333333],P");
     add_srs_wkt (p, 9,
-        "752777778],PARAMETER[\"central_meridian\",-153],PARAMETE");
+        "ARAMETER[\"standard_parallel_2\",77],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",23500000],PARAMETER[\"false_northing");
+        "e_of_origin\",78.70733752777778],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "\",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "idian\",-39],PARAMETER[\"false_easting\",31500000],PARAM");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "ETER[\"false_northing\",3500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"6123\"]]");
-    p = add_epsg_def (filter, first, last, 6124, "epsg", 6124,
-        "WGS 84 / EPSG Arctic zone 4-12");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6054\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6055, "epsg", 6055,
+        "GR96 / EPSG Arctic zone 3-33", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
     add_proj4text (p, 1,
-        "6440330555556 +lon_0=-155 +x_0=12500000 +y_0=4500000 +da");
+        "0733752777778 +lon_0=-10 +x_0=33500000 +y_0=3500000 +ell");
     add_proj4text (p, 2,
-        "tum=WGS84 +units=m +no_defs");
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-12\",GEOGCS[\"WGS 8");
+        "PROJCS[\"GR96 / EPSG Arctic zone 3-33\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTI");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "_parallel_1\",77],PARAMETER[\"standard_parallel_2\",73.6");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",75.36440");
+        "],PARAMETER[\"standard_parallel_1\",80.33333333333333],P");
     add_srs_wkt (p, 9,
-        "330555556],PARAMETER[\"central_meridian\",-155],PARAMETE");
+        "ARAMETER[\"standard_parallel_2\",77],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",12500000],PARAMETER[\"false_northing");
+        "e_of_origin\",78.70733752777778],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "\",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "idian\",-10],PARAMETER[\"false_easting\",33500000],PARAM");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "ETER[\"false_northing\",3500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"6124\"]]");
-    p = add_epsg_def (filter, first, last, 6125, "epsg", 6125,
-        "ETRS89 / EPSG Arctic zone 5-47");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6055\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6056, "epsg", 6056,
+        "GR96 / EPSG Arctic zone 4-20", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-5 +x_0=47500000 +y_");
+        "6440330555556 +lon_0=-64 +x_0=20500000 +y_0=4500000 +ell");
     add_proj4text (p, 2,
-        "0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
-    add_proj4text (p, 3,
-        "no_defs");
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / EPSG Arctic zone 5-47\",GEOGCS[\"ETRS8");
+        "PROJCS[\"GR96 / EPSG Arctic zone 4-20\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJE");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",73.66666666666667],PARAMETER[\"standard");
+        "],PARAMETER[\"standard_parallel_1\",77],PARAMETER[\"stan");
     add_srs_wkt (p, 9,
-        "_parallel_2\",70.33333333333333],PARAMETER[\"latitude_of");
+        "dard_parallel_2\",73.66666666666667],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "_origin\",72.02500919444445],PARAMETER[\"central_meridia");
+        "e_of_origin\",75.36440330555556],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "n\",-5],PARAMETER[\"false_easting\",47500000],PARAMETER[");
+        "idian\",-64],PARAMETER[\"false_easting\",20500000],PARAM");
     add_srs_wkt (p, 12,
-        "\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ETER[\"false_northing\",4500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6125\"]]");
-    p = add_epsg_def (filter, first, last, 6128, "epsg", 6128,
-        "Grand Cayman National Grid 1959");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6056\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6057, "epsg", 6057,
+        "GR96 / EPSG Arctic zone 4-22", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +ellps=clrk66 +towgs84=-179.483,-69.3");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
     add_proj4text (p, 1,
-        "79,-27.584,-7.862,8.163,6.042,-13.925 +units=ft +no_defs");
+        "6440330555556 +lon_0=-39 +x_0=22500000 +y_0=4500000 +ell");
+    add_proj4text (p, 2,
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Grand Cayman National Grid 1959\",GEOGCS[\"GCGD");
+        "PROJCS[\"GR96 / EPSG Arctic zone 4-22\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "59\",DATUM[\"Grand_Cayman_Geodetic_Datum_1959\",SPHEROID");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7008\"]],TOWGS84[-179.483,-69.379,-27.584,-7.86");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "2,8.163,6.042,-13.925],AUTHORITY[\"EPSG\",\"6723\"]],PRI");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "],AUTHORITY[\"EPSG\",\"4723\"]],PROJECTION[\"Transverse_");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "],PARAMETER[\"standard_parallel_1\",77],PARAMETER[\"stan");
     add_srs_wkt (p, 9,
-        "R[\"central_meridian\",-81],PARAMETER[\"scale_factor\",0");
+        "dard_parallel_2\",73.66666666666667],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        ".9996],PARAMETER[\"false_easting\",1640419.9475],PARAMET");
+        "e_of_origin\",75.36440330555556],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[");
+        "idian\",-39],PARAMETER[\"false_easting\",22500000],PARAM");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9002\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "ETER[\"false_northing\",4500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"6128\"]]");
-    p = add_epsg_def (filter, first, last, 6129, "epsg", 6129,
-        "Sister Islands National Grid 1961");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6057\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6058, "epsg", 6058,
+        "GR96 / EPSG Arctic zone 4-24", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +ellps=clrk66 +towgs84=8.853,-52.644,");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
     add_proj4text (p, 1,
-        "180.304,-0.393,-2.323,2.96,-24.081 +units=ft +no_defs");
+        "6440330555556 +lon_0=-14 +x_0=24500000 +y_0=4500000 +ell");
+    add_proj4text (p, 2,
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Sister Islands National Grid 1961\",GEOGCS[\"SI");
+        "PROJCS[\"GR96 / EPSG Arctic zone 4-24\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "GD61\",DATUM[\"Sister_Islands_Geodetic_Datum_1961\",SPHE");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "ROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORI");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644,180.304,-0.");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "393,-2.323,2.96,-24.081],AUTHORITY[\"EPSG\",\"6726\"]],P");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "\"]],AUTHORITY[\"EPSG\",\"4726\"]],PROJECTION[\"Transver");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+        "],PARAMETER[\"standard_parallel_1\",77],PARAMETER[\"stan");
     add_srs_wkt (p, 9,
-        "ETER[\"central_meridian\",-81],PARAMETER[\"scale_factor\"");
+        "dard_parallel_2\",73.66666666666667],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        ",0.9996],PARAMETER[\"false_easting\",1640419.9475],PARAM");
+        "e_of_origin\",75.36440330555556],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORIT");
+        "idian\",-14],PARAMETER[\"false_easting\",24500000],PARAM");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9002\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "ETER[\"false_northing\",4500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"6129\"]]");
-    p = add_epsg_def (filter, first, last, 6135, "epsg", 6135,
-        "CIGD11");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6058\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6059, "epsg", 6059,
+        "GR96 / EPSG Arctic zone 5-41", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "fs");
+        "333 +lat_0=72.02500919444444 +lon_0=-62 +x_0=41500000 +y");
+    add_proj4text (p, 2,
+        "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "GEOGCS[\"CIGD11\",DATUM[\"Cayman_Islands_Geodetic_Datum_");
+        "PROJCS[\"GR96 / EPSG Arctic zone 5-41\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "RITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORIT");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"1100\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6135\"]]");
-    p = add_epsg_def (filter, first, last, 6141, "epsg", 6141,
-        "Cayman Islands National Grid 2011 (deprecated)");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
+    add_srs_wkt (p, 6,
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 7,
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+    add_srs_wkt (p, 8,
+        "],PARAMETER[\"standard_parallel_1\",73.66666666666667],P");
+    add_srs_wkt (p, 9,
+        "ARAMETER[\"standard_parallel_2\",70.33333333333333],PARA");
+    add_srs_wkt (p, 10,
+        "METER[\"latitude_of_origin\",72.02500919444444],PARAMETE");
+    add_srs_wkt (p, 11,
+        "R[\"central_meridian\",-62],PARAMETER[\"false_easting\",");
+    add_srs_wkt (p, 12,
+        "41500000],PARAMETER[\"false_northing\",5500000],UNIT[\"m");
+    add_srs_wkt (p, 13,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6059");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6060, "epsg", 6060,
+        "GR96 / EPSG Arctic zone 5-43", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=19.33333333333333 +lat_2=19.7 +lat_0=19");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        ".33333333333333 +lon_0=80.56666666666666 +x_0=899160 +y_");
+        "333 +lat_0=72.02500919444444 +lon_0=-42 +x_0=43500000 +y");
     add_proj4text (p, 2,
-        "0=579120 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +");
+        "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
     add_proj4text (p, 3,
-        "no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cayman Islands National Grid 2011 (deprecated)\"");
+        "PROJCS[\"GR96 / EPSG Arctic zone 5-43\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        ",GEOGCS[\"CIGD11\",DATUM[\"Cayman_Islands_Geodetic_Datum");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"1100\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6135\"");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",19.33333333333333],PARAMETER[\"");
+        "],PARAMETER[\"standard_parallel_1\",73.66666666666667],P");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",19.7],PARAMETER[\"latitude_of_orig");
+        "ARAMETER[\"standard_parallel_2\",70.33333333333333],PARA");
     add_srs_wkt (p, 10,
-        "in\",19.33333333333333],PARAMETER[\"central_meridian\",8");
+        "METER[\"latitude_of_origin\",72.02500919444444],PARAMETE");
     add_srs_wkt (p, 11,
-        "0.56666666666666],PARAMETER[\"false_easting\",2950000],P");
+        "R[\"central_meridian\",-42],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "ARAMETER[\"false_northing\",1900000],UNIT[\"foot\",0.304");
+        "43500000],PARAMETER[\"false_northing\",5500000],UNIT[\"m");
     add_srs_wkt (p, 13,
-        "8,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"Easting\",EAST],A");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 14,
-        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6141\"]]");
-    p = add_epsg_def (filter, first, last, 6204, "epsg", 6204,
-        "Macedonian State Coordinate System");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6060");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6061, "epsg", 6061,
+        "GR96 / EPSG Arctic zone 5-45", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=500000 +y_");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "0=0 +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +units=m");
+        "333 +lat_0=72.02500919444444 +lon_0=-22 +x_0=45500000 +y");
     add_proj4text (p, 2,
-        " +no_defs");
+        "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Macedonian State Coordinate System\",GEOGCS[\"M");
+        "PROJCS[\"GR96 / EPSG Arctic zone 5-45\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "GI 1901\",DATUM[\"MGI_1901\",SPHEROID[\"Bessel 1841\",63");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "77397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWG");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "S84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\",\"1031\"]],");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"3906\"]],PROJECTION[\"Transve");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",21],PARAMETER[\"scale_factor\"");
+        "],PARAMETER[\"standard_parallel_1\",73.66666666666667],P");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ARAMETER[\"standard_parallel_2\",70.33333333333333],PARA");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "METER[\"latitude_of_origin\",72.02500919444444],PARAMETE");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[");
+        "R[\"central_meridian\",-22],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"6204\"]]");
-    p = add_epsg_def (filter, first, last, 6207, "epsg", 6207,
-        "Nepal 1981");
+        "45500000],PARAMETER[\"false_northing\",5500000],UNIT[\"m");
+    add_srs_wkt (p, 13,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6061");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6062, "epsg", 6062,
+        "GR96 / EPSG Arctic zone 6-26", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        "4=293.17,726.18,245.36,0,0,0,0 +no_defs");
+        "8747555555557 +lon_0=-56 +x_0=26500000 +y_0=6500000 +ell");
+    add_proj4text (p, 2,
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "GEOGCS[\"Nepal 1981\",DATUM[\"Nepal_1981\",SPHEROID[\"Ev");
+        "PROJCS[\"GR96 / EPSG Arctic zone 6-26\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "erest 1830 (1937 Adjustment)\",6377276.345,300.8017,AUTH");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "ORITY[\"EPSG\",\"7015\"]],TOWGS84[293.17,726.18,245.36,0");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        ",0,0,0],AUTHORITY[\"EPSG\",\"1111\"]],PRIMEM[\"Greenwich");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "EPSG\",\"6207\"]]");
-    p = add_epsg_def (filter, first, last, 6210, "epsg", 6210,
-        "SIRGAS 2000 / UTM zone 23N");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 7,
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+    add_srs_wkt (p, 8,
+        "],PARAMETER[\"standard_parallel_1\",70.33333333333333],P");
+    add_srs_wkt (p, 9,
+        "ARAMETER[\"standard_parallel_2\",67],PARAMETER[\"latitud");
+    add_srs_wkt (p, 10,
+        "e_of_origin\",68.68747555555557],PARAMETER[\"central_mer");
+    add_srs_wkt (p, 11,
+        "idian\",-56],PARAMETER[\"false_easting\",26500000],PARAM");
+    add_srs_wkt (p, 12,
+        "ETER[\"false_northing\",6500000],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6062\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6063, "epsg", 6063,
+        "GR96 / EPSG Arctic zone 6-28", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "8747555555557 +lon_0=-38 +x_0=28500000 +y_0=6500000 +ell");
+    add_proj4text (p, 2,
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 23N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"GR96 / EPSG Arctic zone 6-28\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PARAMETER[\"standard_parallel_1\",70.33333333333333],P");
     add_srs_wkt (p, 9,
-        ",-45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ARAMETER[\"standard_parallel_2\",67],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "e_of_origin\",68.68747555555557],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "idian\",-38],PARAMETER[\"false_easting\",28500000],PARAM");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ETER[\"false_northing\",6500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "6210\"]]");
-    p = add_epsg_def (filter, first, last, 6211, "epsg", 6211,
-        "SIRGAS 2000 / UTM zone 24N");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6063\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6064, "epsg", 6064,
+        "GR96 / EPSG Arctic zone 6-30", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "8747555555557 +lon_0=-20 +x_0=30500000 +y_0=6500000 +ell");
+    add_proj4text (p, 2,
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 24N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"GR96 / EPSG Arctic zone 6-30\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PARAMETER[\"standard_parallel_1\",70.33333333333333],P");
     add_srs_wkt (p, 9,
-        ",-39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ARAMETER[\"standard_parallel_2\",67],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "e_of_origin\",68.68747555555557],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "idian\",-20],PARAMETER[\"false_easting\",30500000],PARAM");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ETER[\"false_northing\",6500000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 13,
-        "6211\"]]");
-    p = add_epsg_def (filter, first, last, 6316, "epsg", 6316,
-        "Macedonia State Coordinate System zone 7");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6064\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6065, "epsg", 6065,
+        "GR96 / EPSG Arctic zone 7-11", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y");
+        "+proj=lcc +lat_1=67 +lat_2=63.66666666666666 +lat_0=65.3");
     add_proj4text (p, 1,
-        "_0=0 +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +units=");
+        "5103930555555 +lon_0=-51 +x_0=11500000 +y_0=7500000 +ell");
     add_proj4text (p, 2,
-        "m +no_defs");
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Macedonia State Coordinate System zone 7\",GEOG");
+        "PROJCS[\"GR96 / EPSG Arctic zone 7-11\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "CS[\"MGI 1901\",DATUM[\"MGI_1901\",SPHEROID[\"Bessel 184");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "1\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "],TOWGS84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\",\"103");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "1\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"3906\"]],PROJECTION[\"T");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_f");
+        "],PARAMETER[\"standard_parallel_1\",67],PARAMETER[\"stan");
     add_srs_wkt (p, 9,
-        "actor\",0.9999],PARAMETER[\"false_easting\",7500000],PAR");
+        "dard_parallel_2\",63.66666666666666],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "e_of_origin\",65.35103930555555],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],A");
+        "idian\",-51],PARAMETER[\"false_easting\",11500000],PARAM");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"6316\"]]");
-    p = add_epsg_def (filter, first, last, 6318, "epsg", 6318,
-        "NAD83(2011)");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=GRS80 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Re");
-    add_srs_wkt (p, 1,
-        "ference_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.");
-    add_srs_wkt (p, 2,
-        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG");
-    add_srs_wkt (p, 3,
-        "\",\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 4,
-        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
-    add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]]");
-    p = add_epsg_def (filter, first, last, 6322, "epsg", 6322,
-        "NAD83(PA11)");
+        "ETER[\"false_northing\",7500000],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6065\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6066, "epsg", 6066,
+        "GR96 / EPSG Arctic zone 7-13", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=GRS80 +no_defs");
+        "+proj=lcc +lat_1=67 +lat_2=63.66666666666666 +lat_0=65.3");
+    add_proj4text (p, 1,
+        "5103930555555 +lon_0=-34 +x_0=13500000 +y_0=7500000 +ell");
+    add_proj4text (p, 2,
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "GEOGCS[\"NAD83(PA11)\",DATUM[\"NAD83_National_Spatial_Re");
+        "PROJCS[\"GR96 / EPSG Arctic zone 7-13\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "ference_System_PA11\",SPHEROID[\"GRS 1980\",6378137,298.");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "\",\"1117\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6322\"]]");
-    p = add_epsg_def (filter, first, last, 6325, "epsg", 6325,
-        "NAD83(MA11)");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
+    add_srs_wkt (p, 6,
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 7,
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+    add_srs_wkt (p, 8,
+        "],PARAMETER[\"standard_parallel_1\",67],PARAMETER[\"stan");
+    add_srs_wkt (p, 9,
+        "dard_parallel_2\",63.66666666666666],PARAMETER[\"latitud");
+    add_srs_wkt (p, 10,
+        "e_of_origin\",65.35103930555555],PARAMETER[\"central_mer");
+    add_srs_wkt (p, 11,
+        "idian\",-34],PARAMETER[\"false_easting\",13500000],PARAM");
+    add_srs_wkt (p, 12,
+        "ETER[\"false_northing\",7500000],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+    add_srs_wkt (p, 14,
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"6066\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6067, "epsg", 6067,
+        "GR96 / EPSG Arctic zone 8-20", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=GRS80 +no_defs");
+        "+proj=lcc +lat_1=63.66666666666666 +lat_2=60.33333333333");
+    add_proj4text (p, 1,
+        "334 +lat_0=62.01530688888889 +lon_0=-52 +x_0=20500000 +y");
+    add_proj4text (p, 2,
+        "_0=8500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "GEOGCS[\"NAD83(MA11)\",DATUM[\"NAD83_National_Spatial_Re");
+        "PROJCS[\"GR96 / EPSG Arctic zone 8-20\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "ference_System_MA11\",SPHEROID[\"GRS 1980\",6378137,298.");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "\",\"1118\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6325\"]]");
-    p = add_epsg_def (filter, first, last, 6328, "epsg", 6328,
-        "NAD83(2011) / UTM zone 59N");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
+    add_srs_wkt (p, 6,
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 7,
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+    add_srs_wkt (p, 8,
+        "],PARAMETER[\"standard_parallel_1\",63.66666666666666],P");
+    add_srs_wkt (p, 9,
+        "ARAMETER[\"standard_parallel_2\",60.33333333333334],PARA");
+    add_srs_wkt (p, 10,
+        "METER[\"latitude_of_origin\",62.01530688888889],PARAMETE");
+    add_srs_wkt (p, 11,
+        "R[\"central_meridian\",-52],PARAMETER[\"false_easting\",");
+    add_srs_wkt (p, 12,
+        "20500000],PARAMETER[\"false_northing\",8500000],UNIT[\"m");
+    add_srs_wkt (p, 13,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6067");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6068, "epsg", 6068,
+        "GR96 / EPSG Arctic zone 8-22", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=59 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=63.66666666666666 +lat_2=60.33333333333");
+    add_proj4text (p, 1,
+        "334 +lat_0=62.01530688888889 +lon_0=-37 +x_0=22500000 +y");
+    add_proj4text (p, 2,
+        "_0=8500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 59N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"GR96 / EPSG Arctic zone 8-22\",GEOGCS[\"GR96\",");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "DATUM[\"Greenland_1996\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6747\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "\",\"4747\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",171],PARAMETER[\"scale_factor\",0");
+        "],PARAMETER[\"standard_parallel_1\",63.66666666666666],P");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "ARAMETER[\"standard_parallel_2\",60.33333333333334],PARA");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "METER[\"latitude_of_origin\",62.01530688888889],PARAMETE");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "R[\"central_meridian\",-37],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6328\"]]");
-    p = add_epsg_def (filter, first, last, 6329, "epsg", 6329,
-        "NAD83(2011) / UTM zone 60N");
+        "22500000],PARAMETER[\"false_northing\",8500000],UNIT[\"m");
+    add_srs_wkt (p, 13,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6068");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6069, "epsg", 6069,
+        "ETRS89 / EPSG Arctic zone 2-22", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=60 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+    add_proj4text (p, 1,
+        "333 +lat_0=82.05842488888888 +lon_0=16 +x_0=22500000 +y_");
+    add_proj4text (p, 2,
+        "0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 60N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"ETRS89 / EPSG Arctic zone 2-22\",GEOGCS[\"ETRS8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",177],PARAMETER[\"scale_factor\",0");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "rallel_1\",83.66666666666667],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "lel_2\",80.33333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "n\",82.05842488888888],PARAMETER[\"central_meridian\",16");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6329\"]]");
-    p = add_epsg_def (filter, first, last, 6330, "epsg", 6330,
-        "NAD83(2011) / UTM zone 1N");
+        "],PARAMETER[\"false_easting\",22500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 13,
+        "e_northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"6069\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6070, "epsg", 6070,
+        "ETRS89 / EPSG Arctic zone 3-11", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=1 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+    add_proj4text (p, 1,
+        "0733752777778 +lon_0=21 +x_0=11500000 +y_0=3500000 +ellp");
+    add_proj4text (p, 2,
+        "s=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 1N\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"ETRS89 / EPSG Arctic zone 3-11\",GEOGCS[\"ETRS8");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-177],PARAMETER[\"scale_factor\",0");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "rallel_1\",80.33333333333333],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "lel_2\",77],PARAMETER[\"latitude_of_origin\",78.70733752");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "777778],PARAMETER[\"central_meridian\",21],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6330\"]]");
-    p = add_epsg_def (filter, first, last, 6331, "epsg", 6331,
-        "NAD83(2011) / UTM zone 2N");
+        "alse_easting\",11500000],PARAMETER[\"false_northing\",35");
+    add_srs_wkt (p, 13,
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"6070\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6071, "epsg", 6071,
+        "ETRS89 / EPSG Arctic zone 4-26", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=2 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+    add_proj4text (p, 1,
+        "6440330555556 +lon_0=10 +x_0=26500000 +y_0=4500000 +ellp");
+    add_proj4text (p, 2,
+        "s=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 2N\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"ETRS89 / EPSG Arctic zone 4-26\",GEOGCS[\"ETRS8");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-171],PARAMETER[\"scale_factor\",0");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "rallel_1\",77],PARAMETER[\"standard_parallel_2\",73.6666");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "6666666667],PARAMETER[\"latitude_of_origin\",75.36440330");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "555556],PARAMETER[\"central_meridian\",10],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6331\"]]");
-    p = add_epsg_def (filter, first, last, 6332, "epsg", 6332,
-        "NAD83(2011) / UTM zone 3N");
+        "alse_easting\",26500000],PARAMETER[\"false_northing\",45");
+    add_srs_wkt (p, 13,
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"6071\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6072, "epsg", 6072,
+        "ETRS89 / EPSG Arctic zone 4-28", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=3 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+    add_proj4text (p, 1,
+        "6440330555556 +lon_0=34 +x_0=28500000 +y_0=4500000 +ellp");
+    add_proj4text (p, 2,
+        "s=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 3N\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"ETRS89 / EPSG Arctic zone 4-28\",GEOGCS[\"ETRS8");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-165],PARAMETER[\"scale_factor\",0");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "rallel_1\",77],PARAMETER[\"standard_parallel_2\",73.6666");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "6666666667],PARAMETER[\"latitude_of_origin\",75.36440330");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "555556],PARAMETER[\"central_meridian\",34],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6332\"]]");
-    p = add_epsg_def (filter, first, last, 6333, "epsg", 6333,
-        "NAD83(2011) / UTM zone 4N");
+        "alse_easting\",28500000],PARAMETER[\"false_northing\",45");
+    add_srs_wkt (p, 13,
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"6072\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6073, "epsg", 6073,
+        "ETRS89 / EPSG Arctic zone 5-11", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=4 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+    add_proj4text (p, 1,
+        "333 +lat_0=72.02500919444444 +lon_0=14 +x_0=11500000 +y_");
+    add_proj4text (p, 2,
+        "0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 4N\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"ETRS89 / EPSG Arctic zone 5-11\",GEOGCS[\"ETRS8");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-159],PARAMETER[\"scale_factor\",0");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "rallel_1\",73.66666666666667],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "lel_2\",70.33333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "n\",72.02500919444444],PARAMETER[\"central_meridian\",14");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6333\"]]");
-    p = add_epsg_def (filter, first, last, 6334, "epsg", 6334,
-        "NAD83(2011) / UTM zone 5N");
+        "],PARAMETER[\"false_easting\",11500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 13,
+        "e_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"6073\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6074, "epsg", 6074,
+        "ETRS89 / EPSG Arctic zone 5-13", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=5 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+    add_proj4text (p, 1,
+        "333 +lat_0=72.02500919444444 +lon_0=34 +x_0=13500000 +y_");
+    add_proj4text (p, 2,
+        "0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 5N\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"ETRS89 / EPSG Arctic zone 5-13\",GEOGCS[\"ETRS8");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-153],PARAMETER[\"scale_factor\",0");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "rallel_1\",73.66666666666667],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "lel_2\",70.33333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "n\",72.02500919444444],PARAMETER[\"central_meridian\",34");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6334\"]]");
-    p = add_epsg_def (filter, first, last, 6335, "epsg", 6335,
-        "NAD83(2011) / UTM zone 6N");
+        "],PARAMETER[\"false_easting\",13500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 13,
+        "e_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"6074\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6075, "epsg", 6075,
+        "WGS 84 / EPSG Arctic zone 2-24", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=6 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+    add_proj4text (p, 1,
+        "333 +lat_0=82.05842488888888 +lon_0=53 +x_0=24500000 +y_");
+    add_proj4text (p, 2,
+        "0=2500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 6N\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 2-24\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-147],PARAMETER[\"scale_factor\",0");
+        "lel_1\",83.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "_2\",80.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",82.05842488888888],PARAMETER[\"central_meridian\",53],P");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "ARAMETER[\"false_easting\",24500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6335\"]]");
-    p = add_epsg_def (filter, first, last, 6336, "epsg", 6336,
-        "NAD83(2011) / UTM zone 7N");
+        "orthing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"6075\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6076, "epsg", 6076,
+        "WGS 84 / EPSG Arctic zone 2-26", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=7 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
+    add_proj4text (p, 1,
+        "333 +lat_0=82.05842488888888 +lon_0=93 +x_0=26500000 +y_");
+    add_proj4text (p, 2,
+        "0=2500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 7N\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 2-26\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-141],PARAMETER[\"scale_factor\",0");
+        "lel_1\",83.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "_2\",80.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",82.05842488888888],PARAMETER[\"central_meridian\",93],P");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "ARAMETER[\"false_easting\",26500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6336\"]]");
-    p = add_epsg_def (filter, first, last, 6337, "epsg", 6337,
-        "NAD83(2011) / UTM zone 8N");
+        "orthing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"6076\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6077, "epsg", 6077,
+        "WGS 84 / EPSG Arctic zone 3-13", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=8 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+    add_proj4text (p, 1,
+        "0733752777778 +lon_0=52 +x_0=13500000 +y_0=3500000 +datu");
+    add_proj4text (p, 2,
+        "m=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 8N\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-13\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-135],PARAMETER[\"scale_factor\",0");
+        "lel_1\",80.33333333333333],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "_2\",77],PARAMETER[\"latitude_of_origin\",78.70733752777");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "778],PARAMETER[\"central_meridian\",52],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "e_easting\",13500000],PARAMETER[\"false_northing\",35000");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6337\"]]");
-    p = add_epsg_def (filter, first, last, 6338, "epsg", 6338,
-        "NAD83(2011) / UTM zone 9N");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"6077\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6078, "epsg", 6078,
+        "WGS 84 / EPSG Arctic zone 3-15", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=9 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+    add_proj4text (p, 1,
+        "0733752777778 +lon_0=83 +x_0=15500000 +y_0=3500000 +datu");
+    add_proj4text (p, 2,
+        "m=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 9N\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-15\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-129],PARAMETER[\"scale_factor\",0");
+        "lel_1\",80.33333333333333],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "_2\",77],PARAMETER[\"latitude_of_origin\",78.70733752777");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "778],PARAMETER[\"central_meridian\",83],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "e_easting\",15500000],PARAMETER[\"false_northing\",35000");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6338\"]]");
-    p = add_epsg_def (filter, first, last, 6339, "epsg", 6339,
-        "NAD83(2011) / UTM zone 10N");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"6078\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6079, "epsg", 6079,
+        "WGS 84 / EPSG Arctic zone 3-17", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+    add_proj4text (p, 1,
+        "0733752777778 +lon_0=114 +x_0=17500000 +y_0=3500000 +dat");
+    add_proj4text (p, 2,
+        "um=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 10N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-17\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-123],PARAMETER[\"scale_factor\",");
+        "lel_1\",80.33333333333333],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "_2\",77],PARAMETER[\"latitude_of_origin\",78.70733752777");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "778],PARAMETER[\"central_meridian\",114],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "se_easting\",17500000],PARAMETER[\"false_northing\",3500");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"6339\"]]");
-    p = add_epsg_def (filter, first, last, 6340, "epsg", 6340,
-        "NAD83(2011) / UTM zone 11N");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6079\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6080, "epsg", 6080,
+        "WGS 84 / EPSG Arctic zone 3-19", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
+    add_proj4text (p, 1,
+        "0733752777778 +lon_0=145 +x_0=19500000 +y_0=3500000 +dat");
+    add_proj4text (p, 2,
+        "um=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 11N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-19\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-117],PARAMETER[\"scale_factor\",");
+        "lel_1\",80.33333333333333],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "_2\",77],PARAMETER[\"latitude_of_origin\",78.70733752777");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "778],PARAMETER[\"central_meridian\",145],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "se_easting\",19500000],PARAMETER[\"false_northing\",3500");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"6340\"]]");
-    p = add_epsg_def (filter, first, last, 6341, "epsg", 6341,
-        "NAD83(2011) / UTM zone 12N");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6080\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6081, "epsg", 6081,
+        "WGS 84 / EPSG Arctic zone 4-30", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+    add_proj4text (p, 1,
+        "6440330555556 +lon_0=58 +x_0=30500000 +y_0=4500000 +datu");
+    add_proj4text (p, 2,
+        "m=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 12N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-30\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-111],PARAMETER[\"scale_factor\",");
+        "lel_1\",77],PARAMETER[\"standard_parallel_2\",73.6666666");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "6666667],PARAMETER[\"latitude_of_origin\",75.36440330555");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "556],PARAMETER[\"central_meridian\",58],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "e_easting\",30500000],PARAMETER[\"false_northing\",45000");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"6341\"]]");
-    p = add_epsg_def (filter, first, last, 6342, "epsg", 6342,
-        "NAD83(2011) / UTM zone 13N");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"6081\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6082, "epsg", 6082,
+        "WGS 84 / EPSG Arctic zone 4-32", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+    add_proj4text (p, 1,
+        "6440330555556 +lon_0=82 +x_0=32500000 +y_0=4500000 +datu");
+    add_proj4text (p, 2,
+        "m=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 13N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-32\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-105],PARAMETER[\"scale_factor\",");
+        "lel_1\",77],PARAMETER[\"standard_parallel_2\",73.6666666");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "6666667],PARAMETER[\"latitude_of_origin\",75.36440330555");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "556],PARAMETER[\"central_meridian\",82],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "e_easting\",32500000],PARAMETER[\"false_northing\",45000");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"6342\"]]");
-    p = add_epsg_def (filter, first, last, 6343, "epsg", 6343,
-        "NAD83(2011) / UTM zone 14N");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"6082\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6083, "epsg", 6083,
+        "WGS 84 / EPSG Arctic zone 4-34", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+    add_proj4text (p, 1,
+        "6440330555556 +lon_0=106 +x_0=34500000 +y_0=4500000 +dat");
+    add_proj4text (p, 2,
+        "um=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 14N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-34\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-99],PARAMETER[\"scale_factor\",0");
+        "lel_1\",77],PARAMETER[\"standard_parallel_2\",73.6666666");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "6666667],PARAMETER[\"latitude_of_origin\",75.36440330555");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "556],PARAMETER[\"central_meridian\",106],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "se_easting\",34500000],PARAMETER[\"false_northing\",4500");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6343\"]]");
-    p = add_epsg_def (filter, first, last, 6344, "epsg", 6344,
-        "NAD83(2011) / UTM zone 15N");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6083\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6084, "epsg", 6084,
+        "WGS 84 / EPSG Arctic zone 4-36", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+    add_proj4text (p, 1,
+        "6440330555556 +lon_0=130 +x_0=36500000 +y_0=4500000 +dat");
+    add_proj4text (p, 2,
+        "um=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 15N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-36\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-93],PARAMETER[\"scale_factor\",0");
+        "lel_1\",77],PARAMETER[\"standard_parallel_2\",73.6666666");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "6666667],PARAMETER[\"latitude_of_origin\",75.36440330555");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "556],PARAMETER[\"central_meridian\",130],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "se_easting\",36500000],PARAMETER[\"false_northing\",4500");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6344\"]]");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6084\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_29.c b/src/srsinit/epsg_inlined_29.c
index d34c2cf..59c6aac 100644
--- a/src/srsinit/epsg_inlined_29.c
+++ b/src/srsinit/epsg_inlined_29.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3506 +54,4275 @@ initialize_epsg_29 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 6345, "epsg", 6345,
-        "NAD83(2011) / UTM zone 16N");
+    p = add_epsg_def_ex (filter, first, last, 6085, "epsg", 6085,
+        "WGS 84 / EPSG Arctic zone 4-38", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+    add_proj4text (p, 1,
+        "6440330555556 +lon_0=154 +x_0=38500000 +y_0=4500000 +dat");
+    add_proj4text (p, 2,
+        "um=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 16N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-38\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-87],PARAMETER[\"scale_factor\",0");
+        "lel_1\",77],PARAMETER[\"standard_parallel_2\",73.6666666");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "6666667],PARAMETER[\"latitude_of_origin\",75.36440330555");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "556],PARAMETER[\"central_meridian\",154],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "se_easting\",38500000],PARAMETER[\"false_northing\",4500");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6345\"]]");
-    p = add_epsg_def (filter, first, last, 6346, "epsg", 6346,
-        "NAD83(2011) / UTM zone 17N");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6085\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6086, "epsg", 6086,
+        "WGS 84 / EPSG Arctic zone 4-40", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
+    add_proj4text (p, 1,
+        "6440330555556 +lon_0=179 +x_0=40500000 +y_0=4500000 +dat");
+    add_proj4text (p, 2,
+        "um=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 17N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-40\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-81],PARAMETER[\"scale_factor\",0");
+        "lel_1\",77],PARAMETER[\"standard_parallel_2\",73.6666666");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "6666667],PARAMETER[\"latitude_of_origin\",75.36440330555");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "556],PARAMETER[\"central_meridian\",179],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "se_easting\",40500000],PARAMETER[\"false_northing\",4500");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6346\"]]");
-    p = add_epsg_def (filter, first, last, 6347, "epsg", 6347,
-        "NAD83(2011) / UTM zone 18N");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6086\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6087, "epsg", 6087,
+        "WGS 84 / EPSG Arctic zone 5-15", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+    add_proj4text (p, 1,
+        "333 +lat_0=72.02500919444444 +lon_0=54 +x_0=15500000 +y_");
+    add_proj4text (p, 2,
+        "0=5500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 18N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-15\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-75],PARAMETER[\"scale_factor\",0");
+        "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",72.02500919444444],PARAMETER[\"central_meridian\",54],P");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "ARAMETER[\"false_easting\",15500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6347\"]]");
-    p = add_epsg_def (filter, first, last, 6348, "epsg", 6348,
-        "NAD83(2011) / UTM zone 19N");
+        "orthing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"6087\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6088, "epsg", 6088,
+        "WGS 84 / EPSG Arctic zone 5-17", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
+    add_proj4text (p, 1,
+        "333 +lat_0=72.02500919444444 +lon_0=74 +x_0=17500000 +y_");
+    add_proj4text (p, 2,
+        "0=5500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / UTM zone 19N\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-17\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",-69],PARAMETER[\"scale_factor\",0");
+        "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",72.02500919444444],PARAMETER[\"central_meridian\",74],P");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "ARAMETER[\"false_easting\",17500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6348\"]]");
-    p = add_epsg_def (filter, first, last, 6350, "epsg", 6350,
-        "NAD83(2011) / Conus Albers");
+        "orthing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"6088\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6089, "epsg", 6089,
+        "WGS 84 / EPSG Arctic zone 5-19", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=72.02500919444444 +lon_0=95 +x_0=19500000 +y_");
+    add_proj4text (p, 2,
+        "0=5500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Conus Albers\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-19\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Albers_Coni");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "c_Equal_Area\"],PARAMETER[\"standard_parallel_1\",29.5],");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_2\",45.5],PARAMETER[\"lati");
+        "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "tude_of_center\",23],PARAMETER[\"longitude_of_center\",-");
+        "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "96],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nor");
+        ",72.02500919444444],PARAMETER[\"central_meridian\",95],P");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "ARAMETER[\"false_easting\",19500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "orthing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "\"6350\"]]");
-    p = add_epsg_def (filter, first, last, 6351, "epsg", 6351,
-        "NAD83(2011) / EPSG Arctic zone 5-29");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"6089\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6090, "epsg", 6090,
+        "WGS 84 / EPSG Arctic zone 5-21", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-163 +x_0=29500000 +");
+        "333 +lat_0=72.02500919444444 +lon_0=116 +x_0=21500000 +y");
     add_proj4text (p, 2,
-        "y_0=5500000 +ellps=GRS80 +units=m +no_defs");
+        "_0=5500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / EPSG Arctic zone 5-29\",GEOGCS[\"");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-21\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "el_1\",73.66666666666667],PARAMETER[\"standard_parallel_");
+        "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "2\",70.33333333333333],PARAMETER[\"latitude_of_origin\",");
+        "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "72.02500919444445],PARAMETER[\"central_meridian\",-163],");
+        ",72.02500919444444],PARAMETER[\"central_meridian\",116],");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_easting\",29500000],PARAMETER[\"false_");
+        "PARAMETER[\"false_easting\",21500000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
         "northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
         "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 14,
-        "H],AUTHORITY[\"EPSG\",\"6351\"]]");
-    p = add_epsg_def (filter, first, last, 6352, "epsg", 6352,
-        "NAD83(2011) / EPSG Arctic zone 5-31");
+        "H],AUTHORITY[\"EPSG\",\"6090\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6091, "epsg", 6091,
+        "WGS 84 / EPSG Arctic zone 5-23", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=72.02500919444445 +lon_0=-147 +x_0=31500000 +");
+        "333 +lat_0=72.02500919444444 +lon_0=137 +x_0=23500000 +y");
     add_proj4text (p, 2,
-        "y_0=5500000 +ellps=GRS80 +units=m +no_defs");
+        "_0=5500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / EPSG Arctic zone 5-31\",GEOGCS[\"");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-23\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "el_1\",73.66666666666667],PARAMETER[\"standard_parallel_");
+        "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "2\",70.33333333333333],PARAMETER[\"latitude_of_origin\",");
+        "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "72.02500919444445],PARAMETER[\"central_meridian\",-147],");
+        ",72.02500919444444],PARAMETER[\"central_meridian\",137],");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_easting\",31500000],PARAMETER[\"false_");
+        "PARAMETER[\"false_easting\",23500000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
         "northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
         "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 14,
-        "H],AUTHORITY[\"EPSG\",\"6352\"]]");
-    p = add_epsg_def (filter, first, last, 6353, "epsg", 6353,
-        "NAD83(2011) / EPSG Arctic zone 6-14");
+        "H],AUTHORITY[\"EPSG\",\"6091\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6092, "epsg", 6092,
+        "WGS 84 / EPSG Arctic zone 5-25", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-165 +x_0=14500000 +y_0=6500000 +el");
+        "333 +lat_0=72.02500919444444 +lon_0=158 +x_0=25500000 +y");
     add_proj4text (p, 2,
-        "lps=GRS80 +units=m +no_defs");
+        "_0=5500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / EPSG Arctic zone 6-14\",GEOGCS[\"");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-25\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "el_1\",70.33333333333333],PARAMETER[\"standard_parallel_");
+        "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "2\",67],PARAMETER[\"latitude_of_origin\",68.687475555555");
+        "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "57],PARAMETER[\"central_meridian\",-165],PARAMETER[\"fal");
+        ",72.02500919444444],PARAMETER[\"central_meridian\",158],");
     add_srs_wkt (p, 11,
-        "se_easting\",14500000],PARAMETER[\"false_northing\",6500");
+        "PARAMETER[\"false_easting\",25500000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 14,
-        "EPSG\",\"6353\"]]");
-    p = add_epsg_def (filter, first, last, 6354, "epsg", 6354,
-        "NAD83(2011) / EPSG Arctic zone 6-16");
+        "H],AUTHORITY[\"EPSG\",\"6092\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6093, "epsg", 6093,
+        "WGS 84 / EPSG Arctic zone 5-27", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "8747555555557 +lon_0=-147 +x_0=16500000 +y_0=6500000 +el");
+        "333 +lat_0=72.02500919444444 +lon_0=179 +x_0=27500000 +y");
     add_proj4text (p, 2,
-        "lps=GRS80 +units=m +no_defs");
+        "_0=5500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / EPSG Arctic zone 6-16\",GEOGCS[\"");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 5-27\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "el_1\",70.33333333333333],PARAMETER[\"standard_parallel_");
+        "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "2\",67],PARAMETER[\"latitude_of_origin\",68.687475555555");
+        "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "57],PARAMETER[\"central_meridian\",-147],PARAMETER[\"fal");
+        ",72.02500919444444],PARAMETER[\"central_meridian\",179],");
     add_srs_wkt (p, 11,
-        "se_easting\",16500000],PARAMETER[\"false_northing\",6500");
+        "PARAMETER[\"false_easting\",27500000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 14,
-        "EPSG\",\"6354\"]]");
-    p = add_epsg_def (filter, first, last, 6355, "epsg", 6355,
-        "NAD83(2011) / Alabama East");
+        "H],AUTHORITY[\"EPSG\",\"6093\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6094, "epsg", 6094,
+        "NAD83(NSRS2007) / EPSG Arctic zone 5-29", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.9");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "9996 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=72.02500919444444 +lon_0=-163 +x_0=29500000 +");
+    add_proj4text (p, 2,
+        "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alabama East\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(NSRS2007) / EPSG Arctic zone 5-29\",GEOGC");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "S[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Ref");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "erence_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        ",0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",30.5],PARAM");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-85.83333333333333],PARAMETER[");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.99996],PARAMETER[\"false_easting\",20");
+        "AMETER[\"standard_parallel_1\",73.66666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "TER[\"standard_parallel_2\",70.33333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "[\"latitude_of_origin\",72.02500919444444],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6355\"]]");
-    p = add_epsg_def (filter, first, last, 6356, "epsg", 6356,
-        "NAD83(2011) / Alabama West");
+        "entral_meridian\",-163],PARAMETER[\"false_easting\",2950");
+    add_srs_wkt (p, 13,
+        "0000],PARAMETER[\"false_northing\",5500000],UNIT[\"metre");
+    add_srs_wkt (p, 14,
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
+    add_srs_wkt (p, 15,
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6094\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6095, "epsg", 6095,
+        "NAD83(NSRS2007) / EPSG Arctic zone 5-31", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=6");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "00000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=72.02500919444444 +lon_0=-147 +x_0=31500000 +");
+    add_proj4text (p, 2,
+        "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alabama West\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(NSRS2007) / EPSG Arctic zone 5-31\",GEOGC");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "S[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Ref");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "erence_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        ",0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",30],PARAMET");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-87.5],PARAMETER[\"scale_factor\"");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",0.999933333],PARAMETER[\"false_easting\",600000],PARAME");
+        "AMETER[\"standard_parallel_1\",73.66666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "TER[\"standard_parallel_2\",70.33333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "[\"latitude_of_origin\",72.02500919444444],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"6356\"]]");
-    p = add_epsg_def (filter, first, last, 6362, "epsg", 6362,
-        "Mexico ITRF92 / LCC");
+        "entral_meridian\",-147],PARAMETER[\"false_easting\",3150");
+    add_srs_wkt (p, 13,
+        "0000],PARAMETER[\"false_northing\",5500000],UNIT[\"metre");
+    add_srs_wkt (p, 14,
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
+    add_srs_wkt (p, 15,
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6095\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6096, "epsg", 6096,
+        "NAD83(NSRS2007) / EPSG Arctic zone 6-14", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=17.5 +lat_2=29.5 +lat_0=12 +lon_0=-102 ");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        "+x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+        "8747555555557 +lon_0=-165 +x_0=14500000 +y_0=6500000 +el");
     add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Mexico ITRF92 / LCC\",GEOGCS[\"Mexico ITRF92\",");
+        "PROJCS[\"NAD83(NSRS2007) / EPSG Arctic zone 6-14\",GEOGC");
     add_srs_wkt (p, 1,
-        "DATUM[\"Mexico_ITRF92\",SPHEROID[\"GRS 1980\",6378137,29");
+        "S[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Ref");
     add_srs_wkt (p, 2,
-        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
+        "erence_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2");
     add_srs_wkt (p, 3,
-        "0,0,0,0],AUTHORITY[\"EPSG\",\"1042\"]],PRIMEM[\"Greenwic");
+        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        ",0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4483\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"standard_parallel_1\",17.5],PARAMETER[");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "\"standard_parallel_2\",29.5],PARAMETER[\"latitude_of_or");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "igin\",12],PARAMETER[\"central_meridian\",-102],PARAMETE");
+        "AMETER[\"standard_parallel_1\",70.33333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",2500000],PARAMETER[\"false_northing\"");
+        "TER[\"standard_parallel_2\",67],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "origin\",68.68747555555557],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"6362\"]]");
-    p = add_epsg_def (filter, first, last, 6365, "epsg", 6365,
-        "Mexico ITRF2008");
-    add_proj4text (p, 0,
-        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
-    add_proj4text (p, 1,
-        "fs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"Mexico ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPH");
-    add_srs_wkt (p, 1,
-        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
-    add_srs_wkt (p, 2,
-        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 3,
-        ",\"1120\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
-    add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6365\"]]");
-    p = add_epsg_def (filter, first, last, 6366, "epsg", 6366,
-        "Mexico ITRF2008 / UTM zone 11N");
+        "\",-165],PARAMETER[\"false_easting\",14500000],PARAMETER");
+    add_srs_wkt (p, 13,
+        "[\"false_northing\",6500000],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 15,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"6096\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6097, "epsg", 6097,
+        "NAD83(NSRS2007) / EPSG Arctic zone 6-16", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "8747555555557 +lon_0=-147 +x_0=16500000 +y_0=6500000 +el");
+    add_proj4text (p, 2,
+        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Mexico ITRF2008 / UTM zone 11N\",GEOGCS[\"Mexic");
+        "PROJCS[\"NAD83(NSRS2007) / EPSG Arctic zone 6-16\",GEOGC");
     add_srs_wkt (p, 1,
-        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
+        "S[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Ref");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "erence_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
+        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        ",0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-117],PARAMETER[\"scale_factor\"");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "AMETER[\"standard_parallel_1\",70.33333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "TER[\"standard_parallel_2\",67],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "origin\",68.68747555555557],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"6366\"]]");
-    p = add_epsg_def (filter, first, last, 6367, "epsg", 6367,
-        "Mexico ITRF2008 / UTM zone 12N");
+        "\",-147],PARAMETER[\"false_easting\",16500000],PARAMETER");
+    add_srs_wkt (p, 13,
+        "[\"false_northing\",6500000],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 15,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"6097\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6098, "epsg", 6098,
+        "NAD83(CSRS) / EPSG Arctic zone 1-23", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "3711833333333 +lon_0=-90 +x_0=23500000 +y_0=1500000 +ell");
+    add_proj4text (p, 2,
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Mexico ITRF2008 / UTM zone 12N\",GEOGCS[\"Mexic");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 1-23\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-111],PARAMETER[\"scale_factor\"");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ndard_parallel_1\",87],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",83.66666666666667],PARAMETER[\"latitude_of_origin\",85.");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "43711833333333],PARAMETER[\"central_meridian\",-90],PARA");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"6367\"]]");
-    p = add_epsg_def (filter, first, last, 6368, "epsg", 6368,
-        "Mexico ITRF2008 / UTM zone 13N");
+        "METER[\"false_easting\",23500000],PARAMETER[\"false_nort");
+    add_srs_wkt (p, 13,
+        "hing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 14,
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"6098\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6099, "epsg", 6099,
+        "NAD83(CSRS) / EPSG Arctic zone 2-14", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "333 +lat_0=82.05842488888888 +lon_0=-115 +x_0=14500000 +");
+    add_proj4text (p, 2,
+        "y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Mexico ITRF2008 / UTM zone 13N\",GEOGCS[\"Mexic");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 2-14\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-105],PARAMETER[\"scale_factor\"");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ndard_parallel_1\",83.66666666666667],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "rd_parallel_2\",80.33333333333333],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "of_origin\",82.05842488888888],PARAMETER[\"central_merid");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"6368\"]]");
-    p = add_epsg_def (filter, first, last, 6369, "epsg", 6369,
-        "Mexico ITRF2008 / UTM zone 14N");
+        "ian\",-115],PARAMETER[\"false_easting\",14500000],PARAME");
+    add_srs_wkt (p, 13,
+        "TER[\"false_northing\",2500000],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 15,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"6099\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6100, "epsg", 6100,
+        "NAD83(CSRS) / EPSG Arctic zone 2-16", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "333 +lat_0=82.05842488888888 +lon_0=-75 +x_0=16500000 +y");
+    add_proj4text (p, 2,
+        "_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Mexico ITRF2008 / UTM zone 14N\",GEOGCS[\"Mexic");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 2-16\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-99],PARAMETER[\"scale_factor\",");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ndard_parallel_1\",83.66666666666667],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "rd_parallel_2\",80.33333333333333],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "of_origin\",82.05842488888888],PARAMETER[\"central_merid");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"6369\"]]");
-    p = add_epsg_def (filter, first, last, 6370, "epsg", 6370,
-        "Mexico ITRF2008 / UTM zone 15N");
+        "ian\",-75],PARAMETER[\"false_easting\",16500000],PARAMET");
+    add_srs_wkt (p, 13,
+        "ER[\"false_northing\",2500000],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 14,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 15,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"6100\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6101, "epsg", 6101,
+        "NAD83(CSRS) / EPSG Arctic zone 3-25", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "0733752777778 +lon_0=-129 +x_0=25500000 +y_0=3500000 +el");
+    add_proj4text (p, 2,
+        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Mexico ITRF2008 / UTM zone 15N\",GEOGCS[\"Mexic");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 3-25\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-93],PARAMETER[\"scale_factor\",");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ndard_parallel_1\",80.33333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "rd_parallel_2\",77],PARAMETER[\"latitude_of_origin\",78.");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "70733752777778],PARAMETER[\"central_meridian\",-129],PAR");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"6370\"]]");
-    p = add_epsg_def (filter, first, last, 6371, "epsg", 6371,
-        "Mexico ITRF2008 / UTM zone 16N");
+        "AMETER[\"false_easting\",25500000],PARAMETER[\"false_nor");
+    add_srs_wkt (p, 13,
+        "thing\",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"6101\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6102, "epsg", 6102,
+        "NAD83(CSRS) / EPSG Arctic zone 3-27", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "0733752777778 +lon_0=-99 +x_0=27500000 +y_0=3500000 +ell");
+    add_proj4text (p, 2,
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Mexico ITRF2008 / UTM zone 16N\",GEOGCS[\"Mexic");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 3-27\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-87],PARAMETER[\"scale_factor\",");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ndard_parallel_1\",80.33333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "rd_parallel_2\",77],PARAMETER[\"latitude_of_origin\",78.");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "70733752777778],PARAMETER[\"central_meridian\",-99],PARA");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"6371\"]]");
-    p = add_epsg_def (filter, first, last, 6372, "epsg", 6372,
-        "Mexico ITRF2008 / LCC");
+        "METER[\"false_easting\",27500000],PARAMETER[\"false_nort");
+    add_srs_wkt (p, 13,
+        "hing\",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 14,
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"6102\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6103, "epsg", 6103,
+        "NAD83(CSRS) / EPSG Arctic zone 3-29", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=17.5 +lat_2=29.5 +lat_0=12 +lon_0=-102 ");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
     add_proj4text (p, 1,
-        "+x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+        "0733752777778 +lon_0=-69 +x_0=29500000 +y_0=3500000 +ell");
     add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Mexico ITRF2008 / LCC\",GEOGCS[\"Mexico ITRF200");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 3-29\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "8\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 1980\",6378");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PRIMEM[\"Gr");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"6365\"]],PROJECTION[\"Lambert_Conformal_C");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",17.5],PARA");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_2\",29.5],PARAMETER[\"latitude");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "_of_origin\",12],PARAMETER[\"central_meridian\",-102],PA");
+        "ndard_parallel_1\",80.33333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",2500000],PARAMETER[\"false_nor");
+        "rd_parallel_2\",77],PARAMETER[\"latitude_of_origin\",78.");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "70733752777778],PARAMETER[\"central_meridian\",-69],PARA");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"6372\"]]");
-    p = add_epsg_def (filter, first, last, 6381, "epsg", 6381,
-        "UCS-2000 / Ukraine TM zone 7");
+        "METER[\"false_easting\",29500000],PARAMETER[\"false_nort");
+    add_srs_wkt (p, 13,
+        "hing\",3500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 14,
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"6103\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6104, "epsg", 6104,
+        "NAD83(CSRS) / EPSG Arctic zone 4-14", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=300000 +y_0=0 +");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "6440330555556 +lon_0=-129 +x_0=14500000 +y_0=4500000 +el");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Ukraine TM zone 7\",GEOGCS[\"UCS-200");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 4-14\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "0\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\",");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,-");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transv");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",21],PARAMETER[\"scale_factor");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
+        "ndard_parallel_1\",77],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",73.66666666666667],PARAMETER[\"latitude_of_origin\",75.");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"6381\"]]");
-    p = add_epsg_def (filter, first, last, 6382, "epsg", 6382,
-        "UCS-2000 / Ukraine TM zone 8");
+        "36440330555556],PARAMETER[\"central_meridian\",-129],PAR");
+    add_srs_wkt (p, 12,
+        "AMETER[\"false_easting\",14500000],PARAMETER[\"false_nor");
+    add_srs_wkt (p, 13,
+        "thing\",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"6104\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6105, "epsg", 6105,
+        "NAD83(CSRS) / EPSG Arctic zone 4-16", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=300000 +y_0=0 +");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "6440330555556 +lon_0=-104 +x_0=16500000 +y_0=4500000 +el");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Ukraine TM zone 8\",GEOGCS[\"UCS-200");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 4-16\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "0\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\",");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,-");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transv");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",24],PARAMETER[\"scale_factor");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
+        "ndard_parallel_1\",77],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",73.66666666666667],PARAMETER[\"latitude_of_origin\",75.");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"6382\"]]");
-    p = add_epsg_def (filter, first, last, 6383, "epsg", 6383,
-        "UCS-2000 / Ukraine TM zone 9");
+        "36440330555556],PARAMETER[\"central_meridian\",-104],PAR");
+    add_srs_wkt (p, 12,
+        "AMETER[\"false_easting\",16500000],PARAMETER[\"false_nor");
+    add_srs_wkt (p, 13,
+        "thing\",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"6105\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6106, "epsg", 6106,
+        "NAD83(CSRS) / EPSG Arctic zone 4-18", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=300000 +y_0=0 +");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "6440330555556 +lon_0=-79 +x_0=18500000 +y_0=4500000 +ell");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Ukraine TM zone 9\",GEOGCS[\"UCS-200");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 4-18\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "0\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\",");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,-");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transv");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",27],PARAMETER[\"scale_factor");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
+        "ndard_parallel_1\",77],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",73.66666666666667],PARAMETER[\"latitude_of_origin\",75.");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"6383\"]]");
-    p = add_epsg_def (filter, first, last, 6384, "epsg", 6384,
-        "UCS-2000 / Ukraine TM zone 10");
+        "36440330555556],PARAMETER[\"central_meridian\",-79],PARA");
+    add_srs_wkt (p, 12,
+        "METER[\"false_easting\",18500000],PARAMETER[\"false_nort");
+    add_srs_wkt (p, 13,
+        "hing\",4500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 14,
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"6106\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6107, "epsg", 6107,
+        "NAD83(CSRS) / EPSG Arctic zone 5-33", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=300000 +y_0=0 +");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "333 +lat_0=72.02500919444444 +lon_0=-131 +x_0=33500000 +");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Ukraine TM zone 10\",GEOGCS[\"UCS-20");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 5-33\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",30],PARAMETER[\"scale_facto");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"f");
+        "ndard_parallel_1\",73.66666666666667],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "rd_parallel_2\",70.33333333333333],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"6384\"]]");
-    p = add_epsg_def (filter, first, last, 6385, "epsg", 6385,
-        "UCS-2000 / Ukraine TM zone 11");
+        "of_origin\",72.02500919444444],PARAMETER[\"central_merid");
+    add_srs_wkt (p, 12,
+        "ian\",-131],PARAMETER[\"false_easting\",33500000],PARAME");
+    add_srs_wkt (p, 13,
+        "TER[\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 15,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"6107\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6108, "epsg", 6108,
+        "NAD83(CSRS) / EPSG Arctic zone 5-35", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=300000 +y_0=0 +");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "333 +lat_0=72.02500919444444 +lon_0=-111 +x_0=35500000 +");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Ukraine TM zone 11\",GEOGCS[\"UCS-20");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 5-35\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",33],PARAMETER[\"scale_facto");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"f");
+        "ndard_parallel_1\",73.66666666666667],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "rd_parallel_2\",70.33333333333333],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"6385\"]]");
-    p = add_epsg_def (filter, first, last, 6386, "epsg", 6386,
-        "UCS-2000 / Ukraine TM zone 12");
+        "of_origin\",72.02500919444444],PARAMETER[\"central_merid");
+    add_srs_wkt (p, 12,
+        "ian\",-111],PARAMETER[\"false_easting\",35500000],PARAME");
+    add_srs_wkt (p, 13,
+        "TER[\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 15,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"6108\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6109, "epsg", 6109,
+        "NAD83(CSRS) / EPSG Arctic zone 5-37", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=300000 +y_0=0 +");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "333 +lat_0=72.02500919444444 +lon_0=-91 +x_0=37500000 +y");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Ukraine TM zone 12\",GEOGCS[\"UCS-20");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 5-37\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",36],PARAMETER[\"scale_facto");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"f");
+        "ndard_parallel_1\",73.66666666666667],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "rd_parallel_2\",70.33333333333333],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"6386\"]]");
-    p = add_epsg_def (filter, first, last, 6387, "epsg", 6387,
-        "UCS-2000 / Ukraine TM zone 13");
+        "of_origin\",72.02500919444444],PARAMETER[\"central_merid");
+    add_srs_wkt (p, 12,
+        "ian\",-91],PARAMETER[\"false_easting\",37500000],PARAMET");
+    add_srs_wkt (p, 13,
+        "ER[\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 14,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 15,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"6109\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6110, "epsg", 6110,
+        "NAD83(CSRS) / EPSG Arctic zone 5-39", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=300000 +y_0=0 +");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit");
+        "333 +lat_0=72.02500919444444 +lon_0=-71 +x_0=39500000 +y");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"UCS-2000 / Ukraine TM zone 13\",GEOGCS[\"UCS-20");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 5-39\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Trans");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",39],PARAMETER[\"scale_facto");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "r\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"f");
+        "ndard_parallel_1\",73.66666666666667],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "rd_parallel_2\",70.33333333333333],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "9001\"]],AUTHORITY[\"EPSG\",\"6387\"]]");
-    p = add_epsg_def (filter, first, last, 6391, "epsg", 6391,
-        "Cayman Islands National Grid 2011");
+        "of_origin\",72.02500919444444],PARAMETER[\"central_merid");
+    add_srs_wkt (p, 12,
+        "ian\",-71],PARAMETER[\"false_easting\",39500000],PARAMET");
+    add_srs_wkt (p, 13,
+        "ER[\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 14,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 15,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"6110\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6111, "epsg", 6111,
+        "NAD83(CSRS) / EPSG Arctic zone 6-18", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=19.33333333333333 +lat_2=19.7 +lat_0=19");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        ".33333333333333 +lon_0=-80.56666666666666 +x_0=899160 +y");
+        "8747555555557 +lon_0=-132 +x_0=18500000 +y_0=6500000 +el");
     add_proj4text (p, 2,
-        "_0=579120 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cayman Islands National Grid 2011\",GEOGCS[\"CI");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 6-18\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "GD11\",DATUM[\"Cayman_Islands_Geodetic_Datum_2011\",SPHE");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "\"1100\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6135\"]],PROJECTIO");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "parallel_1\",19.33333333333333],PARAMETER[\"standard_par");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "allel_2\",19.7],PARAMETER[\"latitude_of_origin\",19.3333");
+        "ndard_parallel_1\",70.33333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "3333333333],PARAMETER[\"central_meridian\",-80.566666666");
+        "rd_parallel_2\",67],PARAMETER[\"latitude_of_origin\",68.");
     add_srs_wkt (p, 11,
-        "66666],PARAMETER[\"false_easting\",2950000],PARAMETER[\"");
+        "68747555555557],PARAMETER[\"central_meridian\",-132],PAR");
     add_srs_wkt (p, 12,
-        "false_northing\",1900000],UNIT[\"foot\",0.3048,AUTHORITY");
+        "AMETER[\"false_easting\",18500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9002\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "thing\",6500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 14,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"6391\"]]");
-    p = add_epsg_def (filter, first, last, 6393, "epsg", 6393,
-        "NAD83(2011) / Alaska Albers");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"6111\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6112, "epsg", 6112,
+        "NAD83(CSRS) / EPSG Arctic zone 6-20", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        "=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "8747555555557 +lon_0=-113 +x_0=20500000 +y_0=6500000 +el");
+    add_proj4text (p, 2,
+        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska Albers\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 6-20\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Albers_Coni");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "c_Equal_Area\"],PARAMETER[\"standard_parallel_1\",55],PA");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "RAMETER[\"standard_parallel_2\",65],PARAMETER[\"latitude");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "_of_center\",50],PARAMETER[\"longitude_of_center\",-154]");
+        "ndard_parallel_1\",70.33333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",0],PARAMETER[\"false_northi");
+        "rd_parallel_2\",67],PARAMETER[\"latitude_of_origin\",68.");
     add_srs_wkt (p, 11,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "68747555555557],PARAMETER[\"central_meridian\",-113],PAR");
     add_srs_wkt (p, 12,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
+        "AMETER[\"false_easting\",20500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 13,
-        "393\"]]");
-    p = add_epsg_def (filter, first, last, 6394, "epsg", 6394,
-        "NAD83(2011) / Alaska zone 1");
+        "thing\",6500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"6112\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6113, "epsg", 6113,
+        "NAD83(CSRS) / EPSG Arctic zone 6-22", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=32");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        "3.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +no");
+        "8747555555557 +lon_0=-94 +x_0=22500000 +y_0=6500000 +ell");
     add_proj4text (p, 2,
-        "_uoff +gamma=323.1301023611111 +ellps=GRS80 +units=m +no");
-    add_proj4text (p, 3,
-        "_defs");
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska zone 1\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 6-22\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Hotine_Obli");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "que_Mercator\"],PARAMETER[\"latitude_of_center\",57],PAR");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "AMETER[\"longitude_of_center\",-133.6666666666667],PARAM");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "ETER[\"azimuth\",323.1301023611111],PARAMETER[\"rectifie");
+        "ndard_parallel_1\",70.33333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "d_grid_angle\",323.1301023611111],PARAMETER[\"scale_fact");
+        "rd_parallel_2\",67],PARAMETER[\"latitude_of_origin\",68.");
     add_srs_wkt (p, 11,
-        "or\",0.9999],PARAMETER[\"false_easting\",5000000],PARAME");
+        "68747555555557],PARAMETER[\"central_meridian\",-94],PARA");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",-5000000],UNIT[\"metre\",1,AUTHOR");
+        "METER[\"false_easting\",22500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "hing\",6500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 14,
-        "H],AUTHORITY[\"EPSG\",\"6394\"]]");
-    p = add_epsg_def (filter, first, last, 6395, "epsg", 6395,
-        "NAD83(2011) / Alaska zone 2");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"6113\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6114, "epsg", 6114,
+        "NAD83(CSRS) / EPSG Arctic zone 6-24", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 ");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "8747555555557 +lon_0=-75 +x_0=24500000 +y_0=6500000 +ell");
+    add_proj4text (p, 2,
+        "ps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska zone 2\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"NAD83(CSRS) / EPSG Arctic zone 6-24\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "NAD83(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "ystem\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "TY[\"EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",54],PARAMET");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PRO");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-142],PARAMETER[\"scale_factor\"");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ndard_parallel_1\",70.33333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "rd_parallel_2\",67],PARAMETER[\"latitude_of_origin\",68.");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "68747555555557],PARAMETER[\"central_meridian\",-75],PARA");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"6395\"]]");
-    p = add_epsg_def (filter, first, last, 6396, "epsg", 6396,
-        "NAD83(2011) / Alaska zone 3");
+        "METER[\"false_easting\",24500000],PARAMETER[\"false_nort");
+    add_srs_wkt (p, 13,
+        "hing\",6500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 14,
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"6114\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6115, "epsg", 6115,
+        "WGS 84 / EPSG Arctic zone 1-27", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 ");
+        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
     add_proj4text (p, 1,
-        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "3711833333333 +lon_0=30 +x_0=27500000 +y_0=1500000 +datu");
+    add_proj4text (p, 2,
+        "m=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska zone 3\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 1-27\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",54],PARAMET");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-146],PARAMETER[\"scale_factor\"");
+        "lel_1\",87],PARAMETER[\"standard_parallel_2\",83.6666666");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "6666667],PARAMETER[\"latitude_of_origin\",85.43711833333");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "333],PARAMETER[\"central_meridian\",30],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "e_easting\",27500000],PARAMETER[\"false_northing\",15000");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"6396\"]]");
-    p = add_epsg_def (filter, first, last, 6397, "epsg", 6397,
-        "NAD83(2011) / Alaska zone 4");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"6115\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6116, "epsg", 6116,
+        "WGS 84 / EPSG Arctic zone 1-29", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 ");
+        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
     add_proj4text (p, 1,
-        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "3711833333333 +lon_0=90 +x_0=29500000 +y_0=1500000 +datu");
+    add_proj4text (p, 2,
+        "m=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska zone 4\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 1-29\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",54],PARAMET");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-150],PARAMETER[\"scale_factor\"");
+        "lel_1\",87],PARAMETER[\"standard_parallel_2\",83.6666666");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "6666667],PARAMETER[\"latitude_of_origin\",85.43711833333");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "333],PARAMETER[\"central_meridian\",90],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "e_easting\",29500000],PARAMETER[\"false_northing\",15000");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"6397\"]]");
-    p = add_epsg_def (filter, first, last, 6398, "epsg", 6398,
-        "NAD83(2011) / Alaska zone 5");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"6116\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6117, "epsg", 6117,
+        "WGS 84 / EPSG Arctic zone 1-31", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 ");
+        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
     add_proj4text (p, 1,
-        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "3711833333333 +lon_0=150 +x_0=31500000 +y_0=1500000 +dat");
+    add_proj4text (p, 2,
+        "um=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska zone 5\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 1-31\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",54],PARAMET");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-154],PARAMETER[\"scale_factor\"");
+        "lel_1\",87],PARAMETER[\"standard_parallel_2\",83.6666666");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "6666667],PARAMETER[\"latitude_of_origin\",85.43711833333");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "333],PARAMETER[\"central_meridian\",150],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "se_easting\",31500000],PARAMETER[\"false_northing\",1500");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"6398\"]]");
-    p = add_epsg_def (filter, first, last, 6399, "epsg", 6399,
-        "NAD83(2011) / Alaska zone 6");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6117\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6118, "epsg", 6118,
+        "WGS 84 / EPSG Arctic zone 1-21", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 ");
+        "+proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.4");
     add_proj4text (p, 1,
-        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "3711833333333 +lon_0=-150 +x_0=21500000 +y_0=1500000 +da");
+    add_proj4text (p, 2,
+        "tum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska zone 6\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 1-21\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",54],PARAMET");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-158],PARAMETER[\"scale_factor\"");
+        "lel_1\",87],PARAMETER[\"standard_parallel_2\",83.6666666");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "6666667],PARAMETER[\"latitude_of_origin\",85.43711833333");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "333],PARAMETER[\"central_meridian\",-150],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "lse_easting\",21500000],PARAMETER[\"false_northing\",150");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"6399\"]]");
-    p = add_epsg_def (filter, first, last, 6400, "epsg", 6400,
-        "NAD83(2011) / Alaska zone 7");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6118\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6119, "epsg", 6119,
+        "WGS 84 / EPSG Arctic zone 2-28", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 ");
+        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
     add_proj4text (p, 1,
-        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=82.05842488888888 +lon_0=133 +x_0=28500000 +y");
+    add_proj4text (p, 2,
+        "_0=2500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska zone 7\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 2-28\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",54],PARAMET");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-162],PARAMETER[\"scale_factor\"");
+        "lel_1\",83.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "_2\",80.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",82.05842488888888],PARAMETER[\"central_meridian\",133],");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "PARAMETER[\"false_easting\",28500000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"6400\"]]");
-    p = add_epsg_def (filter, first, last, 6401, "epsg", 6401,
-        "NAD83(2011) / Alaska zone 8");
+        "northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"6119\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6120, "epsg", 6120,
+        "WGS 84 / EPSG Arctic zone 2-10", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 ");
+        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
     add_proj4text (p, 1,
-        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=82.05842488888888 +lon_0=166 +x_0=10500000 +y");
+    add_proj4text (p, 2,
+        "_0=2500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska zone 8\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 2-10\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",54],PARAMET");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-166],PARAMETER[\"scale_factor\"");
+        "lel_1\",83.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "_2\",80.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",82.05842488888888],PARAMETER[\"central_meridian\",166],");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "PARAMETER[\"false_easting\",10500000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"6401\"]]");
-    p = add_epsg_def (filter, first, last, 6402, "epsg", 6402,
-        "NAD83(2011) / Alaska zone 9");
+        "northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"6120\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6121, "epsg", 6121,
+        "WGS 84 / EPSG Arctic zone 2-12", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 ");
+        "+proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333");
     add_proj4text (p, 1,
-        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=82.05842488888888 +lon_0=-154 +x_0=12500000 +");
+    add_proj4text (p, 2,
+        "y_0=2500000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska zone 9\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 2-12\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",54],PARAMET");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-170],PARAMETER[\"scale_factor\"");
+        "lel_1\",83.66666666666667],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "_2\",80.33333333333333],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",82.05842488888888],PARAMETER[\"central_meridian\",-154]");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        ",PARAMETER[\"false_easting\",12500000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"6402\"]]");
-    p = add_epsg_def (filter, first, last, 6403, "epsg", 6403,
-        "NAD83(2011) / Alaska zone 10");
+        "_northing\",2500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"6121\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6122, "epsg", 6122,
+        "WGS 84 / EPSG Arctic zone 3-21", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
     add_proj4text (p, 1,
-        "334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS");
+        "0733752777778 +lon_0=176 +x_0=21500000 +y_0=3500000 +dat");
     add_proj4text (p, 2,
-        "80 +units=m +no_defs");
+        "um=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Alaska zone 10\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-21\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",5");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "3.83333333333334],PARAMETER[\"standard_parallel_2\",51.8");
+        "lel_1\",80.33333333333333],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "3333333333334],PARAMETER[\"latitude_of_origin\",51],PARA");
+        "_2\",77],PARAMETER[\"latitude_of_origin\",78.70733752777");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-176],PARAMETER[\"false_easti");
+        "778],PARAMETER[\"central_meridian\",176],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "ng\",1000000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "se_easting\",21500000],PARAMETER[\"false_northing\",3500");
     add_srs_wkt (p, 12,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6403\"]]");
-    p = add_epsg_def (filter, first, last, 6404, "epsg", 6404,
-        "NAD83(2011) / Arizona Central");
+        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6122\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6123, "epsg", 6123,
+        "WGS 84 / EPSG Arctic zone 3-23", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
+        "+proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.7");
     add_proj4text (p, 1,
-        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "0733752777778 +lon_0=-153 +x_0=23500000 +y_0=3500000 +da");
+    add_proj4text (p, 2,
+        "tum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Arizona Central\",GEOGCS[\"NAD83(");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 3-23\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transver");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARA");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-111.9166666666667],PARAMETER");
+        "lel_1\",80.33333333333333],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",21");
+        "_2\",77],PARAMETER[\"latitude_of_origin\",78.70733752777");
     add_srs_wkt (p, 10,
-        "3360],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "778],PARAMETER[\"central_meridian\",-153],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "lse_easting\",23500000],PARAMETER[\"false_northing\",350");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6404\"]]");
-    p = add_epsg_def (filter, first, last, 6405, "epsg", 6405,
-        "NAD83(2011) / Arizona Central (ft)");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6123\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6124, "epsg", 6124,
+        "WGS 84 / EPSG Arctic zone 4-12", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
+        "+proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.3");
     add_proj4text (p, 1,
-        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
+        "6440330555556 +lon_0=-155 +x_0=12500000 +y_0=4500000 +da");
+    add_proj4text (p, 2,
+        "tum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Arizona Central (ft)\",GEOGCS[\"N");
+        "PROJCS[\"WGS 84 / EPSG Arctic zone 4-12\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"L");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",31],");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-111.9166666666667],PARAM");
+        "lel_1\",77],PARAMETER[\"standard_parallel_2\",73.6666666");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
+        "6666667],PARAMETER[\"latitude_of_origin\",75.36440330555");
     add_srs_wkt (p, 10,
-        ",700000],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0");
+        "556],PARAMETER[\"central_meridian\",-155],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ".3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXI");
+        "lse_easting\",12500000],PARAMETER[\"false_northing\",450");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6405\"]]");
-    p = add_epsg_def (filter, first, last, 6406, "epsg", 6406,
-        "NAD83(2011) / Arizona East");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6124\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6125, "epsg", 6125,
+        "ETRS89 / EPSG Arctic zone 5-47", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=72.02500919444444 +lon_0=-5 +x_0=47500000 +y_");
+    add_proj4text (p, 2,
+        "0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Arizona East\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"ETRS89 / EPSG Arctic zone 5-47\",GEOGCS[\"ETRS8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "9\",DATUM[\"European_Terrestrial_Reference_System_1989\"");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "G\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARAMET");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-110.1666666666667],PARAMETER[\"");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",21336");
+        "rallel_1\",73.66666666666667],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "lel_2\",70.33333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "n\",72.02500919444444],PARAMETER[\"central_meridian\",-5");
     add_srs_wkt (p, 12,
-        "RTH],AUTHORITY[\"EPSG\",\"6406\"]]");
-    p = add_epsg_def (filter, first, last, 6407, "epsg", 6407,
-        "NAD83(2011) / Arizona East (ft)");
+        "],PARAMETER[\"false_easting\",47500000],PARAMETER[\"fals");
+    add_srs_wkt (p, 13,
+        "e_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"6125\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6128, "epsg", 6128,
+        "Grand Cayman National Grid 1959", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Grand_Cayman_Geodetic_Datum_1959", "Transverse_Mercator", "foot",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
+        "+proj=utm +zone=17 +ellps=clrk66 +towgs84=-179.483,-69.3");
     add_proj4text (p, 1,
-        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
+        "79,-27.584,-7.862,8.163,6.042,-13.925 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Arizona East (ft)\",GEOGCS[\"NAD8");
+        "PROJCS[\"Grand Cayman National Grid 1959\",GEOGCS[\"GCGD");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "59\",DATUM[\"Grand_Cayman_Geodetic_Datum_1959\",SPHEROID");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "EPSG\",\"7008\"]],TOWGS84[-179.483,-69.379,-27.584,-7.86");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "2,8.163,6.042,-13.925],AUTHORITY[\"EPSG\",\"6723\"]],PRI");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transv");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PA");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-110.1666666666667],PARAMET");
+        "ORITY[\"EPSG\",\"4723\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 10,
-        "700000],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.");
+        "ntral_meridian\",-81],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 11,
-        "3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS");
+        ",PARAMETER[\"false_easting\",1640419.9475],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6407\"]]");
-    p = add_epsg_def (filter, first, last, 6408, "epsg", 6408,
-        "NAD83(2011) / Arizona West");
+        "alse_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"9002\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 14,
+        "ORTH],AUTHORITY[\"EPSG\",\"6128\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6129, "epsg", 6129,
+        "Sister Islands National Grid 1961", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Sister_Islands_Geodetic_Datum_1961", "Transverse_Mercator", "foot",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
+        "+proj=utm +zone=17 +ellps=clrk66 +towgs84=8.853,-52.644,");
     add_proj4text (p, 1,
-        "=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "180.304,-0.393,-2.323,2.96,-24.081 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Arizona West\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"Sister Islands National Grid 1961\",GEOGCS[\"SI");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "GD61\",DATUM[\"Sister_Islands_Geodetic_Datum_1961\",SPHE");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "ROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORI");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "TY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644,180.304,-0.");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "393,-2.323,2.96,-24.081],AUTHORITY[\"EPSG\",\"6726\"]],P");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARAMET");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-113.75],PARAMETER[\"scale_facto");
+        "UTHORITY[\"EPSG\",\"4726\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 9,
-        "r\",0.999933333],PARAMETER[\"false_easting\",213360],PAR");
+        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "central_meridian\",-81],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "6],PARAMETER[\"false_easting\",1640419.9475],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"6408\"]]");
-    p = add_epsg_def (filter, first, last, 6409, "epsg", 6409,
-        "NAD83(2011) / Arizona West (ft)");
+        "false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"9002\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+    add_srs_wkt (p, 14,
+        "NORTH],AUTHORITY[\"EPSG\",\"6129\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6135, "epsg", 6135,
+        "CIGD11", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Cayman_Islands_Geodetic_Datum_2011", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
-        "=213360 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Arizona West (ft)\",GEOGCS[\"NAD8");
+        "GEOGCS[\"CIGD11\",DATUM[\"Cayman_Islands_Geodetic_Datum_");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "RITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORIT");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "Y[\"EPSG\",\"1100\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transv");
-    add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PA");
-    add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-113.75],PARAMETER[\"scale_");
-    add_srs_wkt (p, 9,
-        "factor\",0.999933333],PARAMETER[\"false_easting\",700000");
-    add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,A");
-    add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
-    add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6409\"]]");
-    p = add_epsg_def (filter, first, last, 6410, "epsg", 6410,
-        "NAD83(2011) / Arkansas North");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"6135\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6141, "epsg", 6141,
+        "Cayman Islands National Grid 2011 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Cayman_Islands_Geodetic_Datum_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
+        "+proj=lcc +lat_1=19.33333333333333 +lat_2=19.7 +lat_0=19");
     add_proj4text (p, 1,
-        "333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0");
+        ".33333333333333 +lon_0=80.56666666666666 +x_0=899160 +y_");
     add_proj4text (p, 2,
-        "=0 +ellps=GRS80 +units=m +no_defs");
+        "0=579120 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Arkansas North\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"Cayman Islands National Grid 2011 (deprecated)\"");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        ",GEOGCS[\"CIGD11\",DATUM[\"Cayman_Islands_Geodetic_Datum");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "ORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "TY[\"EPSG\",\"1100\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"6135\"]],PRO");
     add_srs_wkt (p, 8,
-        "6.23333333333333],PARAMETER[\"standard_parallel_2\",34.9");
+        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "3333333333333],PARAMETER[\"latitude_of_origin\",34.33333");
+        "ndard_parallel_1\",19.33333333333333],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "333333334],PARAMETER[\"central_meridian\",-92],PARAMETER");
+        "rd_parallel_2\",19.7],PARAMETER[\"latitude_of_origin\",1");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",400000],PARAMETER[\"false_northing\",");
+        "9.33333333333333],PARAMETER[\"central_meridian\",80.5666");
     add_srs_wkt (p, 12,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "6666666666],PARAMETER[\"false_easting\",2950000],PARAMET");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6410\"]");
+        "ER[\"false_northing\",1900000],UNIT[\"foot\",0.3048,AUTH");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 6411, "epsg", 6411,
-        "NAD83(2011) / Arkansas North (ftUS)");
+        "ORITY[\"EPSG\",\"9002\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"6141\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6144, "epsg", 6144,
+        "ETRS89", 1, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunit");
     add_proj4text (p, 1,
-        "333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.9999");
-    add_proj4text (p, 2,
-        "8984 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Arkansas North (ftUS)\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 + NN54 height\",GEOGCS[\"ETRS89\",DATU");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "M[\"European_Terrestrial_Reference_System_1989\",SPHEROI");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "D[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        ",EAST],AUTHORITY[\"EPSG\",\"4258\"]],VERT_CS[\"NN54 heig");
     add_srs_wkt (p, 8,
-        "el_1\",36.23333333333333],PARAMETER[\"standard_parallel_");
+        "ht\",VERT_DATUM[\"Norway Normal Null 1954\",2005,AUTHORI");
     add_srs_wkt (p, 9,
-        "2\",34.93333333333333],PARAMETER[\"latitude_of_origin\",");
+        "TY[\"EPSG\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 10,
-        "34.33333333333334],PARAMETER[\"central_meridian\",-92],P");
+        "\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",1312333.3333],PARAMETER[\"fal");
-    add_srs_wkt (p, 12,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
-    add_srs_wkt (p, 13,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
-    add_srs_wkt (p, 14,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6411\"]]");
-    p = add_epsg_def (filter, first, last, 6412, "epsg", 6412,
-        "NAD83(2011) / Arkansas South");
+        "]],AUTHORITY[\"EPSG\",\"6144\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6145, "epsg", 6145,
+        "ETRS89 / NTM zone 5", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
+        "+proj=tmerc +lat_0=58 +lon_0=5.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellp");
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vun");
     add_proj4text (p, 2,
-        "s=GRS80 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Arkansas South\",GEOGCS[\"NAD83(2");
+        "COMPD_CS[\"ETRS89 / NTM zone 5 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "ETRS89 / NTM zone 5\",GEOGCS[\"ETRS89\",DATUM[\"European");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRIM");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "4.76666666666667],PARAMETER[\"standard_parallel_2\",33.3");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",32.66666666666666],PA");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-92],PARAMETER[\"false_east");
+        "entral_meridian\",5.5],PARAMETER[\"scale_factor\",1],PAR");
     add_srs_wkt (p, 11,
-        "ing\",400000],PARAMETER[\"false_northing\",400000],UNIT[");
+        "AMETER[\"false_easting\",100000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "ing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6412\"]]");
-    p = add_epsg_def (filter, first, last, 6413, "epsg", 6413,
-        "NAD83(2011) / Arkansas South (ftUS)");
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 14,
+        "THORITY[\"EPSG\",\"5105\"]],VERT_CS[\"NN54 height\",VERT");
+    add_srs_wkt (p, 15,
+        "_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 16,
+        "\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 17,
+        "\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHO");
+    add_srs_wkt (p, 18,
+        "RITY[\"EPSG\",\"6145\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6146, "epsg", 6146,
+        "ETRS89 / NTM zone 6", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
+        "+proj=tmerc +lat_0=58 +lon_0=6.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399");
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vun");
     add_proj4text (p, 2,
-        "999.99998984 +ellps=GRS80 +units=us-ft +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Arkansas South (ftUS)\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 6 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "ETRS89 / NTM zone 6\",GEOGCS[\"ETRS89\",DATUM[\"European");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRIM");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "el_1\",34.76666666666667],PARAMETER[\"standard_parallel_");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "2\",33.3],PARAMETER[\"latitude_of_origin\",32.6666666666");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "6666],PARAMETER[\"central_meridian\",-92],PARAMETER[\"fa");
+        "entral_meridian\",6.5],PARAMETER[\"scale_factor\",1],PAR");
     add_srs_wkt (p, 11,
-        "lse_easting\",1312333.3333],PARAMETER[\"false_northing\"");
+        "AMETER[\"false_easting\",100000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        ",1312333.3333],UNIT[\"US survey foot\",0.304800609601219");
+        "ing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6413\"]]");
-    p = add_epsg_def (filter, first, last, 6414, "epsg", 6414,
-        "NAD83(2011) / California Albers");
+        "THORITY[\"EPSG\",\"5106\"]],VERT_CS[\"NN54 height\",VERT");
+    add_srs_wkt (p, 15,
+        "_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 16,
+        "\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 17,
+        "\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHO");
+    add_srs_wkt (p, 18,
+        "RITY[\"EPSG\",\"6146\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6147, "epsg", 6147,
+        "ETRS89 / NTM zone 7", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_");
+        "+proj=tmerc +lat_0=58 +lon_0=7.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
-        "0=0 +y_0=-4000000 +ellps=GRS80 +units=m +no_defs");
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vun");
+    add_proj4text (p, 2,
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California Albers\",GEOGCS[\"NAD8");
+        "COMPD_CS[\"ETRS89 / NTM zone 7 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "ETRS89 / NTM zone 7\",GEOGCS[\"ETRS89\",DATUM[\"European");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRIM");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Albers");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "_Conic_Equal_Area\"],PARAMETER[\"standard_parallel_1\",3");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "4],PARAMETER[\"standard_parallel_2\",40.5],PARAMETER[\"l");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "atitude_of_center\",0],PARAMETER[\"longitude_of_center\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        ",-120],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
+        "entral_meridian\",7.5],PARAMETER[\"scale_factor\",1],PAR");
     add_srs_wkt (p, 11,
-        "northing\",-4000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "AMETER[\"false_easting\",100000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "ing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"6414\"]]");
-    p = add_epsg_def (filter, first, last, 6415, "epsg", 6415,
-        "NAD83(2011) / California zone 1");
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 14,
+        "THORITY[\"EPSG\",\"5107\"]],VERT_CS[\"NN54 height\",VERT");
+    add_srs_wkt (p, 15,
+        "_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 16,
+        "\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 17,
+        "\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHO");
+    add_srs_wkt (p, 18,
+        "RITY[\"EPSG\",\"6147\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6148, "epsg", 6148,
+        "ETRS89 / NTM zone 8", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
+        "+proj=tmerc +lat_0=58 +lon_0=8.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
-        "3333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellp");
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vun");
     add_proj4text (p, 2,
-        "s=GRS80 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 1\",GEOGCS[\"NAD8");
+        "COMPD_CS[\"ETRS89 / NTM zone 8 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "ETRS89 / NTM zone 8\",GEOGCS[\"ETRS89\",DATUM[\"European");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRIM");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "\",41.66666666666666],PARAMETER[\"standard_parallel_2\",");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "40],PARAMETER[\"latitude_of_origin\",39.33333333333334],");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-122],PARAMETER[\"false_e");
+        "entral_meridian\",8.5],PARAMETER[\"scale_factor\",1],PAR");
     add_srs_wkt (p, 11,
-        "asting\",2000000],PARAMETER[\"false_northing\",500000],U");
+        "AMETER[\"false_easting\",100000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "ing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6415\"]]");
-    p = add_epsg_def (filter, first, last, 6416, "epsg", 6416,
-        "NAD83(2011) / California zone 1 (ftUS)");
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 14,
+        "THORITY[\"EPSG\",\"5108\"]],VERT_CS[\"NN54 height\",VERT");
+    add_srs_wkt (p, 15,
+        "_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 16,
+        "\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 17,
+        "\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHO");
+    add_srs_wkt (p, 18,
+        "RITY[\"EPSG\",\"6148\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6149, "epsg", 6149,
+        "ETRS89 / NTM zone 9", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
+        "+proj=tmerc +lat_0=58 +lon_0=9.5 +k=1 +x_0=100000 +y_0=1");
     add_proj4text (p, 1,
-        "3333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=5000");
+        "000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vun");
     add_proj4text (p, 2,
-        "00.0001016001 +ellps=GRS80 +units=us-ft +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 1 (ftUS)\",GEOGCS");
+        "COMPD_CS[\"ETRS89 / NTM zone 9 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
+        "ETRS89 / NTM zone 9\",GEOGCS[\"ETRS89\",DATUM[\"European");
     add_srs_wkt (p, 2,
-        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 4,
-        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRIM");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "llel_1\",41.66666666666666],PARAMETER[\"standard_paralle");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "l_2\",40],PARAMETER[\"latitude_of_origin\",39.3333333333");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "3334],PARAMETER[\"central_meridian\",-122],PARAMETER[\"f");
+        "entral_meridian\",9.5],PARAMETER[\"scale_factor\",1],PAR");
     add_srs_wkt (p, 11,
-        "alse_easting\",6561666.667],PARAMETER[\"false_northing\"");
+        "AMETER[\"false_easting\",100000],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        ",1640416.667],UNIT[\"US survey foot\",0.3048006096012192");
+        "ing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6416\"]]");
-    p = add_epsg_def (filter, first, last, 6417, "epsg", 6417,
-        "NAD83(2011) / California zone 2");
+        "THORITY[\"EPSG\",\"5109\"]],VERT_CS[\"NN54 height\",VERT");
+    add_srs_wkt (p, 15,
+        "_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 16,
+        "\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 17,
+        "\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHO");
+    add_srs_wkt (p, 18,
+        "RITY[\"EPSG\",\"6149\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6150, "epsg", 6150,
+        "ETRS89 / NTM zone 10", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=10.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "_0=500000 +ellps=GRS80 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 2\",GEOGCS[\"NAD8");
+        "COMPD_CS[\"ETRS89 / NTM zone 10 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "ETRS89 / NTM zone 10\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "\",39.83333333333334],PARAMETER[\"standard_parallel_2\",");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "38.33333333333334],PARAMETER[\"latitude_of_origin\",37.6");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "6666666666666],PARAMETER[\"central_meridian\",-122],PARA");
+        "entral_meridian\",10.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",2000000],PARAMETER[\"false_north");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "ing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "\",\"6417\"]]");
-    p = add_epsg_def (filter, first, last, 6418, "epsg", 6418,
-        "NAD83(2011) / California zone 2 (ftUS)");
+        "UTHORITY[\"EPSG\",\"5110\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6150\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6151, "epsg", 6151,
+        "ETRS89 / NTM zone 11", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=11.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.00");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "01016 +y_0=500000.0001016001 +ellps=GRS80 +units=us-ft +");
-    add_proj4text (p, 3,
-        "no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 2 (ftUS)\",GEOGCS");
+        "COMPD_CS[\"ETRS89 / NTM zone 11 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
+        "ETRS89 / NTM zone 11\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "llel_1\",39.83333333333334],PARAMETER[\"standard_paralle");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "l_2\",38.33333333333334],PARAMETER[\"latitude_of_origin\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        ",37.66666666666666],PARAMETER[\"central_meridian\",-122]");
+        "entral_meridian\",11.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_easting\",6561666.667],PARAMETER[\"fa");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "lse_northing\",1640416.667],UNIT[\"US survey foot\",0.30");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6418\"]]");
-    p = add_epsg_def (filter, first, last, 6419, "epsg", 6419,
-        "NAD83(2011) / California zone 3");
+        "UTHORITY[\"EPSG\",\"5111\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6151\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6152, "epsg", 6152,
+        "ETRS89 / NTM zone 12", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
+        "+proj=tmerc +lat_0=58 +lon_0=12.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "ellps=GRS80 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 3\",GEOGCS[\"NAD8");
+        "COMPD_CS[\"ETRS89 / NTM zone 12 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "ETRS89 / NTM zone 12\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "\",38.43333333333333],PARAMETER[\"standard_parallel_2\",");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "37.06666666666667],PARAMETER[\"latitude_of_origin\",36.5");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"fal");
+        "entral_meridian\",12.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "se_easting\",2000000],PARAMETER[\"false_northing\",50000");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6419\"]");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 6420, "epsg", 6420,
-        "NAD83(2011) / California zone 3 (ftUS)");
+        "UTHORITY[\"EPSG\",\"5112\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6152\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6153, "epsg", 6153,
+        "ETRS89 / NTM zone 13", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
+        "+proj=tmerc +lat_0=58 +lon_0=13.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "500000.0001016001 +ellps=GRS80 +units=us-ft +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 3 (ftUS)\",GEOGCS");
+        "COMPD_CS[\"ETRS89 / NTM zone 13 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
+        "ETRS89 / NTM zone 13\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "llel_1\",38.43333333333333],PARAMETER[\"standard_paralle");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "l_2\",37.06666666666667],PARAMETER[\"latitude_of_origin\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        ",36.5],PARAMETER[\"central_meridian\",-120.5],PARAMETER[");
+        "entral_meridian\",13.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "\"false_easting\",6561666.667],PARAMETER[\"false_northin");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "g\",1640416.667],UNIT[\"US survey foot\",0.3048006096012");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6420\"]]");
-    p = add_epsg_def (filter, first, last, 6421, "epsg", 6421,
-        "NAD83(2011) / California zone 4");
+        "UTHORITY[\"EPSG\",\"5113\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6153\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6154, "epsg", 6154,
+        "ETRS89 / NTM zone 14", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=14.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "4 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +uni");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "ts=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 4\",GEOGCS[\"NAD8");
+        "COMPD_CS[\"ETRS89 / NTM zone 14 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "ETRS89 / NTM zone 14\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "\",37.25],PARAMETER[\"standard_parallel_2\",36],PARAMETE");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "R[\"latitude_of_origin\",35.33333333333334],PARAMETER[\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "central_meridian\",-119],PARAMETER[\"false_easting\",200");
+        "entral_meridian\",14.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",500000],UNIT[\"metre\"");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6421\"]]");
-    p = add_epsg_def (filter, first, last, 6422, "epsg", 6422,
-        "NAD83(2011) / California zone 4 (ftUS)");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5114\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6154\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6155, "epsg", 6155,
+        "ETRS89 / NTM zone 15", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=15.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "4 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.000101600");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "1 +ellps=GRS80 +units=us-ft +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 4 (ftUS)\",GEOGCS");
+        "COMPD_CS[\"ETRS89 / NTM zone 15 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
+        "ETRS89 / NTM zone 15\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "llel_1\",37.25],PARAMETER[\"standard_parallel_2\",36],PA");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",35.33333333333334],PARAME");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-119],PARAMETER[\"false_easting");
+        "entral_meridian\",15.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "\",6561666.667],PARAMETER[\"false_northing\",1640416.667");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"6422\"]]");
-    p = add_epsg_def (filter, first, last, 6423, "epsg", 6423,
-        "NAD83(2011) / California zone 5");
+        "UTHORITY[\"EPSG\",\"5115\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6155\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6156, "epsg", 6156,
+        "ETRS89 / NTM zone 16", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=16.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +el");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "lps=GRS80 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 5\",GEOGCS[\"NAD8");
+        "COMPD_CS[\"ETRS89 / NTM zone 16 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "ETRS89 / NTM zone 16\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "\",35.46666666666667],PARAMETER[\"standard_parallel_2\",");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "34.03333333333333],PARAMETER[\"latitude_of_origin\",33.5");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"central_meridian\",-118],PARAMETER[\"false");
+        "entral_meridian\",16.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "_easting\",2000000],PARAMETER[\"false_northing\",500000]");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6423\"]]");
-    p = add_epsg_def (filter, first, last, 6424, "epsg", 6424,
-        "NAD83(2011) / California zone 5 (ftUS)");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5116\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6156\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6157, "epsg", 6157,
+        "ETRS89 / NTM zone 17", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=17.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=50");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "0000.0001016001 +ellps=GRS80 +units=us-ft +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 5 (ftUS)\",GEOGCS");
+        "COMPD_CS[\"ETRS89 / NTM zone 17 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
+        "ETRS89 / NTM zone 17\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "llel_1\",35.46666666666667],PARAMETER[\"standard_paralle");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "l_2\",34.03333333333333],PARAMETER[\"latitude_of_origin\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        ",33.5],PARAMETER[\"central_meridian\",-118],PARAMETER[\"");
+        "entral_meridian\",17.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "false_easting\",6561666.667],PARAMETER[\"false_northing\"");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        ",1640416.667],UNIT[\"US survey foot\",0.3048006096012192");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6424\"]]");
-    p = add_epsg_def (filter, first, last, 6425, "epsg", 6425,
-        "NAD83(2011) / California zone 6");
+        "UTHORITY[\"EPSG\",\"5117\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6157\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6158, "epsg", 6158,
+        "ETRS89 / NTM zone 18", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=18.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        " +y_0=500000 +ellps=GRS80 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 6\",GEOGCS[\"NAD8");
+        "COMPD_CS[\"ETRS89 / NTM zone 18 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "ETRS89 / NTM zone 18\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "\",33.88333333333333],PARAMETER[\"standard_parallel_2\",");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "32.78333333333333],PARAMETER[\"latitude_of_origin\",32.1");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "6666666666666],PARAMETER[\"central_meridian\",-116.25],P");
+        "entral_meridian\",18.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",2000000],PARAMETER[\"false_no");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "rthing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "PSG\",\"6425\"]]");
-    p = add_epsg_def (filter, first, last, 6426, "epsg", 6426,
-        "NAD83(2011) / California zone 6 (ftUS)");
+        "UTHORITY[\"EPSG\",\"5118\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6158\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6159, "epsg", 6159,
+        "ETRS89 / NTM zone 19", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=19.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        ".0001016 +y_0=500000.0001016001 +ellps=GRS80 +units=us-f");
-    add_proj4text (p, 3,
-        "t +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / California zone 6 (ftUS)\",GEOGCS");
+        "COMPD_CS[\"ETRS89 / NTM zone 19 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
+        "ETRS89 / NTM zone 19\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "llel_1\",33.88333333333333],PARAMETER[\"standard_paralle");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "l_2\",32.78333333333333],PARAMETER[\"latitude_of_origin\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        ",32.16666666666666],PARAMETER[\"central_meridian\",-116.");
+        "entral_meridian\",19.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "25],PARAMETER[\"false_easting\",6561666.667],PARAMETER[\"");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "false_northing\",1640416.667],UNIT[\"US survey foot\",0.");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6426\"]]");
-    p = add_epsg_def (filter, first, last, 6427, "epsg", 6427,
-        "NAD83(2011) / Colorado Central");
+        "UTHORITY[\"EPSG\",\"5119\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6159\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6160, "epsg", 6160,
+        "ETRS89 / NTM zone 20", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=20.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "3334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +el");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "lps=GRS80 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Colorado Central\",GEOGCS[\"NAD83");
+        "COMPD_CS[\"ETRS89 / NTM zone 20 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
+        "ETRS89 / NTM zone 20\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        ",39.75],PARAMETER[\"standard_parallel_2\",38.45],PARAMET");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "ER[\"latitude_of_origin\",37.83333333333334],PARAMETER[\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "central_meridian\",-105.5],PARAMETER[\"false_easting\",9");
+        "entral_meridian\",20.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "14401.8289],PARAMETER[\"false_northing\",304800.6096],UN");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6427\"]]");
-    p = add_epsg_def (filter, first, last, 6428, "epsg", 6428,
-        "NAD83(2011) / Colorado Central (ftUS)");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5120\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6160\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6161, "epsg", 6161,
+        "ETRS89 / NTM zone 21", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=21.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "3334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.60");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "96012192 +ellps=GRS80 +units=us-ft +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Colorado Central (ftUS)\",GEOGCS[");
+        "COMPD_CS[\"ETRS89 / NTM zone 21 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
+        "ETRS89 / NTM zone 21\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"L");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "lel_1\",39.75],PARAMETER[\"standard_parallel_2\",38.45],");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",37.83333333333334],PARA");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-105.5],PARAMETER[\"false_eas");
+        "entral_meridian\",21.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "ting\",3000000],PARAMETER[\"false_northing\",1000000],UN");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"6428\"]]");
-    p = add_epsg_def (filter, first, last, 6429, "epsg", 6429,
-        "NAD83(2011) / Colorado North");
+        "UTHORITY[\"EPSG\",\"5121\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6161\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6162, "epsg", 6162,
+        "ETRS89 / NTM zone 22", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
+        "+proj=tmerc +lat_0=58 +lon_0=22.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Colorado North\",GEOGCS[\"NAD83(2");
+        "COMPD_CS[\"ETRS89 / NTM zone 22 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "ETRS89 / NTM zone 22\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "0.78333333333333],PARAMETER[\"standard_parallel_2\",39.7");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "1666666666667],PARAMETER[\"latitude_of_origin\",39.33333");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "333333334],PARAMETER[\"central_meridian\",-105.5],PARAME");
+        "entral_meridian\",22.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",914401.8289],PARAMETER[\"false_nor");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "thing\",304800.6096],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"6429\"]]");
-    p = add_epsg_def (filter, first, last, 6430, "epsg", 6430,
-        "NAD83(2011) / Colorado North (ftUS)");
+        "UTHORITY[\"EPSG\",\"5122\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6162\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6163, "epsg", 6163,
+        "ETRS89 / NTM zone 23", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
+        "+proj=tmerc +lat_0=58 +lon_0=23.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "288036576 +y_0=304800.6096012192 +ellps=GRS80 +units=us-");
-    add_proj4text (p, 3,
-        "ft +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Colorado North (ftUS)\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 23 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "ETRS89 / NTM zone 23\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "el_1\",40.78333333333333],PARAMETER[\"standard_parallel_");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "2\",39.71666666666667],PARAMETER[\"latitude_of_origin\",");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "39.33333333333334],PARAMETER[\"central_meridian\",-105.5");
+        "entral_meridian\",23.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",3000000],PARAMETER[\"false");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "_northing\",1000000],UNIT[\"US survey foot\",0.304800609");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "6012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],A");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6430\"]]");
-    p = add_epsg_def (filter, first, last, 6431, "epsg", 6431,
-        "NAD83(2011) / Colorado South");
+        "UTHORITY[\"EPSG\",\"5123\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6163\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6164, "epsg", 6164,
+        "ETRS89 / NTM zone 24", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=24.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Colorado South\",GEOGCS[\"NAD83(2");
+        "COMPD_CS[\"ETRS89 / NTM zone 24 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "ETRS89 / NTM zone 24\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "8.43333333333333],PARAMETER[\"standard_parallel_2\",37.2");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "3333333333333],PARAMETER[\"latitude_of_origin\",36.66666");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "666666666],PARAMETER[\"central_meridian\",-105.5],PARAME");
+        "entral_meridian\",24.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",914401.8289],PARAMETER[\"false_nor");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "thing\",304800.6096],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"6431\"]]");
-    p = add_epsg_def (filter, first, last, 6432, "epsg", 6432,
-        "NAD83(2011) / Colorado South (ftUS)");
+        "UTHORITY[\"EPSG\",\"5124\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6164\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6165, "epsg", 6165,
+        "ETRS89 / NTM zone 25", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
+        "+proj=tmerc +lat_0=58 +lon_0=25.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "288036576 +y_0=304800.6096012192 +ellps=GRS80 +units=us-");
-    add_proj4text (p, 3,
-        "ft +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Colorado South (ftUS)\",GEOGCS[\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 25 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "ETRS89 / NTM zone 25\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "el_1\",38.43333333333333],PARAMETER[\"standard_parallel_");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "2\",37.23333333333333],PARAMETER[\"latitude_of_origin\",");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "36.66666666666666],PARAMETER[\"central_meridian\",-105.5");
+        "entral_meridian\",25.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",3000000],PARAMETER[\"false");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "_northing\",1000000],UNIT[\"US survey foot\",0.304800609");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "6012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],A");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6432\"]]");
-    p = add_epsg_def (filter, first, last, 6433, "epsg", 6433,
-        "NAD83(2011) / Connecticut");
+        "UTHORITY[\"EPSG\",\"5125\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6165\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6166, "epsg", 6166,
+        "ETRS89 / NTM zone 26", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
+        "+proj=tmerc +lat_0=58 +lon_0=26.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        ".83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=1524");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "00.3048 +ellps=GRS80 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Connecticut\",GEOGCS[\"NAD83(2011");
+        "COMPD_CS[\"ETRS89 / NTM zone 26 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "ETRS89 / NTM zone 26\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "86666666666667],PARAMETER[\"standard_parallel_2\",41.2],");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",40.83333333333334],PARA");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-72.75],PARAMETER[\"false_eas");
+        "entral_meridian\",26.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "ting\",304800.6096],PARAMETER[\"false_northing\",152400.");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "3048],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"643");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 6434, "epsg", 6434,
-        "NAD83(2011) / Connecticut (ftUS)");
+        "UTHORITY[\"EPSG\",\"5126\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6166\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6167, "epsg", 6167,
+        "ETRS89 / NTM zone 27", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
+        "+proj=tmerc +lat_0=58 +lon_0=27.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        ".83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "0=152400.3048006096 +ellps=GRS80 +units=us-ft +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Connecticut (ftUS)\",GEOGCS[\"NAD");
+        "COMPD_CS[\"ETRS89 / NTM zone 27 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "ETRS89 / NTM zone 27\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambe");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "1\",41.86666666666667],PARAMETER[\"standard_parallel_2\"");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        ",41.2],PARAMETER[\"latitude_of_origin\",40.8333333333333");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "4],PARAMETER[\"central_meridian\",-72.75],PARAMETER[\"fa");
+        "entral_meridian\",27.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "lse_easting\",1000000],PARAMETER[\"false_northing\",5000");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "00],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"6434\"]]");
-    p = add_epsg_def (filter, first, last, 6435, "epsg", 6435,
-        "NAD83(2011) / Delaware");
+        "UTHORITY[\"EPSG\",\"5127\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6167\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6168, "epsg", 6168,
+        "ETRS89 / NTM zone 28", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
+        "+proj=tmerc +lat_0=58 +lon_0=28.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
+    add_proj4text (p, 2,
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Delaware\",GEOGCS[\"NAD83(2011)\"");
+        "COMPD_CS[\"ETRS89 / NTM zone 28 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        ",DATUM[\"NAD83_National_Spatial_Reference_System_2011\",");
+        "ETRS89 / NTM zone 28\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Merca");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "central_meridian\",-75.41666666666667],PARAMETER[\"scale");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "_factor\",0.999995],PARAMETER[\"false_easting\",200000],");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "entral_meridian\",28.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"6435\"]]");
-    p = add_epsg_def (filter, first, last, 6436, "epsg", 6436,
-        "NAD83(2011) / Delaware (ftUS)");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 13,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5128\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6168\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6169, "epsg", 6169,
+        "ETRS89 / NTM zone 29", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
+        "+proj=tmerc +lat_0=58 +lon_0=29.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units=us");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
     add_proj4text (p, 2,
-        "-ft +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Delaware (ftUS)\",GEOGCS[\"NAD83(");
+        "COMPD_CS[\"ETRS89 / NTM zone 29 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
+        "ETRS89 / NTM zone 29\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transver");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",38],PARA");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-75.41666666666667],PARAMETER");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.999995],PARAMETER[\"false_easting\",");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "656166.667],PARAMETER[\"false_northing\",0],UNIT[\"US su");
+        "entral_meridian\",29.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "\",\"6436\"]]");
-    p = add_epsg_def (filter, first, last, 6437, "epsg", 6437,
-        "NAD83(2011) / Florida East");
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5129\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6169\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6170, "epsg", 6170,
+        "ETRS89 / NTM zone 30", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
+        "+proj=tmerc +lat_0=58 +lon_0=30.5 +k=1 +x_0=100000 +y_0=");
     add_proj4text (p, 1,
-        "941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vu");
+    add_proj4text (p, 2,
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Florida East\",GEOGCS[\"NAD83(201");
+        "COMPD_CS[\"ETRS89 / NTM zone 30 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "ETRS89 / NTM zone 30\",GEOGCS[\"ETRS89\",DATUM[\"Europea");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "n_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 198");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "0\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PRI");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",24.33333333");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "333333],PARAMETER[\"central_meridian\",-81],PARAMETER[\"");
+        "ORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.999941177],PARAMETER[\"false_easting\",");
+        "or\"],PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "200000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "entral_meridian\",30.5],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "RAMETER[\"false_easting\",100000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6437\"]]");
-    p = add_epsg_def (filter, first, last, 6438, "epsg", 6438,
-        "NAD83(2011) / Florida East (ftUS)");
+        "hing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 13,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"5130\"]],VERT_CS[\"NN54 height\",VER");
+    add_srs_wkt (p, 15,
+        "T_DATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 17,
+        "1\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"6170\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6171, "epsg", 6171,
+        "ETRS89 / UTM zone 31N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
+        "+proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units");
-    add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Florida East (ftUS)\",GEOGCS[\"NA");
+        "COMPD_CS[\"ETRS89 / UTM zone 31 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "ETRS89 / UTM zone 31N\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",24.3");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "3333333333333],PARAMETER[\"central_meridian\",-81],PARAM");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.999941177],PARAMETER[\"false_eas");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "ting\",656166.667],PARAMETER[\"false_northing\",0],UNIT[");
+        "entral_meridian\",3],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 11,
-        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"6438\"]]");
-    p = add_epsg_def (filter, first, last, 6439, "epsg", 6439,
-        "NAD83(2011) / Florida GDL Albers");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"25831\"]],VERT_CS[\"NN54 height\",VERT_D");
+    add_srs_wkt (p, 15,
+        "ATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 17,
+        "]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHORI");
+    add_srs_wkt (p, 18,
+        "TY[\"EPSG\",\"6171\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6172, "epsg", 6172,
+        "ETRS89 / UTM zone 32N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_");
+        "+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Florida GDL Albers\",GEOGCS[\"NAD");
+        "COMPD_CS[\"ETRS89 / UTM zone 32 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "ETRS89 / UTM zone 32N\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Alber");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "s_Conic_Equal_Area\"],PARAMETER[\"standard_parallel_1\",");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "24],PARAMETER[\"standard_parallel_2\",31.5],PARAMETER[\"");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "latitude_of_center\",24],PARAMETER[\"longitude_of_center");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "\",-84],PARAMETER[\"false_easting\",400000],PARAMETER[\"");
+        "entral_meridian\",9],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"6439\"]]");
-    p = add_epsg_def (filter, first, last, 6440, "epsg", 6440,
-        "NAD83(2011) / Florida North");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"25832\"]],VERT_CS[\"NN54 height\",VERT_D");
+    add_srs_wkt (p, 15,
+        "ATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 17,
+        "]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHORI");
+    add_srs_wkt (p, 18,
+        "TY[\"EPSG\",\"6172\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6173, "epsg", 6173,
+        "ETRS89 / UTM zone 33N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
+        "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "9 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m ");
-    add_proj4text (p, 2,
-        "+no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Florida North\",GEOGCS[\"NAD83(20");
+        "COMPD_CS[\"ETRS89 / UTM zone 33 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "ETRS89 / UTM zone 33N\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",30");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        ".75],PARAMETER[\"standard_parallel_2\",29.58333333333333");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",29],PARAMETER[\"centr");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "al_meridian\",-84.5],PARAMETER[\"false_easting\",600000]");
+        "entral_meridian\",15],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "H],AUTHORITY[\"EPSG\",\"6440\"]]");
-    p = add_epsg_def (filter, first, last, 6441, "epsg", 6441,
-        "NAD83(2011) / Florida North (ftUS)");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"25833\"]],VERT_CS[\"NN54 height\",VERT_D");
+    add_srs_wkt (p, 15,
+        "ATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 17,
+        "]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHORI");
+    add_srs_wkt (p, 18,
+        "TY[\"EPSG\",\"6173\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6174, "epsg", 6174,
+        "ETRS89 / UTM zone 34N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
+        "+proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "9 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us");
-    add_proj4text (p, 2,
-        "-ft +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Florida North (ftUS)\",GEOGCS[\"N");
+        "COMPD_CS[\"ETRS89 / UTM zone 34 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "ETRS89 / UTM zone 34N\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "_1\",30.75],PARAMETER[\"standard_parallel_2\",29.5833333");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "3333333],PARAMETER[\"latitude_of_origin\",29],PARAMETER[");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-84.5],PARAMETER[\"false_easting\",");
+        "entral_meridian\",21],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 11,
-        "1968500],PARAMETER[\"false_northing\",0],UNIT[\"US surve");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 14,
-        "\"6441\"]]");
-    p = add_epsg_def (filter, first, last, 6442, "epsg", 6442,
-        "NAD83(2011) / Florida West");
+        "RITY[\"EPSG\",\"25834\"]],VERT_CS[\"NN54 height\",VERT_D");
+    add_srs_wkt (p, 15,
+        "ATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 17,
+        "]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHORI");
+    add_srs_wkt (p, 18,
+        "TY[\"EPSG\",\"6174\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6175, "epsg", 6175,
+        "ETRS89 / UTM zone 35N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
+        "+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Florida West\",GEOGCS[\"NAD83(201");
+        "COMPD_CS[\"ETRS89 / UTM zone 35 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "ETRS89 / UTM zone 35N\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",24.33333333");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "333333],PARAMETER[\"central_meridian\",-82],PARAMETER[\"");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.999941177],PARAMETER[\"false_easting\",");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "200000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "entral_meridian\",27],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6442\"]]");
-    p = add_epsg_def (filter, first, last, 6443, "epsg", 6443,
-        "NAD83(2011) / Florida West (ftUS)");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 13,
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"25835\"]],VERT_CS[\"NN54 height\",VERT_D");
+    add_srs_wkt (p, 15,
+        "ATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 17,
+        "]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHORI");
+    add_srs_wkt (p, 18,
+        "TY[\"EPSG\",\"6175\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6176, "epsg", 6176,
+        "ETRS89 / UTM zone 36N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
+        "+proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units");
-    add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Florida West (ftUS)\",GEOGCS[\"NA");
+        "COMPD_CS[\"ETRS89 / UTM zone 36 + NN54 height\",PROJCS[\"");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "ETRS89 / UTM zone 36N\",GEOGCS[\"ETRS89\",DATUM[\"Europe");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "an_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],PR");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",24.3");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "3333333333333],PARAMETER[\"central_meridian\",-82],PARAM");
+        "HORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.999941177],PARAMETER[\"false_eas");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "ting\",656166.667],PARAMETER[\"false_northing\",0],UNIT[");
+        "entral_meridian\",33],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 11,
-        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"6443\"]]");
-    p = add_epsg_def (filter, first, last, 6444, "epsg", 6444,
-        "NAD83(2011) / Georgia East");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"25836\"]],VERT_CS[\"NN54 height\",VERT_D");
+    add_srs_wkt (p, 15,
+        "ATUM[\"Norway Normal Null 1954\",2005,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"5174\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 17,
+        "]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5776\"]],AUTHORI");
+    add_srs_wkt (p, 18,
+        "TY[\"EPSG\",\"6176\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6190, "epsg", 6190,
+        "Belge 1972 / Belgian Lambert 72", 0, 0,
+        "International 1924", "Greenwich",
+        "Reseau_National_Belge_1972", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
+        "+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +la");
     add_proj4text (p, 1,
-        "9 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "t_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=540");
+    add_proj4text (p, 2,
+        "0088.438 +ellps=intl +towgs84=-106.8686,52.2978,-103.723");
+    add_proj4text (p, 3,
+        "9,0.3366,-0.457,1.8422,-1.2747 +units=m +vunits=m +no_de");
+    add_proj4text (p, 4,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Georgia East\",GEOGCS[\"NAD83(201");
+        "COMPD_CS[\"Belge 1972 / Belgian Lambert 72 + Ostend heig");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "ht\",PROJCS[\"Belge 1972 / Belgian Lambert 72\",GEOGCS[\"");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "Belge 1972\",DATUM[\"Reseau_National_Belge_1972\",SPHERO");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "ID[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        ",\"7022\"]],TOWGS84[-106.8686,52.2978,-103.7239,0.3366,-");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.457,1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIM");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",30],PARAMET");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-82.16666666666667],PARAMETER[\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",20000");
+        "ORITY[\"EPSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",51.16666");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "723333333],PARAMETER[\"standard_parallel_2\",49.8333339]");
     add_srs_wkt (p, 12,
-        "RTH],AUTHORITY[\"EPSG\",\"6444\"]]");
-    p = add_epsg_def (filter, first, last, 6445, "epsg", 6445,
-        "NAD83(2011) / Georgia East (ftUS)");
+        ",PARAMETER[\"latitude_of_origin\",90],PARAMETER[\"centra");
+    add_srs_wkt (p, 13,
+        "l_meridian\",4.367486666666666],PARAMETER[\"false_eastin");
+    add_srs_wkt (p, 14,
+        "g\",150000.013],PARAMETER[\"false_northing\",5400088.438");
+    add_srs_wkt (p, 15,
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 16,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31370\"");
+    add_srs_wkt (p, 17,
+        "]],VERT_CS[\"Ostend height\",VERT_DATUM[\"Ostend\",2005,");
+    add_srs_wkt (p, 18,
+        "AUTHORITY[\"EPSG\",\"5110\"]],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 19,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 20,
+        "\"5710\"]],AUTHORITY[\"EPSG\",\"6190\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6204, "epsg", 6204,
+        "Macedonian State Coordinate System", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "MGI_1901", "Transverse_Mercator", "metre",
+        "Y", "East", "X", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "9 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units=us-f");
+        "0=0 +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +units=m");
     add_proj4text (p, 2,
-        "t +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Georgia East (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"Macedonian State Coordinate System\",GEOGCS[\"M");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "GI 1901\",DATUM[\"MGI_1901\",SPHEROID[\"Bessel 1841\",63");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "77397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWG");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "S84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\",\"1031\"]],");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",30],");
+        "AUTHORITY[\"EPSG\",\"3906\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-82.16666666666667],PARAM");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
+        "\"central_meridian\",21],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        ",656166.667],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "99],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "01\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "G\",\"6445\"]]");
-    p = add_epsg_def (filter, first, last, 6446, "epsg", 6446,
-        "NAD83(2011) / Georgia West");
+        "SG\",\"6204\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6207, "epsg", 6207,
+        "Nepal 1981", 1, 1,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Nepal_1981", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
+        "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs");
     add_proj4text (p, 1,
-        "9 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "84=293.17,726.18,245.36,0,0,0,0 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Georgia West\",GEOGCS[\"NAD83(201");
+        "GEOGCS[\"Nepal 1981\",DATUM[\"Nepal_1981\",SPHEROID[\"Ev");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "erest 1830 (1937 Adjustment)\",6377276.345,300.8017,AUTH");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "ORITY[\"EPSG\",\"7015\"]],TOWGS84[293.17,726.18,245.36,0");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"1111\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",30],PARAMET");
-    add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-84.16666666666667],PARAMETER[\"");
-    add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",70000");
-    add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
-    add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
-    add_srs_wkt (p, 12,
-        "RTH],AUTHORITY[\"EPSG\",\"6446\"]]");
-    p = add_epsg_def (filter, first, last, 6447, "epsg", 6447,
-        "NAD83(2011) / Georgia West (ftUS)");
+        ",\"6207\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6210, "epsg", 6210,
+        "SIRGAS 2000 / UTM zone 23N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
+        "+proj=utm +zone=23 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "9 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +units=us-f");
-    add_proj4text (p, 2,
-        "t +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Georgia West (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 23N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",30],");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-84.16666666666667],PARAM");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-45]");
     add_srs_wkt (p, 10,
-        ",2296583.333],PARAMETER[\"false_northing\",0],UNIT[\"US ");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 13,
-        "SG\",\"6447\"]]");
-    p = add_epsg_def (filter, first, last, 6448, "epsg", 6448,
-        "NAD83(2011) / Idaho Central");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6210");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6211, "epsg", 6211,
+        "SIRGAS 2000 / UTM zone 24N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
+        "+proj=utm +zone=24 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "99473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m ");
-    add_proj4text (p, 2,
-        "+no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Idaho Central\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 24N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",41.66666666");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "666666],PARAMETER[\"central_meridian\",-114],PARAMETER[\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.999947368],PARAMETER[\"false_easting\",");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-39]");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6448\"]]");
-    p = add_epsg_def (filter, first, last, 6449, "epsg", 6449,
-        "NAD83(2011) / Idaho Central (ftUS)");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6211");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6316, "epsg", 6316,
+        "Macedonia State Coordinate System zone 7", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "MGI_1901", "Transverse_Mercator", "metre",
+        "Y", "East", "X", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y");
     add_proj4text (p, 1,
-        "99473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS8");
+        "_0=0 +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +units=");
     add_proj4text (p, 2,
-        "0 +units=us-ft +no_defs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Idaho Central (ftUS)\",GEOGCS[\"N");
+        "PROJCS[\"Macedonia State Coordinate System zone 7\",GEOG");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "CS[\"MGI 1901\",DATUM[\"MGI_1901\",SPHEROID[\"Bessel 184");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "1\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "],TOWGS84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\",\"103");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "1\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",41.6");
+        "EAST],AUTHORITY[\"EPSG\",\"3906\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "6666666666666],PARAMETER[\"central_meridian\",-114],PARA");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.999947368],PARAMETER[\"false_ea");
+        "METER[\"central_meridian\",21],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "sting\",1640416.667],PARAMETER[\"false_northing\",0],UNI");
+        ",0.9999],PARAMETER[\"false_easting\",7500000],PARAMETER[");
     add_srs_wkt (p, 11,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        ",\"9001\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6449\"]]");
-    p = add_epsg_def (filter, first, last, 6450, "epsg", 6450,
-        "NAD83(2011) / Idaho East");
+        "[\"EPSG\",\"6316\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6318, "epsg", 6318,
+        "NAD83(2011)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
-    add_proj4text (p, 1,
-        "666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=G");
-    add_proj4text (p, 2,
-        "RS80 +units=m +no_defs");
+        "+proj=longlat +ellps=GRS80 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Idaho East\",GEOGCS[\"NAD83(2011)");
+        "GEOGCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Re");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        "ference_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "\",\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Merca");
-    add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",41.6666666666666");
-    add_srs_wkt (p, 8,
-        "6],PARAMETER[\"central_meridian\",-112.1666666666667],PA");
-    add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",0.999947368],PARAMETER[\"false_");
-    add_srs_wkt (p, 10,
-        "easting\",200000],PARAMETER[\"false_northing\",0],UNIT[\"");
-    add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
-    add_srs_wkt (p, 12,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6450\"]]");
-    p = add_epsg_def (filter, first, last, 6451, "epsg", 6451,
-        "NAD83(2011) / Idaho East (ftUS)");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"6318\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6322, "epsg", 6322,
+        "NAD83(PA11)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_PA11", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
-    add_proj4text (p, 1,
-        "666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0");
-    add_proj4text (p, 2,
-        "=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "+proj=longlat +ellps=GRS80 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Idaho East (ftUS)\",GEOGCS[\"NAD8");
+        "GEOGCS[\"NAD83(PA11)\",DATUM[\"NAD83_National_Spatial_Re");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "ference_System_PA11\",SPHEROID[\"GRS 1980\",6378137,298.");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "\",\"1117\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transv");
-    add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",41.666");
-    add_srs_wkt (p, 8,
-        "66666666666],PARAMETER[\"central_meridian\",-112.1666666");
-    add_srs_wkt (p, 9,
-        "666667],PARAMETER[\"scale_factor\",0.999947368],PARAMETE");
-    add_srs_wkt (p, 10,
-        "R[\"false_easting\",656166.667],PARAMETER[\"false_northi");
-    add_srs_wkt (p, 11,
-        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
-    add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
-    add_srs_wkt (p, 13,
-        "TH],AUTHORITY[\"EPSG\",\"6451\"]]");
-    p = add_epsg_def (filter, first, last, 6452, "epsg", 6452,
-        "NAD83(2011) / Idaho West");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"6322\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6325, "epsg", 6325,
+        "NAD83(MA11)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_MA11", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
-    add_proj4text (p, 1,
-        ".999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "+proj=longlat +ellps=GRS80 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Idaho West\",GEOGCS[\"NAD83(2011)");
+        "GEOGCS[\"NAD83(MA11)\",DATUM[\"NAD83_National_Spatial_Re");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        "ference_System_MA11\",SPHEROID[\"GRS 1980\",6378137,298.");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "\",\"1118\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Merca");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"6325\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6328, "epsg", 6328,
+        "NAD83(2011) / UTM zone 59N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=59 +ellps=GRS80 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"NAD83(2011) / UTM zone 59N\",GEOGCS[\"NAD83(201");
+    add_srs_wkt (p, 1,
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+    add_srs_wkt (p, 2,
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+    add_srs_wkt (p, 3,
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+    add_srs_wkt (p, 4,
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+    add_srs_wkt (p, 5,
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+    add_srs_wkt (p, 6,
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",41.6666666666666");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "6],PARAMETER[\"central_meridian\",-115.75],PARAMETER[\"s");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.999933333],PARAMETER[\"false_easting\",8");
+        "ntral_meridian\",171],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6452\"]]");
-    p = add_epsg_def (filter, first, last, 6453, "epsg", 6453,
-        "NAD83(2011) / Idaho West (ftUS)");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"6328\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6329, "epsg", 6329,
+        "NAD83(2011) / UTM zone 60N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
-    add_proj4text (p, 1,
-        ".999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +u");
-    add_proj4text (p, 2,
-        "nits=us-ft +no_defs");
+        "+proj=utm +zone=60 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Idaho West (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / UTM zone 60N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transv");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",41.666");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "66666666666],PARAMETER[\"central_meridian\",-115.75],PAR");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.999933333],PARAMETER[\"false_e");
+        "ntral_meridian\",177],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "asting\",2624666.667],PARAMETER[\"false_northing\",0],UN");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"6453\"]]");
-    p = add_epsg_def (filter, first, last, 6454, "epsg", 6454,
-        "NAD83(2011) / Illinois East");
+        "RITY[\"EPSG\",\"6329\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6330, "epsg", 6330,
+        "NAD83(2011) / UTM zone 1N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
-    add_proj4text (p, 1,
-        "333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=G");
-    add_proj4text (p, 2,
-        "RS80 +units=m +no_defs");
+        "+proj=utm +zone=1 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Illinois East\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"NAD83(2011) / UTM zone 1N\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",36.66666666");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "666666],PARAMETER[\"central_meridian\",-88.3333333333333");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",0.999975],PARAMETER[\"fals");
+        "tral_meridian\",-177],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "e_easting\",300000],PARAMETER[\"false_northing\",0],UNIT");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6454\"]]");
-    p = add_epsg_def (filter, first, last, 6455, "epsg", 6455,
-        "NAD83(2011) / Illinois East (ftUS)");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"6330\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6331, "epsg", 6331,
+        "NAD83(2011) / UTM zone 2N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
-    add_proj4text (p, 1,
-        "333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0");
-    add_proj4text (p, 2,
-        "=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "+proj=utm +zone=2 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Illinois East (ftUS)\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / UTM zone 2N\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",36.6");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "6666666666666],PARAMETER[\"central_meridian\",-88.333333");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "33333333],PARAMETER[\"scale_factor\",0.999975],PARAMETER");
+        "tral_meridian\",-171],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "[\"false_easting\",984250.0000000002],PARAMETER[\"false_");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6455\"]]");
-    p = add_epsg_def (filter, first, last, 6456, "epsg", 6456,
-        "NAD83(2011) / Illinois West");
+        "RITY[\"EPSG\",\"6331\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6332, "epsg", 6332,
+        "NAD83(2011) / UTM zone 3N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
-    add_proj4text (p, 1,
-        "666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +u");
-    add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "+proj=utm +zone=3 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Illinois West\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"NAD83(2011) / UTM zone 3N\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",36.66666666");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "666666],PARAMETER[\"central_meridian\",-90.1666666666666");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.999941177],PARAMETER[\"f");
+        "tral_meridian\",-165],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "alse_easting\",700000],PARAMETER[\"false_northing\",0],U");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6456\"]]");
-    p = add_epsg_def (filter, first, last, 6457, "epsg", 6457,
-        "NAD83(2011) / Illinois West (ftUS)");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"6332\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6333, "epsg", 6333,
+        "NAD83(2011) / UTM zone 4N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
-    add_proj4text (p, 1,
-        "666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ell");
-    add_proj4text (p, 2,
-        "ps=GRS80 +units=us-ft +no_defs");
+        "+proj=utm +zone=4 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Illinois West (ftUS)\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / UTM zone 4N\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",36.6");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "6666666666666],PARAMETER[\"central_meridian\",-90.166666");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "66666667],PARAMETER[\"scale_factor\",0.999941177],PARAME");
+        "tral_meridian\",-159],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",2296583.333300001],PARAMETER[\"fal");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6457\"]]");
-    p = add_epsg_def (filter, first, last, 6458, "epsg", 6458,
-        "NAD83(2011) / Indiana East");
+        "RITY[\"EPSG\",\"6333\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6334, "epsg", 6334,
+        "NAD83(2011) / UTM zone 5N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
-    add_proj4text (p, 1,
-        "99966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m +");
-    add_proj4text (p, 2,
-        "no_defs");
+        "+proj=utm +zone=5 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Indiana East\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / UTM zone 5N\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",37.5],PARAM");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-85.66666666666667],PARAMETER[");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999966667],PARAMETER[\"false_easting\"");
+        "tral_meridian\",-153],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        ",100000],PARAMETER[\"false_northing\",250000],UNIT[\"met");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6458\"]]");
-    p = add_epsg_def (filter, first, last, 6459, "epsg", 6459,
-        "NAD83(2011) / Indiana East (ftUS)");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"6334\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6335, "epsg", 6335,
+        "NAD83(2011) / UTM zone 6N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
-    add_proj4text (p, 1,
-        "99966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +");
-    add_proj4text (p, 2,
-        "ellps=GRS80 +units=us-ft +no_defs");
+        "+proj=utm +zone=6 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Indiana East (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / UTM zone 6N\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",37.5");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-85.66666666666667],PAR");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.999966667],PARAMETER[\"false_e");
+        "tral_meridian\",-147],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "asting\",328083.333],PARAMETER[\"false_northing\",820208");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        ".3330000002],UNIT[\"US survey foot\",0.3048006096012192,");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6459\"]]");
-    p = add_epsg_def (filter, first, last, 6460, "epsg", 6460,
-        "NAD83(2011) / Indiana West");
+        "RITY[\"EPSG\",\"6335\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6336, "epsg", 6336,
+        "NAD83(2011) / UTM zone 7N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
-    add_proj4text (p, 1,
-        "99966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m +");
-    add_proj4text (p, 2,
-        "no_defs");
+        "+proj=utm +zone=7 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Indiana West\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / UTM zone 7N\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",37.5],PARAM");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-87.08333333333333],PARAMETER[");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999966667],PARAMETER[\"false_easting\"");
+        "tral_meridian\",-141],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        ",900000],PARAMETER[\"false_northing\",250000],UNIT[\"met");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6460\"]]");
-    p = add_epsg_def (filter, first, last, 6461, "epsg", 6461,
-        "NAD83(2011) / Indiana West (ftUS)");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"6336\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6337, "epsg", 6337,
+        "NAD83(2011) / UTM zone 8N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
-    add_proj4text (p, 1,
-        "99966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80");
-    add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        "+proj=utm +zone=8 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Indiana West (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / UTM zone 8N\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",37.5");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-87.08333333333333],PAR");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.999966667],PARAMETER[\"false_e");
+        "tral_meridian\",-135],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "asting\",2952750],PARAMETER[\"false_northing\",820208.33");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "30000002],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"6461\"]]");
-    p = add_epsg_def (filter, first, last, 6462, "epsg", 6462,
-        "NAD83(2011) / Iowa North");
+        "RITY[\"EPSG\",\"6337\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6338, "epsg", 6338,
+        "NAD83(2011) / UTM zone 9N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +");
-    add_proj4text (p, 2,
-        "ellps=GRS80 +units=m +no_defs");
+        "+proj=utm +zone=9 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Iowa North\",GEOGCS[\"NAD83(2011)");
+        "PROJCS[\"NAD83(2011) / UTM zone 9N\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43.2666");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "6666666667],PARAMETER[\"standard_parallel_2\",42.0666666");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "6666667],PARAMETER[\"latitude_of_origin\",41.5],PARAMETE");
+        "tral_meridian\",-129],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-93.5],PARAMETER[\"false_easting\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        ",1500000],PARAMETER[\"false_northing\",1000000],UNIT[\"m");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6462\"]]");
-    p = add_epsg_def (filter, first, last, 6463, "epsg", 6463,
-        "NAD83(2011) / Iowa North (ftUS)");
+        "RITY[\"EPSG\",\"6338\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6339, "epsg", 6339,
+        "NAD83(2011) / UTM zone 10N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.99");
-    add_proj4text (p, 2,
-        "99898402 +ellps=GRS80 +units=us-ft +no_defs");
+        "+proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Iowa North (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / UTM zone 10N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "\",43.26666666666667],PARAMETER[\"standard_parallel_2\",");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "42.06666666666667],PARAMETER[\"latitude_of_origin\",41.5");
+        "ntral_meridian\",-123],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"central_meridian\",-93.5],PARAMETER[\"fals");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "e_easting\",4921250],PARAMETER[\"false_northing\",328083");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "3.333300001],UNIT[\"US survey foot\",0.3048006096012192,");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
-    add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6463\"]]");
-    p = add_epsg_def (filter, first, last, 6464, "epsg", 6464,
-        "NAD83(2011) / Iowa South");
+        "HORITY[\"EPSG\",\"6339\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6340, "epsg", 6340,
+        "NAD83(2011) / UTM zone 11N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS");
-    add_proj4text (p, 2,
-        "80 +units=m +no_defs");
+        "+proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Iowa South\",GEOGCS[\"NAD83(2011)");
+        "PROJCS[\"NAD83(2011) / UTM zone 11N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.7833");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "3333333333],PARAMETER[\"standard_parallel_2\",40.6166666");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "6666667],PARAMETER[\"latitude_of_origin\",40],PARAMETER[");
+        "ntral_meridian\",-117],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-93.5],PARAMETER[\"false_easting\",");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6464\"]]");
-    p = add_epsg_def (filter, first, last, 6465, "epsg", 6465,
-        "NAD83(2011) / Iowa South (ftUS)");
+        "HORITY[\"EPSG\",\"6340\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6341, "epsg", 6341,
+        "NAD83(2011) / UTM zone 12N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +");
-    add_proj4text (p, 2,
-        "ellps=GRS80 +units=us-ft +no_defs");
+        "+proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Iowa South (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / UTM zone 12N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "\",41.78333333333333],PARAMETER[\"standard_parallel_2\",");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "40.61666666666667],PARAMETER[\"latitude_of_origin\",40],");
+        "ntral_meridian\",-111],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-93.5],PARAMETER[\"false_");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "easting\",1640416.6667],PARAMETER[\"false_northing\",0],");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
     add_srs_wkt (p, 13,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
-    add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"6465\"]]");
+        "HORITY[\"EPSG\",\"6341\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_30.c b/src/srsinit/epsg_inlined_30.c
index 90ed4b0..bf21a3d 100644
--- a/src/srsinit/epsg_inlined_30.c
+++ b/src/srsinit/epsg_inlined_30.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:29 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,16 +54,15 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 6466, "epsg", 6466,
-        "NAD83(2011) / Kansas North");
+    p = add_epsg_def_ex (filter, first, last, 6342, "epsg", 6342,
+        "NAD83(2011) / UTM zone 13N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0");
-    add_proj4text (p, 2,
-        "=0 +ellps=GRS80 +units=m +no_defs");
+        "+proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Kansas North\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / UTM zone 13N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
         "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
@@ -73,71 +74,65 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        ".78333333333333],PARAMETER[\"standard_parallel_2\",38.71");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"latitude_of_origin\",38.333333");
+        "ntral_meridian\",-105],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "33333334],PARAMETER[\"central_meridian\",-98],PARAMETER[");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"false_easting\",400000],PARAMETER[\"false_northing\",0");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6466\"]");
-    add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 6467, "epsg", 6467,
-        "NAD83(2011) / Kansas North (ftUS)");
+        "HORITY[\"EPSG\",\"6342\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6343, "epsg", 6343,
+        "NAD83(2011) / UTM zone 14N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.9999");
-    add_proj4text (p, 2,
-        "8984 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "+proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Kansas North (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / UTM zone 14N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "_1\",39.78333333333333],PARAMETER[\"standard_parallel_2\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        ",38.71666666666667],PARAMETER[\"latitude_of_origin\",38.");
+        "ntral_meridian\",-99],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "33333333333334],PARAMETER[\"central_meridian\",-98],PARA");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",1312333.3333],PARAMETER[\"false_");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
-    add_srs_wkt (p, 14,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6467\"]]");
-    p = add_epsg_def (filter, first, last, 6468, "epsg", 6468,
-        "NAD83(2011) / Kansas South");
+        "RITY[\"EPSG\",\"6343\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6344, "epsg", 6344,
+        "NAD83(2011) / UTM zone 15N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y");
-    add_proj4text (p, 2,
-        "_0=400000 +ellps=GRS80 +units=m +no_defs");
+        "+proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Kansas South\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / UTM zone 15N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
         "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
@@ -149,265 +144,254 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        ".56666666666667],PARAMETER[\"standard_parallel_2\",37.26");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"latitude_of_origin\",36.666666");
+        "ntral_meridian\",-93],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "66666666],PARAMETER[\"central_meridian\",-98.5],PARAMETE");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",400000],PARAMETER[\"false_northing\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",400000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 14,
-        "6468\"]]");
-    p = add_epsg_def (filter, first, last, 6469, "epsg", 6469,
-        "NAD83(2011) / Kansas South (ftUS)");
+        "RITY[\"EPSG\",\"6344\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6345, "epsg", 6345,
+        "NAD83(2011) / UTM zone 16N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99");
-    add_proj4text (p, 2,
-        "998984 +y_0=399999.99998984 +ellps=GRS80 +units=us-ft +n");
-    add_proj4text (p, 3,
-        "o_defs");
+        "+proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Kansas South (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / UTM zone 16N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "_1\",38.56666666666667],PARAMETER[\"standard_parallel_2\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        ",37.26666666666667],PARAMETER[\"latitude_of_origin\",36.");
+        "ntral_meridian\",-87],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "66666666666666],PARAMETER[\"central_meridian\",-98.5],PA");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",1312333.3333],PARAMETER[\"fals");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "e_northing\",1312333.3333],UNIT[\"US survey foot\",0.304");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
-    add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6469\"]]");
-    p = add_epsg_def (filter, first, last, 6470, "epsg", 6470,
-        "NAD83(2011) / Kentucky North");
+        "RITY[\"EPSG\",\"6345\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6346, "epsg", 6346,
+        "NAD83(2011) / UTM zone 17N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=");
-    add_proj4text (p, 2,
-        "GRS80 +units=m +no_defs");
+        "+proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Kentucky North\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / UTM zone 17N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "7.96666666666667],PARAMETER[\"standard_parallel_2\",38.9");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",37.5],PA");
+        "ntral_meridian\",-81],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-84.25],PARAMETER[\"false_e");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6470\"]]");
-    p = add_epsg_def (filter, first, last, 6471, "epsg", 6471,
-        "NAD83(2011) / Kentucky North (ftUS)");
+        "RITY[\"EPSG\",\"6346\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6347, "epsg", 6347,
+        "NAD83(2011) / UTM zone 18N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_");
-    add_proj4text (p, 2,
-        "0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "+proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Kentucky North (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / UTM zone 18N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "el_1\",37.96666666666667],PARAMETER[\"standard_parallel_");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "2\",38.96666666666667],PARAMETER[\"latitude_of_origin\",");
+        "ntral_meridian\",-75],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "37.5],PARAMETER[\"central_meridian\",-84.25],PARAMETER[\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "false_easting\",1640416.667],PARAMETER[\"false_northing\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
-    add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"6471\"]]");
-    p = add_epsg_def (filter, first, last, 6472, "epsg", 6472,
-        "NAD83(2011) / Kentucky Single Zone");
+        "RITY[\"EPSG\",\"6347\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6348, "epsg", 6348,
+        "NAD83(2011) / UTM zone 19N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666");
-    add_proj4text (p, 1,
-        "666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 ");
-    add_proj4text (p, 2,
-        "+y_0=1000000 +ellps=GRS80 +units=m +no_defs");
+        "+proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Kentucky Single Zone\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / UTM zone 19N\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "_1\",37.08333333333334],PARAMETER[\"standard_parallel_2\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        ",38.66666666666666],PARAMETER[\"latitude_of_origin\",36.");
+        "ntral_meridian\",-69],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "33333333333334],PARAMETER[\"central_meridian\",-85.75],P");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",1500000],PARAMETER[\"false_no");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "rthing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
-    add_srs_wkt (p, 14,
-        "EPSG\",\"6472\"]]");
-    p = add_epsg_def (filter, first, last, 6473, "epsg", 6473,
-        "NAD83(2011) / Kentucky Single Zone (ftUS)");
+        "RITY[\"EPSG\",\"6348\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6349, "epsg", 6349,
+        "NAD83(2011)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666");
+        "+proj=longlat +ellps=GRS80 +geoidgrids=g2012a_conus.gtx,");
     add_proj4text (p, 1,
-        "666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 ");
+        "g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g201");
     add_proj4text (p, 2,
-        "+y_0=999999.9998983998 +ellps=GRS80 +units=us-ft +no_def");
-    add_proj4text (p, 3,
-        "s");
+        "2a_puertorico.gtx,g2012a_samoa.gtx +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Kentucky Single Zone (ftUS)\",GEO");
+        "COMPD_CS[\"NAD83(2011) + NAVD88 height\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        "GCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refer");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "ence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTIO");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "UTHORITY[\"EPSG\",\"6318\"]],VERT_CS[\"NAVD88 height\",V");
     add_srs_wkt (p, 8,
-        "parallel_1\",37.08333333333334],PARAMETER[\"standard_par");
+        "ERT_DATUM[\"North American Vertical Datum 1988\",2005,EX");
     add_srs_wkt (p, 9,
-        "allel_2\",38.66666666666666],PARAMETER[\"latitude_of_ori");
+        "TENSION[\"PROJ4_GRIDS\",\"g2012a_conus.gtx,g2012a_alaska");
     add_srs_wkt (p, 10,
-        "gin\",36.33333333333334],PARAMETER[\"central_meridian\",");
+        ".gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico");
     add_srs_wkt (p, 11,
-        "-85.75],PARAMETER[\"false_easting\",4921250],PARAMETER[\"");
+        ".gtx,g2012a_samoa.gtx\"],AUTHORITY[\"EPSG\",\"5103\"]],U");
     add_srs_wkt (p, 12,
-        "false_northing\",3280833.333],UNIT[\"US survey foot\",0.");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\"");
     add_srs_wkt (p, 13,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        ",UP],AUTHORITY[\"EPSG\",\"5703\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6473\"]]");
-    p = add_epsg_def (filter, first, last, 6474, "epsg", 6474,
-        "NAD83(2011) / Kentucky South");
+        "6349\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6350, "epsg", 6350,
+        "NAD83(2011) / Conus Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
+        "+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +");
     add_proj4text (p, 1,
-        "333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +");
-    add_proj4text (p, 2,
-        "y_0=500000 +ellps=GRS80 +units=m +no_defs");
+        "x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Kentucky South\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Conus Albers\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Albers_Conic_Equa");
     add_srs_wkt (p, 8,
-        "7.93333333333333],PARAMETER[\"standard_parallel_2\",36.7");
+        "l_Area\"],PARAMETER[\"standard_parallel_1\",29.5],PARAME");
     add_srs_wkt (p, 9,
-        "3333333333333],PARAMETER[\"latitude_of_origin\",36.33333");
+        "TER[\"standard_parallel_2\",45.5],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        "333333334],PARAMETER[\"central_meridian\",-85.75],PARAME");
+        "f_center\",23],PARAMETER[\"longitude_of_center\",-96],PA");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
+        "RAMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6350\"");
     add_srs_wkt (p, 14,
-        "\"6474\"]]");
-    p = add_epsg_def (filter, first, last, 6475, "epsg", 6475,
-        "NAD83(2011) / Kentucky South (ftUS)");
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 6351, "epsg", 6351,
+        "NAD83(2011) / EPSG Arctic zone 5-29", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0");
+        "333 +lat_0=72.02500919444444 +lon_0=-163 +x_0=29500000 +");
     add_proj4text (p, 2,
-        "001016001 +y_0=500000.0001016001 +ellps=GRS80 +units=us-");
-    add_proj4text (p, 3,
-        "ft +no_defs");
+        "y_0=5500000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Kentucky South (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / EPSG Arctic zone 5-29\",GEOGCS[\"");
     add_srs_wkt (p, 1,
         "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
@@ -419,69 +403,81 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "el_1\",37.93333333333333],PARAMETER[\"standard_parallel_");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "2\",36.73333333333333],PARAMETER[\"latitude_of_origin\",");
+        ",73.66666666666667],PARAMETER[\"standard_parallel_2\",70");
     add_srs_wkt (p, 10,
-        "36.33333333333334],PARAMETER[\"central_meridian\",-85.75");
+        ".33333333333333],PARAMETER[\"latitude_of_origin\",72.025");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",1640416.667],PARAMETER[\"f");
+        "00919444444],PARAMETER[\"central_meridian\",-163],PARAME");
     add_srs_wkt (p, 12,
-        "alse_northing\",1640416.667],UNIT[\"US survey foot\",0.3");
+        "TER[\"false_easting\",29500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 13,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "ng\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6475\"]]");
-    p = add_epsg_def (filter, first, last, 6476, "epsg", 6476,
-        "NAD83(2011) / Louisiana North");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"6351\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6352, "epsg", 6352,
+        "NAD83(2011) / EPSG Arctic zone 5-31", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
+        "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333");
     add_proj4text (p, 1,
-        "667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=");
+        "333 +lat_0=72.02500919444444 +lon_0=-147 +x_0=31500000 +");
     add_proj4text (p, 2,
-        "GRS80 +units=m +no_defs");
+        "y_0=5500000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Louisiana North\",GEOGCS[\"NAD83(");
+        "PROJCS[\"NAD83(2011) / EPSG Arctic zone 5-31\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        ",32.66666666666666],PARAMETER[\"standard_parallel_2\",31");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        ".16666666666667],PARAMETER[\"latitude_of_origin\",30.5],");
+        ",73.66666666666667],PARAMETER[\"standard_parallel_2\",70");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-92.5],PARAMETER[\"false_");
+        ".33333333333333],PARAMETER[\"latitude_of_origin\",72.025");
     add_srs_wkt (p, 11,
-        "easting\",1000000],PARAMETER[\"false_northing\",0],UNIT[");
+        "00919444444],PARAMETER[\"central_meridian\",-147],PARAME");
     add_srs_wkt (p, 12,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "TER[\"false_easting\",31500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6476\"]]");
-    p = add_epsg_def (filter, first, last, 6477, "epsg", 6477,
-        "NAD83(2011) / Louisiana North (ftUS)");
+        "ng\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 14,
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"6352\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6353, "epsg", 6353,
+        "NAD83(2011) / EPSG Arctic zone 6-14", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        "667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0");
+        "8747555555557 +lon_0=-165 +x_0=14500000 +y_0=6500000 +el");
     add_proj4text (p, 2,
-        "=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "lps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Louisiana North (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / EPSG Arctic zone 6-14\",GEOGCS[\"");
     add_srs_wkt (p, 1,
         "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
@@ -493,1467 +489,1527 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "el_1\",32.66666666666666],PARAMETER[\"standard_parallel_");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "2\",31.16666666666667],PARAMETER[\"latitude_of_origin\",");
+        ",70.33333333333333],PARAMETER[\"standard_parallel_2\",67");
     add_srs_wkt (p, 10,
-        "30.5],PARAMETER[\"central_meridian\",-92.5],PARAMETER[\"");
+        "],PARAMETER[\"latitude_of_origin\",68.68747555555557],PA");
     add_srs_wkt (p, 11,
-        "false_easting\",3280833.333300001],PARAMETER[\"false_nor");
+        "RAMETER[\"central_meridian\",-165],PARAMETER[\"false_eas");
     add_srs_wkt (p, 12,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "ting\",14500000],PARAMETER[\"false_northing\",6500000],U");
     add_srs_wkt (p, 13,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
     add_srs_wkt (p, 14,
-        "NORTH],AUTHORITY[\"EPSG\",\"6477\"]]");
-    p = add_epsg_def (filter, first, last, 6478, "epsg", 6478,
-        "NAD83(2011) / Louisiana South");
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"6353\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6354, "epsg", 6354,
+        "NAD83(2011) / EPSG Arctic zone 6-16", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
+        "+proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.6");
     add_proj4text (p, 1,
-        ".33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=");
+        "8747555555557 +lon_0=-147 +x_0=16500000 +y_0=6500000 +el");
     add_proj4text (p, 2,
-        "m +no_defs");
+        "lps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Louisiana South\",GEOGCS[\"NAD83(");
+        "PROJCS[\"NAD83(2011) / EPSG Arctic zone 6-16\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        ",30.7],PARAMETER[\"standard_parallel_2\",29.3],PARAMETER");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",28.5],PARAMETER[\"central_meridi");
+        ",70.33333333333333],PARAMETER[\"standard_parallel_2\",67");
     add_srs_wkt (p, 10,
-        "an\",-91.33333333333333],PARAMETER[\"false_easting\",100");
+        "],PARAMETER[\"latitude_of_origin\",68.68747555555557],PA");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "RAMETER[\"central_meridian\",-147],PARAMETER[\"false_eas");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "ting\",16500000],PARAMETER[\"false_northing\",6500000],U");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6478\"]]");
-    p = add_epsg_def (filter, first, last, 6479, "epsg", 6479,
-        "NAD83(2011) / Louisiana South (ftUS)");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 14,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"6354\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6355, "epsg", 6355,
+        "NAD83(2011) / Alabama East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
+        "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.9");
     add_proj4text (p, 1,
-        ".33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS");
-    add_proj4text (p, 2,
-        "80 +units=us-ft +no_defs");
+        "9996 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Louisiana South (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Alabama East\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "el_1\",30.7],PARAMETER[\"standard_parallel_2\",29.3],PAR");
+        "or\"],PARAMETER[\"latitude_of_origin\",30.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "AMETER[\"latitude_of_origin\",28.5],PARAMETER[\"central_");
+        "central_meridian\",-85.83333333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "meridian\",-91.33333333333333],PARAMETER[\"false_easting");
+        "_factor\",0.99996],PARAMETER[\"false_easting\",200000],P");
     add_srs_wkt (p, 11,
-        "\",3280833.333300001],PARAMETER[\"false_northing\",0],UN");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
     add_srs_wkt (p, 13,
-        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
-    add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"6479\"]]");
-    p = add_epsg_def (filter, first, last, 6480, "epsg", 6480,
-        "NAD83(2011) / Maine CS2000 Central");
+        ",AUTHORITY[\"EPSG\",\"6355\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6356, "epsg", 6356,
+        "NAD83(2011) / Alabama West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=5");
+        "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=6");
     add_proj4text (p, 1,
         "00000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Maine CS2000 Central\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / Alabama West\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",43.5");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-69.125],PARAMETER[\"sc");
+        "or\"],PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.99998],PARAMETER[\"false_easting\",500000");
+        "entral_meridian\",-87.5],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "9933333],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"6480\"]]");
-    p = add_epsg_def (filter, first, last, 6481, "epsg", 6481,
-        "NAD83(2011) / Maine CS2000 East");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"6356\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6362, "epsg", 6362,
+        "Mexico ITRF92 / LCC", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF92", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0");
+        "+proj=lcc +lat_1=17.5 +lat_2=29.5 +lat_0=12 +lon_0=-102 ");
     add_proj4text (p, 1,
-        ".99998 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "+x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+    add_proj4text (p, 2,
+        "+units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Maine CS2000 East\",GEOGCS[\"NAD8");
+        "PROJCS[\"Mexico ITRF92 / LCC\",GEOGCS[\"Mexico ITRF92\",");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "DATUM[\"Mexico_ITRF92\",SPHEROID[\"GRS 1980\",6378137,29");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "0,0,0,0],AUTHORITY[\"EPSG\",\"1042\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transv");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",43.833");
+        ",\"4483\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 8,
-        "33333333334],PARAMETER[\"central_meridian\",-67.875],PAR");
+        "PARAMETER[\"standard_parallel_1\",17.5],PARAMETER[\"stan");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.99998],PARAMETER[\"false_easti");
+        "dard_parallel_2\",29.5],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "ng\",700000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        ",12],PARAMETER[\"central_meridian\",-102],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "lse_easting\",2500000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6481\"]]");
-    p = add_epsg_def (filter, first, last, 6482, "epsg", 6482,
-        "NAD83(2011) / Maine CS2000 West");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Nor");
+    add_srs_wkt (p, 13,
+        "thing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"6362\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6365, "epsg", 6365,
+        "Mexico ITRF2008", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF2008", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
-        ".99998 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Maine CS2000 West\",GEOGCS[\"NAD8");
+        "GEOGCS[\"Mexico ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPH");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        ",\"1120\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
+    add_srs_wkt (p, 6,
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"6365\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6366, "epsg", 6366,
+        "Mexico ITRF2008 / UTM zone 11N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF2008", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+    add_proj4text (p, 1,
+        "units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"Mexico ITRF2008 / UTM zone 11N\",GEOGCS[\"Mexic");
+    add_srs_wkt (p, 1,
+        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
+    add_srs_wkt (p, 2,
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+    add_srs_wkt (p, 3,
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
+    add_srs_wkt (p, 4,
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+    add_srs_wkt (p, 5,
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transv");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",42.833");
+        "HORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "33333333334],PARAMETER[\"central_meridian\",-70.375],PAR");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.99998],PARAMETER[\"false_easti");
+        "entral_meridian\",-117],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "ng\",300000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6482\"]]");
-    p = add_epsg_def (filter, first, last, 6483, "epsg", 6483,
-        "NAD83(2011) / Maine East");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"6366\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6367, "epsg", 6367,
+        "Mexico ITRF2008 / UTM zone 12N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF2008", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
+        "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Maine East\",GEOGCS[\"NAD83(2011)");
+        "PROJCS[\"Mexico ITRF2008 / UTM zone 12N\",GEOGCS[\"Mexic");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Merca");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",43.6666666666666");
+        "HORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "6],PARAMETER[\"central_meridian\",-68.5],PARAMETER[\"sca");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "le_factor\",0.9999],PARAMETER[\"false_easting\",300000],");
+        "entral_meridian\",-111],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"6483\"]]");
-    p = add_epsg_def (filter, first, last, 6484, "epsg", 6484,
-        "NAD83(2011) / Maine East (ftUS)");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"6367\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6368, "epsg", 6368,
+        "Mexico ITRF2008 / UTM zone 13N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF2008", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
+        "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +units=us");
-    add_proj4text (p, 2,
-        "-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Maine East (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"Mexico ITRF2008 / UTM zone 13N\",GEOGCS[\"Mexic");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transv");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",43.666");
+        "HORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "66666666666],PARAMETER[\"central_meridian\",-68.5],PARAM");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
+        "entral_meridian\",-105],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        ",984250.0000000002],PARAMETER[\"false_northing\",0],UNIT");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"6484\"]]");
-    p = add_epsg_def (filter, first, last, 6485, "epsg", 6485,
-        "NAD83(2011) / Maine West");
+        "THORITY[\"EPSG\",\"6368\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6369, "epsg", 6369,
+        "Mexico ITRF2008 / UTM zone 14N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF2008", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
+        "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +u");
-    add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Maine West\",GEOGCS[\"NAD83(2011)");
+        "PROJCS[\"Mexico ITRF2008 / UTM zone 14N\",GEOGCS[\"Mexic");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Merca");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",42.8333333333333");
+        "HORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "4],PARAMETER[\"central_meridian\",-70.16666666666667],PA");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",0.999966667],PARAMETER[\"false_");
+        "entral_meridian\",-99],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "easting\",900000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6485\"]]");
-    p = add_epsg_def (filter, first, last, 6486, "epsg", 6486,
-        "NAD83(2011) / Maine West (ftUS)");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"6369\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6370, "epsg", 6370,
+        "Mexico ITRF2008 / UTM zone 15N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF2008", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
+        "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +u");
-    add_proj4text (p, 2,
-        "nits=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Maine West (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"Mexico ITRF2008 / UTM zone 15N\",GEOGCS[\"Mexic");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transv");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",42.833");
+        "HORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "33333333334],PARAMETER[\"central_meridian\",-70.16666666");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "666667],PARAMETER[\"scale_factor\",0.999966667],PARAMETE");
+        "entral_meridian\",-93],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",2952750],PARAMETER[\"false_northing\"");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"6486\"]]");
-    p = add_epsg_def (filter, first, last, 6487, "epsg", 6487,
-        "NAD83(2011) / Maryland");
+        "HORITY[\"EPSG\",\"6370\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6371, "epsg", 6371,
+        "Mexico ITRF2008 / UTM zone 16N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF2008", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
+        "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m ");
-    add_proj4text (p, 2,
-        "+no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Maryland\",GEOGCS[\"NAD83(2011)\"");
+        "PROJCS[\"Mexico ITRF2008 / UTM zone 16N\",GEOGCS[\"Mexic");
     add_srs_wkt (p, 1,
-        ",DATUM[\"NAD83_National_Spatial_Reference_System_2011\",");
+        "o ITRF2008\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.45],");
+        "HORITY[\"EPSG\",\"6365\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_2\",38.3],PARAMETER[\"lati");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",37.66666666666666],PARAMETER[\"central_");
+        "entral_meridian\",-87],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "meridian\",-77],PARAMETER[\"false_easting\",400000],PARA");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"6487\"]]");
-    p = add_epsg_def (filter, first, last, 6488, "epsg", 6488,
-        "NAD83(2011) / Maryland (ftUS)");
+        "HORITY[\"EPSG\",\"6371\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6372, "epsg", 6372,
+        "Mexico ITRF2008 / LCC", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Mexico_ITRF2008", "Lambert_Conformal_Conic_2SP", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
+        "+proj=lcc +lat_1=17.5 +lat_2=29.5 +lat_0=12 +lon_0=-102 ");
     add_proj4text (p, 1,
-        "666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS8");
+        "+x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
     add_proj4text (p, 2,
-        "0 +units=us-ft +no_defs");
+        "+units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Maryland (ftUS)\",GEOGCS[\"NAD83(");
+        "PROJCS[\"Mexico ITRF2008 / LCC\",GEOGCS[\"Mexico ITRF200");
     add_srs_wkt (p, 1,
-        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
+        "8\",DATUM[\"Mexico_ITRF2008\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1120\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "PSG\",\"6365\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        ",39.45],PARAMETER[\"standard_parallel_2\",38.3],PARAMETE");
+        "P\"],PARAMETER[\"standard_parallel_1\",17.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "R[\"latitude_of_origin\",37.66666666666666],PARAMETER[\"");
+        "standard_parallel_2\",29.5],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 10,
-        "central_meridian\",-77],PARAMETER[\"false_easting\",1312");
+        "in\",12],PARAMETER[\"central_meridian\",-102],PARAMETER[");
     add_srs_wkt (p, 11,
-        "333.333],PARAMETER[\"false_northing\",0],UNIT[\"US surve");
+        "\"false_easting\",2500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 14,
-        "\"6488\"]]");
-    p = add_epsg_def (filter, first, last, 6489, "epsg", 6489,
-        "NAD83(2011) / Massachusetts Island");
+        "G\",\"6372\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6381, "epsg", 6381,
+        "UCS-2000 / Ukraine TM zone 7", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=300000 +y_0=0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "80 +units=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Massachusetts Island\",GEOGCS[\"N");
+        "PROJCS[\"UCS-2000 / Ukraine TM zone 7\",GEOGCS[\"UCS-200");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "0\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\",");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,-");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]],");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "_1\",41.48333333333333],PARAMETER[\"standard_parallel_2\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        ",41.28333333333333],PARAMETER[\"latitude_of_origin\",41]");
+        "\"central_meridian\",21],PARAMETER[\"scale_factor\",1],P");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-70.5],PARAMETER[\"false");
+        "ARAMETER[\"false_easting\",300000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6489\"]]");
-    p = add_epsg_def (filter, first, last, 6490, "epsg", 6490,
-        "NAD83(2011) / Massachusetts Island (ftUS)");
+        "\"6381\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6382, "epsg", 6382,
+        "UCS-2000 / Ukraine TM zone 8", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=300000 +y_0=0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        " +ellps=GRS80 +units=us-ft +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Massachusetts Island (ftUS)\",GEO");
+        "PROJCS[\"UCS-2000 / Ukraine TM zone 8\",GEOGCS[\"UCS-200");
     add_srs_wkt (p, 1,
-        "GCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refer");
+        "0\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\",");
     add_srs_wkt (p, 2,
-        "ence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,-");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",");
+        "141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]],");
     add_srs_wkt (p, 4,
-        "\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTIO");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "parallel_1\",41.48333333333333],PARAMETER[\"standard_par");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "allel_2\",41.28333333333333],PARAMETER[\"latitude_of_ori");
+        "\"central_meridian\",24],PARAMETER[\"scale_factor\",1],P");
     add_srs_wkt (p, 10,
-        "gin\",41],PARAMETER[\"central_meridian\",-70.5],PARAMETE");
+        "ARAMETER[\"false_easting\",300000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",1640416.667],PARAMETER[\"false_north");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
+        "],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
-    add_srs_wkt (p, 14,
-        "RTH],AUTHORITY[\"EPSG\",\"6490\"]]");
-    p = add_epsg_def (filter, first, last, 6491, "epsg", 6491,
-        "NAD83(2011) / Massachusetts Mainland");
+        "\"6382\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6383, "epsg", 6383,
+        "UCS-2000 / Ukraine TM zone 9", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=300000 +y_0=0 +");
     add_proj4text (p, 1,
-        "667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellp");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "s=GRS80 +units=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Massachusetts Mainland\",GEOGCS[\"");
+        "PROJCS[\"UCS-2000 / Ukraine TM zone 9\",GEOGCS[\"UCS-200");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "0\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\",");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,-");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]],");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "el_1\",42.68333333333333],PARAMETER[\"standard_parallel_");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "2\",41.71666666666667],PARAMETER[\"latitude_of_origin\",");
+        "\"central_meridian\",27],PARAMETER[\"scale_factor\",1],P");
     add_srs_wkt (p, 10,
-        "41],PARAMETER[\"central_meridian\",-71.5],PARAMETER[\"fa");
+        "ARAMETER[\"false_easting\",300000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "lse_easting\",200000],PARAMETER[\"false_northing\",75000");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6491\"]");
-    add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 6492, "epsg", 6492,
-        "NAD83(2011) / Massachusetts Mainland (ftUS)");
+        "\"6383\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6384, "epsg", 6384,
+        "UCS-2000 / Ukraine TM zone 10", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=300000 +y_0=0 +");
     add_proj4text (p, 1,
-        "667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=7");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "50000 +ellps=GRS80 +units=us-ft +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Massachusetts Mainland (ftUS)\",G");
+        "PROJCS[\"UCS-2000 / Ukraine TM zone 10\",GEOGCS[\"UCS-20");
     add_srs_wkt (p, 1,
-        "EOGCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Ref");
+        "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "erence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\"");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        ",\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTI");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "_parallel_1\",42.68333333333333],PARAMETER[\"standard_pa");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "rallel_2\",41.71666666666667],PARAMETER[\"latitude_of_or");
+        "[\"central_meridian\",30],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "igin\",41],PARAMETER[\"central_meridian\",-71.5],PARAMET");
+        "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",656166.667],PARAMETER[\"false_north");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "ing\",2460625],UNIT[\"US survey foot\",0.304800609601219");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
-    add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6492\"]]");
-    p = add_epsg_def (filter, first, last, 6493, "epsg", 6493,
-        "NAD83(2011) / Michigan Central");
+        ",\"6384\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6385, "epsg", 6385,
+        "UCS-2000 / Ukraine TM zone 11", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
+        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=300000 +y_0=0 +");
     add_proj4text (p, 1,
-        ".31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Michigan Central\",GEOGCS[\"NAD83");
+        "PROJCS[\"UCS-2000 / Ukraine TM zone 11\",GEOGCS[\"UCS-20");
     add_srs_wkt (p, 1,
-        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
+        "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        ",45.7],PARAMETER[\"standard_parallel_2\",44.183333333333");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "33],PARAMETER[\"latitude_of_origin\",43.31666666666667],");
+        "[\"central_meridian\",33],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-84.36666666666666],PARAM");
+        "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "ETER[\"false_easting\",6000000],PARAMETER[\"false_northi");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
-    add_srs_wkt (p, 14,
-        "493\"]]");
-    p = add_epsg_def (filter, first, last, 6494, "epsg", 6494,
-        "NAD83(2011) / Michigan Central (ft)");
+        ",\"6385\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6386, "epsg", 6386,
+        "UCS-2000 / Ukraine TM zone 12", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
+        "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=300000 +y_0=0 +");
     add_proj4text (p, 1,
-        ".31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.9");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "99976001 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Michigan Central (ft)\",GEOGCS[\"");
+        "PROJCS[\"UCS-2000 / Ukraine TM zone 12\",GEOGCS[\"UCS-20");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "el_1\",45.7],PARAMETER[\"standard_parallel_2\",44.183333");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "33333333],PARAMETER[\"latitude_of_origin\",43.3166666666");
+        "[\"central_meridian\",36],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "6667],PARAMETER[\"central_meridian\",-84.36666666666666]");
+        "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_easting\",19685039.37],PARAMETER[\"fa");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "lse_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\"");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        ",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
-    add_srs_wkt (p, 14,
-        "[\"EPSG\",\"6494\"]]");
-    p = add_epsg_def (filter, first, last, 6495, "epsg", 6495,
-        "NAD83(2011) / Michigan North");
+        ",\"6386\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6387, "epsg", 6387,
+        "UCS-2000 / Ukraine TM zone 13", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Ukraine_2000", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=300000 +y_0=0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_");
+        "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units");
     add_proj4text (p, 2,
-        "0=0 +ellps=GRS80 +units=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Michigan North\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"UCS-2000 / Ukraine TM zone 13\",GEOGCS[\"UCS-20");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\"");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
+        ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "7.08333333333334],PARAMETER[\"standard_parallel_2\",45.4");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 9,
-        "8333333333333],PARAMETER[\"latitude_of_origin\",44.78333");
+        "[\"central_meridian\",39],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 10,
-        "333333333],PARAMETER[\"central_meridian\",-87],PARAMETER");
+        "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",8000000],PARAMETER[\"false_northing\"");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6495\"");
-    add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 6496, "epsg", 6496,
-        "NAD83(2011) / Michigan North (ft)");
+        ",\"6387\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6391, "epsg", 6391,
+        "Cayman Islands National Grid 2011", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Cayman_Islands_Geodetic_Datum_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
+        "+proj=lcc +lat_1=19.33333333333333 +lat_2=19.7 +lat_0=19");
     add_proj4text (p, 1,
-        "333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999");
+        ".33333333333333 +lon_0=-80.56666666666666 +x_0=899160 +y");
     add_proj4text (p, 2,
-        "968001 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
+        "_0=579120 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Michigan North (ft)\",GEOGCS[\"NA");
+        "PROJCS[\"Cayman Islands National Grid 2011\",GEOGCS[\"CI");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "GD11\",DATUM[\"Cayman_Islands_Geodetic_Datum_2011\",SPHE");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "\"1100\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"6135\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "_1\",47.08333333333334],PARAMETER[\"standard_parallel_2\"");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        ",45.48333333333333],PARAMETER[\"latitude_of_origin\",44.");
+        "el_1\",19.33333333333333],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "78333333333333],PARAMETER[\"central_meridian\",-87],PARA");
+        "2\",19.7],PARAMETER[\"latitude_of_origin\",19.3333333333");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",26246719.16],PARAMETER[\"false_n");
+        "3333],PARAMETER[\"central_meridian\",-80.56666666666666]");
     add_srs_wkt (p, 12,
-        "orthing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9");
+        ",PARAMETER[\"false_easting\",2950000],PARAMETER[\"false_");
     add_srs_wkt (p, 13,
-        "002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "northing\",1900000],UNIT[\"foot\",0.3048,AUTHORITY[\"EPS");
     add_srs_wkt (p, 14,
-        "PSG\",\"6496\"]]");
-    p = add_epsg_def (filter, first, last, 6497, "epsg", 6497,
-        "NAD83(2011) / Michigan Oblique Mercator");
+        "G\",\"9002\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+    add_srs_wkt (p, 15,
+        "NORTH],AUTHORITY[\"EPSG\",\"6391\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6393, "epsg", 6393,
+        "NAD83(2011) / Alaska Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=33");
+        "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0");
     add_proj4text (p, 1,
-        "7.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +no");
-    add_proj4text (p, 2,
-        "_uoff +gamma=337.25556 +ellps=GRS80 +units=m +no_defs");
+        "=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Michigan Oblique Mercator\",GEOGC");
+        "PROJCS[\"NAD83(2011) / Alaska Albers\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "\"Hotine_Oblique_Mercator\"],PARAMETER[\"latitude_of_cen");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Albers_Conic_Equa");
     add_srs_wkt (p, 8,
-        "ter\",45.30916666666666],PARAMETER[\"longitude_of_center");
+        "l_Area\"],PARAMETER[\"standard_parallel_1\",55],PARAMETE");
     add_srs_wkt (p, 9,
-        "\",-86],PARAMETER[\"azimuth\",337.25556],PARAMETER[\"rec");
+        "R[\"standard_parallel_2\",65],PARAMETER[\"latitude_of_ce");
     add_srs_wkt (p, 10,
-        "tified_grid_angle\",337.25556],PARAMETER[\"scale_factor\"");
+        "nter\",50],PARAMETER[\"longitude_of_center\",-154],PARAM");
     add_srs_wkt (p, 11,
-        ",0.9996],PARAMETER[\"false_easting\",2546731.496],PARAME");
+        "ETER[\"false_easting\",0],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",-4354009.816],UNIT[\"metre\",1,AU");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6393\"]");
     add_srs_wkt (p, 14,
-        "NORTH],AUTHORITY[\"EPSG\",\"6497\"]]");
-    p = add_epsg_def (filter, first, last, 6498, "epsg", 6498,
-        "NAD83(2011) / Michigan South");
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6394, "epsg", 6394,
+        "NAD83(2011) / Alaska zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Hotine_Oblique_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
+        "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=32");
     add_proj4text (p, 1,
-        ".5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=");
+        "3.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +no");
     add_proj4text (p, 2,
-        "GRS80 +units=m +no_defs");
+        "_uoff +gamma=323.1301023611111 +ellps=GRS80 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Michigan South\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Alaska zone 1\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Hotine_Oblique_Me");
     add_srs_wkt (p, 8,
-        "3.66666666666666],PARAMETER[\"standard_parallel_2\",42.1");
+        "rcator\"],PARAMETER[\"latitude_of_center\",57],PARAMETER");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",41.5],PARAMETER[\"cen");
+        "[\"longitude_of_center\",-133.6666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "tral_meridian\",-84.36666666666666],PARAMETER[\"false_ea");
+        "azimuth\",323.1301023611111],PARAMETER[\"rectified_grid_");
     add_srs_wkt (p, 11,
-        "sting\",4000000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "angle\",323.1301023611111],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "9999],PARAMETER[\"false_easting\",5000000],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6498\"]]");
-    p = add_epsg_def (filter, first, last, 6499, "epsg", 6499,
-        "NAD83(2011) / Michigan South (ft)");
+        "alse_northing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"6394\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6395, "epsg", 6395,
+        "NAD83(2011) / Alaska zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
+        "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        ".5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 ");
-    add_proj4text (p, 2,
-        "+ellps=GRS80 +units=ft +no_defs");
+        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Michigan South (ft)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Alaska zone 2\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "_1\",43.66666666666666],PARAMETER[\"standard_parallel_2\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ",42.1],PARAMETER[\"latitude_of_origin\",41.5],PARAMETER[");
+        "entral_meridian\",-142],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-84.36666666666666],PARAMETER[\"fal");
+        "9],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "se_easting\",13123359.58],PARAMETER[\"false_northing\",0");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXI");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"649");
-    add_srs_wkt (p, 14,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 6500, "epsg", 6500,
-        "NAD83(2011) / Minnesota Central");
+        "G\",\"6395\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6396, "epsg", 6396,
+        "NAD83(2011) / Alaska zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
+        "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        "5 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +un");
-    add_proj4text (p, 2,
-        "its=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Minnesota Central\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / Alaska zone 3\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "\",47.05],PARAMETER[\"standard_parallel_2\",45.616666666");
+        "or\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "66667],PARAMETER[\"latitude_of_origin\",45],PARAMETER[\"");
+        "entral_meridian\",-146],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "central_meridian\",-94.25],PARAMETER[\"false_easting\",8");
+        "9],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "00000],PARAMETER[\"false_northing\",100000],UNIT[\"metre");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6500\"]]");
-    p = add_epsg_def (filter, first, last, 6501, "epsg", 6501,
-        "NAD83(2011) / Minnesota Central (ftUS)");
+        "G\",\"6396\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6397, "epsg", 6397,
+        "NAD83(2011) / Alaska zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
+        "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        "5 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.999989");
-    add_proj4text (p, 2,
-        "83997 +ellps=GRS80 +units=us-ft +no_defs");
+        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Minnesota Central (ftUS)\",GEOGCS");
+        "PROJCS[\"NAD83(2011) / Alaska zone 4\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "llel_1\",47.05],PARAMETER[\"standard_parallel_2\",45.616");
+        "or\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "66666666667],PARAMETER[\"latitude_of_origin\",45],PARAME");
+        "entral_meridian\",-150],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-94.25],PARAMETER[\"false_easti");
+        "9],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "ng\",2624666.6667],PARAMETER[\"false_northing\",328083.3");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "333],UNIT[\"US survey foot\",0.3048006096012192,AUTHORIT");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "Y[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
-    add_srs_wkt (p, 14,
-        ",AUTHORITY[\"EPSG\",\"6501\"]]");
-    p = add_epsg_def (filter, first, last, 6502, "epsg", 6502,
-        "NAD83(2011) / Minnesota North");
+        "G\",\"6397\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6398, "epsg", 6398,
+        "NAD83(2011) / Alaska zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
+        "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y");
-    add_proj4text (p, 2,
-        "_0=100000 +ellps=GRS80 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Minnesota North\",GEOGCS[\"NAD83(");
+        "PROJCS[\"NAD83(2011) / Alaska zone 5\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        ",48.63333333333333],PARAMETER[\"standard_parallel_2\",47");
+        "or\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ".03333333333333],PARAMETER[\"latitude_of_origin\",46.5],");
+        "entral_meridian\",-154],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-93.1],PARAMETER[\"false_");
+        "9],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "easting\",800000],PARAMETER[\"false_northing\",100000],U");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6502\"]]");
-    p = add_epsg_def (filter, first, last, 6503, "epsg", 6503,
-        "NAD83(2011) / Minnesota North (ftUS)");
+        "G\",\"6398\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6399, "epsg", 6399,
+        "NAD83(2011) / Alaska zone 6", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
+        "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
-    add_proj4text (p, 2,
-        "00101599 +y_0=99999.99998983997 +ellps=GRS80 +units=us-f");
-    add_proj4text (p, 3,
-        "t +no_defs");
+        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Minnesota North (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Alaska zone 6\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "el_1\",48.63333333333333],PARAMETER[\"standard_parallel_");
+        "or\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "2\",47.03333333333333],PARAMETER[\"latitude_of_origin\",");
+        "entral_meridian\",-158],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "46.5],PARAMETER[\"central_meridian\",-93.1],PARAMETER[\"");
+        "9],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "false_easting\",2624666.6667],PARAMETER[\"false_northing");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "\",328083.3333],UNIT[\"US survey foot\",0.30480060960121");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
-    add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6503\"]]");
-    p = add_epsg_def (filter, first, last, 6504, "epsg", 6504,
-        "NAD83(2011) / Minnesota South");
+        "G\",\"6399\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6400, "epsg", 6400,
+        "NAD83(2011) / Alaska zone 7", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
+        "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        "333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=");
-    add_proj4text (p, 2,
-        "GRS80 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Minnesota South\",GEOGCS[\"NAD83(");
+        "PROJCS[\"NAD83(2011) / Alaska zone 7\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        ",45.21666666666667],PARAMETER[\"standard_parallel_2\",43");
+        "or\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ".78333333333333],PARAMETER[\"latitude_of_origin\",43],PA");
+        "entral_meridian\",-162],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-94],PARAMETER[\"false_east");
+        "9],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "ing\",800000],PARAMETER[\"false_northing\",100000],UNIT[");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6504\"]]");
-    p = add_epsg_def (filter, first, last, 6505, "epsg", 6505,
-        "NAD83(2011) / Minnesota South (ftUS)");
+        "G\",\"6400\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6401, "epsg", 6401,
+        "NAD83(2011) / Alaska zone 8", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
+        "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=999");
-    add_proj4text (p, 2,
-        "99.99998983997 +ellps=GRS80 +units=us-ft +no_defs");
+        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Minnesota South (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Alaska zone 8\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "el_1\",45.21666666666667],PARAMETER[\"standard_parallel_");
+        "or\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "2\",43.78333333333333],PARAMETER[\"latitude_of_origin\",");
+        "entral_meridian\",-166],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        "43],PARAMETER[\"central_meridian\",-94],PARAMETER[\"fals");
+        "9],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "e_easting\",2624666.6667],PARAMETER[\"false_northing\",3");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "28083.3333],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
-    add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6505\"]]");
-    p = add_epsg_def (filter, first, last, 6506, "epsg", 6506,
-        "NAD83(2011) / Mississippi East");
+        "G\",\"6401\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6402, "epsg", 6402,
+        "NAD83(2011) / Alaska zone 9", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
+        "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        "9995 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Mississippi East\",GEOGCS[\"NAD83");
+        "PROJCS[\"NAD83(2011) / Alaska zone 9\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transve");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",29.5],P");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-88.83333333333333],PARAME");
+        "or\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",0.99995],PARAMETER[\"false_easting\"");
+        "entral_meridian\",-170],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 10,
-        ",300000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "9],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6506\"]]");
-    p = add_epsg_def (filter, first, last, 6507, "epsg", 6507,
-        "NAD83(2011) / Mississippi East (ftUS)");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"6402\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6403, "epsg", 6403,
+        "NAD83(2011) / Alaska zone 10", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
+        "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333");
     add_proj4text (p, 1,
-        "9995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +units=u");
+        "334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Mississippi East (ftUS)\",GEOGCS[");
+        "PROJCS[\"NAD83(2011) / Alaska zone 10\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"T");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "9.5],PARAMETER[\"central_meridian\",-88.83333333333333],");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",53.8333");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.99995],PARAMETER[\"false_ea");
+        "3333333334],PARAMETER[\"standard_parallel_2\",51.8333333");
     add_srs_wkt (p, 10,
-        "sting\",984250.0000000002],PARAMETER[\"false_northing\",");
+        "3333334],PARAMETER[\"latitude_of_origin\",51],PARAMETER[");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "\"central_meridian\",-176],PARAMETER[\"false_easting\",1");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "000000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"6507\"]]");
-    p = add_epsg_def (filter, first, last, 6508, "epsg", 6508,
-        "NAD83(2011) / Mississippi TM");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"6403\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6404, "epsg", 6404,
+        "NAD83(2011) / Arizona Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=32.5 +lon_0=-89.75 +k=0.9998335 +x_0=");
+        "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
     add_proj4text (p, 1,
-        "500000 +y_0=1300000 +ellps=GRS80 +units=m +no_defs");
+        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Mississippi TM\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Arizona Central\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",32.5],PARA");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-89.75],PARAMETER[\"scale_fac");
+        "cator\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[");
     add_srs_wkt (p, 9,
-        "tor\",0.9998335],PARAMETER[\"false_easting\",500000],PAR");
+        "\"central_meridian\",-111.9166666666667],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",1300000],UNIT[\"metre\",1,AUTH");
+        "le_factor\",0.9999],PARAMETER[\"false_easting\",213360],");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "RTH],AUTHORITY[\"EPSG\",\"6508\"]]");
-    p = add_epsg_def (filter, first, last, 6509, "epsg", 6509,
-        "NAD83(2011) / Mississippi West");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"6404\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6405, "epsg", 6405,
+        "NAD83(2011) / Arizona Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
+        "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
     add_proj4text (p, 1,
-        "9995 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Mississippi West\",GEOGCS[\"NAD83");
+        "PROJCS[\"NAD83(2011) / Arizona Central (ft)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transve");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",29.5],P");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-90.33333333333333],PARAME");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARAME");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",0.99995],PARAMETER[\"false_easting\"");
+        "TER[\"central_meridian\",-111.9166666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",700000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "scale_factor\",0.9999],PARAMETER[\"false_easting\",70000");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6509\"]]");
-    p = add_epsg_def (filter, first, last, 6510, "epsg", 6510,
-        "NAD83(2011) / Mississippi West (ftUS)");
+        "AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"6405\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6406, "epsg", 6406,
+        "NAD83(2011) / Arizona East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
+        "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "9995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +units=u");
-    add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Mississippi West (ftUS)\",GEOGCS[");
+        "PROJCS[\"NAD83(2011) / Arizona East\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"T");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "9.5],PARAMETER[\"central_meridian\",-90.33333333333333],");
+        "or\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.99995],PARAMETER[\"false_ea");
+        "entral_meridian\",-110.1666666666667],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "sting\",2296583.333],PARAMETER[\"false_northing\",0],UNI");
+        "factor\",0.9999],PARAMETER[\"false_easting\",213360],PAR");
     add_srs_wkt (p, 11,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6510\"]]");
-    p = add_epsg_def (filter, first, last, 6511, "epsg", 6511,
-        "NAD83(2011) / Missouri Central");
+        "UTHORITY[\"EPSG\",\"6406\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6407, "epsg", 6407,
+        "NAD83(2011) / Arizona East (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9");
+        "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "99933333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_de");
-    add_proj4text (p, 2,
-        "fs");
+        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Missouri Central\",GEOGCS[\"NAD83");
+        "PROJCS[\"NAD83(2011) / Arizona East (ft)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
-    add_srs_wkt (p, 2,
-        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
-    add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
-    add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
-    add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
-    add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transve");
-    add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",35.8333");
-    add_srs_wkt (p, 8,
-        "3333333334],PARAMETER[\"central_meridian\",-92.5],PARAME");
-    add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",0.999933333],PARAMETER[\"false_east");
-    add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
-    add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
-    add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6511\"]]");
-    p = add_epsg_def (filter, first, last, 6512, "epsg", 6512,
-        "NAD83(2011) / Missouri East");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9");
-    add_proj4text (p, 1,
-        "99933333 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_de");
-    add_proj4text (p, 2,
-        "fs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Missouri East\",GEOGCS[\"NAD83(20");
-    add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",35.83333333");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "333334],PARAMETER[\"central_meridian\",-90.5],PARAMETER[");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",31],PARAMETE");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999933333],PARAMETER[\"false_easting\"");
+        "R[\"central_meridian\",-110.1666666666667],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        ",250000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "cale_factor\",0.9999],PARAMETER[\"false_easting\",700000");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,A");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6512\"]]");
-    p = add_epsg_def (filter, first, last, 6513, "epsg", 6513,
-        "NAD83(2011) / Missouri West");
+        "UTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"6407\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6408, "epsg", 6408,
+        "NAD83(2011) / Arizona West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9");
+        "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
     add_proj4text (p, 1,
-        "99941177 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m +no_de");
-    add_proj4text (p, 2,
-        "fs");
+        "=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Missouri West\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"NAD83(2011) / Arizona West\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",36.16666666");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "666666],PARAMETER[\"central_meridian\",-94.5],PARAMETER[");
+        "or\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999941177],PARAMETER[\"false_easting\"");
+        "entral_meridian\",-113.75],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        ",850000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "999933333],PARAMETER[\"false_easting\",213360],PARAMETER");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6513\"]]");
-    p = add_epsg_def (filter, first, last, 6514, "epsg", 6514,
-        "NAD83(2011) / Montana");
-    add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
-    add_proj4text (p, 1,
-        " +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Montana\",GEOGCS[\"NAD83(2011)\",");
-    add_srs_wkt (p, 1,
-        "DATUM[\"NAD83_National_Spatial_Reference_System_2011\",S");
-    add_srs_wkt (p, 2,
-        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
-    add_srs_wkt (p, 3,
-        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
-    add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
-    add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
-    add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
-    add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",49],PAR");
-    add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",45],PARAMETER[\"latitude_");
-    add_srs_wkt (p, 9,
-        "of_origin\",44.25],PARAMETER[\"central_meridian\",-109.5");
-    add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",600000],PARAMETER[\"false_");
-    add_srs_wkt (p, 11,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
-    add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
     add_srs_wkt (p, 13,
-        "\",\"6514\"]]");
-    p = add_epsg_def (filter, first, last, 6515, "epsg", 6515,
-        "NAD83(2011) / Montana (ft)");
+        "TY[\"EPSG\",\"6408\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6409, "epsg", 6409,
+        "NAD83(2011) / Arizona West (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
+        "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
     add_proj4text (p, 1,
-        " +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +units=ft +no_d");
-    add_proj4text (p, 2,
-        "efs");
+        "=213360 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Montana (ft)\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / Arizona West (ft)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",49");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",45],PARAMETER[\"lati");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",31],PARAMETE");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",44.25],PARAMETER[\"central_meridian\",-");
+        "R[\"central_meridian\",-113.75],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "109.5],PARAMETER[\"false_easting\",1968503.937],PARAMETE");
+        "\",0.999933333],PARAMETER[\"false_easting\",700000],PARA");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"");
+        "METER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORI");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "TY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"6515\"]]");
-    p = add_epsg_def (filter, first, last, 6516, "epsg", 6516,
-        "NAD83(2011) / Nebraska");
+        "],AUTHORITY[\"EPSG\",\"6409\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6410, "epsg", 6410,
+        "NAD83(2011) / Arkansas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
+        "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
     add_proj4text (p, 1,
-        "lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_");
+        "333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0");
     add_proj4text (p, 2,
-        "defs");
+        "=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Nebraska\",GEOGCS[\"NAD83(2011)\"");
+        "PROJCS[\"NAD83(2011) / Arkansas North\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        ",DATUM[\"NAD83_National_Spatial_Reference_System_2011\",");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43],PAR");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",40],PARAMETER[\"latitude_");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.2333");
     add_srs_wkt (p, 9,
-        "of_origin\",39.83333333333334],PARAMETER[\"central_merid");
+        "3333333333],PARAMETER[\"standard_parallel_2\",34.9333333");
     add_srs_wkt (p, 10,
-        "ian\",-100],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "3333333],PARAMETER[\"latitude_of_origin\",34.33333333333");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "334],PARAMETER[\"central_meridian\",-92],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "se_easting\",400000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"6516\"]]");
-    p = add_epsg_def (filter, first, last, 6517, "epsg", 6517,
-        "NAD83(2011) / Nebraska (ftUS)");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+    add_srs_wkt (p, 14,
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6410\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6411, "epsg", 6411,
+        "NAD83(2011) / Arkansas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
+        "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
     add_proj4text (p, 1,
-        "lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +tow");
+        "333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.9999");
     add_proj4text (p, 2,
-        "gs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
+        "8984 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Nebraska (ftUS)\",GEOGCS[\"NAD83(");
+        "PROJCS[\"NAD83(2011) / Arkansas North (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "NSRS2007)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "tem_2007\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTH");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"475");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_1\",43],PARAMETER[\"standard_par");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "allel_2\",40],PARAMETER[\"latitude_of_origin\",39.833333");
+        ",36.23333333333333],PARAMETER[\"standard_parallel_2\",34");
     add_srs_wkt (p, 10,
-        "33333334],PARAMETER[\"central_meridian\",-100],PARAMETER");
+        ".93333333333333],PARAMETER[\"latitude_of_origin\",34.333");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",1640416.6667],PARAMETER[\"false_north");
+        "33333333334],PARAMETER[\"central_meridian\",-92],PARAMET");
     add_srs_wkt (p, 12,
-        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
+        "ER[\"false_easting\",1312333.3333],PARAMETER[\"false_nor");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 14,
-        "RTH],AUTHORITY[\"EPSG\",\"6517\"]]");
-    p = add_epsg_def (filter, first, last, 6518, "epsg", 6518,
-        "NAD83(2011) / Nevada Central");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 15,
+        "NORTH],AUTHORITY[\"EPSG\",\"6411\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6412, "epsg", 6412,
+        "NAD83(2011) / Arkansas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
+        "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
     add_proj4text (p, 1,
-        "9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m +no_");
+        ".66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellp");
     add_proj4text (p, 2,
-        "defs");
+        "s=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Nevada Central\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Arkansas South\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
         "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
@@ -1965,29 +2021,36 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",34.75],PAR");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",-116.6666666666667],PARAMETE");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",34.7666");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",5");
+        "6666666667],PARAMETER[\"standard_parallel_2\",33.3],PARA");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",6000000],UNIT[\"metr");
+        "METER[\"latitude_of_origin\",32.66666666666666],PARAMETE");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "R[\"central_meridian\",-92],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6518\"]]");
-    p = add_epsg_def (filter, first, last, 6519, "epsg", 6519,
-        "NAD83(2011) / Nevada Central (ftUS)");
+        "400000],PARAMETER[\"false_northing\",400000],UNIT[\"metr");
+    add_srs_wkt (p, 13,
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6412\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6413, "epsg", 6413,
+        "NAD83(2011) / Arkansas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
+        "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
     add_proj4text (p, 1,
-        "9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +uni");
+        ".66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399");
     add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        "999.99998984 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Nevada Central (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Arkansas South (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
         "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
@@ -1999,273 +2062,333 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",34");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        ".75],PARAMETER[\"central_meridian\",-116.6666666666667],");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
+        ",34.76666666666667],PARAMETER[\"standard_parallel_2\",33");
     add_srs_wkt (p, 10,
-        "ting\",1640416.6667],PARAMETER[\"false_northing\",196850");
+        ".3],PARAMETER[\"latitude_of_origin\",32.66666666666666],");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "PARAMETER[\"central_meridian\",-92],PARAMETER[\"false_ea");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "sting\",1312333.3333],PARAMETER[\"false_northing\",13123");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"6519\"]]");
-    p = add_epsg_def (filter, first, last, 6520, "epsg", 6520,
-        "NAD83(2011) / Nevada East");
+        "33.3333],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
+    add_srs_wkt (p, 14,
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"6413\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6414, "epsg", 6414,
+        "NAD83(2011) / California Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
+        "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_");
     add_proj4text (p, 1,
-        "9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "0=0 +y_0=-4000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Nevada East\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"NAD83(2011) / California Albers\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",34.75],PARAM");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Albers_Conic");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-115.5833333333333],PARAMETER[");
+        "_Equal_Area\"],PARAMETER[\"standard_parallel_1\",34],PAR");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",200");
+        "AMETER[\"standard_parallel_2\",40.5],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",8000000],UNIT[\"metre\"");
+        "e_of_center\",0],PARAMETER[\"longitude_of_center\",-120]");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        ",PARAMETER[\"false_easting\",0],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6520\"]]");
-    p = add_epsg_def (filter, first, last, 6521, "epsg", 6521,
-        "NAD83(2011) / Nevada East (ftUS)");
+        "ng\",-4000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 13,
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"6414\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6415, "epsg", 6415,
+        "NAD83(2011) / California zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
+        "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
     add_proj4text (p, 1,
-        "9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=");
+        "3333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellp");
     add_proj4text (p, 2,
-        "GRS80 +units=us-ft +no_defs");
+        "s=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Nevada East (ftUS)\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(2011) / California zone 1\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Trans");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",34.75");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-115.5833333333333],PAR");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eastin");
+        "66666666666666],PARAMETER[\"standard_parallel_2\",40],PA");
     add_srs_wkt (p, 10,
-        "g\",656166.6667],PARAMETER[\"false_northing\",26246666.6");
+        "RAMETER[\"latitude_of_origin\",39.33333333333334],PARAME");
     add_srs_wkt (p, 11,
-        "6670001],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
+        "TER[\"central_meridian\",-122],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "\",2000000],PARAMETER[\"false_northing\",500000],UNIT[\"");
     add_srs_wkt (p, 13,
-        "RTH],AUTHORITY[\"EPSG\",\"6521\"]]");
-    p = add_epsg_def (filter, first, last, 6522, "epsg", 6522,
-        "NAD83(2011) / Nevada West");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6415\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6416, "epsg", 6416,
+        "NAD83(2011) / California zone 1 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
+        "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
     add_proj4text (p, 1,
-        "9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m +no_");
+        "3333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=5000");
     add_proj4text (p, 2,
-        "defs");
+        "00.0001016001 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Nevada West\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"NAD83(2011) / California zone 1 (ftUS)\",GEOGCS");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",34.75],PARAM");
+        ",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-118.5833333333333],PARAMETER[");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",800");
+        "\",41.66666666666666],PARAMETER[\"standard_parallel_2\",");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",4000000],UNIT[\"metre\"");
+        "40],PARAMETER[\"latitude_of_origin\",39.33333333333334],");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "PARAMETER[\"central_meridian\",-122],PARAMETER[\"false_e");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6522\"]]");
-    p = add_epsg_def (filter, first, last, 6523, "epsg", 6523,
-        "NAD83(2011) / Nevada West (ftUS)");
+        "asting\",6561666.667],PARAMETER[\"false_northing\",16404");
+    add_srs_wkt (p, 13,
+        "16.667],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 15,
+        "TH],AUTHORITY[\"EPSG\",\"6416\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6417, "epsg", 6417,
+        "NAD83(2011) / California zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
+        "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
     add_proj4text (p, 1,
-        "9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps");
+        "334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y");
     add_proj4text (p, 2,
-        "=GRS80 +units=us-ft +no_defs");
+        "_0=500000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Nevada West (ftUS)\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(2011) / California zone 2\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Trans");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",34.75");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-118.5833333333333],PAR");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eastin");
+        "83333333333334],PARAMETER[\"standard_parallel_2\",38.333");
     add_srs_wkt (p, 10,
-        "g\",2624666.6667],PARAMETER[\"false_northing\",13123333.");
+        "33333333334],PARAMETER[\"latitude_of_origin\",37.6666666");
     add_srs_wkt (p, 11,
-        "3333],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+        "6666666],PARAMETER[\"central_meridian\",-122],PARAMETER[");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "\"false_easting\",2000000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "],AUTHORITY[\"EPSG\",\"6523\"]]");
-    p = add_epsg_def (filter, first, last, 6524, "epsg", 6524,
-        "NAD83(2011) / New Hampshire");
+        "500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
+    add_srs_wkt (p, 15,
+        "417\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6418, "epsg", 6418,
+        "NAD83(2011) / California zone 2 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
+        "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
     add_proj4text (p, 1,
-        "99966667 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_de");
+        "334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.00");
     add_proj4text (p, 2,
-        "fs");
+        "01016 +y_0=500000.0001016001 +ellps=GRS80 +units=us-ft +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New Hampshire\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"NAD83(2011) / California zone 2 (ftUS)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",42.5],PARAM");
+        ",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-71.66666666666667],PARAMETER[");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999966667],PARAMETER[\"false_easting\"");
+        "\",39.83333333333334],PARAMETER[\"standard_parallel_2\",");
     add_srs_wkt (p, 10,
-        ",300000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "38.33333333333334],PARAMETER[\"latitude_of_origin\",37.6");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "6666666666666],PARAMETER[\"central_meridian\",-122],PARA");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6524\"]]");
-    p = add_epsg_def (filter, first, last, 6525, "epsg", 6525,
-        "NAD83(2011) / New Hampshire (ftUS)");
+        "METER[\"false_easting\",6561666.667],PARAMETER[\"false_n");
+    add_srs_wkt (p, 13,
+        "orthing\",1640416.667],UNIT[\"US survey foot\",0.3048006");
+    add_srs_wkt (p, 14,
+        "096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 15,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6418\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6419, "epsg", 6419,
+        "NAD83(2011) / California zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
+        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
     add_proj4text (p, 1,
-        "99966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +uni");
+        "667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +");
     add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        "ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New Hampshire (ftUS)\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / California zone 3\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",42.5");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-71.66666666666667],PAR");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.999966667],PARAMETER[\"false_e");
+        "43333333333333],PARAMETER[\"standard_parallel_2\",37.066");
     add_srs_wkt (p, 10,
-        "asting\",984250.0000000002],PARAMETER[\"false_northing\"");
+        "66666666667],PARAMETER[\"latitude_of_origin\",36.5],PARA");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "METER[\"central_meridian\",-120.5],PARAMETER[\"false_eas");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "ting\",2000000],PARAMETER[\"false_northing\",500000],UNI");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"6525\"]]");
-    p = add_epsg_def (filter, first, last, 6526, "epsg", 6526,
-        "NAD83(2011) / New Jersey");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+    add_srs_wkt (p, 14,
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6419\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6420, "epsg", 6420,
+        "NAD83(2011) / California zone 3 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
+        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
     add_proj4text (p, 1,
-        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=");
+    add_proj4text (p, 2,
+        "500000.0001016001 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New Jersey\",GEOGCS[\"NAD83(2011)");
+        "PROJCS[\"NAD83(2011) / California zone 3 (ftUS)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Merca");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",38.8333333333333");
+        ",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "4],PARAMETER[\"central_meridian\",-74.5],PARAMETER[\"sca");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "le_factor\",0.9999],PARAMETER[\"false_easting\",150000],");
+        "\",38.43333333333333],PARAMETER[\"standard_parallel_2\",");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "37.06666666666667],PARAMETER[\"latitude_of_origin\",36.5");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"6526\"]]");
-    p = add_epsg_def (filter, first, last, 6527, "epsg", 6527,
-        "NAD83(2011) / New Jersey (ftUS)");
+        "se_easting\",6561666.667],PARAMETER[\"false_northing\",1");
+    add_srs_wkt (p, 13,
+        "640416.667],UNIT[\"US survey foot\",0.3048006096012192,A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"6420\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6421, "epsg", 6421,
+        "NAD83(2011) / California zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
+        "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
     add_proj4text (p, 1,
-        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=us-ft +no_def");
+        "4 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +uni");
     add_proj4text (p, 2,
-        "s");
+        "ts=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New Jersey (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / California zone 4\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
         "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
@@ -2277,231 +2400,251 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transv");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",38.833");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "33333333334],PARAMETER[\"central_meridian\",-74.5],PARAM");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
+        "25],PARAMETER[\"standard_parallel_2\",36],PARAMETER[\"la");
     add_srs_wkt (p, 10,
-        ",492125],PARAMETER[\"false_northing\",0],UNIT[\"US surve");
+        "titude_of_origin\",35.33333333333334],PARAMETER[\"centra");
     add_srs_wkt (p, 11,
-        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
+        "l_meridian\",-119],PARAMETER[\"false_easting\",2000000],");
     add_srs_wkt (p, 12,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "PARAMETER[\"false_northing\",500000],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 13,
-        "\"6527\"]]");
-    p = add_epsg_def (filter, first, last, 6528, "epsg", 6528,
-        "NAD83(2011) / New Mexico Central");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
-    add_proj4text (p, 1,
-        "00 +y_0=0 +ellps=GRS80 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New Mexico Central\",GEOGCS[\"NAD");
-    add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
-    add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
-    add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
-    add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
-    add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Trans");
-    add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",31],P");
-    add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-106.25],PARAMETER[\"scale");
-    add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",500000],PA");
-    add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
-    add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
-    add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"6528\"]]");
-    p = add_epsg_def (filter, first, last, 6529, "epsg", 6529,
-        "NAD83(2011) / New Mexico Central (ftUS)");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 14,
+        "NORTH],AUTHORITY[\"EPSG\",\"6421\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6422, "epsg", 6422,
+        "NAD83(2011) / California zone 4 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
+        "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
     add_proj4text (p, 1,
-        "00.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "4 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.000101600");
+    add_proj4text (p, 2,
+        "1 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New Mexico Central (ftUS)\",GEOGC");
+        "PROJCS[\"NAD83(2011) / California zone 4 (ftUS)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
+        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
     add_srs_wkt (p, 2,
-        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
+        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
     add_srs_wkt (p, 4,
-        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        ",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        ",31],PARAMETER[\"central_meridian\",-106.25],PARAMETER[\"");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",16404");
+        "\",37.25],PARAMETER[\"standard_parallel_2\",36],PARAMETE");
     add_srs_wkt (p, 10,
-        "16.667],PARAMETER[\"false_northing\",0],UNIT[\"US survey");
+        "R[\"latitude_of_origin\",35.33333333333334],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
+        "central_meridian\",-119],PARAMETER[\"false_easting\",656");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "1666.667],PARAMETER[\"false_northing\",1640416.667],UNIT");
     add_srs_wkt (p, 13,
-        "6529\"]]");
-    p = add_epsg_def (filter, first, last, 6530, "epsg", 6530,
-        "NAD83(2011) / New Mexico East");
+        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"6422\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6423, "epsg", 6423,
+        "NAD83(2011) / California zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
+        "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
     add_proj4text (p, 1,
-        "909091 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +el");
+    add_proj4text (p, 2,
+        "lps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New Mexico East\",GEOGCS[\"NAD83(");
+        "PROJCS[\"NAD83(2011) / California zone 5\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transver");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARA");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-104.3333333333333],PARAMETER");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35.");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.999909091],PARAMETER[\"false_easting");
+        "46666666666667],PARAMETER[\"standard_parallel_2\",34.033");
     add_srs_wkt (p, 10,
-        "\",165000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "33333333333],PARAMETER[\"latitude_of_origin\",33.5],PARA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "METER[\"central_meridian\",-118],PARAMETER[\"false_easti");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6530\"]]");
-    p = add_epsg_def (filter, first, last, 6531, "epsg", 6531,
-        "NAD83(2011) / New Mexico East (ftUS)");
+        "ng\",2000000],PARAMETER[\"false_northing\",500000],UNIT[");
+    add_srs_wkt (p, 13,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6423\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6424, "epsg", 6424,
+        "NAD83(2011) / California zone 5 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
+        "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
     add_proj4text (p, 1,
-        "909091 +x_0=165000 +y_0=0 +ellps=GRS80 +units=us-ft +no_");
+        "333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=50");
     add_proj4text (p, 2,
-        "defs");
+        "0000.0001016001 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New Mexico East (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / California zone 5 (ftUS)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tr");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",31");
+        ",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-104.3333333333333],PAR");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.999909091],PARAMETER[\"false_e");
+        "\",35.46666666666667],PARAMETER[\"standard_parallel_2\",");
     add_srs_wkt (p, 10,
-        "asting\",541337.5],PARAMETER[\"false_northing\",0],UNIT[");
+        "34.03333333333333],PARAMETER[\"latitude_of_origin\",33.5");
     add_srs_wkt (p, 11,
-        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"central_meridian\",-118],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "_easting\",6561666.667],PARAMETER[\"false_northing\",164");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"6531\"]]");
-    p = add_epsg_def (filter, first, last, 6532, "epsg", 6532,
-        "NAD83(2011) / New Mexico West");
+        "0416.667],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 15,
+        "ORTH],AUTHORITY[\"EPSG\",\"6424\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6425, "epsg", 6425,
+        "NAD83(2011) / California zone 6", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
+        "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
     add_proj4text (p, 1,
-        "916667 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000");
+    add_proj4text (p, 2,
+        " +y_0=500000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New Mexico West\",GEOGCS[\"NAD83(");
+        "PROJCS[\"NAD83(2011) / California zone 6\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transver");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARA");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-107.8333333333333],PARAMETER");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",33.");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.999916667],PARAMETER[\"false_easting");
+        "88333333333333],PARAMETER[\"standard_parallel_2\",32.783");
     add_srs_wkt (p, 10,
-        "\",830000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "33333333333],PARAMETER[\"latitude_of_origin\",32.1666666");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "6666666],PARAMETER[\"central_meridian\",-116.25],PARAMET");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6532\"]]");
-    p = add_epsg_def (filter, first, last, 6533, "epsg", 6533,
-        "NAD83(2011) / New Mexico West (ftUS)");
+        "ER[\"false_easting\",2000000],PARAMETER[\"false_northing");
+    add_srs_wkt (p, 13,
+        "\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+    add_srs_wkt (p, 14,
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 15,
+        "\"6425\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6426, "epsg", 6426,
+        "NAD83(2011) / California zone 6 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
+        "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
     add_proj4text (p, 1,
-        "916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +units");
+        "333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000");
     add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        ".0001016 +y_0=500000.0001016001 +ellps=GRS80 +units=us-f");
+    add_proj4text (p, 3,
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New Mexico West (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / California zone 6 (ftUS)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tr");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",31");
+        ",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-107.8333333333333],PAR");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.999916667],PARAMETER[\"false_e");
+        "\",33.88333333333333],PARAMETER[\"standard_parallel_2\",");
     add_srs_wkt (p, 10,
-        "asting\",2723091.667],PARAMETER[\"false_northing\",0],UN");
+        "32.78333333333333],PARAMETER[\"latitude_of_origin\",32.1");
     add_srs_wkt (p, 11,
-        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+        "6666666666666],PARAMETER[\"central_meridian\",-116.25],P");
     add_srs_wkt (p, 12,
-        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "ARAMETER[\"false_easting\",6561666.667],PARAMETER[\"fals");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"6533\"]]");
-    p = add_epsg_def (filter, first, last, 6534, "epsg", 6534,
-        "NAD83(2011) / New York Central");
+        "e_northing\",1640416.667],UNIT[\"US survey foot\",0.3048");
+    add_srs_wkt (p, 14,
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 15,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6426\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6427, "epsg", 6427,
+        "NAD83(2011) / Colorado Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
+        "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
     add_proj4text (p, 1,
-        "9375 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "3334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +el");
+    add_proj4text (p, 2,
+        "lps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New York Central\",GEOGCS[\"NAD83");
+        "PROJCS[\"NAD83(2011) / Colorado Central\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
         "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
     add_srs_wkt (p, 2,
@@ -2513,29 +2656,36 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",40],PAR");
+        "AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",-76.58333333333333],PARAMETE");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.7");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",0.9999375],PARAMETER[\"false_easting\"");
+        "5],PARAMETER[\"standard_parallel_2\",38.45],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",250000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "latitude_of_origin\",37.83333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ral_meridian\",-105.5],PARAMETER[\"false_easting\",91440");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6534\"]]");
-    p = add_epsg_def (filter, first, last, 6535, "epsg", 6535,
-        "NAD83(2011) / New York Central (ftUS)");
+        "1.8289],PARAMETER[\"false_northing\",304800.6096],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6427\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6428, "epsg", 6428,
+        "NAD83(2011) / Colorado Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
+        "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
     add_proj4text (p, 1,
-        "9375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +units=u");
+        "3334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.60");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "96012192 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New York Central (ftUS)\",GEOGCS[");
+        "PROJCS[\"NAD83(2011) / Colorado Central (ftUS)\",GEOGCS[");
     add_srs_wkt (p, 1,
         "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
     add_srs_wkt (p, 2,
@@ -2547,391 +2697,452 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
+        "EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-76.58333333333333],PA");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_ea");
+        ",39.75],PARAMETER[\"standard_parallel_2\",38.45],PARAMET");
     add_srs_wkt (p, 10,
-        "sting\",820208.3330000002],PARAMETER[\"false_northing\",");
+        "ER[\"latitude_of_origin\",37.83333333333334],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "central_meridian\",-105.5],PARAMETER[\"false_easting\",3");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "000000],PARAMETER[\"false_northing\",1000000],UNIT[\"US ");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"6535\"]]");
-    p = add_epsg_def (filter, first, last, 6536, "epsg", 6536,
-        "NAD83(2011) / New York East");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 14,
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 15,
+        "SG\",\"6428\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6429, "epsg", 6429,
+        "NAD83(2011) / Colorado North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
+        "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
     add_proj4text (p, 1,
-        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8");
+    add_proj4text (p, 2,
+        "289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New York East\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"NAD83(2011) / Colorado North\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",38.83333333");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "333334],PARAMETER[\"central_meridian\",-74.5],PARAMETER[");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.7833");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",150");
+        "3333333333],PARAMETER[\"standard_parallel_2\",39.7166666");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "6666667],PARAMETER[\"latitude_of_origin\",39.33333333333");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "334],PARAMETER[\"central_meridian\",-105.5],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"6536\"]]");
-    p = add_epsg_def (filter, first, last, 6537, "epsg", 6537,
-        "NAD83(2011) / New York East (ftUS)");
+        "false_easting\",914401.8289],PARAMETER[\"false_northing\"");
+    add_srs_wkt (p, 13,
+        ",304800.6096],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 14,
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 15,
+        "\",\"6429\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6430, "epsg", 6430,
+        "NAD83(2011) / Colorado North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
+        "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
     add_proj4text (p, 1,
-        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=us-ft +no_def");
+        "667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8");
     add_proj4text (p, 2,
-        "s");
+        "288036576 +y_0=304800.6096012192 +ellps=GRS80 +units=us-");
+    add_proj4text (p, 3,
+        "ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New York East (ftUS)\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / Colorado North (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",38.8");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "3333333333334],PARAMETER[\"central_meridian\",-74.5],PAR");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eastin");
+        ",40.78333333333333],PARAMETER[\"standard_parallel_2\",39");
     add_srs_wkt (p, 10,
-        "g\",492125],PARAMETER[\"false_northing\",0],UNIT[\"US su");
+        ".71666666666667],PARAMETER[\"latitude_of_origin\",39.333");
     add_srs_wkt (p, 11,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "33333333334],PARAMETER[\"central_meridian\",-105.5],PARA");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "METER[\"false_easting\",3000000],PARAMETER[\"false_north");
     add_srs_wkt (p, 13,
-        "\",\"6537\"]]");
-    p = add_epsg_def (filter, first, last, 6538, "epsg", 6538,
-        "NAD83(2011) / New York Long Island");
+        "ing\",1000000],UNIT[\"US survey foot\",0.304800609601219");
+    add_srs_wkt (p, 14,
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6430\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6431, "epsg", 6431,
+        "NAD83(2011) / Colorado South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
+        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
     add_proj4text (p, 1,
-        "666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0");
+        "333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8");
     add_proj4text (p, 2,
-        "=0 +ellps=GRS80 +units=m +no_defs");
+        "289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New York Long Island\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / Colorado South\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "_1\",41.03333333333333],PARAMETER[\"standard_parallel_2\"");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.4333");
     add_srs_wkt (p, 9,
-        ",40.66666666666666],PARAMETER[\"latitude_of_origin\",40.");
+        "3333333333],PARAMETER[\"standard_parallel_2\",37.2333333");
     add_srs_wkt (p, 10,
-        "16666666666666],PARAMETER[\"central_meridian\",-74],PARA");
+        "3333333],PARAMETER[\"latitude_of_origin\",36.66666666666");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",300000],PARAMETER[\"false_northi");
+        "666],PARAMETER[\"central_meridian\",-105.5],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "false_easting\",914401.8289],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
+        ",304800.6096],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 14,
-        "538\"]]");
-    p = add_epsg_def (filter, first, last, 6539, "epsg", 6539,
-        "NAD83(2011) / New York Long Island (ftUS)");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 15,
+        "\",\"6431\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6432, "epsg", 6432,
+        "NAD83(2011) / Colorado South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
+        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
     add_proj4text (p, 1,
-        "666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000");
+        "333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8");
     add_proj4text (p, 2,
-        "000001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "288036576 +y_0=304800.6096012192 +ellps=GRS80 +units=us-");
+    add_proj4text (p, 3,
+        "ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New York Long Island (ftUS)\",GEO");
+        "PROJCS[\"NAD83(2011) / Colorado South (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "GCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refer");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "ence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTIO");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "parallel_1\",41.03333333333333],PARAMETER[\"standard_par");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "allel_2\",40.66666666666666],PARAMETER[\"latitude_of_ori");
+        ",38.43333333333333],PARAMETER[\"standard_parallel_2\",37");
     add_srs_wkt (p, 10,
-        "gin\",40.16666666666666],PARAMETER[\"central_meridian\",");
+        ".23333333333333],PARAMETER[\"latitude_of_origin\",36.666");
     add_srs_wkt (p, 11,
-        "-74],PARAMETER[\"false_easting\",984250.0000000002],PARA");
+        "66666666666],PARAMETER[\"central_meridian\",-105.5],PARA");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "METER[\"false_easting\",3000000],PARAMETER[\"false_north");
     add_srs_wkt (p, 13,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "ing\",1000000],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 14,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6539\"]]");
-    p = add_epsg_def (filter, first, last, 6540, "epsg", 6540,
-        "NAD83(2011) / New York West");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6432\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6433, "epsg", 6433,
+        "NAD83(2011) / Connecticut", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
+        "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
     add_proj4text (p, 1,
-        "9375 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        ".83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=1524");
+    add_proj4text (p, 2,
+        "00.3048 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New York West\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"NAD83(2011) / Connecticut\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",40],PARAMET");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-78.58333333333333],PARAMETER[\"");
+        "Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.866666");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999375],PARAMETER[\"false_easting\",35");
+        "66666667],PARAMETER[\"standard_parallel_2\",41.2],PARAME");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "TER[\"latitude_of_origin\",40.83333333333334],PARAMETER[");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "\"central_meridian\",-72.75],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6540\"]]");
-    p = add_epsg_def (filter, first, last, 6541, "epsg", 6541,
-        "NAD83(2011) / New York West (ftUS)");
+        ",304800.6096],PARAMETER[\"false_northing\",152400.3048],");
+    add_srs_wkt (p, 13,
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6433\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6434, "epsg", 6434,
+        "NAD83(2011) / Connecticut (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
+        "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
     add_proj4text (p, 1,
-        "9375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +units=u");
+        ".83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "0=152400.3048006096 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / New York West (ftUS)\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / Connecticut (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",40],");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-78.58333333333333],PARAM");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.9999375],PARAMETER[\"false_easti");
+        ".86666666666667],PARAMETER[\"standard_parallel_2\",41.2]");
     add_srs_wkt (p, 10,
-        "ng\",1148291.667],PARAMETER[\"false_northing\",0],UNIT[\"");
+        ",PARAMETER[\"latitude_of_origin\",40.83333333333334],PAR");
     add_srs_wkt (p, 11,
-        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        "AMETER[\"central_meridian\",-72.75],PARAMETER[\"false_ea");
     add_srs_wkt (p, 12,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "sting\",1000000],PARAMETER[\"false_northing\",500000],UN");
     add_srs_wkt (p, 13,
-        "EPSG\",\"6541\"]]");
-    p = add_epsg_def (filter, first, last, 6542, "epsg", 6542,
-        "NAD83(2011) / North Carolina");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"6434\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6435, "epsg", 6435,
+        "NAD83(2011) / Delaware", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
+        "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps");
-    add_proj4text (p, 2,
-        "=GRS80 +units=m +no_defs");
+        "995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / North Carolina\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Delaware\",GEOGCS[\"NAD83(2011)\"");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        ",DATUM[\"NAD83_National_Spatial_Reference_System_2011\",");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "6.16666666666666],PARAMETER[\"standard_parallel_2\",34.3");
+        ",PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "3333333333334],PARAMETER[\"latitude_of_origin\",33.75],P");
+        "l_meridian\",-75.41666666666667],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"central_meridian\",-79],PARAMETER[\"false_eas");
+        "r\",0.999995],PARAMETER[\"false_easting\",200000],PARAME");
     add_srs_wkt (p, 11,
-        "ting\",609601.22],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
     add_srs_wkt (p, 13,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6542\"]]");
-    p = add_epsg_def (filter, first, last, 6543, "epsg", 6543,
-        "NAD83(2011) / North Carolina (ftUS)");
+        "ORITY[\"EPSG\",\"6435\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6436, "epsg", 6436,
+        "NAD83(2011) / Delaware (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
+        "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=");
+        "995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units=us");
     add_proj4text (p, 2,
-        "0 +ellps=GRS80 +units=us-ft +no_defs");
+        "-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / North Carolina (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Delaware (ftUS)\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "el_1\",36.16666666666666],PARAMETER[\"standard_parallel_");
+        "cator\"],PARAMETER[\"latitude_of_origin\",38],PARAMETER[");
     add_srs_wkt (p, 9,
-        "2\",34.33333333333334],PARAMETER[\"latitude_of_origin\",");
+        "\"central_meridian\",-75.41666666666667],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "33.75],PARAMETER[\"central_meridian\",-79],PARAMETER[\"f");
+        "le_factor\",0.999995],PARAMETER[\"false_easting\",656166");
     add_srs_wkt (p, 11,
-        "alse_easting\",2000000],PARAMETER[\"false_northing\",0],");
+        ".667],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
     add_srs_wkt (p, 12,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
     add_srs_wkt (p, 13,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"6543\"]]");
-    p = add_epsg_def (filter, first, last, 6544, "epsg", 6544,
-        "NAD83(2011) / North Dakota North");
+        "436\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6437, "epsg", 6437,
+        "NAD83(2011) / Florida East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
+        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
     add_proj4text (p, 1,
-        "333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GR");
-    add_proj4text (p, 2,
-        "S80 +units=m +no_defs");
+        "941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / North Dakota North\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(2011) / Florida East\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambe");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "1\",48.73333333333333],PARAMETER[\"standard_parallel_2\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",24.33333333333333");
     add_srs_wkt (p, 9,
-        ",47.43333333333333],PARAMETER[\"latitude_of_origin\",47]");
+        "],PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-100.5],PARAMETER[\"fals");
+        "factor\",0.999941177],PARAMETER[\"false_easting\",200000");
     add_srs_wkt (p, 11,
-        "e_easting\",600000],PARAMETER[\"false_northing\",0],UNIT");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6544\"]]");
-    p = add_epsg_def (filter, first, last, 6545, "epsg", 6545,
-        "NAD83(2011) / North Dakota North (ft)");
+        "TH],AUTHORITY[\"EPSG\",\"6437\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6438, "epsg", 6438,
+        "NAD83(2011) / Florida East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
+        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
     add_proj4text (p, 1,
-        "333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +");
+        "941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units");
     add_proj4text (p, 2,
-        "ellps=GRS80 +units=ft +no_defs");
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / North Dakota North (ft)\",GEOGCS[");
+        "PROJCS[\"NAD83(2011) / Florida East (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"L");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "lel_1\",48.73333333333333],PARAMETER[\"standard_parallel");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",24.3333333");
     add_srs_wkt (p, 9,
-        "_2\",47.43333333333333],PARAMETER[\"latitude_of_origin\"");
+        "3333333],PARAMETER[\"central_meridian\",-81],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",47],PARAMETER[\"central_meridian\",-100.5],PARAMETER[\"");
+        "scale_factor\",0.999941177],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "false_easting\",1968503.937],PARAMETER[\"false_northing\"");
+        "656166.667],PARAMETER[\"false_northing\",0],UNIT[\"US su");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],A");
+        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 14,
-        "545\"]]");
-    p = add_epsg_def (filter, first, last, 6546, "epsg", 6546,
-        "NAD83(2011) / North Dakota South");
+        "\",\"6438\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6439, "epsg", 6439,
+        "NAD83(2011) / Florida GDL Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
+        "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_");
     add_proj4text (p, 1,
-        "333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +");
-    add_proj4text (p, 2,
-        "y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / North Dakota South\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(2011) / Florida GDL Albers\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
         "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
@@ -2943,475 +3154,553 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambe");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Albers_Coni");
     add_srs_wkt (p, 8,
-        "1\",47.48333333333333],PARAMETER[\"standard_parallel_2\"");
+        "c_Equal_Area\"],PARAMETER[\"standard_parallel_1\",24],PA");
     add_srs_wkt (p, 9,
-        ",46.18333333333333],PARAMETER[\"latitude_of_origin\",45.");
+        "RAMETER[\"standard_parallel_2\",31.5],PARAMETER[\"latitu");
     add_srs_wkt (p, 10,
-        "66666666666666],PARAMETER[\"central_meridian\",-100.5],P");
+        "de_of_center\",24],PARAMETER[\"longitude_of_center\",-84");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",600000],PARAMETER[\"false_nor");
+        "],PARAMETER[\"false_easting\",400000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 14,
-        "\"6546\"]]");
-    p = add_epsg_def (filter, first, last, 6547, "epsg", 6547,
-        "NAD83(2011) / North Dakota South (ft)");
+        "\",\"6439\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6440, "epsg", 6440,
+        "NAD83(2011) / Florida North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
+        "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
     add_proj4text (p, 1,
-        "333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9");
+        "9 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m ");
     add_proj4text (p, 2,
-        "999976 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / North Dakota South (ft)\",GEOGCS[");
+        "PROJCS[\"NAD83(2011) / Florida North\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+    add_srs_wkt (p, 5,
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+    add_srs_wkt (p, 6,
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 7,
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal");
+    add_srs_wkt (p, 8,
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",30.75],P");
+    add_srs_wkt (p, 9,
+        "ARAMETER[\"standard_parallel_2\",29.58333333333333],PARA");
+    add_srs_wkt (p, 10,
+        "METER[\"latitude_of_origin\",29],PARAMETER[\"central_mer");
+    add_srs_wkt (p, 11,
+        "idian\",-84.5],PARAMETER[\"false_easting\",600000],PARAM");
+    add_srs_wkt (p, 12,
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"6440\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6441, "epsg", 6441,
+        "NAD83(2011) / Florida North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
+    add_proj4text (p, 1,
+        "9 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us");
+    add_proj4text (p, 2,
+        "-ft +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"NAD83(2011) / Florida North (ftUS)\",GEOGCS[\"N");
+    add_srs_wkt (p, 1,
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+    add_srs_wkt (p, 2,
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+    add_srs_wkt (p, 3,
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+    add_srs_wkt (p, 4,
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"L");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "lel_1\",47.48333333333333],PARAMETER[\"standard_parallel");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "_2\",46.18333333333333],PARAMETER[\"latitude_of_origin\"");
+        "0.75],PARAMETER[\"standard_parallel_2\",29.5833333333333");
     add_srs_wkt (p, 10,
-        ",45.66666666666666],PARAMETER[\"central_meridian\",-100.");
+        "3],PARAMETER[\"latitude_of_origin\",29],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "5],PARAMETER[\"false_easting\",1968503.937],PARAMETER[\"");
+        "ral_meridian\",-84.5],PARAMETER[\"false_easting\",196850");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPS");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
     add_srs_wkt (p, 13,
-        "G\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
     add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"6547\"]]");
-    p = add_epsg_def (filter, first, last, 6548, "epsg", 6548,
-        "NAD83(2011) / Ohio North");
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6441");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6442, "epsg", 6442,
+        "NAD83(2011) / Florida West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
+        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=G");
-    add_proj4text (p, 2,
-        "RS80 +units=m +no_defs");
+        "941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Ohio North\",GEOGCS[\"NAD83(2011)");
+        "PROJCS[\"NAD83(2011) / Florida West\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.7],P");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_2\",40.43333333333333],PARA");
+        "or\"],PARAMETER[\"latitude_of_origin\",24.33333333333333");
     add_srs_wkt (p, 9,
-        "METER[\"latitude_of_origin\",39.66666666666666],PARAMETE");
+        "],PARAMETER[\"central_meridian\",-82],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-82.5],PARAMETER[\"false_easting\"");
+        "factor\",0.999941177],PARAMETER[\"false_easting\",200000");
     add_srs_wkt (p, 11,
-        ",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6548\"]]");
-    p = add_epsg_def (filter, first, last, 6549, "epsg", 6549,
-        "NAD83(2011) / Ohio North (ftUS)");
+        "TH],AUTHORITY[\"EPSG\",\"6442\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6443, "epsg", 6443,
+        "NAD83(2011) / Florida West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
+        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=G");
+        "941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units");
     add_proj4text (p, 2,
-        "RS80 +units=us-ft +no_defs");
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Ohio North (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / Florida West (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "\",41.7],PARAMETER[\"standard_parallel_2\",40.4333333333");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",24.3333333");
     add_srs_wkt (p, 9,
-        "3333],PARAMETER[\"latitude_of_origin\",39.66666666666666");
+        "3333333],PARAMETER[\"central_meridian\",-82],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"central_meridian\",-82.5],PARAMETER[\"fals");
+        "scale_factor\",0.999941177],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "e_easting\",1968500],PARAMETER[\"false_northing\",0],UNI");
+        "656166.667],PARAMETER[\"false_northing\",0],UNIT[\"US su");
     add_srs_wkt (p, 12,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
     add_srs_wkt (p, 13,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"6549\"]]");
-    p = add_epsg_def (filter, first, last, 6550, "epsg", 6550,
-        "NAD83(2011) / Ohio South");
+        "\",\"6443\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6444, "epsg", 6444,
+        "NAD83(2011) / Georgia East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
+        "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS");
-    add_proj4text (p, 2,
-        "80 +units=m +no_defs");
+        "9 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Ohio South\",GEOGCS[\"NAD83(2011)");
+        "PROJCS[\"NAD83(2011) / Georgia East\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.0333");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "3333333333],PARAMETER[\"standard_parallel_2\",38.7333333");
+        "or\"],PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "3333333],PARAMETER[\"latitude_of_origin\",38],PARAMETER[");
+        "entral_meridian\",-82.16666666666667],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-82.5],PARAMETER[\"false_easting\",");
+        "factor\",0.9999],PARAMETER[\"false_easting\",200000],PAR");
     add_srs_wkt (p, 11,
-        "600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6550\"]]");
-    p = add_epsg_def (filter, first, last, 6551, "epsg", 6551,
-        "NAD83(2011) / Ohio South (ftUS)");
+        "UTHORITY[\"EPSG\",\"6444\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6445, "epsg", 6445,
+        "NAD83(2011) / Georgia East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
+        "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS");
+        "9 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units=us-f");
     add_proj4text (p, 2,
-        "80 +units=us-ft +no_defs");
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Ohio South (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / Georgia East (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "\",40.03333333333333],PARAMETER[\"standard_parallel_2\",");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",30],PARAME");
     add_srs_wkt (p, 9,
-        "38.73333333333333],PARAMETER[\"latitude_of_origin\",38],");
+        "TER[\"central_meridian\",-82.16666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-82.5],PARAMETER[\"false_");
+        "scale_factor\",0.9999],PARAMETER[\"false_easting\",65616");
     add_srs_wkt (p, 11,
-        "easting\",1968500],PARAMETER[\"false_northing\",0],UNIT[");
+        "6.667],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
     add_srs_wkt (p, 12,
-        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
     add_srs_wkt (p, 13,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "[\"EPSG\",\"6551\"]]");
-    p = add_epsg_def (filter, first, last, 6552, "epsg", 6552,
-        "NAD83(2011) / Oklahoma North");
+        "6445\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6446, "epsg", 6446,
+        "NAD83(2011) / Georgia West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
+        "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80");
-    add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "9 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Oklahoma North\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Georgia West\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "6.76666666666667],PARAMETER[\"standard_parallel_2\",35.5");
+        "or\"],PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",35],PARA");
+        "entral_meridian\",-84.16666666666667],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-98],PARAMETER[\"false_eastin");
+        "factor\",0.9999],PARAMETER[\"false_easting\",700000],PAR");
     add_srs_wkt (p, 11,
-        "g\",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6552\"]]");
-    p = add_epsg_def (filter, first, last, 6553, "epsg", 6553,
-        "NAD83(2011) / Oklahoma North (ftUS)");
+        "UTHORITY[\"EPSG\",\"6446\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6447, "epsg", 6447,
+        "NAD83(2011) / Georgia West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
+        "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80");
+        "9 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +units=us-f");
     add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Oklahoma North (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Georgia West (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "el_1\",36.76666666666667],PARAMETER[\"standard_parallel_");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",30],PARAME");
     add_srs_wkt (p, 9,
-        "2\",35.56666666666667],PARAMETER[\"latitude_of_origin\",");
+        "TER[\"central_meridian\",-84.16666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "35],PARAMETER[\"central_meridian\",-98],PARAMETER[\"fals");
+        "scale_factor\",0.9999],PARAMETER[\"false_easting\",22965");
     add_srs_wkt (p, 11,
-        "e_easting\",1968500],PARAMETER[\"false_northing\",0],UNI");
+        "83.333],PARAMETER[\"false_northing\",0],UNIT[\"US survey");
     add_srs_wkt (p, 12,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
     add_srs_wkt (p, 13,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"6553\"]]");
-    p = add_epsg_def (filter, first, last, 6554, "epsg", 6554,
-        "NAD83(2011) / Oklahoma South");
+        "6447\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6448, "epsg", 6448,
+        "NAD83(2011) / Idaho Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
     add_proj4text (p, 1,
-        "333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0");
+        "99473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m ");
     add_proj4text (p, 2,
-        "=0 +ellps=GRS80 +units=m +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Oklahoma South\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Idaho Central\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "5.23333333333333],PARAMETER[\"standard_parallel_2\",33.9");
+        "or\"],PARAMETER[\"latitude_of_origin\",41.66666666666666");
     add_srs_wkt (p, 9,
-        "3333333333333],PARAMETER[\"latitude_of_origin\",33.33333");
+        "],PARAMETER[\"central_meridian\",-114],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "333333334],PARAMETER[\"central_meridian\",-98],PARAMETER");
+        "_factor\",0.999947368],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",600000],PARAMETER[\"false_northing\",");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6554\"]");
-    add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 6555, "epsg", 6555,
-        "NAD83(2011) / Oklahoma South (ftUS)");
+        "RTH],AUTHORITY[\"EPSG\",\"6448\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6449, "epsg", 6449,
+        "NAD83(2011) / Idaho Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
     add_proj4text (p, 1,
-        "333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0");
+        "99473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS8");
     add_proj4text (p, 2,
-        "=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Oklahoma South (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Idaho Central (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "el_1\",35.23333333333333],PARAMETER[\"standard_parallel_");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",41.6666666");
     add_srs_wkt (p, 9,
-        "2\",33.93333333333333],PARAMETER[\"latitude_of_origin\",");
+        "6666666],PARAMETER[\"central_meridian\",-114],PARAMETER[");
     add_srs_wkt (p, 10,
-        "33.33333333333334],PARAMETER[\"central_meridian\",-98],P");
+        "\"scale_factor\",0.999947368],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",1968500],PARAMETER[\"false_no");
+        ",1640416.667],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 12,
-        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6555\"]]");
-    p = add_epsg_def (filter, first, last, 6556, "epsg", 6556,
-        "NAD83(2011) / Oregon Lambert");
+        "SG\",\"6449\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6450, "epsg", 6450,
+        "NAD83(2011) / Idaho East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
     add_proj4text (p, 1,
-        ".5 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=G");
+    add_proj4text (p, 2,
+        "RS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Oregon Lambert\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Idaho East\",GEOGCS[\"NAD83(2011)");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "3],PARAMETER[\"standard_parallel_2\",45.5],PARAMETER[\"l");
+        ",PARAMETER[\"latitude_of_origin\",41.66666666666666],PAR");
     add_srs_wkt (p, 9,
-        "atitude_of_origin\",41.75],PARAMETER[\"central_meridian\"");
+        "AMETER[\"central_meridian\",-112.1666666666667],PARAMETE");
     add_srs_wkt (p, 10,
-        ",-120.5],PARAMETER[\"false_easting\",400000],PARAMETER[\"");
+        "R[\"scale_factor\",0.999947368],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "g\",200000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"6556\"]]");
-    p = add_epsg_def (filter, first, last, 6557, "epsg", 6557,
-        "NAD83(2011) / Oregon Lambert (ft)");
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6450\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6451, "epsg", 6451,
+        "NAD83(2011) / Idaho East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
     add_proj4text (p, 1,
-        ".5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +units=ft +no");
+        "666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0");
     add_proj4text (p, 2,
-        "_defs");
+        "=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Oregon Lambert (ft)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Idaho East (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "_1\",43],PARAMETER[\"standard_parallel_2\",45.5],PARAMET");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",41.666666666");
     add_srs_wkt (p, 9,
-        "ER[\"latitude_of_origin\",41.75],PARAMETER[\"central_mer");
+        "66666],PARAMETER[\"central_meridian\",-112.1666666666667");
     add_srs_wkt (p, 10,
-        "idian\",-120.5],PARAMETER[\"false_easting\",1312335.958]");
+        "],PARAMETER[\"scale_factor\",0.999947368],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"foot\",0.3048,AU");
+        "lse_easting\",656166.667],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "NORTH],AUTHORITY[\"EPSG\",\"6557\"]]");
-    p = add_epsg_def (filter, first, last, 6558, "epsg", 6558,
-        "NAD83(2011) / Oregon North");
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"6451\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6452, "epsg", 6452,
+        "NAD83(2011) / Idaho West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
     add_proj4text (p, 1,
-        "6666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=G");
+        ".999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_");
     add_proj4text (p, 2,
-        "RS80 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Oregon North\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / Idaho West\",GEOGCS[\"NAD83(2011)");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",46");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",44.33333333333334],P");
+        ",PARAMETER[\"latitude_of_origin\",41.66666666666666],PAR");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"latitude_of_origin\",43.66666666666666],PARAM");
+        "AMETER[\"central_meridian\",-115.75],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-120.5],PARAMETER[\"false_east");
+        "actor\",0.999933333],PARAMETER[\"false_easting\",800000]");
     add_srs_wkt (p, 11,
-        "ing\",2500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
     add_srs_wkt (p, 13,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6558\"]]");
-    p = add_epsg_def (filter, first, last, 6559, "epsg", 6559,
-        "NAD83(2011) / Oregon North (ft)");
+        "H],AUTHORITY[\"EPSG\",\"6452\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6453, "epsg", 6453,
+        "NAD83(2011) / Idaho West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
     add_proj4text (p, 1,
-        "6666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 ");
+        ".999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +u");
     add_proj4text (p, 2,
-        "+ellps=GRS80 +units=ft +no_defs");
+        "nits=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Oregon North (ft)\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / Idaho West (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
         "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
@@ -3423,285 +3712,343 @@ initialize_epsg_30 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "\",46],PARAMETER[\"standard_parallel_2\",44.333333333333");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",41.666666666");
     add_srs_wkt (p, 9,
-        "34],PARAMETER[\"latitude_of_origin\",43.66666666666666],");
+        "66666],PARAMETER[\"central_meridian\",-115.75],PARAMETER");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"false");
+        "[\"scale_factor\",0.999933333],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "_easting\",8202099.738],PARAMETER[\"false_northing\",0],");
+        "\",2624666.667],PARAMETER[\"false_northing\",0],UNIT[\"U");
     add_srs_wkt (p, 12,
-        "UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[");
+        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6559\"");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 6560, "epsg", 6560,
-        "NAD83(2011) / Oregon South");
+        "EPSG\",\"6453\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6454, "epsg", 6454,
+        "NAD83(2011) / Illinois East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
+        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
     add_proj4text (p, 1,
-        "6666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=G");
+        "333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=G");
     add_proj4text (p, 2,
         "RS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Oregon South\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / Illinois East\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",42.33333333333334],P");
+        "or\"],PARAMETER[\"latitude_of_origin\",36.66666666666666");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"latitude_of_origin\",41.66666666666666],PARAM");
+        "],PARAMETER[\"central_meridian\",-88.33333333333333],PAR");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-120.5],PARAMETER[\"false_east");
+        "AMETER[\"scale_factor\",0.999975],PARAMETER[\"false_east");
     add_srs_wkt (p, 11,
-        "ing\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "ing\",300000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
     add_srs_wkt (p, 13,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6560\"]]");
-    p = add_epsg_def (filter, first, last, 6561, "epsg", 6561,
-        "NAD83(2011) / Oregon South (ft)");
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6454\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6455, "epsg", 6455,
+        "NAD83(2011) / Illinois East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
+        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
     add_proj4text (p, 1,
-        "6666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 ");
+        "333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0");
     add_proj4text (p, 2,
-        "+ellps=GRS80 +units=ft +no_defs");
+        "=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Oregon South (ft)\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / Illinois East (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "\",44],PARAMETER[\"standard_parallel_2\",42.333333333333");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",36.6666666");
     add_srs_wkt (p, 9,
-        "34],PARAMETER[\"latitude_of_origin\",41.66666666666666],");
+        "6666666],PARAMETER[\"central_meridian\",-88.333333333333");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"false");
+        "33],PARAMETER[\"scale_factor\",0.999975],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "_easting\",4921259.843],PARAMETER[\"false_northing\",0],");
+        "se_easting\",984250.0000000002],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 13,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6561\"");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 6562, "epsg", 6562,
-        "NAD83(2011) / Pennsylvania North");
+        "TH],AUTHORITY[\"EPSG\",\"6455\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6456, "epsg", 6456,
+        "NAD83(2011) / Illinois West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
+        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
     add_proj4text (p, 1,
-        "0.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps");
+        "666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +u");
     add_proj4text (p, 2,
-        "=GRS80 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Pennsylvania North\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(2011) / Illinois West\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambe");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "1\",41.95],PARAMETER[\"standard_parallel_2\",40.88333333");
+        "or\"],PARAMETER[\"latitude_of_origin\",36.66666666666666");
     add_srs_wkt (p, 9,
-        "333333],PARAMETER[\"latitude_of_origin\",40.166666666666");
+        "],PARAMETER[\"central_meridian\",-90.16666666666667],PAR");
     add_srs_wkt (p, 10,
-        "66],PARAMETER[\"central_meridian\",-77.75],PARAMETER[\"f");
+        "AMETER[\"scale_factor\",0.999941177],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "alse_easting\",600000],PARAMETER[\"false_northing\",0],U");
+        "asting\",700000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6562\"]]");
-    p = add_epsg_def (filter, first, last, 6563, "epsg", 6563,
-        "NAD83(2011) / Pennsylvania North (ftUS)");
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6456\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6457, "epsg", 6457,
+        "NAD83(2011) / Illinois West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
+        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
     add_proj4text (p, 1,
-        "0.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps");
+        "666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ell");
     add_proj4text (p, 2,
-        "=GRS80 +units=us-ft +no_defs");
+        "ps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Pennsylvania North (ftUS)\",GEOGC");
+        "PROJCS[\"NAD83(2011) / Illinois West (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "rallel_1\",41.95],PARAMETER[\"standard_parallel_2\",40.8");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",36.6666666");
     add_srs_wkt (p, 9,
-        "8333333333333],PARAMETER[\"latitude_of_origin\",40.16666");
+        "6666666],PARAMETER[\"central_meridian\",-90.166666666666");
     add_srs_wkt (p, 10,
-        "666666666],PARAMETER[\"central_meridian\",-77.75],PARAME");
+        "67],PARAMETER[\"scale_factor\",0.999941177],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",1968500],PARAMETER[\"false_northin");
+        "false_easting\",2296583.333300001],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "g\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
     add_srs_wkt (p, 14,
-        "H],AUTHORITY[\"EPSG\",\"6563\"]]");
-    p = add_epsg_def (filter, first, last, 6564, "epsg", 6564,
-        "NAD83(2011) / Pennsylvania South");
+        "NORTH],AUTHORITY[\"EPSG\",\"6457\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6458, "epsg", 6458,
+        "NAD83(2011) / Indiana East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
+        "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +");
+        "99966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m +");
     add_proj4text (p, 2,
-        "y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Pennsylvania South\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(2011) / Indiana East\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambe");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "1\",40.96666666666667],PARAMETER[\"standard_parallel_2\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",37.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        ",39.93333333333333],PARAMETER[\"latitude_of_origin\",39.");
+        "central_meridian\",-85.66666666666667],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "33333333333334],PARAMETER[\"central_meridian\",-77.75],P");
+        "_factor\",0.999966667],PARAMETER[\"false_easting\",10000");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",600000],PARAMETER[\"false_nor");
+        "0],PARAMETER[\"false_northing\",250000],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 14,
-        "\"6564\"]]");
-    p = add_epsg_def (filter, first, last, 6565, "epsg", 6565,
-        "NAD83(2011) / Pennsylvania South (ftUS)");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"6458\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6459, "epsg", 6459,
+        "NAD83(2011) / Indiana East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
+        "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +");
+        "99966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +");
     add_proj4text (p, 2,
-        "y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Pennsylvania South (ftUS)\",GEOGC");
+        "PROJCS[\"NAD83(2011) / Indiana East (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "rallel_1\",40.96666666666667],PARAMETER[\"standard_paral");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",37.5],PARA");
     add_srs_wkt (p, 9,
-        "lel_2\",39.93333333333333],PARAMETER[\"latitude_of_origi");
+        "METER[\"central_meridian\",-85.66666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "n\",39.33333333333334],PARAMETER[\"central_meridian\",-7");
+        "[\"scale_factor\",0.999966667],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "7.75],PARAMETER[\"false_easting\",1968500],PARAMETER[\"f");
+        "\",328083.333],PARAMETER[\"false_northing\",820208.33300");
     add_srs_wkt (p, 12,
-        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
+        "00002],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
     add_srs_wkt (p, 13,
-        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
     add_srs_wkt (p, 14,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6565\"]]");
-    p = add_epsg_def (filter, first, last, 6566, "epsg", 6566,
-        "NAD83(2011) / Puerto Rico and Virgin Is.");
+        "H],AUTHORITY[\"EPSG\",\"6459\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6460, "epsg", 6460,
+        "NAD83(2011) / Indiana West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333");
+        "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +");
+        "99966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m +");
     add_proj4text (p, 2,
-        "x_0=200000 +y_0=200000 +ellps=GRS80 +units=m +no_defs");
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Puerto Rico and Virgin Is.\",GEOG");
+        "PROJCS[\"NAD83(2011) / Indiana West\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "CS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refere");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "nce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "22101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "rallel_1\",18.43333333333333],PARAMETER[\"standard_paral");
+        "or\"],PARAMETER[\"latitude_of_origin\",37.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "lel_2\",18.03333333333333],PARAMETER[\"latitude_of_origi");
+        "central_meridian\",-87.08333333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "n\",17.83333333333333],PARAMETER[\"central_meridian\",-6");
+        "_factor\",0.999966667],PARAMETER[\"false_easting\",90000");
     add_srs_wkt (p, 11,
-        "6.43333333333334],PARAMETER[\"false_easting\",200000],PA");
+        "0],PARAMETER[\"false_northing\",250000],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "RAMETER[\"false_northing\",200000],UNIT[\"metre\",1,AUTH");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"6460\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6461, "epsg", 6461,
+        "NAD83(2011) / Indiana West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
+    add_proj4text (p, 1,
+        "99966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80");
+    add_proj4text (p, 2,
+        " +units=us-ft +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"NAD83(2011) / Indiana West (ftUS)\",GEOGCS[\"NA");
+    add_srs_wkt (p, 1,
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+    add_srs_wkt (p, 2,
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+    add_srs_wkt (p, 3,
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+    add_srs_wkt (p, 4,
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+    add_srs_wkt (p, 5,
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 6,
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 7,
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
+    add_srs_wkt (p, 8,
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",37.5],PARA");
+    add_srs_wkt (p, 9,
+        "METER[\"central_meridian\",-87.08333333333333],PARAMETER");
+    add_srs_wkt (p, 10,
+        "[\"scale_factor\",0.999966667],PARAMETER[\"false_easting");
+    add_srs_wkt (p, 11,
+        "\",2952750],PARAMETER[\"false_northing\",820208.33300000");
+    add_srs_wkt (p, 12,
+        "02],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
     add_srs_wkt (p, 14,
-        "RTH],AUTHORITY[\"EPSG\",\"6566\"]]");
+        "AUTHORITY[\"EPSG\",\"6461\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_31.c b/src/srsinit/epsg_inlined_31.c
index 9646f99..4bfa80d 100644
--- a/src/srsinit/epsg_inlined_31.c
+++ b/src/srsinit/epsg_inlined_31.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,1052 +54,1224 @@ initialize_epsg_31 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 6567, "epsg", 6567,
-        "NAD83(2011) / Rhode Island");
+    p = add_epsg_def_ex (filter, first, last, 6462, "epsg", 6462,
+        "NAD83(2011) / Iowa North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
+        "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
     add_proj4text (p, 1,
-        "9999375 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m +no_def");
+        "667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +");
     add_proj4text (p, 2,
-        "s");
+        "ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Rhode Island\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / Iowa North\",GEOGCS[\"NAD83(2011)");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",41.08333333");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "333334],PARAMETER[\"central_meridian\",-71.5],PARAMETER[");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",43.2666666666");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.99999375],PARAMETER[\"false_easting\"");
+        "6667],PARAMETER[\"standard_parallel_2\",42.0666666666666");
     add_srs_wkt (p, 10,
-        ",100000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "7],PARAMETER[\"latitude_of_origin\",41.5],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ntral_meridian\",-93.5],PARAMETER[\"false_easting\",1500");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6567\"]]");
-    p = add_epsg_def (filter, first, last, 6568, "epsg", 6568,
-        "NAD83(2011) / Rhode Island (ftUS)");
+        "000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre\"");
+    add_srs_wkt (p, 13,
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6462\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6463, "epsg", 6463,
+        "NAD83(2011) / Iowa North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
+        "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
     add_proj4text (p, 1,
-        "9999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +unit");
+        "667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.99");
     add_proj4text (p, 2,
-        "s=us-ft +no_defs");
+        "99898402 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Rhode Island (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Iowa North (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",41.0");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "8333333333334],PARAMETER[\"central_meridian\",-71.5],PAR");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43.");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.99999375],PARAMETER[\"false_ea");
+        "26666666666667],PARAMETER[\"standard_parallel_2\",42.066");
     add_srs_wkt (p, 10,
-        "sting\",328083.3333],PARAMETER[\"false_northing\",0],UNI");
+        "66666666667],PARAMETER[\"latitude_of_origin\",41.5],PARA");
     add_srs_wkt (p, 11,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "METER[\"central_meridian\",-93.5],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "ing\",4921250],PARAMETER[\"false_northing\",3280833.3333");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"6568\"]]");
-    p = add_epsg_def (filter, first, last, 6569, "epsg", 6569,
-        "NAD83(2011) / South Carolina");
+        "00001],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 15,
+        "H],AUTHORITY[\"EPSG\",\"6463\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6464, "epsg", 6464,
+        "NAD83(2011) / Iowa South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
+        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
     add_proj4text (p, 1,
-        ".83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS");
+        "667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
         "80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / South Carolina\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Iowa South\",GEOGCS[\"NAD83(2011)");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "4.83333333333334],PARAMETER[\"standard_parallel_2\",32.5");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",41.7833333333");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",31.83333333333333],PA");
+        "3333],PARAMETER[\"standard_parallel_2\",40.6166666666666");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-81],PARAMETER[\"false_east");
+        "7],PARAMETER[\"latitude_of_origin\",40],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "ing\",609600],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ral_meridian\",-93.5],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 12,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6569\"]]");
-    p = add_epsg_def (filter, first, last, 6570, "epsg", 6570,
-        "NAD83(2011) / South Carolina (ft)");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"6464\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6465, "epsg", 6465,
+        "NAD83(2011) / Iowa South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
+        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
     add_proj4text (p, 1,
-        ".83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS");
+        "667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +");
     add_proj4text (p, 2,
-        "80 +units=ft +no_defs");
+        "ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / South Carolina (ft)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Iowa South (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "_1\",34.83333333333334],PARAMETER[\"standard_parallel_2\"");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.");
     add_srs_wkt (p, 9,
-        ",32.5],PARAMETER[\"latitude_of_origin\",31.8333333333333");
+        "78333333333333],PARAMETER[\"standard_parallel_2\",40.616");
     add_srs_wkt (p, 10,
-        "3],PARAMETER[\"central_meridian\",-81],PARAMETER[\"false");
+        "66666666667],PARAMETER[\"latitude_of_origin\",40],PARAME");
     add_srs_wkt (p, 11,
-        "_easting\",2000000],PARAMETER[\"false_northing\",0],UNIT");
+        "TER[\"central_meridian\",-93.5],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 12,
-        "[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\"");
+        "g\",1640416.6667],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6570\"]]");
-    p = add_epsg_def (filter, first, last, 6571, "epsg", 6571,
-        "NAD83(2011) / South Dakota North");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"6465\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6466, "epsg", 6466,
+        "NAD83(2011) / Kansas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
+        "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
     add_proj4text (p, 1,
-        "666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_");
+        "667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0");
     add_proj4text (p, 2,
-        "0=0 +ellps=GRS80 +units=m +no_defs");
+        "=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / South Dakota North\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(2011) / Kansas North\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambe");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "1\",45.68333333333333],PARAMETER[\"standard_parallel_2\"");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.78333");
     add_srs_wkt (p, 9,
-        ",44.41666666666666],PARAMETER[\"latitude_of_origin\",43.");
+        "333333333],PARAMETER[\"standard_parallel_2\",38.71666666");
     add_srs_wkt (p, 10,
-        "83333333333334],PARAMETER[\"central_meridian\",-100],PAR");
+        "666667],PARAMETER[\"latitude_of_origin\",38.333333333333");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",600000],PARAMETER[\"false_north");
+        "34],PARAMETER[\"central_meridian\",-98],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "e_easting\",400000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 14,
-        "6571\"]]");
-    p = add_epsg_def (filter, first, last, 6572, "epsg", 6572,
-        "NAD83(2011) / South Dakota North (ftUS)");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6466\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6467, "epsg", 6467,
+        "NAD83(2011) / Kansas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
+        "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
     add_proj4text (p, 1,
-        "666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_");
+        "667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.9999");
     add_proj4text (p, 2,
-        "0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "8984 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / South Dakota North (ftUS)\",GEOGC");
+        "PROJCS[\"NAD83(2011) / Kansas North (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "rallel_1\",45.68333333333333],PARAMETER[\"standard_paral");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "lel_2\",44.41666666666666],PARAMETER[\"latitude_of_origi");
+        "9.78333333333333],PARAMETER[\"standard_parallel_2\",38.7");
     add_srs_wkt (p, 10,
-        "n\",43.83333333333334],PARAMETER[\"central_meridian\",-1");
+        "1666666666667],PARAMETER[\"latitude_of_origin\",38.33333");
     add_srs_wkt (p, 11,
-        "00],PARAMETER[\"false_easting\",1968500],PARAMETER[\"fal");
+        "333333334],PARAMETER[\"central_meridian\",-98],PARAMETER");
     add_srs_wkt (p, 12,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "[\"false_easting\",1312333.3333],PARAMETER[\"false_north");
     add_srs_wkt (p, 13,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 14,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6572\"]]");
-    p = add_epsg_def (filter, first, last, 6573, "epsg", 6573,
-        "NAD83(2011) / South Dakota South");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"6467\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6468, "epsg", 6468,
+        "NAD83(2011) / Kansas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
+        "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
     add_proj4text (p, 1,
-        ".33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y");
+        "667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y");
     add_proj4text (p, 2,
-        "_0=0 +ellps=GRS80 +units=m +no_defs");
+        "_0=400000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / South Dakota South\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(2011) / Kansas South\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambe");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "1\",44.4],PARAMETER[\"standard_parallel_2\",42.833333333");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.56666");
     add_srs_wkt (p, 9,
-        "33334],PARAMETER[\"latitude_of_origin\",42.3333333333333");
+        "666666667],PARAMETER[\"standard_parallel_2\",37.26666666");
     add_srs_wkt (p, 10,
-        "4],PARAMETER[\"central_meridian\",-100.3333333333333],PA");
+        "666667],PARAMETER[\"latitude_of_origin\",36.666666666666");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",600000],PARAMETER[\"false_nort");
+        "66],PARAMETER[\"central_meridian\",-98.5],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "lse_easting\",400000],PARAMETER[\"false_northing\",40000");
     add_srs_wkt (p, 13,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "6573\"]]");
-    p = add_epsg_def (filter, first, last, 6574, "epsg", 6574,
-        "NAD83(2011) / South Dakota South (ftUS)");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6468\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6469, "epsg", 6469,
+        "NAD83(2011) / Kansas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
+        "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
     add_proj4text (p, 1,
-        ".33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y");
+        "667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99");
     add_proj4text (p, 2,
-        "_0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "998984 +y_0=399999.99998984 +ellps=GRS80 +units=us-ft +n");
+    add_proj4text (p, 3,
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / South Dakota South (ftUS)\",GEOGC");
+        "PROJCS[\"NAD83(2011) / Kansas South (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "rallel_1\",44.4],PARAMETER[\"standard_parallel_2\",42.83");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "333333333334],PARAMETER[\"latitude_of_origin\",42.333333");
+        "8.56666666666667],PARAMETER[\"standard_parallel_2\",37.2");
     add_srs_wkt (p, 10,
-        "33333334],PARAMETER[\"central_meridian\",-100.3333333333");
+        "6666666666667],PARAMETER[\"latitude_of_origin\",36.66666");
     add_srs_wkt (p, 11,
-        "333],PARAMETER[\"false_easting\",1968500],PARAMETER[\"fa");
+        "666666666],PARAMETER[\"central_meridian\",-98.5],PARAMET");
     add_srs_wkt (p, 12,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "ER[\"false_easting\",1312333.3333],PARAMETER[\"false_nor");
     add_srs_wkt (p, 13,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "thing\",1312333.3333],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 14,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6574\"]]");
-    p = add_epsg_def (filter, first, last, 6575, "epsg", 6575,
-        "NAD83(2011) / Tennessee");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6469\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6470, "epsg", 6470,
+        "NAD83(2011) / Kentucky North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
+        "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
     add_proj4text (p, 1,
-        "4.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GR");
+        "667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=");
     add_proj4text (p, 2,
-        "S80 +units=m +no_defs");
+        "GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Tennessee\",GEOGCS[\"NAD83(2011)\"");
+        "PROJCS[\"NAD83(2011) / Kentucky North\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        ",DATUM[\"NAD83_National_Spatial_Reference_System_2011\",");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.4166");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "6666666666],PARAMETER[\"standard_parallel_2\",35.25],PAR");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.9666");
     add_srs_wkt (p, 9,
-        "AMETER[\"latitude_of_origin\",34.33333333333334],PARAMET");
+        "6666666667],PARAMETER[\"standard_parallel_2\",38.9666666");
     add_srs_wkt (p, 10,
-        "ER[\"central_meridian\",-86],PARAMETER[\"false_easting\"");
+        "6666667],PARAMETER[\"latitude_of_origin\",37.5],PARAMETE");
     add_srs_wkt (p, 11,
-        ",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "R[\"central_meridian\",-84.25],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6575\"]]");
-    p = add_epsg_def (filter, first, last, 6576, "epsg", 6576,
-        "NAD83(2011) / Tennessee (ftUS)");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6470\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6471, "epsg", 6471,
+        "NAD83(2011) / Kentucky North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
+        "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
     add_proj4text (p, 1,
-        "4.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GR");
+        "667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_");
     add_proj4text (p, 2,
-        "S80 +units=us-ft +no_defs");
+        "0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Tennessee (ftUS)\",GEOGCS[\"NAD83");
+        "PROJCS[\"NAD83(2011) / Kentucky North (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        ",36.41666666666666],PARAMETER[\"standard_parallel_2\",35");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        ".25],PARAMETER[\"latitude_of_origin\",34.33333333333334]");
+        ",37.96666666666667],PARAMETER[\"standard_parallel_2\",38");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-86],PARAMETER[\"false_e");
+        ".96666666666667],PARAMETER[\"latitude_of_origin\",37.5],");
     add_srs_wkt (p, 11,
-        "asting\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "PARAMETER[\"central_meridian\",-84.25],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        "_easting\",1640416.667],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 13,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 14,
-        "EPSG\",\"6576\"]]");
-    p = add_epsg_def (filter, first, last, 6577, "epsg", 6577,
-        "NAD83(2011) / Texas Central");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"6471\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6472, "epsg", 6472,
+        "NAD83(2011) / Kentucky Single Zone", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
+        "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666");
     add_proj4text (p, 1,
-        "667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +");
+        "666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 ");
     add_proj4text (p, 2,
-        "x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs");
+        "+y_0=1000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas Central\",GEOGCS[\"NAD83(20");
+        "PROJCS[\"NAD83(2011) / Kentucky Single Zone\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",31");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        ".88333333333333],PARAMETER[\"standard_parallel_2\",30.11");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "666666666667],PARAMETER[\"latitude_of_origin\",29.666666");
+        "7.08333333333334],PARAMETER[\"standard_parallel_2\",38.6");
     add_srs_wkt (p, 10,
-        "66666667],PARAMETER[\"central_meridian\",-100.3333333333");
+        "6666666666666],PARAMETER[\"latitude_of_origin\",36.33333");
     add_srs_wkt (p, 11,
-        "333],PARAMETER[\"false_easting\",700000],PARAMETER[\"fal");
+        "333333334],PARAMETER[\"central_meridian\",-85.75],PARAME");
     add_srs_wkt (p, 12,
-        "se_northing\",3000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "TER[\"false_easting\",1500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 13,
-        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "g\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"6577\"]]");
-    p = add_epsg_def (filter, first, last, 6578, "epsg", 6578,
-        "NAD83(2011) / Texas Central (ftUS)");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"6472\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6473, "epsg", 6473,
+        "NAD83(2011) / Kentucky Single Zone (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
+        "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666");
     add_proj4text (p, 1,
-        "667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +");
+        "666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 ");
     add_proj4text (p, 2,
-        "x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +units=u");
+        "+y_0=999999.9998983998 +ellps=GRS80 +units=us-ft +no_def");
     add_proj4text (p, 3,
-        "s-ft +no_defs");
+        "s");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas Central (ftUS)\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / Kentucky Single Zone (ftUS)\",GEO");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "GCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refer");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "ence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "_1\",31.88333333333333],PARAMETER[\"standard_parallel_2\"");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        ",30.11666666666667],PARAMETER[\"latitude_of_origin\",29.");
+        "el_1\",37.08333333333334],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "66666666666667],PARAMETER[\"central_meridian\",-100.3333");
+        "2\",38.66666666666666],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        "333333333],PARAMETER[\"false_easting\",2296583.333],PARA");
+        "36.33333333333334],PARAMETER[\"central_meridian\",-85.75");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",9842500.000000002],UNIT[\"US su");
+        "],PARAMETER[\"false_easting\",4921250],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "_northing\",3280833.333],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 14,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
     add_srs_wkt (p, 15,
-        "\",\"6578\"]]");
-    p = add_epsg_def (filter, first, last, 6579, "epsg", 6579,
-        "NAD83(2011) / Texas Centric Albers Equal Area");
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6473\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6474, "epsg", 6474,
+        "NAD83(2011) / Kentucky South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x");
+        "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
     add_proj4text (p, 1,
-        "_0=1500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +");
+    add_proj4text (p, 2,
+        "y_0=500000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas Centric Albers Equal Area\"");
+        "PROJCS[\"NAD83(2011) / Kentucky South\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        ",GEOGCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_R");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "eference_System_2011\",SPHEROID[\"GRS 1980\",6378137,298");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        ".257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPS");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "G\",\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJE");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "CTION[\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "parallel_1\",27.5],PARAMETER[\"standard_parallel_2\",35]");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.9333");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"latitude_of_center\",18],PARAMETER[\"longit");
+        "3333333333],PARAMETER[\"standard_parallel_2\",36.7333333");
     add_srs_wkt (p, 10,
-        "ude_of_center\",-100],PARAMETER[\"false_easting\",150000");
+        "3333333],PARAMETER[\"latitude_of_origin\",36.33333333333");
     add_srs_wkt (p, 11,
-        "0],PARAMETER[\"false_northing\",6000000],UNIT[\"metre\",");
+        "334],PARAMETER[\"central_meridian\",-85.75],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "false_easting\",500000],PARAMETER[\"false_northing\",500");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6579\"]]");
-    p = add_epsg_def (filter, first, last, 6580, "epsg", 6580,
-        "NAD83(2011) / Texas Centric Lambert Conformal");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6474");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6475, "epsg", 6475,
+        "NAD83(2011) / Kentucky South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x");
+        "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
     add_proj4text (p, 1,
-        "_0=1500000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0");
+    add_proj4text (p, 2,
+        "001016001 +y_0=500000.0001016001 +ellps=GRS80 +units=us-");
+    add_proj4text (p, 3,
+        "ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas Centric Lambert Conformal\"");
+        "PROJCS[\"NAD83(2011) / Kentucky South (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        ",GEOGCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_R");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "eference_System_2011\",SPHEROID[\"GRS 1980\",6378137,298");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        ".257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPS");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "G\",\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJE");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",27.5],PARAMETER[\"standard_parallel_2\"");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        ",35],PARAMETER[\"latitude_of_origin\",18],PARAMETER[\"ce");
+        ",37.93333333333333],PARAMETER[\"standard_parallel_2\",36");
     add_srs_wkt (p, 10,
-        "ntral_meridian\",-100],PARAMETER[\"false_easting\",15000");
+        ".73333333333333],PARAMETER[\"latitude_of_origin\",36.333");
     add_srs_wkt (p, 11,
-        "00],PARAMETER[\"false_northing\",5000000],UNIT[\"metre\"");
+        "33333333334],PARAMETER[\"central_meridian\",-85.75],PARA");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "METER[\"false_easting\",1640416.667],PARAMETER[\"false_n");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6580\"]]");
-    p = add_epsg_def (filter, first, last, 6581, "epsg", 6581,
-        "NAD83(2011) / Texas North");
+        "orthing\",1640416.667],UNIT[\"US survey foot\",0.3048006");
+    add_srs_wkt (p, 14,
+        "096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 15,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6475\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6476, "epsg", 6476,
+        "NAD83(2011) / Louisiana North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
+        "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
     add_proj4text (p, 1,
-        "4 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +u");
+        "667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas North\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"NAD83(2011) / Louisiana North\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        "18333333333333],PARAMETER[\"standard_parallel_2\",34.65]");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",32.66");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"latitude_of_origin\",34],PARAMETER[\"centra");
+        "666666666666],PARAMETER[\"standard_parallel_2\",31.16666");
     add_srs_wkt (p, 10,
-        "l_meridian\",-101.5],PARAMETER[\"false_easting\",200000]");
+        "666666667],PARAMETER[\"latitude_of_origin\",30.5],PARAME");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,");
+        "TER[\"central_meridian\",-92.5],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "g\",1000000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6581\"]]");
-    p = add_epsg_def (filter, first, last, 6582, "epsg", 6582,
-        "NAD83(2011) / Texas North (ftUS)");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6476\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6477, "epsg", 6477,
+        "NAD83(2011) / Louisiana North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
+        "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
     add_proj4text (p, 1,
-        "4 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.99989");
+        "667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0");
     add_proj4text (p, 2,
-        "83998 +ellps=GRS80 +units=us-ft +no_defs");
+        "=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas North (ftUS)\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(2011) / Louisiana North (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambe");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "1\",36.18333333333333],PARAMETER[\"standard_parallel_2\"");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        ",34.65],PARAMETER[\"latitude_of_origin\",34],PARAMETER[\"");
+        ",32.66666666666666],PARAMETER[\"standard_parallel_2\",31");
     add_srs_wkt (p, 10,
-        "central_meridian\",-101.5],PARAMETER[\"false_easting\",6");
+        ".16666666666667],PARAMETER[\"latitude_of_origin\",30.5],");
     add_srs_wkt (p, 11,
-        "56166.667],PARAMETER[\"false_northing\",3280833.333],UNI");
+        "PARAMETER[\"central_meridian\",-92.5],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "easting\",3280833.333300001],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 13,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"6582\"]]");
-    p = add_epsg_def (filter, first, last, 6583, "epsg", 6583,
-        "NAD83(2011) / Texas North Central");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 15,
+        "AUTHORITY[\"EPSG\",\"6477\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6478, "epsg", 6478,
+        "NAD83(2011) / Louisiana South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
+        "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
     add_proj4text (p, 1,
-        "333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y");
+        ".33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=");
     add_proj4text (p, 2,
-        "_0=2000000 +ellps=GRS80 +units=m +no_defs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas North Central\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Louisiana South\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        "_1\",33.96666666666667],PARAMETER[\"standard_parallel_2\"");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",30.7]");
     add_srs_wkt (p, 9,
-        ",32.13333333333333],PARAMETER[\"latitude_of_origin\",31.");
+        ",PARAMETER[\"standard_parallel_2\",29.3],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "66666666666667],PARAMETER[\"central_meridian\",-98.5],PA");
+        "itude_of_origin\",28.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",600000],PARAMETER[\"false_nort");
+        "91.33333333333333],PARAMETER[\"false_easting\",1000000],");
     add_srs_wkt (p, 12,
-        "hing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 13,
-        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
     add_srs_wkt (p, 14,
-        "SG\",\"6583\"]]");
-    p = add_epsg_def (filter, first, last, 6584, "epsg", 6584,
-        "NAD83(2011) / Texas North Central (ftUS)");
+        "],AUTHORITY[\"EPSG\",\"6478\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6479, "epsg", 6479,
+        "NAD83(2011) / Louisiana South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
+        "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
     add_proj4text (p, 1,
-        "333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y");
+        ".33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
-        "_0=2000000.0001016 +ellps=GRS80 +units=us-ft +no_defs");
+        "80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas North Central (ftUS)\",GEOG");
+        "PROJCS[\"NAD83(2011) / Louisiana South (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "CS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refere");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "nce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "22101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "rallel_1\",33.96666666666667],PARAMETER[\"standard_paral");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "lel_2\",32.13333333333333],PARAMETER[\"latitude_of_origi");
+        ",30.7],PARAMETER[\"standard_parallel_2\",29.3],PARAMETER");
     add_srs_wkt (p, 10,
-        "n\",31.66666666666667],PARAMETER[\"central_meridian\",-9");
+        "[\"latitude_of_origin\",28.5],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 11,
-        "8.5],PARAMETER[\"false_easting\",1968500],PARAMETER[\"fa");
+        "an\",-91.33333333333333],PARAMETER[\"false_easting\",328");
     add_srs_wkt (p, 12,
-        "lse_northing\",6561666.667],UNIT[\"US survey foot\",0.30");
+        "0833.333300001],PARAMETER[\"false_northing\",0],UNIT[\"U");
     add_srs_wkt (p, 13,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6584\"]]");
-    p = add_epsg_def (filter, first, last, 6585, "epsg", 6585,
-        "NAD83(2011) / Texas South");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"6479\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6480, "epsg", 6480,
+        "NAD83(2011) / Maine CS2000 Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
+        "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=5");
     add_proj4text (p, 1,
-        "667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y");
-    add_proj4text (p, 2,
-        "_0=5000000 +ellps=GRS80 +units=m +no_defs");
+        "00000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas South\",GEOGCS[\"NAD83(2011");
+        "PROJCS[\"NAD83(2011) / Maine CS2000 Central\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",27.");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "83333333333333],PARAMETER[\"standard_parallel_2\",26.166");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",43.5],PARA");
     add_srs_wkt (p, 9,
-        "66666666667],PARAMETER[\"latitude_of_origin\",25.6666666");
+        "METER[\"central_meridian\",-69.125],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "6666667],PARAMETER[\"central_meridian\",-98.5],PARAMETER");
+        "ctor\",0.99998],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",300000],PARAMETER[\"false_northing\",");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 14,
-        "6585\"]]");
-    p = add_epsg_def (filter, first, last, 6586, "epsg", 6586,
-        "NAD83(2011) / Texas South (ftUS)");
+        "HORITY[\"EPSG\",\"6480\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6481, "epsg", 6481,
+        "NAD83(2011) / Maine CS2000 East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
+        "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0");
     add_proj4text (p, 1,
-        "667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.00");
-    add_proj4text (p, 2,
-        "00000001 +y_0=5000000.0001016 +ellps=GRS80 +units=us-ft ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        ".99998 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas South (ftUS)\",GEOGCS[\"NAD");
+        "PROJCS[\"NAD83(2011) / Maine CS2000 East\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambe");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "1\",27.83333333333333],PARAMETER[\"standard_parallel_2\"");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",43.833333333");
     add_srs_wkt (p, 9,
-        ",26.16666666666667],PARAMETER[\"latitude_of_origin\",25.");
+        "33334],PARAMETER[\"central_meridian\",-67.875],PARAMETER");
     add_srs_wkt (p, 10,
-        "66666666666667],PARAMETER[\"central_meridian\",-98.5],PA");
+        "[\"scale_factor\",0.99998],PARAMETER[\"false_easting\",7");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",984250.0000000002],PARAMETER[\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "false_northing\",16404166.667],UNIT[\"US survey foot\",0");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
-    add_srs_wkt (p, 14,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6586\"]]");
-    p = add_epsg_def (filter, first, last, 6587, "epsg", 6587,
-        "NAD83(2011) / Texas South Central");
+        ",NORTH],AUTHORITY[\"EPSG\",\"6481\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6482, "epsg", 6482,
+        "NAD83(2011) / Maine CS2000 West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0");
     add_proj4text (p, 1,
-        "333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0");
-    add_proj4text (p, 2,
-        "=4000000 +ellps=GRS80 +units=m +no_defs");
+        ".99998 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas South Central\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Maine CS2000 West\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "_1\",30.28333333333333],PARAMETER[\"standard_parallel_2\"");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",42.833333333");
     add_srs_wkt (p, 9,
-        ",28.38333333333333],PARAMETER[\"latitude_of_origin\",27.");
+        "33334],PARAMETER[\"central_meridian\",-70.375],PARAMETER");
     add_srs_wkt (p, 10,
-        "83333333333333],PARAMETER[\"central_meridian\",-99],PARA");
+        "[\"scale_factor\",0.99998],PARAMETER[\"false_easting\",3");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",600000],PARAMETER[\"false_northi");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "ng\",4000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
-    add_srs_wkt (p, 14,
-        "\",\"6587\"]]");
-    p = add_epsg_def (filter, first, last, 6588, "epsg", 6588,
-        "NAD83(2011) / Texas South Central (ftUS)");
+        ",NORTH],AUTHORITY[\"EPSG\",\"6482\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6483, "epsg", 6483,
+        "NAD83(2011) / Maine East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
+    add_proj4text (p, 1,
+        "999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"NAD83(2011) / Maine East\",GEOGCS[\"NAD83(2011)");
+    add_srs_wkt (p, 1,
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+    add_srs_wkt (p, 2,
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+    add_srs_wkt (p, 3,
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+    add_srs_wkt (p, 4,
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+    add_srs_wkt (p, 5,
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
+    add_srs_wkt (p, 6,
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
+    add_srs_wkt (p, 7,
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercator\"]");
+    add_srs_wkt (p, 8,
+        ",PARAMETER[\"latitude_of_origin\",43.66666666666666],PAR");
+    add_srs_wkt (p, 9,
+        "AMETER[\"central_meridian\",-68.5],PARAMETER[\"scale_fac");
+    add_srs_wkt (p, 10,
+        "tor\",0.9999],PARAMETER[\"false_easting\",300000],PARAME");
+    add_srs_wkt (p, 11,
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 12,
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"6483\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6484, "epsg", 6484,
+        "NAD83(2011) / Maine East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
+        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
-        "333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0");
+        "999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +units=us");
     add_proj4text (p, 2,
-        "=3999999.9998984 +ellps=GRS80 +units=us-ft +no_defs");
+        "-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Texas South Central (ftUS)\",GEOG");
+        "PROJCS[\"NAD83(2011) / Maine East (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "CS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refere");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "nce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "22101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "rallel_1\",30.28333333333333],PARAMETER[\"standard_paral");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",43.666666666");
     add_srs_wkt (p, 9,
-        "lel_2\",28.38333333333333],PARAMETER[\"latitude_of_origi");
+        "66666],PARAMETER[\"central_meridian\",-68.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "n\",27.83333333333333],PARAMETER[\"central_meridian\",-9");
+        "scale_factor\",0.9999],PARAMETER[\"false_easting\",98425");
     add_srs_wkt (p, 11,
-        "9],PARAMETER[\"false_easting\",1968500],PARAMETER[\"fals");
+        "0.0000000002],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 12,
-        "e_northing\",13123333.333],UNIT[\"US survey foot\",0.304");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6588\"]]");
-    p = add_epsg_def (filter, first, last, 6589, "epsg", 6589,
-        "NAD83(2011) / Vermont");
+        "SG\",\"6484\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6485, "epsg", 6485,
+        "NAD83(2011) / Maine West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
-        "=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +u");
+    add_proj4text (p, 2,
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Vermont\",GEOGCS[\"NAD83(2011)\",");
+        "PROJCS[\"NAD83(2011) / Maine West\",GEOGCS[\"NAD83(2011)");
     add_srs_wkt (p, 1,
-        "DATUM[\"NAD83_National_Spatial_Reference_System_2011\",S");
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
     add_srs_wkt (p, 2,
-        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Merca");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",42.5],PARAMETER[");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-72.5],PARAMETER[\"scale_factor\",0");
+        ",PARAMETER[\"latitude_of_origin\",42.83333333333334],PAR");
     add_srs_wkt (p, 9,
-        ".999964286],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "AMETER[\"central_meridian\",-70.16666666666667],PARAMETE");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "R[\"scale_factor\",0.999966667],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "g\",900000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"6589\"]]");
-    p = add_epsg_def (filter, first, last, 6590, "epsg", 6590,
-        "NAD83(2011) / Vermont (ftUS)");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6485\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6486, "epsg", 6486,
+        "NAD83(2011) / Maine West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
-        "=500000.00001016 +y_0=0 +ellps=GRS80 +units=us-ft +no_de");
+        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +u");
     add_proj4text (p, 2,
-        "fs");
+        "nits=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Vermont (ftUS)\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Maine West (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",42.5],PARA");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-72.5],PARAMETER[\"scale_fact");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",42.833333333");
     add_srs_wkt (p, 9,
-        "or\",0.999964286],PARAMETER[\"false_easting\",1640416.66");
+        "33334],PARAMETER[\"central_meridian\",-70.16666666666667");
     add_srs_wkt (p, 10,
-        "67],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+        "],PARAMETER[\"scale_factor\",0.999966667],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "lse_easting\",2952750],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"659");
+        "NIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 6591, "epsg", 6591,
-        "NAD83(2011) / Virginia Lambert");
+        "SG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"6486\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6487, "epsg", 6487,
+        "NAD83(2011) / Maryland", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37 +lat_2=39.5 +lat_0=36 +lon_0=-79.5 +");
+        "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
     add_proj4text (p, 1,
-        "x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Virginia Lambert\",GEOGCS[\"NAD83");
+        "PROJCS[\"NAD83(2011) / Maryland\",GEOGCS[\"NAD83(2011)\"");
     add_srs_wkt (p, 1,
-        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
+        ",DATUM[\"NAD83_National_Spatial_Reference_System_2011\",");
     add_srs_wkt (p, 2,
-        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        ",37],PARAMETER[\"standard_parallel_2\",39.5],PARAMETER[\"");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",39.45],PARAME");
     add_srs_wkt (p, 9,
-        "latitude_of_origin\",36],PARAMETER[\"central_meridian\",");
+        "TER[\"standard_parallel_2\",38.3],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        "-79.5],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
+        "f_origin\",37.66666666666666],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 11,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "an\",-77],PARAMETER[\"false_easting\",400000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        "\",\"6591\"]]");
-    p = add_epsg_def (filter, first, last, 6592, "epsg", 6592,
-        "NAD83(2011) / Virginia North");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"6487\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6488, "epsg", 6488,
+        "NAD83(2011) / Maryland (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
+        "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +");
+        "666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS8");
     add_proj4text (p, 2,
-        "ellps=GRS80 +units=m +no_defs");
+        "0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Virginia North\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Maryland (ftUS)\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        "9.2],PARAMETER[\"standard_parallel_2\",38.03333333333333");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.45");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",37.66666666666666],PA");
+        "],PARAMETER[\"standard_parallel_2\",38.3],PARAMETER[\"la");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-78.5],PARAMETER[\"false_ea");
+        "titude_of_origin\",37.66666666666666],PARAMETER[\"centra");
     add_srs_wkt (p, 11,
-        "sting\",3500000],PARAMETER[\"false_northing\",2000000],U");
+        "l_meridian\",-77],PARAMETER[\"false_easting\",1312333.33");
     add_srs_wkt (p, 12,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "3],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6592\"]]");
-    p = add_epsg_def (filter, first, last, 6593, "epsg", 6593,
-        "NAD83(2011) / Virginia North (ftUS)");
+        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6488");
+    add_srs_wkt (p, 15,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6489, "epsg", 6489,
+        "NAD83(2011) / Massachusetts Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
+        "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2");
+        "333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
-        "000000.0001016 +ellps=GRS80 +units=us-ft +no_defs");
+        "80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Virginia North (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Massachusetts Island\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "el_1\",39.2],PARAMETER[\"standard_parallel_2\",38.033333");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
     add_srs_wkt (p, 9,
-        "33333333],PARAMETER[\"latitude_of_origin\",37.6666666666");
+        "1.48333333333333],PARAMETER[\"standard_parallel_2\",41.2");
     add_srs_wkt (p, 10,
-        "6666],PARAMETER[\"central_meridian\",-78.5],PARAMETER[\"");
+        "8333333333333],PARAMETER[\"latitude_of_origin\",41],PARA");
     add_srs_wkt (p, 11,
-        "false_easting\",11482916.667],PARAMETER[\"false_northing");
+        "METER[\"central_meridian\",-70.5],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "\",6561666.667],UNIT[\"US survey foot\",0.30480060960121");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 13,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
     add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6593\"]]");
-    p = add_epsg_def (filter, first, last, 6594, "epsg", 6594,
-        "NAD83(2011) / Virginia South");
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6489\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6490, "epsg", 6490,
+        "NAD83(2011) / Massachusetts Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
+        "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
     add_proj4text (p, 1,
-        "667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +");
+        "333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0");
     add_proj4text (p, 2,
-        "y_0=1000000 +ellps=GRS80 +units=m +no_defs");
+        " +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Virginia South\",GEOGCS[\"NAD83(2");
+        "PROJCS[\"NAD83(2011) / Massachusetts Island (ftUS)\",GEO");
     add_srs_wkt (p, 1,
-        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
+        "GCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refer");
     add_srs_wkt (p, 2,
-        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "ence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "7.96666666666667],PARAMETER[\"standard_parallel_2\",36.7");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "6666666666667],PARAMETER[\"latitude_of_origin\",36.33333");
+        "el_1\",41.48333333333333],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "333333334],PARAMETER[\"central_meridian\",-78.5],PARAMET");
+        "2\",41.28333333333333],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",3500000],PARAMETER[\"false_northing");
+        "41],PARAMETER[\"central_meridian\",-70.5],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "lse_easting\",1640416.667],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
     add_srs_wkt (p, 14,
-        ",\"6594\"]]");
-    p = add_epsg_def (filter, first, last, 6595, "epsg", 6595,
-        "NAD83(2011) / Virginia South (ftUS)");
+        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"6490\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6491, "epsg", 6491,
+        "NAD83(2011) / Massachusetts Mainland", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
+        "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
     add_proj4text (p, 1,
-        "667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0");
+        "667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellp");
     add_proj4text (p, 2,
-        "001016 +y_0=999999.9998983998 +ellps=GRS80 +units=us-ft ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        "s=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Virginia South (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Massachusetts Mainland\",GEOGCS[\"");
     add_srs_wkt (p, 1,
         "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
@@ -1109,181 +1283,206 @@ initialize_epsg_31 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "el_1\",37.96666666666667],PARAMETER[\"standard_parallel_");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "2\",36.76666666666667],PARAMETER[\"latitude_of_origin\",");
+        ",42.68333333333333],PARAMETER[\"standard_parallel_2\",41");
     add_srs_wkt (p, 10,
-        "36.33333333333334],PARAMETER[\"central_meridian\",-78.5]");
+        ".71666666666667],PARAMETER[\"latitude_of_origin\",41],PA");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_easting\",11482916.667],PARAMETER[\"f");
+        "RAMETER[\"central_meridian\",-71.5],PARAMETER[\"false_ea");
     add_srs_wkt (p, 12,
-        "alse_northing\",3280833.333],UNIT[\"US survey foot\",0.3");
+        "sting\",200000],PARAMETER[\"false_northing\",750000],UNI");
     add_srs_wkt (p, 13,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6595\"]]");
-    p = add_epsg_def (filter, first, last, 6596, "epsg", 6596,
-        "NAD83(2011) / Washington North");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6491\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6492, "epsg", 6492,
+        "NAD83(2011) / Massachusetts Mainland (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
+        "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
     add_proj4text (p, 1,
-        " +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS");
+        "667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=7");
     add_proj4text (p, 2,
-        "80 +units=m +no_defs");
+        "50000 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Washington North\",GEOGCS[\"NAD83");
+        "PROJCS[\"NAD83(2011) / Massachusetts Mainland (ftUS)\",G");
     add_srs_wkt (p, 1,
-        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
+        "EOGCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Ref");
     add_srs_wkt (p, 2,
-        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "erence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
+        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        ",48.73333333333333],PARAMETER[\"standard_parallel_2\",47");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        ".5],PARAMETER[\"latitude_of_origin\",47],PARAMETER[\"cen");
+        "lel_1\",42.68333333333333],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "tral_meridian\",-120.8333333333333],PARAMETER[\"false_ea");
+        "_2\",41.71666666666667],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        ",41],PARAMETER[\"central_meridian\",-71.5],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+        "alse_easting\",656166.667],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6596\"]]");
-    p = add_epsg_def (filter, first, last, 6597, "epsg", 6597,
-        "NAD83(2011) / Washington North (ftUS)");
+        "2460625],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
+    add_srs_wkt (p, 14,
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"6492\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6493, "epsg", 6493,
+        "NAD83(2011) / Michigan Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
+        "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
     add_proj4text (p, 1,
-        " +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0");
+        ".31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +");
     add_proj4text (p, 2,
-        " +ellps=GRS80 +units=us-ft +no_defs");
+        "y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Washington North (ftUS)\",GEOGCS[");
+        "PROJCS[\"NAD83(2011) / Michigan Central\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
+        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
     add_srs_wkt (p, 2,
-        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
+        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
     add_srs_wkt (p, 4,
-        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"L");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
+        "AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        "lel_1\",48.73333333333333],PARAMETER[\"standard_parallel");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.7");
     add_srs_wkt (p, 9,
-        "_2\",47.5],PARAMETER[\"latitude_of_origin\",47],PARAMETE");
+        "],PARAMETER[\"standard_parallel_2\",44.18333333333333],P");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-120.8333333333333],PARAMETER[\"f");
+        "ARAMETER[\"latitude_of_origin\",43.31666666666667],PARAM");
     add_srs_wkt (p, 11,
-        "alse_easting\",1640416.667],PARAMETER[\"false_northing\"");
+        "ETER[\"central_meridian\",-84.36666666666666],PARAMETER[");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "\"false_easting\",6000000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"6597\"]]");
-    p = add_epsg_def (filter, first, last, 6598, "epsg", 6598,
-        "NAD83(2011) / Washington South");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6493\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6494, "epsg", 6494,
+        "NAD83(2011) / Michigan Central (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
+        "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
     add_proj4text (p, 1,
-        "334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +");
+        ".31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.9");
     add_proj4text (p, 2,
-        "y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "99976001 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Washington South\",GEOGCS[\"NAD83");
+        "PROJCS[\"NAD83(2011) / Michigan Central (ft)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        ",47.33333333333334],PARAMETER[\"standard_parallel_2\",45");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        ".83333333333334],PARAMETER[\"latitude_of_origin\",45.333");
+        ",45.7],PARAMETER[\"standard_parallel_2\",44.183333333333");
     add_srs_wkt (p, 10,
-        "33333333334],PARAMETER[\"central_meridian\",-120.5],PARA");
+        "33],PARAMETER[\"latitude_of_origin\",43.31666666666667],");
     add_srs_wkt (p, 11,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "PARAMETER[\"central_meridian\",-84.36666666666666],PARAM");
     add_srs_wkt (p, 12,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "ETER[\"false_easting\",19685039.37],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
+        "rthing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 14,
-        "598\"]]");
-    p = add_epsg_def (filter, first, last, 6599, "epsg", 6599,
-        "NAD83(2011) / Washington South (ftUS)");
+        "02\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 15,
+        "SG\",\"6494\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6495, "epsg", 6495,
+        "NAD83(2011) / Michigan North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
+        "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
     add_proj4text (p, 1,
-        "334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0");
+        "333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_");
     add_proj4text (p, 2,
-        "001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Washington South (ftUS)\",GEOGCS[");
+        "PROJCS[\"NAD83(2011) / Michigan North\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"L");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "lel_1\",47.33333333333334],PARAMETER[\"standard_parallel");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.0833");
     add_srs_wkt (p, 9,
-        "_2\",45.83333333333334],PARAMETER[\"latitude_of_origin\"");
+        "3333333334],PARAMETER[\"standard_parallel_2\",45.4833333");
     add_srs_wkt (p, 10,
-        ",45.33333333333334],PARAMETER[\"central_meridian\",-120.");
+        "3333333],PARAMETER[\"latitude_of_origin\",44.78333333333");
     add_srs_wkt (p, 11,
-        "5],PARAMETER[\"false_easting\",1640416.667],PARAMETER[\"");
+        "333],PARAMETER[\"central_meridian\",-87],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "se_easting\",8000000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6599\"]]");
-    p = add_epsg_def (filter, first, last, 6600, "epsg", 6600,
-        "NAD83(2011) / West Virginia North");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6495\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6496, "epsg", 6496,
+        "NAD83(2011) / Michigan North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
+        "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
     add_proj4text (p, 1,
-        "5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999");
+    add_proj4text (p, 2,
+        "968001 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / West Virginia North\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Michigan North (ft)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
         "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
@@ -1295,179 +1494,204 @@ initialize_epsg_31 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "_1\",40.25],PARAMETER[\"standard_parallel_2\",39],PARAME");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",38.5],PARAMETER[\"central_mer");
+        "7.08333333333334],PARAMETER[\"standard_parallel_2\",45.4");
     add_srs_wkt (p, 10,
-        "idian\",-79.5],PARAMETER[\"false_easting\",600000],PARAM");
+        "8333333333333],PARAMETER[\"latitude_of_origin\",44.78333");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "333333333],PARAMETER[\"central_meridian\",-87],PARAMETER");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "[\"false_easting\",26246719.16],PARAMETER[\"false_northi");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"6600\"]]");
-    p = add_epsg_def (filter, first, last, 6601, "epsg", 6601,
-        "NAD83(2011) / West Virginia North (ftUS)");
+        "ng\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"");
+    add_srs_wkt (p, 14,
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"6496\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6497, "epsg", 6497,
+        "NAD83(2011) / Michigan Oblique Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Hotine_Oblique_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
+        "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=33");
     add_proj4text (p, 1,
-        "5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "7.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +no");
+    add_proj4text (p, 2,
+        "_uoff +gamma=337.25556 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / West Virginia North (ftUS)\",GEOG");
+        "PROJCS[\"NAD83(2011) / Michigan Oblique Mercator\",GEOGC");
     add_srs_wkt (p, 1,
-        "CS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refere");
+        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
     add_srs_wkt (p, 2,
-        "nce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572");
+        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
     add_srs_wkt (p, 3,
-        "22101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
         "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
         "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Hoti");
     add_srs_wkt (p, 8,
-        "rallel_1\",40.25],PARAMETER[\"standard_parallel_2\",39],");
+        "ne_Oblique_Mercator\"],PARAMETER[\"latitude_of_center\",");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",38.5],PARAMETER[\"centr");
+        "45.30916666666666],PARAMETER[\"longitude_of_center\",-86");
     add_srs_wkt (p, 10,
-        "al_meridian\",-79.5],PARAMETER[\"false_easting\",1968500");
+        "],PARAMETER[\"azimuth\",337.25556],PARAMETER[\"rectified");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "_grid_angle\",337.25556],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 12,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "96],PARAMETER[\"false_easting\",2546731.496],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6601\"]");
+        "false_northing\",-4354009.816],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 6602, "epsg", 6602,
-        "NAD83(2011) / West Virginia South");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 15,
+        ",AUTHORITY[\"EPSG\",\"6497\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6498, "epsg", 6498,
+        "NAD83(2011) / Michigan South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
+        "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
     add_proj4text (p, 1,
-        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80");
+        ".5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=");
     add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / West Virginia South\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Michigan South\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "_1\",38.88333333333333],PARAMETER[\"standard_parallel_2\"");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43.6666");
     add_srs_wkt (p, 9,
-        ",37.48333333333333],PARAMETER[\"latitude_of_origin\",37]");
+        "6666666666],PARAMETER[\"standard_parallel_2\",42.1],PARA");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-81],PARAMETER[\"false_e");
+        "METER[\"latitude_of_origin\",41.5],PARAMETER[\"central_m");
     add_srs_wkt (p, 11,
-        "asting\",600000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "eridian\",-84.36666666666666],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        ",4000000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 13,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6602\"]]");
-    p = add_epsg_def (filter, first, last, 6603, "epsg", 6603,
-        "NAD83(2011) / West Virginia South (ftUS)");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6498\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6499, "epsg", 6499,
+        "NAD83(2011) / Michigan South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
+        "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
     add_proj4text (p, 1,
-        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80");
+        ".5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 ");
     add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        "+ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / West Virginia South (ftUS)\",GEOG");
+        "PROJCS[\"NAD83(2011) / Michigan South (ft)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "CS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refere");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "nce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "22101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "rallel_1\",38.88333333333333],PARAMETER[\"standard_paral");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
     add_srs_wkt (p, 9,
-        "lel_2\",37.48333333333333],PARAMETER[\"latitude_of_origi");
+        "3.66666666666666],PARAMETER[\"standard_parallel_2\",42.1");
     add_srs_wkt (p, 10,
-        "n\",37],PARAMETER[\"central_meridian\",-81],PARAMETER[\"");
+        "],PARAMETER[\"latitude_of_origin\",41.5],PARAMETER[\"cen");
     add_srs_wkt (p, 11,
-        "false_easting\",1968500],PARAMETER[\"false_northing\",0]");
+        "tral_meridian\",-84.36666666666666],PARAMETER[\"false_ea");
     add_srs_wkt (p, 12,
-        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "sting\",13123359.58],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "T[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"6603\"]]");
-    p = add_epsg_def (filter, first, last, 6604, "epsg", 6604,
-        "NAD83(2011) / Wisconsin Central");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6499\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6500, "epsg", 6500,
+        "NAD83(2011) / Minnesota Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
+        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
-        "334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=");
+        "5 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +un");
     add_proj4text (p, 2,
-        "0,0,0,0,0,0,0 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wisconsin Central\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / Minnesota Central\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "3(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Reference_S");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "ystem_2007\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AU");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_1\",45.5],PARAMETER[\"standard");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.");
     add_srs_wkt (p, 9,
-        "_parallel_2\",44.25],PARAMETER[\"latitude_of_origin\",43");
+        "05],PARAMETER[\"standard_parallel_2\",45.61666666666667]");
     add_srs_wkt (p, 10,
-        ".83333333333334],PARAMETER[\"central_meridian\",-90],PAR");
+        ",PARAMETER[\"latitude_of_origin\",45],PARAMETER[\"centra");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",600000],PARAMETER[\"false_north");
+        "l_meridian\",-94.25],PARAMETER[\"false_easting\",800000]");
     add_srs_wkt (p, 12,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        ",PARAMETER[\"false_northing\",100000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
     add_srs_wkt (p, 14,
-        "6604\"]]");
-    p = add_epsg_def (filter, first, last, 6605, "epsg", 6605,
-        "NAD83(2011) / Wisconsin Central (ftUS)");
+        ",NORTH],AUTHORITY[\"EPSG\",\"6500\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6501, "epsg", 6501,
+        "NAD83(2011) / Minnesota Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
+        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
-        "334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us");
+        "5 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.999989");
     add_proj4text (p, 2,
-        "-ft +no_defs");
+        "83997 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wisconsin Central (ftUS)\",GEOGCS");
+        "PROJCS[\"NAD83(2011) / Minnesota Central (ftUS)\",GEOGCS");
     add_srs_wkt (p, 1,
         "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
     add_srs_wkt (p, 2,
@@ -1479,33 +1703,38 @@ initialize_epsg_31 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_para");
+        ",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "llel_1\",45.5],PARAMETER[\"standard_parallel_2\",44.25],");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",43.83333333333334],PARA");
+        "\",47.05],PARAMETER[\"standard_parallel_2\",45.616666666");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-90],PARAMETER[\"false_eastin");
+        "66667],PARAMETER[\"latitude_of_origin\",45],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "g\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "central_meridian\",-94.25],PARAMETER[\"false_easting\",2");
     add_srs_wkt (p, 12,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "624666.6667],PARAMETER[\"false_northing\",328083.3333],U");
     add_srs_wkt (p, 13,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "NIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EP");
     add_srs_wkt (p, 14,
-        "G\",\"6605\"]]");
-    p = add_epsg_def (filter, first, last, 6606, "epsg", 6606,
-        "NAD83(2011) / Wisconsin North");
+        "SG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 15,
+        "RITY[\"EPSG\",\"6501\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6502, "epsg", 6502,
+        "NAD83(2011) / Minnesota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
+        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
-        "667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0");
+        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y");
     add_proj4text (p, 2,
-        "=0 +ellps=GRS80 +units=m +no_defs");
+        "_0=100000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wisconsin North\",GEOGCS[\"NAD83(");
+        "PROJCS[\"NAD83(2011) / Minnesota North\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
         "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
@@ -1517,33 +1746,38 @@ initialize_epsg_31 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        ",46.76666666666667],PARAMETER[\"standard_parallel_2\",45");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",48.63");
     add_srs_wkt (p, 9,
-        ".56666666666667],PARAMETER[\"latitude_of_origin\",45.166");
+        "333333333333],PARAMETER[\"standard_parallel_2\",47.03333");
     add_srs_wkt (p, 10,
-        "66666666666],PARAMETER[\"central_meridian\",-90],PARAMET");
+        "333333333],PARAMETER[\"latitude_of_origin\",46.5],PARAME");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",600000],PARAMETER[\"false_northing\"");
+        "TER[\"central_meridian\",-93.1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 12,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "g\",800000],PARAMETER[\"false_northing\",100000],UNIT[\"");
     add_srs_wkt (p, 13,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6606\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 6607, "epsg", 6607,
-        "NAD83(2011) / Wisconsin North (ftUS)");
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6502\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6503, "epsg", 6503,
+        "NAD83(2011) / Minnesota North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
+        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
-        "667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0");
+        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
     add_proj4text (p, 2,
-        "=0 +ellps=GRS80 +units=us-ft +no_defs");
+        "00101599 +y_0=99999.99998983997 +ellps=GRS80 +units=us-f");
+    add_proj4text (p, 3,
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wisconsin North (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Minnesota North (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
         "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
@@ -1555,33 +1789,38 @@ initialize_epsg_31 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "el_1\",46.76666666666667],PARAMETER[\"standard_parallel_");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "2\",45.56666666666667],PARAMETER[\"latitude_of_origin\",");
+        ",48.63333333333333],PARAMETER[\"standard_parallel_2\",47");
     add_srs_wkt (p, 10,
-        "45.16666666666666],PARAMETER[\"central_meridian\",-90],P");
+        ".03333333333333],PARAMETER[\"latitude_of_origin\",46.5],");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",1968500],PARAMETER[\"false_no");
+        "PARAMETER[\"central_meridian\",-93.1],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "easting\",2624666.6667],PARAMETER[\"false_northing\",328");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "083.3333],UNIT[\"US survey foot\",0.3048006096012192,AUT");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6607\"]]");
-    p = add_epsg_def (filter, first, last, 6608, "epsg", 6608,
-        "NAD83(2011) / Wisconsin South");
+        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 15,
+        "ORTH],AUTHORITY[\"EPSG\",\"6503\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6504, "epsg", 6504,
+        "NAD83(2011) / Minnesota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
+        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80");
+        "333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=");
     add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wisconsin South\",GEOGCS[\"NAD83(");
+        "PROJCS[\"NAD83(2011) / Minnesota South\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
         "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
@@ -1593,31 +1832,36 @@ initialize_epsg_31 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        ",44.06666666666667],PARAMETER[\"standard_parallel_2\",42");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.21");
     add_srs_wkt (p, 9,
-        ".73333333333333],PARAMETER[\"latitude_of_origin\",42],PA");
+        "666666666667],PARAMETER[\"standard_parallel_2\",43.78333");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-90],PARAMETER[\"false_east");
+        "333333333],PARAMETER[\"latitude_of_origin\",43],PARAMETE");
     add_srs_wkt (p, 11,
-        "ing\",600000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "R[\"central_meridian\",-94],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "800000],PARAMETER[\"false_northing\",100000],UNIT[\"metr");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6608\"]]");
-    p = add_epsg_def (filter, first, last, 6609, "epsg", 6609,
-        "NAD83(2011) / Wisconsin South (ftUS)");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6504\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6505, "epsg", 6505,
+        "NAD83(2011) / Minnesota South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
+        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80");
+        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=999");
     add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        "99.99998983997 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wisconsin South (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Minnesota South (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
         "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
@@ -1629,339 +1873,387 @@ initialize_epsg_31 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "el_1\",44.06666666666667],PARAMETER[\"standard_parallel_");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "2\",42.73333333333333],PARAMETER[\"latitude_of_origin\",");
+        ",45.21666666666667],PARAMETER[\"standard_parallel_2\",43");
     add_srs_wkt (p, 10,
-        "42],PARAMETER[\"central_meridian\",-90],PARAMETER[\"fals");
+        ".78333333333333],PARAMETER[\"latitude_of_origin\",43],PA");
     add_srs_wkt (p, 11,
-        "e_easting\",1968500],PARAMETER[\"false_northing\",0],UNI");
+        "RAMETER[\"central_meridian\",-94],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "ing\",2624666.6667],PARAMETER[\"false_northing\",328083.");
     add_srs_wkt (p, 13,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "3333],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
     add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"6609\"]]");
-    p = add_epsg_def (filter, first, last, 6610, "epsg", 6610,
-        "NAD83(2011) / Wisconsin Transverse Mercator");
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 15,
+        "],AUTHORITY[\"EPSG\",\"6505\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6506, "epsg", 6506,
+        "NAD83(2011) / Mississippi East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y");
+        "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "_0=-4480000 +ellps=GRS80 +units=m +no_defs");
+        "9995 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wisconsin Transverse Mercator\",G");
+        "PROJCS[\"NAD83(2011) / Mississippi East\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "EOGCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Ref");
+        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
     add_srs_wkt (p, 2,
-        "erence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2");
+        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\"");
+        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
     add_srs_wkt (p, 4,
-        ",\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTI");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-90],PARAMETER[\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",29.5],PARAMET");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",52000");
+        "ER[\"central_meridian\",-88.83333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",-4480000],UNIT[\"metre\"");
+        "scale_factor\",0.99995],PARAMETER[\"false_easting\",3000");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6610\"]]");
-    p = add_epsg_def (filter, first, last, 6611, "epsg", 6611,
-        "NAD83(2011) / Wyoming East");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"6506\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6507, "epsg", 6507,
+        "NAD83(2011) / Mississippi East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
+        "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "999375 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "9995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +units=u");
+    add_proj4text (p, 2,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wyoming East\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / Mississippi East (ftUS)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",40.5],PARAM");
+        "EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-105.1666666666667],PARAMETER[");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",29.5],P");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999375],PARAMETER[\"false_easting\",");
+        "ARAMETER[\"central_meridian\",-88.83333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "200000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "TER[\"scale_factor\",0.99995],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        ",984250.0000000002],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6611\"]]");
-    p = add_epsg_def (filter, first, last, 6612, "epsg", 6612,
-        "NAD83(2011) / Wyoming East (ftUS)");
+        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"6507\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6508, "epsg", 6508,
+        "NAD83(2011) / Mississippi TM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
+        "+proj=tmerc +lat_0=32.5 +lon_0=-89.75 +k=0.9998335 +x_0=");
     add_proj4text (p, 1,
-        "999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +units=u");
-    add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "500000 +y_0=1300000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wyoming East (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Mississippi TM\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-105.1666666666667],PAR");
+        "tor\"],PARAMETER[\"latitude_of_origin\",32.5],PARAMETER[");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_eas");
+        "\"central_meridian\",-89.75],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "ting\",656166.6667],PARAMETER[\"false_northing\",0],UNIT");
+        "0.9998335],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "[\"false_northing\",1300000],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"6612\"]]");
-    p = add_epsg_def (filter, first, last, 6613, "epsg", 6613,
-        "NAD83(2011) / Wyoming East Central");
+        "UTHORITY[\"EPSG\",\"6508\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6509, "epsg", 6509,
+        "NAD83(2011) / Mississippi West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
+        "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m +no");
-    add_proj4text (p, 2,
-        "_defs");
+        "9995 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wyoming East Central\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / Mississippi West\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5");
+        "AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-107.3333333333333],PAR");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",29.5],PARAMET");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_eas");
+        "ER[\"central_meridian\",-90.33333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ting\",400000],PARAMETER[\"false_northing\",100000],UNIT");
+        "scale_factor\",0.99995],PARAMETER[\"false_easting\",7000");
     add_srs_wkt (p, 11,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6613\"]]");
-    p = add_epsg_def (filter, first, last, 6614, "epsg", 6614,
-        "NAD83(2011) / Wyoming East Central (ftUS)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"6509\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6510, "epsg", 6510,
+        "NAD83(2011) / Mississippi West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
+        "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellp");
+        "9995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +units=u");
     add_proj4text (p, 2,
-        "s=GRS80 +units=us-ft +no_defs");
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wyoming East Central (ftUS)\",GEO");
+        "PROJCS[\"NAD83(2011) / Mississippi West (ftUS)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "GCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refer");
+        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
     add_srs_wkt (p, 2,
-        "ence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
     add_srs_wkt (p, 4,
-        "\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTIO");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "n\",40.5],PARAMETER[\"central_meridian\",-107.3333333333");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",29.5],P");
     add_srs_wkt (p, 9,
-        "333],PARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"f");
+        "ARAMETER[\"central_meridian\",-90.33333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "alse_easting\",1312333.3333],PARAMETER[\"false_northing\"");
+        "TER[\"scale_factor\",0.99995],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        ",328083.3333],UNIT[\"US survey foot\",0.3048006096012192");
+        ",2296583.333],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"6614\"]]");
-    p = add_epsg_def (filter, first, last, 6615, "epsg", 6615,
-        "NAD83(2011) / Wyoming West");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"6510\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6511, "epsg", 6511,
+        "NAD83(2011) / Missouri Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
+        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9");
     add_proj4text (p, 1,
-        "999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no");
+        "99933333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_de");
     add_proj4text (p, 2,
-        "_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wyoming West\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / Missouri Central\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
+        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
     add_srs_wkt (p, 2,
-        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
+        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
+        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",40.5],PARAM");
+        "AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-110.0833333333333],PARAMETER[");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",35.8333333333");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999375],PARAMETER[\"false_easting\",");
+        "3334],PARAMETER[\"central_meridian\",-92.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "800000],PARAMETER[\"false_northing\",100000],UNIT[\"metr");
+        "scale_factor\",0.999933333],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6615\"]]");
-    p = add_epsg_def (filter, first, last, 6616, "epsg", 6616,
-        "NAD83(2011) / Wyoming West (ftUS)");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"6511\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6512, "epsg", 6512,
+        "NAD83(2011) / Missouri East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
+        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9");
     add_proj4text (p, 1,
-        "999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +el");
+        "99933333 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_de");
     add_proj4text (p, 2,
-        "lps=GRS80 +units=us-ft +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wyoming West (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Missouri East\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-110.0833333333333],PAR");
+        "or\"],PARAMETER[\"latitude_of_origin\",35.83333333333334");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_eas");
+        "],PARAMETER[\"central_meridian\",-90.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "ting\",2624666.6667],PARAMETER[\"false_northing\",328083");
+        "e_factor\",0.999933333],PARAMETER[\"false_easting\",2500");
     add_srs_wkt (p, 11,
-        ".3333],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
     add_srs_wkt (p, 13,
-        "H],AUTHORITY[\"EPSG\",\"6616\"]]");
-    p = add_epsg_def (filter, first, last, 6617, "epsg", 6617,
-        "NAD83(2011) / Wyoming West Central");
+        "ORTH],AUTHORITY[\"EPSG\",\"6512\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6513, "epsg", 6513,
+        "NAD83(2011) / Missouri West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
+        "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9");
     add_proj4text (p, 1,
-        "=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "99941177 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wyoming West Central\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / Missouri West\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-108.75],PARAMETER[\"sc");
+        "or\"],PARAMETER[\"latitude_of_origin\",36.16666666666666");
     add_srs_wkt (p, 9,
-        "ale_factor\",0.9999375],PARAMETER[\"false_easting\",6000");
+        "],PARAMETER[\"central_meridian\",-94.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "e_factor\",0.999941177],PARAMETER[\"false_easting\",8500");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"6617\"]]");
-    p = add_epsg_def (filter, first, last, 6618, "epsg", 6618,
-        "NAD83(2011) / Wyoming West Central (ftUS)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"6513\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6514, "epsg", 6514,
+        "NAD83(2011) / Montana", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
+        "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
     add_proj4text (p, 1,
-        "=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
+        " +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Wyoming West Central (ftUS)\",GEO");
+        "PROJCS[\"NAD83(2011) / Montana\",GEOGCS[\"NAD83(2011)\",");
     add_srs_wkt (p, 1,
-        "GCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refer");
+        "DATUM[\"NAD83_National_Spatial_Reference_System_2011\",S");
     add_srs_wkt (p, 2,
-        "ence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",");
+        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTIO");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "n\",40.5],PARAMETER[\"central_meridian\",-108.75],PARAME");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",49],PARAMETER");
     add_srs_wkt (p, 9,
-        "TER[\"scale_factor\",0.9999375],PARAMETER[\"false_eastin");
+        "[\"standard_parallel_2\",45],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "g\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "gin\",44.25],PARAMETER[\"central_meridian\",-109.5],PARA");
     add_srs_wkt (p, 11,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "METER[\"false_easting\",600000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 13,
-        "G\",\"6618\"]]");
-    p = add_epsg_def (filter, first, last, 6619, "epsg", 6619,
-        "NAD83(2011) / Utah Central");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
+    add_srs_wkt (p, 14,
+        "514\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6515, "epsg", 6515,
+        "NAD83(2011) / Montana (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
+        "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
     add_proj4text (p, 1,
-        "8.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 ");
+        " +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +units=ft +no_d");
     add_proj4text (p, 2,
-        "+ellps=GRS80 +units=m +no_defs");
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Utah Central\",GEOGCS[\"NAD83(201");
+        "PROJCS[\"NAD83(2011) / Montana (ft)\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
         "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
@@ -1973,1521 +2265,1932 @@ initialize_epsg_31 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ".65],PARAMETER[\"standard_parallel_2\",39.01666666666667");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",49],PARA");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"latitude_of_origin\",38.33333333333334],PA");
+        "METER[\"standard_parallel_2\",45],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-111.5],PARAMETER[\"false_e");
+        "f_origin\",44.25],PARAMETER[\"central_meridian\",-109.5]");
     add_srs_wkt (p, 11,
-        "asting\",500000],PARAMETER[\"false_northing\",2000000],U");
+        ",PARAMETER[\"false_easting\",1968503.937],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "lse_northing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6619\"]]");
-    p = add_epsg_def (filter, first, last, 6620, "epsg", 6620,
-        "NAD83(2011) / Utah North");
+        ",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"6515\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6516, "epsg", 6516,
+        "NAD83(2011) / Nebraska", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
+        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
-        "667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +");
+        "lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_");
     add_proj4text (p, 2,
-        "y_0=1000000 +ellps=GRS80 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Utah North\",GEOGCS[\"NAD83(2011)");
+        "PROJCS[\"NAD83(2011) / Nebraska\",GEOGCS[\"NAD83(2011)\"");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        ",DATUM[\"NAD83_National_Spatial_Reference_System_2011\",");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
         "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
         "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.7833");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "3333333333],PARAMETER[\"standard_parallel_2\",40.7166666");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",43],PARAMETER");
     add_srs_wkt (p, 9,
-        "6666667],PARAMETER[\"latitude_of_origin\",40.33333333333");
+        "[\"standard_parallel_2\",40],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "334],PARAMETER[\"central_meridian\",-111.5],PARAMETER[\"");
+        "gin\",39.83333333333334],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 11,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        "-100],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"662");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 6621, "epsg", 6621,
-        "NAD83(2011) / Utah South");
+        "EPSG\",\"6516\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6517, "epsg", 6517,
+        "NAD83(2011) / Nebraska (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
+        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
-        "6.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 ");
+        "lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +tow");
     add_proj4text (p, 2,
-        "+ellps=GRS80 +units=m +no_defs");
+        "gs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Utah South\",GEOGCS[\"NAD83(2011)");
+        "PROJCS[\"NAD83(2011) / Nebraska (ftUS) (deprecated)\",GE");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
+        "OGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "Reference_System_2007\",SPHEROID[\"GRS 1980\",6378137,29");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
+        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.35],");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_2\",37.21666666666667],PAR");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "AMETER[\"latitude_of_origin\",36.66666666666666],PARAMET");
+        "PARAMETER[\"standard_parallel_1\",43],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "ER[\"central_meridian\",-111.5],PARAMETER[\"false_eastin");
+        "rd_parallel_2\",40],PARAMETER[\"latitude_of_origin\",39.");
     add_srs_wkt (p, 11,
-        "g\",500000],PARAMETER[\"false_northing\",3000000],UNIT[\"");
+        "83333333333334],PARAMETER[\"central_meridian\",-100],PAR");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "AMETER[\"false_easting\",1640416.6667],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6621\"]]");
-    p = add_epsg_def (filter, first, last, 6622, "epsg", 6622,
-        "NAD83(CSRS) / Quebec Lambert");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
+    add_srs_wkt (p, 14,
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6517\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6518, "epsg", 6518,
+        "NAD83(2011) / Nevada Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
     add_proj4text (p, 1,
-        "0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+        "9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m +no_");
     add_proj4text (p, 2,
-        "+no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / Quebec Lambert\",GEOGCS[\"NAD83(C");
+        "PROJCS[\"NAD83(2011) / Nevada Central\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "SRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\"");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJE");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",60],PARAMETER[\"standard_parallel_2\",4");
+        "tor\"],PARAMETER[\"latitude_of_origin\",34.75],PARAMETER");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"latitude_of_origin\",44],PARAMETER[\"cent");
+        "[\"central_meridian\",-116.6666666666667],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "ral_meridian\",-68.5],PARAMETER[\"false_easting\",0],PAR");
+        "ale_factor\",0.9999],PARAMETER[\"false_easting\",500000]");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        ",PARAMETER[\"false_northing\",6000000],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"6622\"]]");
-    p = add_epsg_def (filter, first, last, 6623, "epsg", 6623,
-        "NAD83 / Quebec Albers");
+        ",NORTH],AUTHORITY[\"EPSG\",\"6518\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6519, "epsg", 6519,
+        "NAD83(2011) / Nevada Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=aea +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
     add_proj4text (p, 1,
-        "0=0 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Quebec Albers\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD83(2011) / Nevada Central (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "Area\"],PARAMETER[\"standard_parallel_1\",60],PARAMETER[");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "\"standard_parallel_2\",46],PARAMETER[\"latitude_of_cent");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",34.75],P");
     add_srs_wkt (p, 9,
-        "er\",44],PARAMETER[\"longitude_of_center\",-68.5],PARAME");
+        "ARAMETER[\"central_meridian\",-116.6666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",0],PARAMETER[\"false_northing\",0]");
+        "TER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+        ",1640416.6667],PARAMETER[\"false_northing\",19685000],UN");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6623\"]]");
-    p = add_epsg_def (filter, first, last, 6624, "epsg", 6624,
-        "NAD83(CSRS) / Quebec Albers");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"6519\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6520, "epsg", 6520,
+        "NAD83(2011) / Nevada East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=aea +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
     add_proj4text (p, 1,
-        "0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+        "9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m +no_");
     add_proj4text (p, 2,
-        "+no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / Quebec Albers\",GEOGCS[\"NAD83(CS");
+        "PROJCS[\"NAD83(2011) / Nevada East\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJE");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "CTION[\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "parallel_1\",60],PARAMETER[\"standard_parallel_2\",46],P");
+        "r\"],PARAMETER[\"latitude_of_origin\",34.75],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"latitude_of_center\",44],PARAMETER[\"longitud");
+        "central_meridian\",-115.5833333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "e_of_center\",-68.5],PARAMETER[\"false_easting\",0],PARA");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",200000],PA");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "RAMETER[\"false_northing\",8000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"6624\"]]");
-    p = add_epsg_def (filter, first, last, 6625, "epsg", 6625,
-        "NAD83(2011) / Utah Central (ftUS)");
+        "ORTH],AUTHORITY[\"EPSG\",\"6520\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6521, "epsg", 6521,
+        "NAD83(2011) / Nevada East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
     add_proj4text (p, 1,
-        "8.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0");
+        "9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=");
     add_proj4text (p, 2,
-        "=2000000.00001016 +ellps=GRS80 +units=us-ft +no_defs");
+        "GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Utah Central (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"NAD83(2011) / Nevada East (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "_1\",40.65],PARAMETER[\"standard_parallel_2\",39.0166666");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",34.75],PARA");
     add_srs_wkt (p, 9,
-        "6666667],PARAMETER[\"latitude_of_origin\",38.33333333333");
+        "METER[\"central_meridian\",-115.5833333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "334],PARAMETER[\"central_meridian\",-111.5],PARAMETER[\"");
+        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",65");
     add_srs_wkt (p, 11,
-        "false_easting\",1640416.6667],PARAMETER[\"false_northing");
+        "6166.6667],PARAMETER[\"false_northing\",26246666.6667000");
     add_srs_wkt (p, 12,
-        "\",6561666.666700001],UNIT[\"US survey foot\",0.30480060");
+        "1],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
     add_srs_wkt (p, 13,
-        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
     add_srs_wkt (p, 14,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6625\"]]");
-    p = add_epsg_def (filter, first, last, 6626, "epsg", 6626,
-        "NAD83(2011) / Utah North (ftUS)");
+        "UTHORITY[\"EPSG\",\"6521\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6522, "epsg", 6522,
+        "NAD83(2011) / Nevada West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
     add_proj4text (p, 1,
-        "667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0");
+        "9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m +no_");
     add_proj4text (p, 2,
-        "0001016 +y_0=999999.9999898402 +ellps=GRS80 +units=us-ft");
-    add_proj4text (p, 3,
-        " +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Utah North (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / Nevada West\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "\",41.78333333333333],PARAMETER[\"standard_parallel_2\",");
+        "r\"],PARAMETER[\"latitude_of_origin\",34.75],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "40.71666666666667],PARAMETER[\"latitude_of_origin\",40.3");
+        "central_meridian\",-118.5833333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "3333333333334],PARAMETER[\"central_meridian\",-111.5],PA");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",800000],PA");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_easting\",1640416.6667],PARAMETER[\"fals");
+        "RAMETER[\"false_northing\",4000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "e_northing\",3280833.333300001],UNIT[\"US survey foot\",");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
     add_srs_wkt (p, 13,
-        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
-    add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6626\"]");
-    add_srs_wkt (p, 15,
-        "]");
-    p = add_epsg_def (filter, first, last, 6627, "epsg", 6627,
-        "NAD83(2011) / Utah South (ftUS)");
+        "ORTH],AUTHORITY[\"EPSG\",\"6522\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6523, "epsg", 6523,
+        "NAD83(2011) / Nevada West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
     add_proj4text (p, 1,
-        "6.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0");
+        "9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps");
     add_proj4text (p, 2,
-        "=3000000 +ellps=GRS80 +units=us-ft +no_defs");
+        "=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(2011) / Utah South (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"NAD83(2011) / Nevada West (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "\",38.35],PARAMETER[\"standard_parallel_2\",37.216666666");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",34.75],PARA");
     add_srs_wkt (p, 9,
-        "66667],PARAMETER[\"latitude_of_origin\",36.6666666666666");
+        "METER[\"central_meridian\",-118.5833333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "6],PARAMETER[\"central_meridian\",-111.5],PARAMETER[\"fa");
+        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",26");
     add_srs_wkt (p, 11,
-        "lse_easting\",1640416.6667],PARAMETER[\"false_northing\"");
+        "24666.6667],PARAMETER[\"false_northing\",13123333.3333],");
     add_srs_wkt (p, 12,
-        ",9842500.000000002],UNIT[\"US survey foot\",0.3048006096");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6627\"]]");
-    p = add_epsg_def (filter, first, last, 6628, "epsg", 6628,
-        "NAD83(PA11) / Hawaii zone 1");
+        "ORITY[\"EPSG\",\"6523\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6524, "epsg", 6524,
+        "NAD83(2011) / New Hampshire", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_d");
+        "99966667 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_de");
     add_proj4text (p, 2,
-        "efs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(PA11) / Hawaii zone 1\",GEOGCS[\"NAD83(PA");
+        "PROJCS[\"NAD83(2011) / New Hampshire\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_PA");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
         "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRI");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
         "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
         "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",18.83333333");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "333333],PARAMETER[\"central_meridian\",-155.5],PARAMETER");
+        "or\"],PARAMETER[\"latitude_of_origin\",42.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.999966667],PARAMETER[\"false_easting");
+        "central_meridian\",-71.66666666666667],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "_factor\",0.999966667],PARAMETER[\"false_easting\",30000");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6628\"]]");
-    p = add_epsg_def (filter, first, last, 6629, "epsg", 6629,
-        "NAD83(PA11) / Hawaii zone 2");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"6524\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6525, "epsg", 6525,
+        "NAD83(2011) / New Hampshire (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +u");
+        "99966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +uni");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(PA11) / Hawaii zone 2\",GEOGCS[\"NAD83(PA");
+        "PROJCS[\"NAD83(2011) / New Hampshire (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_PA");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRI");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",20.33333333");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "333333],PARAMETER[\"central_meridian\",-156.666666666666");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",42.5],PARA");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.999966667],PARAMETER[\"f");
+        "METER[\"central_meridian\",-71.66666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "alse_easting\",500000],PARAMETER[\"false_northing\",0],U");
+        "[\"scale_factor\",0.999966667],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "\",984250.0000000002],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6629\"]]");
-    p = add_epsg_def (filter, first, last, 6630, "epsg", 6630,
-        "NAD83(PA11) / Hawaii zone 3");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"6525\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6526, "epsg", 6526,
+        "NAD83(2011) / New Jersey", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99");
+        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
-        "999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(PA11) / Hawaii zone 3\",GEOGCS[\"NAD83(PA");
+        "PROJCS[\"NAD83(2011) / New Jersey\",GEOGCS[\"NAD83(2011)");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_PA");
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRI");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",21.16666666");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "666667],PARAMETER[\"central_meridian\",-158],PARAMETER[\"");
+        ",PARAMETER[\"latitude_of_origin\",38.83333333333334],PAR");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.99999],PARAMETER[\"false_easting\",5000");
+        "AMETER[\"central_meridian\",-74.5],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "tor\",0.9999],PARAMETER[\"false_easting\",150000],PARAME");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"6630\"]]");
-    p = add_epsg_def (filter, first, last, 6631, "epsg", 6631,
-        "NAD83(PA11) / Hawaii zone 4");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"6526\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6527, "epsg", 6527,
+        "NAD83(2011) / New Jersey (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.");
+        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
-        "99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=us-ft +no_def");
+    add_proj4text (p, 2,
+        "s");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(PA11) / Hawaii zone 4\",GEOGCS[\"NAD83(PA");
+        "PROJCS[\"NAD83(2011) / New Jersey (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_PA");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRI");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",21.83333333");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "333333],PARAMETER[\"central_meridian\",-159.5],PARAMETER");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",38.833333333");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.99999],PARAMETER[\"false_easting\",5");
+        "33334],PARAMETER[\"central_meridian\",-74.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "scale_factor\",0.9999],PARAMETER[\"false_easting\",49212");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "5],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6631\"]]");
-    p = add_epsg_def (filter, first, last, 6632, "epsg", 6632,
-        "NAD83(PA11) / Hawaii zone 5");
+        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6527");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6528, "epsg", 6528,
+        "NAD83(2011) / New Mexico Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666");
+        "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
     add_proj4text (p, 1,
-        "666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no");
-    add_proj4text (p, 2,
-        "_defs");
+        "00 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(PA11) / Hawaii zone 5\",GEOGCS[\"NAD83(PA");
+        "PROJCS[\"NAD83(2011) / New Mexico Central\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_PA");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRI");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",21.66666666");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "666667],PARAMETER[\"central_meridian\",-160.166666666666");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARAMET");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ER[\"central_meridian\",-106.25],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "r\",0.9999],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6632\"]]");
-    p = add_epsg_def (filter, first, last, 6633, "epsg", 6633,
-        "NAD83(PA11) / Hawaii zone 3 (ftUS)");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"6528\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6529, "epsg", 6529,
+        "NAD83(2011) / New Mexico Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99");
+        "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
     add_proj4text (p, 1,
-        "999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +units=us-f");
-    add_proj4text (p, 2,
-        "t +no_defs");
+        "00.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(PA11) / Hawaii zone 3 (ftUS)\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(2011) / New Mexico Central (ftUS)\",GEOGC");
     add_srs_wkt (p, 1,
-        "AD83(PA11)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
+        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
     add_srs_wkt (p, 2,
-        "stem_PA11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
+        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"");
+        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Tran");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",21.1");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"central_meridian\",-158],PARA");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",31],");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.99999],PARAMETER[\"false_eastin");
+        "PARAMETER[\"central_meridian\",-106.25],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "g\",1640416.6667],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",1640416.6");
     add_srs_wkt (p, 11,
-        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        "67],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
     add_srs_wkt (p, 12,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
     add_srs_wkt (p, 13,
-        "EPSG\",\"6633\"]]");
-    p = add_epsg_def (filter, first, last, 6634, "epsg", 6634,
-        "NAD83(PA11) / UTM zone 4N");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"652");
+    add_srs_wkt (p, 14,
+        "9\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6530, "epsg", 6530,
+        "NAD83(2011) / New Mexico East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=4 +ellps=GRS80 +units=m +no_defs");
+        "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
+    add_proj4text (p, 1,
+        "909091 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(PA11) / UTM zone 4N\",GEOGCS[\"NAD83(PA11");
+        "PROJCS[\"NAD83(2011) / New Mexico East\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_PA11");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRIME");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_M");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-159],PARAMETER[\"scale_factor\",0");
+        "cator\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "\"central_meridian\",-104.3333333333333],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "le_factor\",0.999909091],PARAMETER[\"false_easting\",165");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6634\"]]");
-    p = add_epsg_def (filter, first, last, 6635, "epsg", 6635,
-        "NAD83(PA11) / UTM zone 5N");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"6530\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6531, "epsg", 6531,
+        "NAD83(2011) / New Mexico East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=5 +ellps=GRS80 +units=m +no_defs");
+        "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
+    add_proj4text (p, 1,
+        "909091 +x_0=165000 +y_0=0 +ellps=GRS80 +units=us-ft +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(PA11) / UTM zone 5N\",GEOGCS[\"NAD83(PA11");
+        "PROJCS[\"NAD83(2011) / New Mexico East (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_PA11");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRIME");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_M");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-153],PARAMETER[\"scale_factor\",0");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARA");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "METER[\"central_meridian\",-104.3333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "[\"scale_factor\",0.999909091],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+        "\",541337.5],PARAMETER[\"false_northing\",0],UNIT[\"US s");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"6635\"]]");
-    p = add_epsg_def (filter, first, last, 6636, "epsg", 6636,
-        "NAD83(PA11) / UTM zone 2S");
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 13,
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"6531\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6532, "epsg", 6532,
+        "NAD83(2011) / New Mexico West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=2 +south +ellps=GRS80 +units=m +no_defs");
+        "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
+    add_proj4text (p, 1,
+        "916667 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(PA11) / UTM zone 2S\",GEOGCS[\"NAD83(PA11");
+        "PROJCS[\"NAD83(2011) / New Mexico West\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_PA11");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRIME");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_M");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-171],PARAMETER[\"scale_factor\",0");
+        "cator\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "\"central_meridian\",-107.8333333333333],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "le_factor\",0.999916667],PARAMETER[\"false_easting\",830");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6636\"]]");
-    p = add_epsg_def (filter, first, last, 6637, "epsg", 6637,
-        "NAD83(MA11) / Guam Map Grid");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"6532\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6533, "epsg", 6533,
+        "NAD83(2011) / New Mexico West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=13.5 +lon_0=144.75 +k=1 +x_0=100000 +");
+        "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "y_0=200000 +ellps=GRS80 +units=m +no_defs");
+        "916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +units");
+    add_proj4text (p, 2,
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(MA11) / Guam Map Grid\",GEOGCS[\"NAD83(MA");
+        "PROJCS[\"NAD83(2011) / New Mexico West (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_MA");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1118\"]],PRI");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"6325\"]],PROJECTION[\"Transverse_");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",13.5],PARAM");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",144.75],PARAMETER[\"scale_fact");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",31],PARA");
     add_srs_wkt (p, 9,
-        "or\",1],PARAMETER[\"false_easting\",100000],PARAMETER[\"");
+        "METER[\"central_meridian\",-107.8333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "false_northing\",200000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "[\"scale_factor\",0.999916667],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "\",2723091.667],PARAMETER[\"false_northing\",0],UNIT[\"U");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"6637\"]]");
-    p = add_epsg_def (filter, first, last, 6646, "epsg", 6646,
-        "Karbala 1979 / Iraq National Grid");
+        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"6533\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6534, "epsg", 6534,
+        "NAD83(2011) / New York Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=29.02626833333333 +lon_0=46.5 +k=0.99");
+        "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "94 +x_0=800000 +y_0=0 +ellps=clrk80 +towgs84=70.995,-335");
-    add_proj4text (p, 2,
-        ".916,262.898,0,0,0,0 +units=m +no_defs");
+        "9375 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Karbala 1979 / Iraq National Grid\",GEOGCS[\"Ka");
+        "PROJCS[\"NAD83(2011) / New York Central\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "rbala 1979\",DATUM[\"Karbala_1979\",SPHEROID[\"Clarke 18");
+        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
     add_srs_wkt (p, 2,
-        "80 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012");
+        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[70.995,-335.916,262.898,0,0,0,0],AUTHORITY[");
+        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6743\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4743\"]],");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "_of_origin\",29.02626833333333],PARAMETER[\"central_meri");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",40],PARAMETER");
     add_srs_wkt (p, 9,
-        "dian\",46.5],PARAMETER[\"scale_factor\",0.9994],PARAMETE");
+        "[\"central_meridian\",-76.58333333333333],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",800000],PARAMETER[\"false_northing\"");
+        "ale_factor\",0.9999375],PARAMETER[\"false_easting\",2500");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
     add_srs_wkt (p, 13,
-        "PSG\",\"6646\"]]");
-    p = add_epsg_def (filter, first, last, 6668, "epsg", 6668,
-        "JGD2011");
+        "ORTH],AUTHORITY[\"EPSG\",\"6534\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6535, "epsg", 6535,
+        "NAD83(2011) / New York Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=GRS80 +no_defs");
-    add_srs_wkt (p, 0,
-        "GEOGCS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\"");
-    add_srs_wkt (p, 1,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
-    add_srs_wkt (p, 2,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"");
-    add_srs_wkt (p, 3,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
-    add_srs_wkt (p, 4,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
-    add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"6668\"]]");
-    p = add_epsg_def (filter, first, last, 6669, "epsg", 6669,
-        "JGD2011 / Japan Plane Rectangular CS I");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0");
+        "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "=0 +ellps=GRS80 +units=m +no_defs");
+        "9375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +units=u");
+    add_proj4text (p, 2,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS I\",GEOGCS");
+        "PROJCS[\"NAD83(2011) / New York Central (ftUS)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPHE");
+        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
     add_srs_wkt (p, 2,
-        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
+        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gre");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
     add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",33],PARAMETER[\"cen");
+        "EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "tral_meridian\",129.5],PARAMETER[\"scale_factor\",0.9999");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",40],PAR");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
+        "AMETER[\"central_meridian\",-76.58333333333333],PARAMETE");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "R[\"scale_factor\",0.9999375],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"6669\"]]");
-    p = add_epsg_def (filter, first, last, 6670, "epsg", 6670,
-        "JGD2011 / Japan Plane Rectangular CS II");
+        ",820208.3330000002],PARAMETER[\"false_northing\",0],UNIT");
+    add_srs_wkt (p, 12,
+        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"6535\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6536, "epsg", 6536,
+        "NAD83(2011) / New York East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +units=m +no_defs");
+        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS II\",GEOGC");
+        "PROJCS[\"NAD83(2011) / New York East\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",33],PARAMETER[\"cen");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "tral_meridian\",131],PARAMETER[\"scale_factor\",0.9999],");
+        "or\"],PARAMETER[\"latitude_of_origin\",38.83333333333334");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
+        "],PARAMETER[\"central_meridian\",-74.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AU");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",150000],P");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"6670\"]]");
-    p = add_epsg_def (filter, first, last, 6671, "epsg", 6671,
-        "JGD2011 / Japan Plane Rectangular CS III");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 12,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"6536\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6537, "epsg", 6537,
+        "NAD83(2011) / New York East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999");
+        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
-        " +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=us-ft +no_def");
+    add_proj4text (p, 2,
+        "s");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS III\",GEOG");
+        "PROJCS[\"NAD83(2011) / New York East (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercat");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"c");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "entral_meridian\",132.1666666666667],PARAMETER[\"scale_f");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",38.8333333");
     add_srs_wkt (p, 9,
-        "actor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER");
+        "3333334],PARAMETER[\"central_meridian\",-74.5],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",49");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"6671\"]]");
-    p = add_epsg_def (filter, first, last, 6672, "epsg", 6672,
-        "JGD2011 / Japan Plane Rectangular CS IV");
+        "2125],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
+    add_srs_wkt (p, 12,
+        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
+    add_srs_wkt (p, 14,
+        "537\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6538, "epsg", 6538,
+        "NAD83(2011) / New York Long Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0");
+        "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
     add_proj4text (p, 1,
+        "666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0");
+    add_proj4text (p, 2,
         "=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS IV\",GEOGC");
+        "PROJCS[\"NAD83(2011) / New York Long Island\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",33],PARAMETER[\"cen");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "tral_meridian\",133.5],PARAMETER[\"scale_factor\",0.9999");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
+        "1.03333333333333],PARAMETER[\"standard_parallel_2\",40.6");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "6666666666666],PARAMETER[\"latitude_of_origin\",40.16666");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"6672\"]]");
-    p = add_epsg_def (filter, first, last, 6673, "epsg", 6673,
-        "JGD2011 / Japan Plane Rectangular CS V");
+        "666666666],PARAMETER[\"central_meridian\",-74],PARAMETER");
+    add_srs_wkt (p, 12,
+        "[\"false_easting\",300000],PARAMETER[\"false_northing\",");
+    add_srs_wkt (p, 13,
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6538\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6539, "epsg", 6539,
+        "NAD83(2011) / New York Long Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999");
+        "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
     add_proj4text (p, 1,
-        " +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000");
+    add_proj4text (p, 2,
+        "000001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS V\",GEOGCS");
+        "PROJCS[\"NAD83(2011) / New York Long Island (ftUS)\",GEO");
     add_srs_wkt (p, 1,
-        "[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPHE");
+        "GCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refer");
     add_srs_wkt (p, 2,
-        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
+        "ence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gre");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"cen");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "tral_meridian\",134.3333333333333],PARAMETER[\"scale_fac");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "tor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        "el_1\",41.03333333333333],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "2\",40.66666666666666],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"6673\"]]");
-    p = add_epsg_def (filter, first, last, 6674, "epsg", 6674,
-        "JGD2011 / Japan Plane Rectangular CS VI");
+        "40.16666666666666],PARAMETER[\"central_meridian\",-74],P");
+    add_srs_wkt (p, 12,
+        "ARAMETER[\"false_easting\",984250.0000000002],PARAMETER[");
+    add_srs_wkt (p, 13,
+        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
+    add_srs_wkt (p, 14,
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6539\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6540, "epsg", 6540,
+        "NAD83(2011) / New York West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +units=m +no_defs");
+        "9375 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS VI\",GEOGC");
+        "PROJCS[\"NAD83(2011) / New York West\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"cen");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "tral_meridian\",136],PARAMETER[\"scale_factor\",0.9999],");
+        "or\"],PARAMETER[\"latitude_of_origin\",40],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
+        "entral_meridian\",-78.58333333333333],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AU");
+        "factor\",0.9999375],PARAMETER[\"false_easting\",350000],");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"6674\"]]");
-    p = add_epsg_def (filter, first, last, 6675, "epsg", 6675,
-        "JGD2011 / Japan Plane Rectangular CS VII");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"6540\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6541, "epsg", 6541,
+        "NAD83(2011) / New York West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999");
+        "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
     add_proj4text (p, 1,
-        " +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "9375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +units=u");
+    add_proj4text (p, 2,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS VII\",GEOG");
+        "PROJCS[\"NAD83(2011) / New York West (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercat");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"c");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "entral_meridian\",137.1666666666667],PARAMETER[\"scale_f");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",40],PARAME");
     add_srs_wkt (p, 9,
-        "actor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER");
+        "TER[\"central_meridian\",-78.58333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "scale_factor\",0.9999375],PARAMETER[\"false_easting\",11");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"6675\"]]");
-    p = add_epsg_def (filter, first, last, 6676, "epsg", 6676,
-        "JGD2011 / Japan Plane Rectangular CS VIII");
+        "48291.667],PARAMETER[\"false_northing\",0],UNIT[\"US sur");
+    add_srs_wkt (p, 12,
+        "vey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+    add_srs_wkt (p, 13,
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"6541\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6542, "epsg", 6542,
+        "NAD83(2011) / North Carolina", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0");
+        "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
     add_proj4text (p, 1,
-        "=0 +ellps=GRS80 +units=m +no_defs");
+        "334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps");
+    add_proj4text (p, 2,
+        "=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS VIII\",GEO");
+        "PROJCS[\"NAD83(2011) / North Carolina\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "GCS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",S");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Merca");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "central_meridian\",138.5],PARAMETER[\"scale_factor\",0.9");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.1666");
     add_srs_wkt (p, 9,
-        "999],PARAMETER[\"false_easting\",0],PARAMETER[\"false_no");
+        "6666666666],PARAMETER[\"standard_parallel_2\",34.3333333");
     add_srs_wkt (p, 10,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "3333334],PARAMETER[\"latitude_of_origin\",33.75],PARAMET");
     add_srs_wkt (p, 11,
-        "]],AUTHORITY[\"EPSG\",\"6676\"]]");
-    p = add_epsg_def (filter, first, last, 6677, "epsg", 6677,
-        "JGD2011 / Japan Plane Rectangular CS IX");
+        "ER[\"central_meridian\",-79],PARAMETER[\"false_easting\"");
+    add_srs_wkt (p, 12,
+        ",609601.22],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+    add_srs_wkt (p, 13,
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6542\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6543, "epsg", 6543,
+        "NAD83(2011) / North Carolina (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999");
+        "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
     add_proj4text (p, 1,
-        " +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=");
+    add_proj4text (p, 2,
+        "0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS IX\",GEOGC");
+        "PROJCS[\"NAD83(2011) / North Carolina (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"cen");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "tral_meridian\",139.8333333333333],PARAMETER[\"scale_fac");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "tor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        ",36.16666666666666],PARAMETER[\"standard_parallel_2\",34");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ".33333333333334],PARAMETER[\"latitude_of_origin\",33.75]");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"6677\"]]");
-    p = add_epsg_def (filter, first, last, 6678, "epsg", 6678,
-        "JGD2011 / Japan Plane Rectangular CS X");
+        ",PARAMETER[\"central_meridian\",-79],PARAMETER[\"false_e");
+    add_srs_wkt (p, 12,
+        "asting\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"6543\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6544, "epsg", 6544,
+        "NAD83(2011) / North Dakota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999");
+        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
     add_proj4text (p, 1,
-        " +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GR");
+    add_proj4text (p, 2,
+        "S80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS X\",GEOGCS");
+        "PROJCS[\"NAD83(2011) / North Dakota North\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPHE");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gre");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",40],PARAMETER[\"cen");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "tral_meridian\",140.8333333333333],PARAMETER[\"scale_fac");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",48");
     add_srs_wkt (p, 9,
-        "tor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"");
+        ".73333333333333],PARAMETER[\"standard_parallel_2\",47.43");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "333333333333],PARAMETER[\"latitude_of_origin\",47],PARAM");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"6678\"]]");
-    p = add_epsg_def (filter, first, last, 6679, "epsg", 6679,
-        "JGD2011 / Japan Plane Rectangular CS XI");
+        "ETER[\"central_meridian\",-100.5],PARAMETER[\"false_east");
+    add_srs_wkt (p, 12,
+        "ing\",600000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+    add_srs_wkt (p, 13,
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6544\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6545, "epsg", 6545,
+        "NAD83(2011) / North Dakota North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_");
+        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
     add_proj4text (p, 1,
-        "0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +");
+    add_proj4text (p, 2,
+        "ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XI\",GEOGC");
+        "PROJCS[\"NAD83(2011) / North Dakota North (ft)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
+        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
     add_srs_wkt (p, 2,
-        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
+        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",44],PARAMETER[\"cen");
+        "EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "tral_meridian\",140.25],PARAMETER[\"scale_factor\",0.999");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nort");
+        ",48.73333333333333],PARAMETER[\"standard_parallel_2\",47");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        ".43333333333333],PARAMETER[\"latitude_of_origin\",47],PA");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"6679\"]]");
-    p = add_epsg_def (filter, first, last, 6680, "epsg", 6680,
-        "JGD2011 / Japan Plane Rectangular CS XII");
+        "RAMETER[\"central_meridian\",-100.5],PARAMETER[\"false_e");
+    add_srs_wkt (p, 12,
+        "asting\",1968503.937],PARAMETER[\"false_northing\",0],UN");
+    add_srs_wkt (p, 13,
+        "IT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6545\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6546, "epsg", 6546,
+        "NAD83(2011) / North Dakota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_");
+        "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
     add_proj4text (p, 1,
-        "0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +");
+    add_proj4text (p, 2,
+        "y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XII\",GEOG");
+        "PROJCS[\"NAD83(2011) / North Dakota South\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercat");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",44],PARAMETER[\"c");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "entral_meridian\",142.25],PARAMETER[\"scale_factor\",0.9");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47");
     add_srs_wkt (p, 9,
-        "999],PARAMETER[\"false_easting\",0],PARAMETER[\"false_no");
+        ".48333333333333],PARAMETER[\"standard_parallel_2\",46.18");
     add_srs_wkt (p, 10,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "333333333333],PARAMETER[\"latitude_of_origin\",45.666666");
     add_srs_wkt (p, 11,
-        "]],AUTHORITY[\"EPSG\",\"6680\"]]");
-    p = add_epsg_def (filter, first, last, 6681, "epsg", 6681,
-        "JGD2011 / Japan Plane Rectangular CS XIII");
+        "66666666],PARAMETER[\"central_meridian\",-100.5],PARAMET");
+    add_srs_wkt (p, 12,
+        "ER[\"false_easting\",600000],PARAMETER[\"false_northing\"");
+    add_srs_wkt (p, 13,
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 14,
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6546\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 6547, "epsg", 6547,
+        "NAD83(2011) / North Dakota South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_");
+        "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
     add_proj4text (p, 1,
-        "0=0 +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9");
+    add_proj4text (p, 2,
+        "999976 +y_0=0 +ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XIII\",GEO");
+        "PROJCS[\"NAD83(2011) / North Dakota South (ft)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "GCS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",S");
+        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
     add_srs_wkt (p, 2,
-        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
+        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Merca");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",44],PARAMETER[\"");
+        "EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "central_meridian\",144.25],PARAMETER[\"scale_factor\",0.");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "9999],PARAMETER[\"false_easting\",0],PARAMETER[\"false_n");
+        ",47.48333333333333],PARAMETER[\"standard_parallel_2\",46");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        ".18333333333333],PARAMETER[\"latitude_of_origin\",45.666");
     add_srs_wkt (p, 11,
-        "]],AUTHORITY[\"EPSG\",\"6681\"]]");
-    p = add_epsg_def (filter, first, last, 6682, "epsg", 6682,
-        "JGD2011 / Japan Plane Rectangular CS XIV");
+        "66666666666],PARAMETER[\"central_meridian\",-100.5],PARA");
+    add_srs_wkt (p, 12,
+        "METER[\"false_easting\",1968503.937],PARAMETER[\"false_n");
+    add_srs_wkt (p, 13,
+        "orthing\",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"6547\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6548, "epsg", 6548,
+        "NAD83(2011) / Ohio North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +units=m +no_defs");
+        ".66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=G");
+    add_proj4text (p, 2,
+        "RS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XIV\",GEOG");
+        "PROJCS[\"NAD83(2011) / Ohio North\",GEOGCS[\"NAD83(2011)");
     add_srs_wkt (p, 1,
-        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercat");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",26],PARAMETER[\"c");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "entral_meridian\",142],PARAMETER[\"scale_factor\",0.9999");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",41.7],PARAMET");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
+        "ER[\"standard_parallel_2\",40.43333333333333],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "\"latitude_of_origin\",39.66666666666666],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"6682\"]]");
-    p = add_epsg_def (filter, first, last, 6683, "epsg", 6683,
-        "JGD2011 / Japan Plane Rectangular CS XV");
+        "ntral_meridian\",-82.5],PARAMETER[\"false_easting\",6000");
+    add_srs_wkt (p, 12,
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 14,
+        "ORTH],AUTHORITY[\"EPSG\",\"6548\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6549, "epsg", 6549,
+        "NAD83(2011) / Ohio North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0");
+        "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
     add_proj4text (p, 1,
-        "=0 +ellps=GRS80 +units=m +no_defs");
+        ".66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=G");
+    add_proj4text (p, 2,
+        "RS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XV\",GEOGC");
+        "PROJCS[\"NAD83(2011) / Ohio North (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",26],PARAMETER[\"cen");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "tral_meridian\",127.5],PARAMETER[\"scale_factor\",0.9999");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
+        "7],PARAMETER[\"standard_parallel_2\",40.43333333333333],");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "PARAMETER[\"latitude_of_origin\",39.66666666666666],PARA");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"6683\"]]");
-    p = add_epsg_def (filter, first, last, 6684, "epsg", 6684,
-        "JGD2011 / Japan Plane Rectangular CS XVI");
+        "METER[\"central_meridian\",-82.5],PARAMETER[\"false_east");
+    add_srs_wkt (p, 12,
+        "ing\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US");
+    add_srs_wkt (p, 13,
+        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"6549\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6550, "epsg", 6550,
+        "NAD83(2011) / Ohio South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS");
+    add_proj4text (p, 2,
+        "80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XVI\",GEOG");
+        "PROJCS[\"NAD83(2011) / Ohio South\",GEOGCS[\"NAD83(2011)");
     add_srs_wkt (p, 1,
-        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercat");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",26],PARAMETER[\"c");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "entral_meridian\",124],PARAMETER[\"scale_factor\",0.9999");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",40.0333333333");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
+        "3333],PARAMETER[\"standard_parallel_2\",38.7333333333333");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "3],PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"6684\"]]");
-    p = add_epsg_def (filter, first, last, 6685, "epsg", 6685,
-        "JGD2011 / Japan Plane Rectangular CS XVII");
+        "ral_meridian\",-82.5],PARAMETER[\"false_easting\",600000");
+    add_srs_wkt (p, 12,
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"6550\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6551, "epsg", 6551,
+        "NAD83(2011) / Ohio South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +units=m +no_defs");
+        "333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS");
+    add_proj4text (p, 2,
+        "80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XVII\",GEO");
+        "PROJCS[\"NAD83(2011) / Ohio South (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "GCS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",S");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Merca");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",26],PARAMETER[\"");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "central_meridian\",131],PARAMETER[\"scale_factor\",0.999");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nort");
+        "03333333333333],PARAMETER[\"standard_parallel_2\",38.733");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "33333333333],PARAMETER[\"latitude_of_origin\",38],PARAME");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"6685\"]]");
-    p = add_epsg_def (filter, first, last, 6686, "epsg", 6686,
-        "JGD2011 / Japan Plane Rectangular CS XVIII");
+        "TER[\"central_meridian\",-82.5],PARAMETER[\"false_eastin");
+    add_srs_wkt (p, 12,
+        "g\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+    add_srs_wkt (p, 13,
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 14,
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"6551\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6552, "epsg", 6552,
+        "NAD83(2011) / Oklahoma North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +units=m +no_defs");
+        "667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XVIII\",GE");
+        "PROJCS[\"NAD83(2011) / Oklahoma North\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "OGCS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Merca");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",20],PARAMETER[\"");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "central_meridian\",136],PARAMETER[\"scale_factor\",0.999");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.7666");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nort");
+        "6666666667],PARAMETER[\"standard_parallel_2\",35.5666666");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "6666667],PARAMETER[\"latitude_of_origin\",35],PARAMETER[");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"6686\"]]");
-    p = add_epsg_def (filter, first, last, 6687, "epsg", 6687,
-        "JGD2011 / Japan Plane Rectangular CS XIX");
+        "\"central_meridian\",-98],PARAMETER[\"false_easting\",60");
+    add_srs_wkt (p, 12,
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"6552\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6553, "epsg", 6553,
+        "NAD83(2011) / Oklahoma North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
     add_proj4text (p, 1,
-        " +ellps=GRS80 +units=m +no_defs");
+        "667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80");
+    add_proj4text (p, 2,
+        " +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XIX\",GEOG");
+        "PROJCS[\"NAD83(2011) / Oklahoma North (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercat");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",26],PARAMETER[\"c");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "entral_meridian\",154],PARAMETER[\"scale_factor\",0.9999");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
+        ",36.76666666666667],PARAMETER[\"standard_parallel_2\",35");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        ".56666666666667],PARAMETER[\"latitude_of_origin\",35],PA");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"6687\"]]");
-    p = add_epsg_def (filter, first, last, 6688, "epsg", 6688,
-        "JGD2011 / UTM zone 51N");
+        "RAMETER[\"central_meridian\",-98],PARAMETER[\"false_east");
+    add_srs_wkt (p, 12,
+        "ing\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US");
+    add_srs_wkt (p, 13,
+        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"6553\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6554, "epsg", 6554,
+        "NAD83(2011) / Oklahoma South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
+    add_proj4text (p, 1,
+        "333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0");
+    add_proj4text (p, 2,
+        "=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / UTM zone 51N\",GEOGCS[\"JGD2011\",DAT");
+        "PROJCS[\"NAD83(2011) / Oklahoma South\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "UM[\"Japanese_Geodetic_Datum_2011\",SPHEROID[\"GRS 1980\"");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"66");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "68\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",12");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35.2333");
     add_srs_wkt (p, 9,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "3333333333],PARAMETER[\"standard_parallel_2\",33.9333333");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "3333333],PARAMETER[\"latitude_of_origin\",33.33333333333");
     add_srs_wkt (p, 11,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"668");
+        "334],PARAMETER[\"central_meridian\",-98],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "8\"]]");
-    p = add_epsg_def (filter, first, last, 6689, "epsg", 6689,
-        "JGD2011 / UTM zone 52N");
+        "se_easting\",600000],PARAMETER[\"false_northing\",0],UNI");
+    add_srs_wkt (p, 13,
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+    add_srs_wkt (p, 14,
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6554\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6555, "epsg", 6555,
+        "NAD83(2011) / Oklahoma South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
+    add_proj4text (p, 1,
+        "333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0");
+    add_proj4text (p, 2,
+        "=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / UTM zone 52N\",GEOGCS[\"JGD2011\",DAT");
+        "PROJCS[\"NAD83(2011) / Oklahoma South (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "UM[\"Japanese_Geodetic_Datum_2011\",SPHEROID[\"GRS 1980\"");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"66");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "68\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",12");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        ",35.23333333333333],PARAMETER[\"standard_parallel_2\",33");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        ".93333333333333],PARAMETER[\"latitude_of_origin\",33.333");
     add_srs_wkt (p, 11,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"668");
+        "33333333334],PARAMETER[\"central_meridian\",-98],PARAMET");
     add_srs_wkt (p, 12,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 6690, "epsg", 6690,
-        "JGD2011 / UTM zone 53N");
+        "ER[\"false_easting\",1968500],PARAMETER[\"false_northing");
+    add_srs_wkt (p, 13,
+        "\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 15,
+        "],AUTHORITY[\"EPSG\",\"6555\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6556, "epsg", 6556,
+        "NAD83(2011) / Oregon LCC (m)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
+    add_proj4text (p, 1,
+        ".5 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / UTM zone 53N\",GEOGCS[\"JGD2011\",DAT");
+        "PROJCS[\"NAD83(2011) / Oregon LCC (m)\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "UM[\"Japanese_Geodetic_Datum_2011\",SPHEROID[\"GRS 1980\"");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"66");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "68\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",13");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43],PAR");
     add_srs_wkt (p, 9,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "AMETER[\"standard_parallel_2\",45.5],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "e_of_origin\",41.75],PARAMETER[\"central_meridian\",-120");
     add_srs_wkt (p, 11,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"669");
+        ".5],PARAMETER[\"false_easting\",400000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 6691, "epsg", 6691,
-        "JGD2011 / UTM zone 54N");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 13,
+        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"6556\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6557, "epsg", 6557,
+        "NAD83(2011) / Oregon GIC Lambert (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=54 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
+    add_proj4text (p, 1,
+        ".5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +units=ft +no");
+    add_proj4text (p, 2,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / UTM zone 54N\",GEOGCS[\"JGD2011\",DAT");
+        "PROJCS[\"NAD83(2011) / Oregon GIC Lambert (ft)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "UM[\"Japanese_Geodetic_Datum_2011\",SPHEROID[\"GRS 1980\"");
+        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
+        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"66");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "68\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",14");
+        "EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        ",43],PARAMETER[\"standard_parallel_2\",45.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "latitude_of_origin\",41.75],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 11,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"669");
+        "\",-120.5],PARAMETER[\"false_easting\",1312335.958],PARA");
     add_srs_wkt (p, 12,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 6692, "epsg", 6692,
-        "JGD2011 / UTM zone 55N");
+        "METER[\"false_northing\",0],UNIT[\"foot\",0.3048,AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"6557\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6558, "epsg", 6558,
+        "NAD83(2011) / Oregon North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=55 +ellps=GRS80 +units=m +no_defs");
+        "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
+    add_proj4text (p, 1,
+        "6666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=G");
+    add_proj4text (p, 2,
+        "RS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JGD2011 / UTM zone 55N\",GEOGCS[\"JGD2011\",DAT");
+        "PROJCS[\"NAD83(2011) / Oregon North\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "UM[\"Japanese_Geodetic_Datum_2011\",SPHEROID[\"GRS 1980\"");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"66");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "68\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",14");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",46],PARA");
     add_srs_wkt (p, 9,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "METER[\"standard_parallel_2\",44.33333333333334],PARAMET");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "ER[\"latitude_of_origin\",43.66666666666666],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"669");
+        "central_meridian\",-120.5],PARAMETER[\"false_easting\",2");
     add_srs_wkt (p, 12,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 6703, "epsg", 6703,
-        "WGS 84 / TM 60 SW");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"6558\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6559, "epsg", 6559,
+        "NAD83(2011) / Oregon North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-60 +k=0.9996 +x_0=500000 +y");
+        "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
     add_proj4text (p, 1,
-        "_0=10000000 +datum=WGS84 +units=m +no_defs");
+        "6666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 ");
+    add_proj4text (p, 2,
+        "+ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / TM 60 SW\",GEOGCS[\"WGS 84\",DATUM[\"W");
+        "PROJCS[\"NAD83(2011) / Oregon North (ft)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "GS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTH");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "ORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transve");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "METER[\"central_meridian\",-60],PARAMETER[\"scale_factor");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",46]");
     add_srs_wkt (p, 9,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        ",PARAMETER[\"standard_parallel_2\",44.33333333333334],PA");
     add_srs_wkt (p, 10,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "RAMETER[\"latitude_of_origin\",43.66666666666666],PARAME");
     add_srs_wkt (p, 11,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"6703\"]]");
-    p = add_epsg_def (filter, first, last, 6706, "epsg", 6706,
-        "RDN2008");
+        "TER[\"central_meridian\",-120.5],PARAMETER[\"false_easti");
+    add_srs_wkt (p, 12,
+        "ng\",8202099.738],PARAMETER[\"false_northing\",0],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",E");
+    add_srs_wkt (p, 14,
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6559\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6560, "epsg", 6560,
+        "NAD83(2011) / Oregon South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
+        "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
     add_proj4text (p, 1,
-        "fs");
+        "6666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=G");
+    add_proj4text (p, 2,
+        "RS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "GEOGCS[\"RDN2008\",DATUM[\"Rete_Dinamica_Nazionale_2008\"");
+        "PROJCS[\"NAD83(2011) / Oregon South\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "G\",\"1132\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"6706\"]]");
-    p = add_epsg_def (filter, first, last, 6707, "epsg", 6707,
-        "RDN2008 / TM32");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+    add_srs_wkt (p, 6,
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
+    add_srs_wkt (p, 7,
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal");
+    add_srs_wkt (p, 8,
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44],PARA");
+    add_srs_wkt (p, 9,
+        "METER[\"standard_parallel_2\",42.33333333333334],PARAMET");
+    add_srs_wkt (p, 10,
+        "ER[\"latitude_of_origin\",41.66666666666666],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "central_meridian\",-120.5],PARAMETER[\"false_easting\",1");
+    add_srs_wkt (p, 12,
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"6560\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6561, "epsg", 6561,
+        "NAD83(2011) / Oregon South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "6666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 ");
+    add_proj4text (p, 2,
+        "+ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"RDN2008 / TM32\",GEOGCS[\"RDN2008\",DATUM[\"Ret");
+        "PROJCS[\"NAD83(2011) / Oregon South (ft)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "e_Dinamica_Nazionale_2008\",SPHEROID[\"GRS 1980\",637813");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1132\"]],PRIMEM[\"Gree");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"6706\"]],PROJECTION[\"Transverse_Mercator\"");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "l_meridian\",9],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44]");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        ",PARAMETER[\"standard_parallel_2\",42.33333333333334],PA");
     add_srs_wkt (p, 10,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AU");
+        "RAMETER[\"latitude_of_origin\",41.66666666666666],PARAME");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"6707\"]]");
-    p = add_epsg_def (filter, first, last, 6708, "epsg", 6708,
-        "RDN2008 / TM33");
+        "TER[\"central_meridian\",-120.5],PARAMETER[\"false_easti");
+    add_srs_wkt (p, 12,
+        "ng\",4921259.843],PARAMETER[\"false_northing\",0],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",E");
+    add_srs_wkt (p, 14,
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6561\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6562, "epsg", 6562,
+        "NAD83(2011) / Pennsylvania North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "0.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps");
+    add_proj4text (p, 2,
+        "=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"RDN2008 / TM33\",GEOGCS[\"RDN2008\",DATUM[\"Ret");
+        "PROJCS[\"NAD83(2011) / Pennsylvania North\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "e_Dinamica_Nazionale_2008\",SPHEROID[\"GRS 1980\",637813");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1132\"]],PRIMEM[\"Gree");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"6706\"]],PROJECTION[\"Transverse_Mercator\"");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "l_meridian\",15],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        ".95],PARAMETER[\"standard_parallel_2\",40.88333333333333");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "],PARAMETER[\"latitude_of_origin\",40.16666666666666],PA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"6708\"]]");
+        "RAMETER[\"central_meridian\",-77.75],PARAMETER[\"false_e");
+    add_srs_wkt (p, 12,
+        "asting\",600000],PARAMETER[\"false_northing\",0],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6562\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_32.c b/src/srsinit/epsg_inlined_32.c
index 7bade69..c729685 100644
--- a/src/srsinit/epsg_inlined_32.c
+++ b/src/srsinit/epsg_inlined_32.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3398 +54,4217 @@ initialize_epsg_32 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 6709, "epsg", 6709,
-        "RDN2008 / TM34");
+    p = add_epsg_def_ex (filter, first, last, 6563, "epsg", 6563,
+        "NAD83(2011) / Pennsylvania North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "0.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps");
+    add_proj4text (p, 2,
+        "=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"RDN2008 / TM34\",GEOGCS[\"RDN2008\",DATUM[\"Ret");
+        "PROJCS[\"NAD83(2011) / Pennsylvania North (ftUS)\",GEOGC");
     add_srs_wkt (p, 1,
-        "e_Dinamica_Nazionale_2008\",SPHEROID[\"GRS 1980\",637813");
+        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1132\"]],PRIMEM[\"Gree");
+        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"6706\"]],PROJECTION[\"Transverse_Mercator\"");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "l_meridian\",21],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "_1\",41.95],PARAMETER[\"standard_parallel_2\",40.8833333");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "3333333],PARAMETER[\"latitude_of_origin\",40.16666666666");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"6709\"]]");
-    p = add_epsg_def (filter, first, last, 6720, "epsg", 6720,
-        "WGS 84 / CIG92");
+        "666],PARAMETER[\"central_meridian\",-77.75],PARAMETER[\"");
+    add_srs_wkt (p, 12,
+        "false_easting\",1968500],PARAMETER[\"false_northing\",0]");
+    add_srs_wkt (p, 13,
+        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"6563\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6564, "epsg", 6564,
+        "NAD83(2011) / Pennsylvania South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=105.625 +k=1.000024 +x_0=500");
+        "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
     add_proj4text (p, 1,
-        "00 +y_0=1300000 +datum=WGS84 +units=m +no_defs");
+        "333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +");
+    add_proj4text (p, 2,
+        "y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / CIG92\",GEOGCS[\"WGS 84\",DATUM[\"WGS_");
+        "PROJCS[\"NAD83(2011) / Pennsylvania South\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORI");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRI");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "R[\"central_meridian\",105.625],PARAMETER[\"scale_factor");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "\",1.000024],PARAMETER[\"false_easting\",50000],PARAMETE");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40");
     add_srs_wkt (p, 9,
-        "R[\"false_northing\",1300000],UNIT[\"metre\",1,AUTHORITY");
+        ".96666666666667],PARAMETER[\"standard_parallel_2\",39.93");
     add_srs_wkt (p, 10,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "333333333333],PARAMETER[\"latitude_of_origin\",39.333333");
     add_srs_wkt (p, 11,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"6720\"]]");
-    p = add_epsg_def (filter, first, last, 6721, "epsg", 6721,
-        "GDA94 / CIG94");
+        "33333334],PARAMETER[\"central_meridian\",-77.75],PARAMET");
+    add_srs_wkt (p, 12,
+        "ER[\"false_easting\",600000],PARAMETER[\"false_northing\"");
+    add_srs_wkt (p, 13,
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 14,
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6564\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 6565, "epsg", 6565,
+        "NAD83(2011) / Pennsylvania South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=105.625 +k=1.00002514 +x_0=5");
+        "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
     add_proj4text (p, 1,
-        "0000 +y_0=1300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
+        "333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / CIG94\",GEOGCS[\"GDA94\",DATUM[\"Geocen");
+        "PROJCS[\"NAD83(2011) / Pennsylvania South (ftUS)\",GEOGC");
     add_srs_wkt (p, 1,
-        "tric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980\",637");
+        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIMEM[\"G");
+        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",105.625],PARAMETER[\"scale_factor\",1.0");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "0002514],PARAMETER[\"false_easting\",50000],PARAMETER[\"");
+        "_1\",40.96666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "false_northing\",1300000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        ",39.93333333333333],PARAMETER[\"latitude_of_origin\",39.");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "33333333333334],PARAMETER[\"central_meridian\",-77.75],P");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6721\"]]");
-    p = add_epsg_def (filter, first, last, 6722, "epsg", 6722,
-        "WGS 84 / CKIG92");
+        "ARAMETER[\"false_easting\",1968500],PARAMETER[\"false_no");
+    add_srs_wkt (p, 13,
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"6565\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6566, "epsg", 6566,
+        "NAD83(2011) / Puerto Rico and Virgin Is.", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=96.875 +k=1 +x_0=50000 +y_0=");
+        "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333");
     add_proj4text (p, 1,
-        "1400000 +datum=WGS84 +units=m +no_defs");
+        "333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +");
+    add_proj4text (p, 2,
+        "x_0=200000 +y_0=200000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / CKIG92\",GEOGCS[\"WGS 84\",DATUM[\"WGS");
+        "PROJCS[\"NAD83(2011) / Puerto Rico and Virgin Is.\",GEOG");
     add_srs_wkt (p, 1,
-        "_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHOR");
+        "CS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refere");
     add_srs_wkt (p, 2,
-        "ITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PR");
+        "nce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572");
     add_srs_wkt (p, 3,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "22101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "ER[\"central_meridian\",96.875],PARAMETER[\"scale_factor");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "\",1],PARAMETER[\"false_easting\",50000],PARAMETER[\"fal");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "se_northing\",1400000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "_1\",18.43333333333333],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        ",18.03333333333333],PARAMETER[\"latitude_of_origin\",17.");
     add_srs_wkt (p, 11,
-        "ORTH],AUTHORITY[\"EPSG\",\"6722\"]]");
-    p = add_epsg_def (filter, first, last, 6723, "epsg", 6723,
-        "GDA94 / CKIG94");
+        "83333333333333],PARAMETER[\"central_meridian\",-66.43333");
+    add_srs_wkt (p, 12,
+        "333333334],PARAMETER[\"false_easting\",200000],PARAMETER");
+    add_srs_wkt (p, 13,
+        "[\"false_northing\",200000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"6566\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6567, "epsg", 6567,
+        "NAD83(2011) / Rhode Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=96.875 +k=0.99999387 +x_0=50");
+        "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
     add_proj4text (p, 1,
-        "000 +y_0=1500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +un");
+        "9999375 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m +no_def");
     add_proj4text (p, 2,
-        "its=m +no_defs");
+        "s");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / CKIG94\",GEOGCS[\"GDA94\",DATUM[\"Geoce");
+        "PROJCS[\"NAD83(2011) / Rhode Island\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "ntric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980\",63");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIMEM[\"");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Merca");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "entral_meridian\",96.875],PARAMETER[\"scale_factor\",0.9");
+        "or\"],PARAMETER[\"latitude_of_origin\",41.08333333333334");
     add_srs_wkt (p, 9,
-        "9999387],PARAMETER[\"false_easting\",50000],PARAMETER[\"");
+        "],PARAMETER[\"central_meridian\",-71.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "false_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "e_factor\",0.99999375],PARAMETER[\"false_easting\",10000");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6723\"]]");
-    p = add_epsg_def (filter, first, last, 6732, "epsg", 6732,
-        "GDA94 / MGA zone 41");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"6567\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6568, "epsg", 6568,
+        "NAD83(2011) / Rhode Island (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=41 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "9999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +unit");
+    add_proj4text (p, 2,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 41\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83(2011) / Rhode Island (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",63],PARAMETER[\"scale_factor\",0.");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",41.0833333");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "3333334],PARAMETER[\"central_meridian\",-71.5],PARAMETER");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "[\"scale_factor\",0.99999375],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",328083.3333],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6732\"]]");
-    p = add_epsg_def (filter, first, last, 6733, "epsg", 6733,
-        "GDA94 / MGA zone 42");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 13,
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"6568\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6569, "epsg", 6569,
+        "NAD83(2011) / South Carolina", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=42 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ".83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS");
+    add_proj4text (p, 2,
+        "80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 42\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83(2011) / South Carolina\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",69],PARAMETER[\"scale_factor\",0.");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",34.8333");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "3333333334],PARAMETER[\"standard_parallel_2\",32.5],PARA");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "METER[\"latitude_of_origin\",31.83333333333333],PARAMETE");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "R[\"central_meridian\",-81],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6733\"]]");
-    p = add_epsg_def (filter, first, last, 6734, "epsg", 6734,
-        "GDA94 / MGA zone 43");
+        "609600],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"6569\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6570, "epsg", 6570,
+        "NAD83(2011) / South Carolina (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=43 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ".83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS");
+    add_proj4text (p, 2,
+        "80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 43\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83(2011) / South Carolina (ft)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",75],PARAMETER[\"scale_factor\",0.");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "4.83333333333334],PARAMETER[\"standard_parallel_2\",32.5");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "],PARAMETER[\"latitude_of_origin\",31.83333333333333],PA");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "RAMETER[\"central_meridian\",-81],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6734\"]]");
-    p = add_epsg_def (filter, first, last, 6735, "epsg", 6735,
-        "GDA94 / MGA zone 44");
+        "ing\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"fo");
+    add_srs_wkt (p, 13,
+        "ot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6570\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6571, "epsg", 6571,
+        "NAD83(2011) / South Dakota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=44 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_");
+    add_proj4text (p, 2,
+        "0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 44\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83(2011) / South Dakota North\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",81],PARAMETER[\"scale_factor\",0.");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        ".68333333333333],PARAMETER[\"standard_parallel_2\",44.41");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "666666666666],PARAMETER[\"latitude_of_origin\",43.833333");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "33333334],PARAMETER[\"central_meridian\",-100],PARAMETER");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6735\"]]");
-    p = add_epsg_def (filter, first, last, 6736, "epsg", 6736,
-        "GDA94 / MGA zone 46");
+        "[\"false_easting\",600000],PARAMETER[\"false_northing\",");
+    add_srs_wkt (p, 13,
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6571\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6572, "epsg", 6572,
+        "NAD83(2011) / South Dakota North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_");
+    add_proj4text (p, 2,
+        "0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 46\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83(2011) / South Dakota North (ftUS)\",GEOGC");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",93],PARAMETER[\"scale_factor\",0.");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "_1\",45.68333333333333],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ",44.41666666666666],PARAMETER[\"latitude_of_origin\",43.");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "83333333333334],PARAMETER[\"central_meridian\",-100],PAR");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6736\"]]");
-    p = add_epsg_def (filter, first, last, 6737, "epsg", 6737,
-        "GDA94 / MGA zone 47");
+        "AMETER[\"false_easting\",1968500],PARAMETER[\"false_nort");
+    add_srs_wkt (p, 13,
+        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 15,
+        "ORTH],AUTHORITY[\"EPSG\",\"6572\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6573, "epsg", 6573,
+        "NAD83(2011) / South Dakota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ".33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y");
+    add_proj4text (p, 2,
+        "_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 47\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83(2011) / South Dakota South\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",99],PARAMETER[\"scale_factor\",0.");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        ".4],PARAMETER[\"standard_parallel_2\",42.83333333333334]");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ",PARAMETER[\"latitude_of_origin\",42.33333333333334],PAR");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "AMETER[\"central_meridian\",-100.3333333333333],PARAMETE");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6737\"]]");
-    p = add_epsg_def (filter, first, last, 6738, "epsg", 6738,
-        "GDA94 / MGA zone 59");
+        "R[\"false_easting\",600000],PARAMETER[\"false_northing\"");
+    add_srs_wkt (p, 13,
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 14,
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6573\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 6574, "epsg", 6574,
+        "NAD83(2011) / South Dakota South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ".33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y");
+    add_proj4text (p, 2,
+        "_0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 59\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83(2011) / South Dakota South (ftUS)\",GEOGC");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "S[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referen");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "ce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.25722");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",171],PARAMETER[\"scale_factor\",0");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "_1\",44.4],PARAMETER[\"standard_parallel_2\",42.83333333");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "333334],PARAMETER[\"latitude_of_origin\",42.333333333333");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "34],PARAMETER[\"central_meridian\",-100.3333333333333],P");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"6738\"]]");
-    p = add_epsg_def (filter, first, last, 6870, "epsg", 6870,
-        "ETRS89 / Albania 2010");
+        "ARAMETER[\"false_easting\",1968500],PARAMETER[\"false_no");
+    add_srs_wkt (p, 13,
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"6574\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6575, "epsg", 6575,
+        "NAD83(2011) / Tennessee", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
     add_proj4text (p, 1,
-        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "4.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GR");
+    add_proj4text (p, 2,
+        "S80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / Albania 2010\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"NAD83(2011) / Tennessee\",GEOGCS[\"NAD83(2011)\"");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        ",DATUM[\"NAD83_National_Spatial_Reference_System_2011\",");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",20],PARAMETER[\"scale_f");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",36.4166666666");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "6666],PARAMETER[\"standard_parallel_2\",35.25],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "[\"latitude_of_origin\",34.33333333333334],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"6870\"]]");
-    p = add_epsg_def (filter, first, last, 6875, "epsg", 6875,
-        "RDN2008 / Italy zone");
+        "entral_meridian\",-86],PARAMETER[\"false_easting\",60000");
+    add_srs_wkt (p, 12,
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 14,
+        "RTH],AUTHORITY[\"EPSG\",\"6575\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6576, "epsg", 6576,
+        "NAD83(2011) / Tennessee (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9985000000000001 +x_");
+        "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
     add_proj4text (p, 1,
-        "0=7000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +un");
+        "4.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GR");
     add_proj4text (p, 2,
-        "its=m +no_defs");
+        "S80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"RDN2008 / Italy zone\",GEOGCS[\"RDN2008\",DATUM");
+        "PROJCS[\"NAD83(2011) / Tennessee (ftUS)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "[\"Rete_Dinamica_Nazionale_2008\",SPHEROID[\"GRS 1980\",");
+        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1132\"]],PRIMEM[");
+        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"6706\"]],PROJECTION[\"Transverse_Mer");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        "central_meridian\",12],PARAMETER[\"scale_factor\",0.9985");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.4");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",7000000],PARAMETER[\"false");
+        "1666666666666],PARAMETER[\"standard_parallel_2\",35.25],");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "PARAMETER[\"latitude_of_origin\",34.33333333333334],PARA");
     add_srs_wkt (p, 11,
-        "1\"]],AUTHORITY[\"EPSG\",\"6875\"]]");
-    p = add_epsg_def (filter, first, last, 6876, "epsg", 6876,
-        "RDN2008 / Zone 12");
+        "METER[\"central_meridian\",-86],PARAMETER[\"false_eastin");
+    add_srs_wkt (p, 12,
+        "g\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+    add_srs_wkt (p, 13,
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 14,
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"6576\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6577, "epsg", 6577,
+        "NAD83(2011) / Texas Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=3000000 +y_0=0 ");
+        "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
     add_proj4text (p, 1,
-        "+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +");
+    add_proj4text (p, 2,
+        "x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"RDN2008 / Zone 12\",GEOGCS[\"RDN2008\",DATUM[\"");
+        "PROJCS[\"NAD83(2011) / Texas Central\",GEOGCS[\"NAD83(20");
     add_srs_wkt (p, 1,
-        "Rete_Dinamica_Nazionale_2008\",SPHEROID[\"GRS 1980\",637");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_20");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1132\"]],PRIMEM[\"G");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRI");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"6706\"]],PROJECTION[\"Transverse_Mercat");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",12],PARAMETER[\"scale_factor\",1],PARAM");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",31.88333");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",3000000],PARAMETER[\"false_northi");
+        "333333333],PARAMETER[\"standard_parallel_2\",30.11666666");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "666667],PARAMETER[\"latitude_of_origin\",29.666666666666");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"6876\"]]");
-    p = add_epsg_def (filter, first, last, 20004, "epsg", 20004,
-        "Pulkovo 1995 / Gauss-Kruger zone 4");
+        "67],PARAMETER[\"central_meridian\",-100.3333333333333],P");
+    add_srs_wkt (p, 12,
+        "ARAMETER[\"false_easting\",700000],PARAMETER[\"false_nor");
+    add_srs_wkt (p, 13,
+        "thing\",3000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"6577\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6578, "epsg", 6578,
+        "NAD83(2011) / Texas Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 ");
+        "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +units=u");
+    add_proj4text (p, 3,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 4\",GEOGCS[\"P");
+        "PROJCS[\"NAD83(2011) / Texas Central (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",21],PARAMET");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",45000");
+        "1.88333333333333],PARAMETER[\"standard_parallel_2\",30.1");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "1666666666667],PARAMETER[\"latitude_of_origin\",29.66666");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20004\"]");
+        "666666667],PARAMETER[\"central_meridian\",-100.333333333");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 20005, "epsg", 20005,
-        "Pulkovo 1995 / Gauss-Kruger zone 5");
+        "3333],PARAMETER[\"false_easting\",2296583.333],PARAMETER");
+    add_srs_wkt (p, 13,
+        "[\"false_northing\",9842500.000000002],UNIT[\"US survey ");
+    add_srs_wkt (p, 14,
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "6578\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6579, "epsg", 6579,
+        "NAD83(2011) / Texas Centric Albers Equal Area", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 ");
+        "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
-    add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "_0=1500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 5\",GEOGCS[\"P");
+        "PROJCS[\"NAD83(2011) / Texas Centric Albers Equal Area\"");
     add_srs_wkt (p, 1,
-        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
+        ",GEOGCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_R");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "eference_System_2011\",SPHEROID[\"GRS 1980\",6378137,298");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        ".257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "G\",\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",27],PARAMET");
+        "\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",55000");
+        "el_1\",27.5],PARAMETER[\"standard_parallel_2\",35],PARAM");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ETER[\"latitude_of_center\",18],PARAMETER[\"longitude_of");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20005\"]");
+        "_center\",-100],PARAMETER[\"false_easting\",1500000],PAR");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 20006, "epsg", 20006,
-        "Pulkovo 1995 / Gauss-Kruger zone 6");
+        "AMETER[\"false_northing\",6000000],UNIT[\"metre\",1,AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 14,
+        "RTH],AUTHORITY[\"EPSG\",\"6579\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6580, "epsg", 6580,
+        "NAD83(2011) / Texas Centric Lambert Conformal", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 ");
+        "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
-    add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "_0=1500000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 6\",GEOGCS[\"P");
+        "PROJCS[\"NAD83(2011) / Texas Centric Lambert Conformal\"");
     add_srs_wkt (p, 1,
-        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
+        ",GEOGCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_R");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "eference_System_2011\",SPHEROID[\"GRS 1980\",6378137,298");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        ".257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "G\",\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",33],PARAMET");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",65000");
+        "rallel_1\",27.5],PARAMETER[\"standard_parallel_2\",35],P");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ARAMETER[\"latitude_of_origin\",18],PARAMETER[\"central_");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20006\"]");
+        "meridian\",-100],PARAMETER[\"false_easting\",1500000],PA");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 20007, "epsg", 20007,
-        "Pulkovo 1995 / Gauss-Kruger zone 7");
+        "RAMETER[\"false_northing\",5000000],UNIT[\"metre\",1,AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 14,
+        "ORTH],AUTHORITY[\"EPSG\",\"6580\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6581, "epsg", 6581,
+        "NAD83(2011) / Texas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 ");
+        "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "4 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +u");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 7\",GEOGCS[\"P");
+        "PROJCS[\"NAD83(2011) / Texas North\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",39],PARAMET");
+        "Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.183333");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",75000");
+        "33333333],PARAMETER[\"standard_parallel_2\",34.65],PARAM");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "ETER[\"latitude_of_origin\",34],PARAMETER[\"central_meri");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20007\"]");
+        "dian\",-101.5],PARAMETER[\"false_easting\",200000],PARAM");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 20008, "epsg", 20008,
-        "Pulkovo 1995 / Gauss-Kruger zone 8");
+        "ETER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"6581\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6582, "epsg", 6582,
+        "NAD83(2011) / Texas North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 ");
+        "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "4 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.99989");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "83998 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 8\",GEOGCS[\"P");
+        "PROJCS[\"NAD83(2011) / Texas North (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",45],PARAMET");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",85000");
+        ".18333333333333],PARAMETER[\"standard_parallel_2\",34.65");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "],PARAMETER[\"latitude_of_origin\",34],PARAMETER[\"centr");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20008\"]");
+        "al_meridian\",-101.5],PARAMETER[\"false_easting\",656166");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 20009, "epsg", 20009,
-        "Pulkovo 1995 / Gauss-Kruger zone 9");
+        ".667],PARAMETER[\"false_northing\",3280833.333],UNIT[\"U");
+    add_srs_wkt (p, 13,
+        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"6582\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6583, "epsg", 6583,
+        "NAD83(2011) / Texas North Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 ");
+        "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "_0=2000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 9\",GEOGCS[\"P");
+        "PROJCS[\"NAD83(2011) / Texas North Central\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\"");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],PR");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "f_origin\",0],PARAMETER[\"central_meridian\",51],PARAMET");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",95000");
+        "3.96666666666667],PARAMETER[\"standard_parallel_2\",32.1");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "3333333333333],PARAMETER[\"latitude_of_origin\",31.66666");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20009\"]");
+        "666666667],PARAMETER[\"central_meridian\",-98.5],PARAMET");
     add_srs_wkt (p, 12,
-        "]");
-    p = add_epsg_def (filter, first, last, 20010, "epsg", 20010,
-        "Pulkovo 1995 / Gauss-Kruger zone 10");
+        "ER[\"false_easting\",600000],PARAMETER[\"false_northing\"");
+    add_srs_wkt (p, 13,
+        ",2000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "6583\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6584, "epsg", 6584,
+        "NAD83(2011) / Texas North Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0");
+        "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        "333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "_0=2000000.0001016 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 10\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Texas North Central (ftUS)\",GEOG");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "CS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refere");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "nce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "22101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",57],PARAM");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",105");
+        "_1\",33.96666666666667],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        ",32.13333333333333],PARAMETER[\"latitude_of_origin\",31.");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20010");
+        "66666666666667],PARAMETER[\"central_meridian\",-98.5],PA");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 20011, "epsg", 20011,
-        "Pulkovo 1995 / Gauss-Kruger zone 11");
+        "RAMETER[\"false_easting\",1968500],PARAMETER[\"false_nor");
+    add_srs_wkt (p, 13,
+        "thing\",6561666.667],UNIT[\"US survey foot\",0.304800609");
+    add_srs_wkt (p, 14,
+        "6012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 15,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6584\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6585, "epsg", 6585,
+        "NAD83(2011) / Texas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0");
+        "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        "667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "_0=5000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 11\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Texas South\",GEOGCS[\"NAD83(2011");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_2011");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIME");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "RITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",63],PARAM");
+        "Conic_2SP\"],PARAMETER[\"standard_parallel_1\",27.833333");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",115");
+        "33333333],PARAMETER[\"standard_parallel_2\",26.166666666");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "66667],PARAMETER[\"latitude_of_origin\",25.6666666666666");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20011");
+        "7],PARAMETER[\"central_meridian\",-98.5],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 20012, "epsg", 20012,
-        "Pulkovo 1995 / Gauss-Kruger zone 12");
+        "se_easting\",300000],PARAMETER[\"false_northing\",500000");
+    add_srs_wkt (p, 13,
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6585\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6586, "epsg", 6586,
+        "NAD83(2011) / Texas South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0");
+        "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        "667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.00");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "00000001 +y_0=5000000.0001016 +ellps=GRS80 +units=us-ft ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 12\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Texas South (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syst");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "em_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AU");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "THORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",69],PARAM");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",27");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",125");
+        ".83333333333333],PARAMETER[\"standard_parallel_2\",26.16");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "666666666667],PARAMETER[\"latitude_of_origin\",25.666666");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20012");
+        "66666667],PARAMETER[\"central_meridian\",-98.5],PARAMETE");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 20013, "epsg", 20013,
-        "Pulkovo 1995 / Gauss-Kruger zone 13");
+        "R[\"false_easting\",984250.0000000002],PARAMETER[\"false");
+    add_srs_wkt (p, 13,
+        "_northing\",16404166.667],UNIT[\"US survey foot\",0.3048");
+    add_srs_wkt (p, 14,
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 15,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6586\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6587, "epsg", 6587,
+        "NAD83(2011) / Texas South Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0");
+        "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        "333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "=4000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 13\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Texas South Central\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",75],PARAM");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",135");
+        "0.28333333333333],PARAMETER[\"standard_parallel_2\",28.3");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "8333333333333],PARAMETER[\"latitude_of_origin\",27.83333");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20013");
+        "333333333],PARAMETER[\"central_meridian\",-99],PARAMETER");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 20014, "epsg", 20014,
-        "Pulkovo 1995 / Gauss-Kruger zone 14");
+        "[\"false_easting\",600000],PARAMETER[\"false_northing\",");
+    add_srs_wkt (p, 13,
+        "4000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "6587\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6588, "epsg", 6588,
+        "NAD83(2011) / Texas South Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0");
+        "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        "333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "=3999999.9998984 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 14\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Texas South Central (ftUS)\",GEOG");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "CS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refere");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "nce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "22101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",81],PARAM");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",145");
+        "_1\",30.28333333333333],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        ",28.38333333333333],PARAMETER[\"latitude_of_origin\",27.");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20014");
+        "83333333333333],PARAMETER[\"central_meridian\",-99],PARA");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 20015, "epsg", 20015,
-        "Pulkovo 1995 / Gauss-Kruger zone 15");
+        "METER[\"false_easting\",1968500],PARAMETER[\"false_north");
+    add_srs_wkt (p, 13,
+        "ing\",13123333.333],UNIT[\"US survey foot\",0.3048006096");
+    add_srs_wkt (p, 14,
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 15,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6588\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6589, "epsg", 6589,
+        "NAD83(2011) / Vermont", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
-    add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 15\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Vermont\",GEOGCS[\"NAD83(2011)\",");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "DATUM[\"NAD83_National_Spatial_Reference_System_2011\",S");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",87],PARAM");
+        ",PARAMETER[\"latitude_of_origin\",42.5],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",155");
+        "ral_meridian\",-72.5],PARAMETER[\"scale_factor\",0.99996");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "4286],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20015");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 20016, "epsg", 20016,
-        "Pulkovo 1995 / Gauss-Kruger zone 16");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"6589\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6590, "epsg", 6590,
+        "NAD83(2011) / Vermont (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
+        "=500000.00001016 +y_0=0 +ellps=GRS80 +units=us-ft +no_de");
     add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 16\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Vermont (ftUS)\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",93],PARAM");
+        "tor\"],PARAMETER[\"latitude_of_origin\",42.5],PARAMETER[");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",165");
+        "\"central_meridian\",-72.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        ".999964286],PARAMETER[\"false_easting\",1640416.6667],PA");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20016");
+        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 20017, "epsg", 20017,
-        "Pulkovo 1995 / Gauss-Kruger zone 17");
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6590\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6591, "epsg", 6591,
+        "NAD83(2011) / Virginia Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0");
+        "+proj=lcc +lat_1=37 +lat_2=39.5 +lat_0=36 +lon_0=-79.5 +");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
-    add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 17\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Virginia Lambert\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",99],PARAM");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37],");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",175");
+        "PARAMETER[\"standard_parallel_2\",39.5],PARAMETER[\"lati");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "tude_of_origin\",36],PARAMETER[\"central_meridian\",-79.");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"20017");
+        "5],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 20018, "epsg", 20018,
-        "Pulkovo 1995 / Gauss-Kruger zone 18");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "6591\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6592, "epsg", 6592,
+        "NAD83(2011) / Virginia North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=");
+        "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        ".66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        "ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 18\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Virginia North\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",105],PARA");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.2],P");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",18");
+        "ARAMETER[\"standard_parallel_2\",38.03333333333333],PARA");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "METER[\"latitude_of_origin\",37.66666666666666],PARAMETE");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2001");
+        "R[\"central_meridian\",-78.5],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "8\"]]");
-    p = add_epsg_def (filter, first, last, 20019, "epsg", 20019,
-        "Pulkovo 1995 / Gauss-Kruger zone 19");
+        ",3500000],PARAMETER[\"false_northing\",2000000],UNIT[\"m");
+    add_srs_wkt (p, 13,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6592\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6593, "epsg", 6593,
+        "NAD83(2011) / Virginia North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=");
+        "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        ".66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        "000000.0001016 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 19\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Virginia North (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",111],PARA");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",19");
+        ",39.2],PARAMETER[\"standard_parallel_2\",38.033333333333");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "33],PARAMETER[\"latitude_of_origin\",37.66666666666666],");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2001");
+        "PARAMETER[\"central_meridian\",-78.5],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 20020, "epsg", 20020,
-        "Pulkovo 1995 / Gauss-Kruger zone 20");
+        "easting\",11482916.667],PARAMETER[\"false_northing\",656");
+    add_srs_wkt (p, 13,
+        "1666.667],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 15,
+        "ORTH],AUTHORITY[\"EPSG\",\"6593\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6594, "epsg", 6594,
+        "NAD83(2011) / Virginia South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=");
+        "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        "y_0=1000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 20\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Virginia South\",GEOGCS[\"NAD83(2");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "011)\",DATUM[\"NAD83_National_Spatial_Reference_System_2");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "ITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PR");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "HORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",117],PARA");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.9666");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",20");
+        "6666666667],PARAMETER[\"standard_parallel_2\",36.7666666");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "6666667],PARAMETER[\"latitude_of_origin\",36.33333333333");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2002");
+        "334],PARAMETER[\"central_meridian\",-78.5],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 20021, "epsg", 20021,
-        "Pulkovo 1995 / Gauss-Kruger zone 21");
+        "alse_easting\",3500000],PARAMETER[\"false_northing\",100");
+    add_srs_wkt (p, 13,
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"659");
+    add_srs_wkt (p, 15,
+        "4\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6595, "epsg", 6595,
+        "NAD83(2011) / Virginia South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=");
+        "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        "001016 +y_0=999999.9998983998 +ellps=GRS80 +units=us-ft ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 21\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Virginia South (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",123],PARA");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",21");
+        ",37.96666666666667],PARAMETER[\"standard_parallel_2\",36");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        ".76666666666667],PARAMETER[\"latitude_of_origin\",36.333");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2002");
+        "33333333334],PARAMETER[\"central_meridian\",-78.5],PARAM");
     add_srs_wkt (p, 12,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 20022, "epsg", 20022,
-        "Pulkovo 1995 / Gauss-Kruger zone 22");
+        "ETER[\"false_easting\",11482916.667],PARAMETER[\"false_n");
+    add_srs_wkt (p, 13,
+        "orthing\",3280833.333],UNIT[\"US survey foot\",0.3048006");
+    add_srs_wkt (p, 14,
+        "096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 15,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6595\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6596, "epsg", 6596,
+        "NAD83(2011) / Washington North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=");
+        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        " +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        "80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 22\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Washington North\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",129],PARA");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",48.7");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",22");
+        "3333333333333],PARAMETER[\"standard_parallel_2\",47.5],P");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "ARAMETER[\"latitude_of_origin\",47],PARAMETER[\"central_");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2002");
+        "meridian\",-120.8333333333333],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 20023, "epsg", 20023,
-        "Pulkovo 1995 / Gauss-Kruger zone 23");
+        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+    add_srs_wkt (p, 13,
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6596\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6597, "epsg", 6597,
+        "NAD83(2011) / Washington North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=");
+        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        " +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        " +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 23\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Washington North (ftUS)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",135],PARA");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",23");
+        ",48.73333333333333],PARAMETER[\"standard_parallel_2\",47");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        ".5],PARAMETER[\"latitude_of_origin\",47],PARAMETER[\"cen");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2002");
+        "tral_meridian\",-120.8333333333333],PARAMETER[\"false_ea");
     add_srs_wkt (p, 12,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 20024, "epsg", 20024,
-        "Pulkovo 1995 / Gauss-Kruger zone 24");
+        "sting\",1640416.667],PARAMETER[\"false_northing\",0],UNI");
+    add_srs_wkt (p, 13,
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"6597\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6598, "epsg", 6598,
+        "NAD83(2011) / Washington South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=");
+        "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        "y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 24\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Washington South\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "(2011)\",DATUM[\"NAD83_National_Spatial_Reference_System");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTH");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "ORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",141],PARA");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.3");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",24");
+        "3333333333334],PARAMETER[\"standard_parallel_2\",45.8333");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "3333333334],PARAMETER[\"latitude_of_origin\",45.33333333");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2002");
+        "333334],PARAMETER[\"central_meridian\",-120.5],PARAMETER");
     add_srs_wkt (p, 12,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 20025, "epsg", 20025,
-        "Pulkovo 1995 / Gauss-Kruger zone 25");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+    add_srs_wkt (p, 13,
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6598\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6599, "epsg", 6599,
+        "NAD83(2011) / Washington South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=");
+        "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        "001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 25\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Washington South (ftUS)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "16\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",147],PARA");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",25");
+        ",47.33333333333334],PARAMETER[\"standard_parallel_2\",45");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        ".83333333333334],PARAMETER[\"latitude_of_origin\",45.333");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2002");
+        "33333333334],PARAMETER[\"central_meridian\",-120.5],PARA");
     add_srs_wkt (p, 12,
-        "5\"]]");
-    p = add_epsg_def (filter, first, last, 20026, "epsg", 20026,
-        "Pulkovo 1995 / Gauss-Kruger zone 26");
+        "METER[\"false_easting\",1640416.667],PARAMETER[\"false_n");
+    add_srs_wkt (p, 13,
+        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"6599\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6600, "epsg", 6600,
+        "NAD83(2011) / West Virginia North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=");
+        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
-    add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        "5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 26\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / West Virginia North\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",153],PARA");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",26");
+        "0.25],PARAMETER[\"standard_parallel_2\",39],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "latitude_of_origin\",38.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2002");
+        ",-79.5],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "6\"]]");
-    p = add_epsg_def (filter, first, last, 20027, "epsg", 20027,
-        "Pulkovo 1995 / Gauss-Kruger zone 27");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"6600\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6601, "epsg", 6601,
+        "NAD83(2011) / West Virginia North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=");
+        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
-    add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        "5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 27\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / West Virginia North (ftUS)\",GEOG");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "CS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refere");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "nce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "22101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",159],PARA");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",27");
+        "_1\",40.25],PARAMETER[\"standard_parallel_2\",39],PARAME");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "TER[\"latitude_of_origin\",38.5],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2002");
+        "idian\",-79.5],PARAMETER[\"false_easting\",1968500],PARA");
     add_srs_wkt (p, 12,
-        "7\"]]");
-    p = add_epsg_def (filter, first, last, 20028, "epsg", 20028,
-        "Pulkovo 1995 / Gauss-Kruger zone 28");
+        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+    add_srs_wkt (p, 13,
+        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 14,
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6601\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6602, "epsg", 6602,
+        "NAD83(2011) / West Virginia South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=");
+        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 28\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / West Virginia South\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",165],PARA");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",28");
+        "8.88333333333333],PARAMETER[\"standard_parallel_2\",37.4");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "8333333333333],PARAMETER[\"latitude_of_origin\",37],PARA");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2002");
+        "METER[\"central_meridian\",-81],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 12,
-        "8\"]]");
-    p = add_epsg_def (filter, first, last, 20029, "epsg", 20029,
-        "Pulkovo 1995 / Gauss-Kruger zone 29");
+        "g\",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+    add_srs_wkt (p, 13,
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6602\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6603, "epsg", 6603,
+        "NAD83(2011) / West Virginia South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=");
+        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        " +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 29\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / West Virginia South (ftUS)\",GEOG");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "CS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refere");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "nce_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2572");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "22101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",171],PARA");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",29");
+        "_1\",38.88333333333333],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        ",37.48333333333333],PARAMETER[\"latitude_of_origin\",37]");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2002");
+        ",PARAMETER[\"central_meridian\",-81],PARAMETER[\"false_e");
     add_srs_wkt (p, 12,
-        "9\"]]");
-    p = add_epsg_def (filter, first, last, 20030, "epsg", 20030,
-        "Pulkovo 1995 / Gauss-Kruger zone 30");
+        "asting\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"6603\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6604, "epsg", 6604,
+        "NAD83(2011) / Wisconsin Central (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=");
+        "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,");
+        "334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=");
     add_proj4text (p, 2,
-        "-0.22 +units=m +no_defs");
+        "0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 30\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Wisconsin Central (deprecated)\",");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatia");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "l_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378137,");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",177],PARA");
+        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",30");
+        "],PARAMETER[\"standard_parallel_1\",45.5],PARAMETER[\"st");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "andard_parallel_2\",44.25],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2003");
+        "n\",43.83333333333334],PARAMETER[\"central_meridian\",-9");
     add_srs_wkt (p, 12,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 20031, "epsg", 20031,
-        "Pulkovo 1995 / Gauss-Kruger zone 31");
+        "0],PARAMETER[\"false_easting\",600000],PARAMETER[\"false");
+    add_srs_wkt (p, 13,
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 14,
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"6604\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6605, "epsg", 6605,
+        "NAD83(2011) / Wisconsin Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0");
+        "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13");
+        "334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us");
     add_proj4text (p, 2,
-        ",-0.22 +units=m +no_defs");
+        "-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 31\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Wisconsin Central (ftUS)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Referenc");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "e_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        ",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lamber");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",-177],PAR");
+        "t_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3");
+        "\",45.5],PARAMETER[\"standard_parallel_2\",44.25],PARAME");
     add_srs_wkt (p, 10,
-        "1500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"latitude_of_origin\",43.83333333333334],PARAMETER[");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"200");
+        "\"central_meridian\",-90],PARAMETER[\"false_easting\",19");
     add_srs_wkt (p, 12,
-        "31\"]]");
-    p = add_epsg_def (filter, first, last, 20032, "epsg", 20032,
-        "Pulkovo 1995 / Gauss-Kruger zone 32");
+        "68500],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
+    add_srs_wkt (p, 13,
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "6605\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6606, "epsg", 6606,
+        "NAD83(2011) / Wisconsin North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0");
+        "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13");
+        "667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0");
     add_proj4text (p, 2,
-        ",-0.22 +units=m +no_defs");
+        "=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 32\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Wisconsin North\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4200\"]],");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",-171],PAR");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",46.76");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3");
+        "666666666667],PARAMETER[\"standard_parallel_2\",45.56666");
     add_srs_wkt (p, 10,
-        "2500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "666666667],PARAMETER[\"latitude_of_origin\",45.166666666");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"200");
+        "66666],PARAMETER[\"central_meridian\",-90],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "32\"]]");
-    p = add_epsg_def (filter, first, last, 20064, "epsg", 20064,
-        "Pulkovo 1995 / Gauss-Kruger 4N (deprecated)");
+        "alse_easting\",600000],PARAMETER[\"false_northing\",0],U");
+    add_srs_wkt (p, 13,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6606\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6607, "epsg", 6607,
+        "NAD83(2011) / Wisconsin North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 4N (deprecated)\",G");
+        "PROJCS[\"NAD83(2011) / Wisconsin North (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",21");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        ",46.76666666666667],PARAMETER[\"standard_parallel_2\",45");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        ".56666666666667],PARAMETER[\"latitude_of_origin\",45.166");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "66666666666],PARAMETER[\"central_meridian\",-90],PARAMET");
     add_srs_wkt (p, 12,
-        "20064\"]]");
-    p = add_epsg_def (filter, first, last, 20065, "epsg", 20065,
-        "Pulkovo 1995 / Gauss-Kruger 5N (deprecated)");
+        "ER[\"false_easting\",1968500],PARAMETER[\"false_northing");
+    add_srs_wkt (p, 13,
+        "\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 15,
+        "],AUTHORITY[\"EPSG\",\"6607\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6608, "epsg", 6608,
+        "NAD83(2011) / Wisconsin South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 5N (deprecated)\",G");
+        "PROJCS[\"NAD83(2011) / Wisconsin South\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",27");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44.06");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "666666666667],PARAMETER[\"standard_parallel_2\",42.73333");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "333333333],PARAMETER[\"latitude_of_origin\",42],PARAMETE");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "R[\"central_meridian\",-90],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "20065\"]]");
-    p = add_epsg_def (filter, first, last, 20066, "epsg", 20066,
-        "Pulkovo 1995 / Gauss-Kruger 6N (deprecated)");
+        "600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"6608\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6609, "epsg", 6609,
+        "NAD83(2011) / Wisconsin South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        " +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 6N (deprecated)\",G");
+        "PROJCS[\"NAD83(2011) / Wisconsin South (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
+        "NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_S");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "ystem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "AST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",33");
+        "Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        ",44.06666666666667],PARAMETER[\"standard_parallel_2\",42");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        ".73333333333333],PARAMETER[\"latitude_of_origin\",42],PA");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "RAMETER[\"central_meridian\",-90],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "20066\"]]");
-    p = add_epsg_def (filter, first, last, 20067, "epsg", 20067,
-        "Pulkovo 1995 / Gauss-Kruger 7N (deprecated)");
+        "ing\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US");
+    add_srs_wkt (p, 13,
+        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"6609\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6610, "epsg", 6610,
+        "NAD83(2011) / Wisconsin Transverse Mercator", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
-    add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "_0=-4480000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 7N (deprecated)\",G");
+        "PROJCS[\"NAD83(2011) / Wisconsin Transverse Mercator\",G");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
+        "EOGCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Ref");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "erence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.2");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "57222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        ",\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",39");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "],PARAMETER[\"central_meridian\",-90],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "factor\",0.9996],PARAMETER[\"false_easting\",520000],PAR");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "AMETER[\"false_northing\",-4480000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "20067\"]]");
-    p = add_epsg_def (filter, first, last, 20068, "epsg", 20068,
-        "Pulkovo 1995 / Gauss-Kruger 8N (deprecated)");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"6610\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6611, "epsg", 6611,
+        "NAD83(2011) / Wyoming East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
-    add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "999375 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 8N (deprecated)\",G");
+        "PROJCS[\"NAD83(2011) / Wyoming East\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",45");
+        "or\"],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "central_meridian\",-105.1666666666667],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "_factor\",0.9999375],PARAMETER[\"false_easting\",200000]");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "20068\"]]");
-    p = add_epsg_def (filter, first, last, 20069, "epsg", 20069,
-        "Pulkovo 1995 / Gauss-Kruger 9N (deprecated)");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"6611\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6612, "epsg", 6612,
+        "NAD83(2011) / Wyoming East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +units=u");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 9N (deprecated)\",G");
+        "PROJCS[\"NAD83(2011) / Wyoming East (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "00\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",51");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5],PARA");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "METER[\"central_meridian\",-105.1666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "[\"scale_factor\",0.9999375],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        ",656166.6667],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 12,
-        "20069\"]]");
-    p = add_epsg_def (filter, first, last, 20070, "epsg", 20070,
-        "Pulkovo 1995 / Gauss-Kruger 10N (deprecated)");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 13,
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"6612\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6613, "epsg", 6613,
+        "NAD83(2011) / Wyoming East Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m +no");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 10N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Wyoming East Central\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5],PARA");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "METER[\"central_meridian\",-107.3333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "[\"scale_factor\",0.9999375],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        ",400000],PARAMETER[\"false_northing\",100000],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "20070\"]]");
-    p = add_epsg_def (filter, first, last, 20071, "epsg", 20071,
-        "Pulkovo 1995 / Gauss-Kruger 11N (deprecated)");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6613\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6614, "epsg", 6614,
+        "NAD83(2011) / Wyoming East Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellp");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "s=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 11N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Wyoming East Central (ftUS)\",GEO");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "GCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refer");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "ence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",40");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        ".5],PARAMETER[\"central_meridian\",-107.3333333333333],P");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ARAMETER[\"scale_factor\",0.9999375],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "asting\",1312333.3333],PARAMETER[\"false_northing\",3280");
     add_srs_wkt (p, 12,
-        "20071\"]]");
-    p = add_epsg_def (filter, first, last, 20072, "epsg", 20072,
-        "Pulkovo 1995 / Gauss-Kruger 12N (deprecated)");
+        "83.3333],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 14,
+        "RTH],AUTHORITY[\"EPSG\",\"6614\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6615, "epsg", 6615,
+        "NAD83(2011) / Wyoming West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 12N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Wyoming West\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        "or\"],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "central_meridian\",-110.0833333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "_factor\",0.9999375],PARAMETER[\"false_easting\",800000]");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        ",PARAMETER[\"false_northing\",100000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "20072\"]]");
-    p = add_epsg_def (filter, first, last, 20073, "epsg", 20073,
-        "Pulkovo 1995 / Gauss-Kruger 13N (deprecated)");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"6615\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6616, "epsg", 6616,
+        "NAD83(2011) / Wyoming West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +el");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "lps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 13N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Wyoming West (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5],PARA");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "METER[\"central_meridian\",-110.0833333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "[\"scale_factor\",0.9999375],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        ",2624666.6667],PARAMETER[\"false_northing\",328083.3333]");
     add_srs_wkt (p, 12,
-        "20073\"]]");
-    p = add_epsg_def (filter, first, last, 20074, "epsg", 20074,
-        "Pulkovo 1995 / Gauss-Kruger 14N (deprecated)");
+        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"6616\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6617, "epsg", 6617,
+        "NAD83(2011) / Wyoming West Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
-    add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 14N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Wyoming West Central\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "AD83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "stem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",40.5],PARA");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "METER[\"central_meridian\",-108.75],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ctor\",0.9999375],PARAMETER[\"false_easting\",600000],PA");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "20074\"]]");
-    p = add_epsg_def (filter, first, last, 20075, "epsg", 20075,
-        "Pulkovo 1995 / Gauss-Kruger 15N (deprecated)");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"6617\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6618, "epsg", 6618,
+        "NAD83(2011) / Wyoming West Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
-    add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 15N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Wyoming West Central (ftUS)\",GEO");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "GCS[\"NAD83(2011)\",DATUM[\"NAD83_National_Spatial_Refer");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "ence_System_2011\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "\"1116\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",40");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        ".5],PARAMETER[\"central_meridian\",-108.75],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "scale_factor\",0.9999375],PARAMETER[\"false_easting\",19");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "68500],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
     add_srs_wkt (p, 12,
-        "20075\"]]");
-    p = add_epsg_def (filter, first, last, 20076, "epsg", 20076,
-        "Pulkovo 1995 / Gauss-Kruger 16N (deprecated)");
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+    add_srs_wkt (p, 13,
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "6618\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6619, "epsg", 6619,
+        "NAD83(2011) / Utah Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "8.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 ");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "+ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 16N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Utah Central\",GEOGCS[\"NAD83(201");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "1)\",DATUM[\"NAD83_National_Spatial_Reference_System_201");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "1\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "Y[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIM");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.65],P");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ARAMETER[\"standard_parallel_2\",39.01666666666667],PARA");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "METER[\"latitude_of_origin\",38.33333333333334],PARAMETE");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "R[\"central_meridian\",-111.5],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "20076\"]]");
-    p = add_epsg_def (filter, first, last, 20077, "epsg", 20077,
-        "Pulkovo 1995 / Gauss-Kruger 17N (deprecated)");
+        "\",500000],PARAMETER[\"false_northing\",2000000],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6619\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6620, "epsg", 6620,
+        "NAD83(2011) / Utah North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0.");
+        "667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +");
     add_proj4text (p, 2,
-        "22 +units=m +no_defs");
+        "y_0=1000000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 17N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Utah North\",GEOGCS[\"NAD83(2011)");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",41.7833333333");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "3333],PARAMETER[\"standard_parallel_2\",40.7166666666666");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "7],PARAMETER[\"latitude_of_origin\",40.33333333333334],P");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "ARAMETER[\"central_meridian\",-111.5],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "20077\"]]");
-    p = add_epsg_def (filter, first, last, 20078, "epsg", 20078,
-        "Pulkovo 1995 / Gauss-Kruger 18N (deprecated)");
+        "easting\",500000],PARAMETER[\"false_northing\",1000000],");
+    add_srs_wkt (p, 13,
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6620\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6621, "epsg", 6621,
+        "NAD83(2011) / Utah South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "6.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 ");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "+ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 18N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Utah South\",GEOGCS[\"NAD83(2011)");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "\",DATUM[\"NAD83_National_Spatial_Reference_System_2011\"");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",38.35],PARAME");
     add_srs_wkt (p, 9,
-        "05],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "TER[\"standard_parallel_2\",37.21666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "[\"latitude_of_origin\",36.66666666666666],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "entral_meridian\",-111.5],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 12,
-        "\"20078\"]]");
-    p = add_epsg_def (filter, first, last, 20079, "epsg", 20079,
-        "Pulkovo 1995 / Gauss-Kruger 19N (deprecated)");
+        "0000],PARAMETER[\"false_northing\",3000000],UNIT[\"metre");
+    add_srs_wkt (p, 13,
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6621\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6622, "epsg", 6622,
+        "NAD83(CSRS) / Quebec Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 19N (deprecated)\",");
+        "PROJCS[\"NAD83(CSRS) / Quebec Lambert\",GEOGCS[\"NAD83(C");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "SRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\"");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "rallel_1\",60],PARAMETER[\"standard_parallel_2\",46],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"latitude_of_origin\",44],PARAMETER[\"central_me");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "ridian\",-68.5],PARAMETER[\"false_easting\",0],PARAMETER");
     add_srs_wkt (p, 12,
-        "\"20079\"]]");
-    p = add_epsg_def (filter, first, last, 20080, "epsg", 20080,
-        "Pulkovo 1995 / Gauss-Kruger 20N (deprecated)");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"6622\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6623, "epsg", 6623,
+        "NAD83 / Quebec Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=aea +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 20N (deprecated)\",");
+        "PROJCS[\"NAD83 / Quebec Albers\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Albers_Conic_Equal_Area\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        ",PARAMETER[\"standard_parallel_1\",60],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "17],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ard_parallel_2\",46],PARAMETER[\"latitude_of_center\",44");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "],PARAMETER[\"longitude_of_center\",-68.5],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "alse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "\"20080\"]]");
-    p = add_epsg_def (filter, first, last, 20081, "epsg", 20081,
-        "Pulkovo 1995 / Gauss-Kruger 21N (deprecated)");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6623\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6624, "epsg", 6624,
+        "NAD83(CSRS) / Quebec Albers", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Albers_Conic_Equal_Area", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=aea +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 21N (deprecated)\",");
+        "PROJCS[\"NAD83(CSRS) / Quebec Albers\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "\"Albers_Conic_Equal_Area\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "23],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "el_1\",60],PARAMETER[\"standard_parallel_2\",46],PARAMET");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ER[\"latitude_of_center\",44],PARAMETER[\"longitude_of_c");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "enter\",-68.5],PARAMETER[\"false_easting\",0],PARAMETER[");
     add_srs_wkt (p, 12,
-        "\"20081\"]]");
-    p = add_epsg_def (filter, first, last, 20082, "epsg", 20082,
-        "Pulkovo 1995 / Gauss-Kruger 22N (deprecated)");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"6624\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6625, "epsg", 6625,
+        "NAD83(2011) / Utah Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "8.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "=2000000.00001016 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 22N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Utah Central (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "D83(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Sys");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "tem_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "UTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "T],AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
     add_srs_wkt (p, 9,
-        "29],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "0.65],PARAMETER[\"standard_parallel_2\",39.0166666666666");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "7],PARAMETER[\"latitude_of_origin\",38.33333333333334],P");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "ARAMETER[\"central_meridian\",-111.5],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "\"20082\"]]");
-    p = add_epsg_def (filter, first, last, 20083, "epsg", 20083,
-        "Pulkovo 1995 / Gauss-Kruger 23N (deprecated)");
+        "easting\",1640416.6667],PARAMETER[\"false_northing\",656");
+    add_srs_wkt (p, 13,
+        "1666.666700001],UNIT[\"US survey foot\",0.30480060960121");
+    add_srs_wkt (p, 14,
+        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"6625\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6626, "epsg", 6626,
+        "NAD83(2011) / Utah North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "0001016 +y_0=999999.9999898402 +ellps=GRS80 +units=us-ft");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 23N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Utah North (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.");
     add_srs_wkt (p, 9,
-        "35],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "78333333333333],PARAMETER[\"standard_parallel_2\",40.716");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "66666666667],PARAMETER[\"latitude_of_origin\",40.3333333");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "3333334],PARAMETER[\"central_meridian\",-111.5],PARAMETE");
     add_srs_wkt (p, 12,
-        "\"20083\"]]");
-    p = add_epsg_def (filter, first, last, 20084, "epsg", 20084,
-        "Pulkovo 1995 / Gauss-Kruger 24N (deprecated)");
+        "R[\"false_easting\",1640416.6667],PARAMETER[\"false_nort");
+    add_srs_wkt (p, 13,
+        "hing\",3280833.333300001],UNIT[\"US survey foot\",0.3048");
+    add_srs_wkt (p, 14,
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 15,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6626\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6627, "epsg", 6627,
+        "NAD83(2011) / Utah South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "6.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "=3000000 +ellps=GRS80 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 24N (deprecated)\",");
+        "PROJCS[\"NAD83(2011) / Utah South (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.");
     add_srs_wkt (p, 9,
-        "41],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "35],PARAMETER[\"standard_parallel_2\",37.21666666666667]");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        ",PARAMETER[\"latitude_of_origin\",36.66666666666666],PAR");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "AMETER[\"central_meridian\",-111.5],PARAMETER[\"false_ea");
     add_srs_wkt (p, 12,
-        "\"20084\"]]");
-    p = add_epsg_def (filter, first, last, 20085, "epsg", 20085,
-        "Pulkovo 1995 / Gauss-Kruger 25N (deprecated)");
+        "sting\",1640416.6667],PARAMETER[\"false_northing\",98425");
+    add_srs_wkt (p, 13,
+        "00.000000002],UNIT[\"US survey foot\",0.3048006096012192");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 15,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"6627\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6628, "epsg", 6628,
+        "NAD83(PA11) / Hawaii zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_PA11", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_d");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 25N (deprecated)\",");
+        "PROJCS[\"NAD83(PA11) / Hawaii zone 1\",GEOGCS[\"NAD83(PA");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_PA");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRI");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "or\"],PARAMETER[\"latitude_of_origin\",18.83333333333333");
     add_srs_wkt (p, 9,
-        "47],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "],PARAMETER[\"central_meridian\",-155.5],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "le_factor\",0.999966667],PARAMETER[\"false_easting\",500");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "\"20085\"]]");
-    p = add_epsg_def (filter, first, last, 20086, "epsg", 20086,
-        "Pulkovo 1995 / Gauss-Kruger 26N (deprecated)");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"6628\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6629, "epsg", 6629,
+        "NAD83(PA11) / Hawaii zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_PA11", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +u");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 26N (deprecated)\",");
+        "PROJCS[\"NAD83(PA11) / Hawaii zone 2\",GEOGCS[\"NAD83(PA");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_PA");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRI");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "or\"],PARAMETER[\"latitude_of_origin\",20.33333333333333");
     add_srs_wkt (p, 9,
-        "53],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "],PARAMETER[\"central_meridian\",-156.6666666666667],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",0.999966667],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "\"20086\"]]");
-    p = add_epsg_def (filter, first, last, 20087, "epsg", 20087,
-        "Pulkovo 1995 / Gauss-Kruger 27N (deprecated)");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6629\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6630, "epsg", 6630,
+        "NAD83(PA11) / Hawaii zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_PA11", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
-    add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 27N (deprecated)\",");
+        "PROJCS[\"NAD83(PA11) / Hawaii zone 3\",GEOGCS[\"NAD83(PA");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_PA");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRI");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "or\"],PARAMETER[\"latitude_of_origin\",21.16666666666667");
     add_srs_wkt (p, 9,
-        "59],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "],PARAMETER[\"central_meridian\",-158],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "_factor\",0.99999],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "\"20087\"]]");
-    p = add_epsg_def (filter, first, last, 20088, "epsg", 20088,
-        "Pulkovo 1995 / Gauss-Kruger 28N (deprecated)");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"6630\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6631, "epsg", 6631,
+        "NAD83(PA11) / Hawaii zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_PA11", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
-    add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 28N (deprecated)\",");
+        "PROJCS[\"NAD83(PA11) / Hawaii zone 4\",GEOGCS[\"NAD83(PA");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_PA");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRI");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "or\"],PARAMETER[\"latitude_of_origin\",21.83333333333333");
     add_srs_wkt (p, 9,
-        "65],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "],PARAMETER[\"central_meridian\",-159.5],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "le_factor\",0.99999],PARAMETER[\"false_easting\",500000]");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\"20088\"]]");
-    p = add_epsg_def (filter, first, last, 20089, "epsg", 20089,
-        "Pulkovo 1995 / Gauss-Kruger 29N (deprecated)");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"6631\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6632, "epsg", 6632,
+        "NAD83(PA11) / Hawaii zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_PA11", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 29N (deprecated)\",");
+        "PROJCS[\"NAD83(PA11) / Hawaii zone 5\",GEOGCS[\"NAD83(PA");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_PA");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRI");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "or\"],PARAMETER[\"latitude_of_origin\",21.66666666666667");
     add_srs_wkt (p, 9,
-        "71],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "],PARAMETER[\"central_meridian\",-160.1666666666667],PAR");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"20089\"]]");
-    p = add_epsg_def (filter, first, last, 20090, "epsg", 20090,
-        "Pulkovo 1995 / Gauss-Kruger 30N (deprecated)");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"6632\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6633, "epsg", 6633,
+        "NAD83(PA11) / Hawaii zone 3 (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_PA11", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0");
+        "999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +units=us-f");
     add_proj4text (p, 2,
-        ".22 +units=m +no_defs");
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 30N (deprecated)\",");
+        "PROJCS[\"NAD83(PA11) / Hawaii zone 3 (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        "AD83(PA11)\",DATUM[\"NAD83_National_Spatial_Reference_Sy");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "stem_PA11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "T],AUTHORITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",21.1666666");
     add_srs_wkt (p, 9,
-        "77],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "6666667],PARAMETER[\"central_meridian\",-158],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "\"scale_factor\",0.99999],PARAMETER[\"false_easting\",16");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "40416.6667],PARAMETER[\"false_northing\",0],UNIT[\"US su");
     add_srs_wkt (p, 12,
-        "\"20090\"]]");
-    p = add_epsg_def (filter, first, last, 20091, "epsg", 20091,
-        "Pulkovo 1995 / Gauss-Kruger 31N (deprecated)");
+        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+    add_srs_wkt (p, 13,
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"6633\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6634, "epsg", 6634,
+        "NAD83(PA11) / UTM zone 4N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_PA11", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0");
-    add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
-    add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "+proj=utm +zone=4 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 31N (deprecated)\",");
+        "PROJCS[\"NAD83(PA11) / UTM zone 4N\",GEOGCS[\"NAD83(PA11");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_PA11");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRIME");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "177],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "tral_meridian\",-159],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",\"20091\"]]");
-    p = add_epsg_def (filter, first, last, 20092, "epsg", 20092,
-        "Pulkovo 1995 / Gauss-Kruger 32N (deprecated)");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"6634\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6635, "epsg", 6635,
+        "NAD83(PA11) / UTM zone 5N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_PA11", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0");
-    add_proj4text (p, 1,
-        " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-");
-    add_proj4text (p, 2,
-        "0.22 +units=m +no_defs");
+        "+proj=utm +zone=5 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 32N (deprecated)\",");
+        "PROJCS[\"NAD83(PA11) / UTM zone 5N\",GEOGCS[\"NAD83(PA11");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_PA11");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRIME");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "RITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "171],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "tral_meridian\",-153],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        ",\"20092\"]]");
-    p = add_epsg_def (filter, first, last, 20135, "epsg", 20135,
-        "Adindan / UTM zone 35N");
+        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"6635\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6636, "epsg", 6636,
+        "NAD83(PA11) / UTM zone 2S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_PA11", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +ellps=clrk80 +towgs84=-166,-15,204,0");
-    add_proj4text (p, 1,
-        ",0,0,0 +units=m +no_defs");
+        "+proj=utm +zone=2 +south +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Adindan / UTM zone 35N\",GEOGCS[\"Adindan\",DAT");
+        "PROJCS[\"NAD83(PA11) / UTM zone 2S\",GEOGCS[\"NAD83(PA11");
     add_srs_wkt (p, 1,
-        "UM[\"Adindan\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.14");
+        ")\",DATUM[\"NAD83_National_Spatial_Reference_System_PA11");
     add_srs_wkt (p, 2,
-        "5,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-166,-15");
+        "\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY");
     add_srs_wkt (p, 3,
-        ",204,0,0,0,0],AUTHORITY[\"EPSG\",\"6201\"]],PRIMEM[\"Gre");
+        "[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1117\"]],PRIME");
     add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4201\"]],PROJECTION[\"Transverse_Mercator");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "RITY[\"EPSG\",\"6322\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        "ral_meridian\",27],PARAMETER[\"scale_factor\",0.9996],PA");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "tral_meridian\",-171],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"20135\"]]");
-    p = add_epsg_def (filter, first, last, 20136, "epsg", 20136,
-        "Adindan / UTM zone 36N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"6636\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6637, "epsg", 6637,
+        "NAD83(MA11) / Guam Map Grid", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_MA11", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +ellps=clrk80 +towgs84=-166,-15,204,0");
+        "+proj=tmerc +lat_0=13.5 +lon_0=144.75 +k=1 +x_0=100000 +");
     add_proj4text (p, 1,
-        ",0,0,0 +units=m +no_defs");
+        "y_0=200000 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Adindan / UTM zone 36N\",GEOGCS[\"Adindan\",DAT");
+        "PROJCS[\"NAD83(MA11) / Guam Map Grid\",GEOGCS[\"NAD83(MA");
     add_srs_wkt (p, 1,
-        "UM[\"Adindan\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.14");
+        "11)\",DATUM[\"NAD83_National_Spatial_Reference_System_MA");
     add_srs_wkt (p, 2,
-        "5,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-166,-15");
+        "11\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        ",204,0,0,0,0],AUTHORITY[\"EPSG\",\"6201\"]],PRIMEM[\"Gre");
+        "TY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1118\"]],PRI");
     add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4201\"]],PROJECTION[\"Transverse_Mercator");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "ORITY[\"EPSG\",\"6325\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "ral_meridian\",33],PARAMETER[\"scale_factor\",0.9996],PA");
+        "or\"],PARAMETER[\"latitude_of_origin\",13.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "central_meridian\",144.75],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        ",PARAMETER[\"false_easting\",100000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "orthing\",200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"20136\"]]");
-    p = add_epsg_def (filter, first, last, 20137, "epsg", 20137,
-        "Adindan / UTM zone 37N");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"6637\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6646, "epsg", 6646,
+        "Karbala 1979 / Iraq National Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Karbala_1979", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +ellps=clrk80 +towgs84=-166,-15,204,0");
+        "+proj=tmerc +lat_0=29.02626833333333 +lon_0=46.5 +k=0.99");
     add_proj4text (p, 1,
-        ",0,0,0 +units=m +no_defs");
+        "94 +x_0=800000 +y_0=0 +ellps=clrk80 +towgs84=70.995,-335");
+    add_proj4text (p, 2,
+        ".916,262.898,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Adindan / UTM zone 37N\",GEOGCS[\"Adindan\",DAT");
+        "PROJCS[\"Karbala 1979 / Iraq National Grid\",GEOGCS[\"Ka");
     add_srs_wkt (p, 1,
-        "UM[\"Adindan\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.14");
+        "rbala 1979\",DATUM[\"Karbala_1979\",SPHEROID[\"Clarke 18");
     add_srs_wkt (p, 2,
-        "5,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-166,-15");
+        "80 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012");
     add_srs_wkt (p, 3,
-        ",204,0,0,0,0],AUTHORITY[\"EPSG\",\"6201\"]],PRIMEM[\"Gre");
+        "\"]],TOWGS84[70.995,-335.916,262.898,0,0,0,0],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "\"EPSG\",\"6743\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4201\"]],PROJECTION[\"Transverse_Mercator");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4743\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "ral_meridian\",39],PARAMETER[\"scale_factor\",0.9996],PA");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "igin\",29.02626833333333],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        ",46.5],PARAMETER[\"scale_factor\",0.9994],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "lse_easting\",800000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"20137\"]]");
-    p = add_epsg_def (filter, first, last, 20138, "epsg", 20138,
-        "Adindan / UTM zone 38N");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 13,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"6646\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6649, "epsg", 6649,
+        "NAD83(CSRS)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +ellps=clrk80 +towgs84=-166,-15,204,0");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunit");
     add_proj4text (p, 1,
-        ",0,0,0 +units=m +no_defs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Adindan / UTM zone 38N\",GEOGCS[\"Adindan\",DAT");
+        "COMPD_CS[\"NAD83(CSRS) + CGVD2013 height\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "UM[\"Adindan\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.14");
+        "3(CSRS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "5,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-166,-15");
+        "m\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORIT");
     add_srs_wkt (p, 3,
-        ",204,0,0,0,0],AUTHORITY[\"EPSG\",\"6201\"]],PRIMEM[\"Gre");
+        "Y[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "EPSG\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4201\"]],PROJECTION[\"Transverse_Mercator");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],VERT_CS[");
     add_srs_wkt (p, 8,
-        "ral_meridian\",45],PARAMETER[\"scale_factor\",0.9996],PA");
+        "\"CGVD2013 height\",VERT_DATUM[\"Canadian Geodetic Verti");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "cal Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],U");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\"");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        ",UP],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"20138\"]]");
-    p = add_epsg_def (filter, first, last, 20248, "epsg", 20248,
-        "AGD66 / AMG zone 48 (deprecated)");
+        "6649\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6650, "epsg", 6650,
+        "NAD83(CSRS) / UTM zone 7N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "nits=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 48 (deprecated)\",GEOGCS[\"AGD");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 7N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "66\",DATUM[\"Australian_Geodetic_Datum_1966\",SPHEROID[\"");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 7N\",GEOGCS[\"NAD83(CSR");
     add_srs_wkt (p, 2,
-        "Australian National Spheroid\",6378160,298.25,AUTHORITY[");
+        "S)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",S");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7003\"]],TOWGS84[-117.808,-51.536,137.784,0.3");
+        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "03,0.446,0.234,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIM");
+        "PSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 7,
-        "],AUTHORITY[\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 8,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 9,
-        "R[\"central_meridian\",105],PARAMETER[\"scale_factor\",0");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 10,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "0],PARAMETER[\"central_meridian\",-141],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"20248\"]]");
-    p = add_epsg_def (filter, first, last, 20249, "epsg", 20249,
-        "AGD66 / AMG zone 49");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3154\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"665");
+    add_srs_wkt (p, 19,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6651, "epsg", 6651,
+        "NAD83(CSRS) / UTM zone 8N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "nits=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 49\",GEOGCS[\"AGD66\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 8N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 8N\",GEOGCS[\"NAD83(CSR");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "S)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",S");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
+        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
+        "PSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 9,
-        "meridian\",111],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "0],PARAMETER[\"central_meridian\",-135],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"20249\"]]");
-    p = add_epsg_def (filter, first, last, 20250, "epsg", 20250,
-        "AGD66 / AMG zone 50");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3155\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"665");
+    add_srs_wkt (p, 19,
+        "1\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6652, "epsg", 6652,
+        "NAD83(CSRS) / UTM zone 9N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "nits=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 50\",GEOGCS[\"AGD66\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 9N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 9N\",GEOGCS[\"NAD83(CSR");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "S)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",S");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
+        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
+        "PSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"");
     add_srs_wkt (p, 9,
-        "meridian\",117],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "0],PARAMETER[\"central_meridian\",-129],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"20250\"]]");
-    p = add_epsg_def (filter, first, last, 20251, "epsg", 20251,
-        "AGD66 / AMG zone 51");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3156\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"665");
+    add_srs_wkt (p, 19,
+        "2\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6653, "epsg", 6653,
+        "NAD83(CSRS) / UTM zone 10N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 51\",GEOGCS[\"AGD66\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 10N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 10N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "meridian\",123],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        ",0],PARAMETER[\"central_meridian\",-123],PARAMETER[\"sca");
     add_srs_wkt (p, 11,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "le_factor\",0.9996],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"20251\"]]");
-    p = add_epsg_def (filter, first, last, 20252, "epsg", 20252,
-        "AGD66 / AMG zone 52");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 14,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"3157\"]],VERT_CS[\"C");
+    add_srs_wkt (p, 15,
+        "GVD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical");
+    add_srs_wkt (p, 16,
+        " Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT");
+    add_srs_wkt (p, 17,
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",U");
+    add_srs_wkt (p, 18,
+        "P],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"66");
+    add_srs_wkt (p, 19,
+        "53\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6654, "epsg", 6654,
+        "NAD83(CSRS) / UTM zone 11N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 52\",GEOGCS[\"AGD66\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 11N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 11N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "meridian\",129],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        ",0],PARAMETER[\"central_meridian\",-117],PARAMETER[\"sca");
     add_srs_wkt (p, 11,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "le_factor\",0.9996],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"20252\"]]");
-    p = add_epsg_def (filter, first, last, 20253, "epsg", 20253,
-        "AGD66 / AMG zone 53");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 14,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"2955\"]],VERT_CS[\"C");
+    add_srs_wkt (p, 15,
+        "GVD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical");
+    add_srs_wkt (p, 16,
+        " Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT");
+    add_srs_wkt (p, 17,
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",U");
+    add_srs_wkt (p, 18,
+        "P],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"66");
+    add_srs_wkt (p, 19,
+        "54\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6655, "epsg", 6655,
+        "NAD83(CSRS) / UTM zone 12N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 53\",GEOGCS[\"AGD66\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 12N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 12N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "meridian\",135],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        ",0],PARAMETER[\"central_meridian\",-111],PARAMETER[\"sca");
     add_srs_wkt (p, 11,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "le_factor\",0.9996],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"20253\"]]");
-    p = add_epsg_def (filter, first, last, 20254, "epsg", 20254,
-        "AGD66 / AMG zone 54");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 14,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"2956\"]],VERT_CS[\"C");
+    add_srs_wkt (p, 15,
+        "GVD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical");
+    add_srs_wkt (p, 16,
+        " Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT");
+    add_srs_wkt (p, 17,
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",U");
+    add_srs_wkt (p, 18,
+        "P],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"66");
+    add_srs_wkt (p, 19,
+        "55\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6656, "epsg", 6656,
+        "NAD83(CSRS) / UTM zone 13N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=54 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 54\",GEOGCS[\"AGD66\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 13N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 13N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "meridian\",141],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        ",0],PARAMETER[\"central_meridian\",-105],PARAMETER[\"sca");
     add_srs_wkt (p, 11,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "le_factor\",0.9996],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"20254\"]]");
-    p = add_epsg_def (filter, first, last, 20255, "epsg", 20255,
-        "AGD66 / AMG zone 55");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+    add_srs_wkt (p, 14,
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"2957\"]],VERT_CS[\"C");
+    add_srs_wkt (p, 15,
+        "GVD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical");
+    add_srs_wkt (p, 16,
+        " Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT");
+    add_srs_wkt (p, 17,
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",U");
+    add_srs_wkt (p, 18,
+        "P],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"66");
+    add_srs_wkt (p, 19,
+        "56\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6657, "epsg", 6657,
+        "NAD83(CSRS) / UTM zone 14N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=55 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 55\",GEOGCS[\"AGD66\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 14N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 14N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "meridian\",147],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        ",0],PARAMETER[\"central_meridian\",-99],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"20255\"]]");
-    p = add_epsg_def (filter, first, last, 20256, "epsg", 20256,
-        "AGD66 / AMG zone 56");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3158\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"665");
+    add_srs_wkt (p, 19,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6658, "epsg", 6658,
+        "NAD83(CSRS) / UTM zone 15N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=56 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 56\",GEOGCS[\"AGD66\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 15N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 15N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "meridian\",153],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        ",0],PARAMETER[\"central_meridian\",-93],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"20256\"]]");
-    p = add_epsg_def (filter, first, last, 20257, "epsg", 20257,
-        "AGD66 / AMG zone 57");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3159\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"665");
+    add_srs_wkt (p, 19,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6659, "epsg", 6659,
+        "NAD83(CSRS) / UTM zone 16N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=57 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 57\",GEOGCS[\"AGD66\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 16N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 16N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "meridian\",159],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        ",0],PARAMETER[\"central_meridian\",-87],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"20257\"]]");
-    p = add_epsg_def (filter, first, last, 20258, "epsg", 20258,
-        "AGD66 / AMG zone 58");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3160\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"665");
+    add_srs_wkt (p, 19,
+        "9\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6660, "epsg", 6660,
+        "NAD83(CSRS) / UTM zone 17N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=58 +south +ellps=aust_SA +towgs84=-117.8");
+        "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD66 / AMG zone 58\",GEOGCS[\"AGD66\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 17N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 17N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "meridian\",165],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        ",0],PARAMETER[\"central_meridian\",-81],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"20258\"]]");
-    p = add_epsg_def (filter, first, last, 20348, "epsg", 20348,
-        "AGD84 / AMG zone 48 (deprecated)");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2958\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"666");
+    add_srs_wkt (p, 19,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6661, "epsg", 6661,
+        "NAD83(CSRS) / UTM zone 18N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +south +ellps=aust_SA +towgs84=-134,-");
+        "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 48 (deprecated)\",GEOGCS[\"AGD");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 18N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "84\",DATUM[\"Australian_Geodetic_Datum_1984\",SPHEROID[\"");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 18N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "Australian National Spheroid\",6378160,298.25,AUTHORITY[");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHOR");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",10000000],UNI");
+        ",0],PARAMETER[\"central_meridian\",-75],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        "20348\"]]");
-    p = add_epsg_def (filter, first, last, 20349, "epsg", 20349,
-        "AGD84 / AMG zone 49");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2959\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"666");
+    add_srs_wkt (p, 19,
+        "1\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6662, "epsg", 6662,
+        "NAD83(CSRS) / UTM zone 19N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +south +ellps=aust_SA +towgs84=-134,-");
+        "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 49\",GEOGCS[\"AGD84\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 19N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 19N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTI");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",111],PARAMETER[\"");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        ",0],PARAMETER[\"central_meridian\",-69],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"20349\"]]");
-    p = add_epsg_def (filter, first, last, 20350, "epsg", 20350,
-        "AGD84 / AMG zone 50");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2960\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"666");
+    add_srs_wkt (p, 19,
+        "2\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6663, "epsg", 6663,
+        "NAD83(CSRS) / UTM zone 20N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +south +ellps=aust_SA +towgs84=-134,-");
+        "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 50\",GEOGCS[\"AGD84\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 20N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 20N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTI");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",117],PARAMETER[\"");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        ",0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"20350\"]]");
-    p = add_epsg_def (filter, first, last, 20351, "epsg", 20351,
-        "AGD84 / AMG zone 51");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2961\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"666");
+    add_srs_wkt (p, 19,
+        "3\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6664, "epsg", 6664,
+        "NAD83(CSRS) / UTM zone 21N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +south +ellps=aust_SA +towgs84=-134,-");
+        "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 51\",GEOGCS[\"AGD84\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 21N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 21N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTI");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",123],PARAMETER[\"");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        ",0],PARAMETER[\"central_meridian\",-57],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"20351\"]]");
-    p = add_epsg_def (filter, first, last, 20352, "epsg", 20352,
-        "AGD84 / AMG zone 52");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"2962\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"666");
+    add_srs_wkt (p, 19,
+        "4\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6665, "epsg", 6665,
+        "NAD83(CSRS) / UTM zone 22N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +south +ellps=aust_SA +towgs84=-134,-");
+        "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 52\",GEOGCS[\"AGD84\",DATUM[\"");
+        "COMPD_CS[\"NAD83(CSRS) / UTM zone 22N + CGVD2013 height\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
+        ",PROJCS[\"NAD83(CSRS) / UTM zone 22N\",GEOGCS[\"NAD83(CS");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "RS)\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "G\",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTI");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",129],PARAMETER[\"");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        ",0],PARAMETER[\"central_meridian\",-51],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"20352\"]]");
-    p = add_epsg_def (filter, first, last, 20353, "epsg", 20353,
-        "AGD84 / AMG zone 53");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+    add_srs_wkt (p, 14,
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"3761\"]],VERT_CS[\"CG");
+    add_srs_wkt (p, 15,
+        "VD2013 height\",VERT_DATUM[\"Canadian Geodetic Vertical ");
+    add_srs_wkt (p, 16,
+        "Datum of 2013\",2005,AUTHORITY[\"EPSG\",\"1127\"]],UNIT[");
+    add_srs_wkt (p, 17,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"6647\"]],AUTHORITY[\"EPSG\",\"666");
+    add_srs_wkt (p, 19,
+        "5\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6668, "epsg", 6668,
+        "JGD2011", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +south +ellps=aust_SA +towgs84=-134,-");
-    add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        "+proj=longlat +ellps=GRS80 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 53\",GEOGCS[\"AGD84\",DATUM[\"");
+        "GEOGCS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\"");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 4,
-        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTI");
-    add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
-    add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",135],PARAMETER[\"");
-    add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
-    add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
-    add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
-    add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"20353\"]]");
-    p = add_epsg_def (filter, first, last, 20354, "epsg", 20354,
-        "AGD84 / AMG zone 54");
+        "[\"EPSG\",\"6668\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6669, "epsg", 6669,
+        "JGD2011 / Japan Plane Rectangular CS I", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=54 +south +ellps=aust_SA +towgs84=-134,-");
+        "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 54\",GEOGCS[\"AGD84\",DATUM[\"");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS I\",GEOGCS");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
+        "[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPHE");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gre");
     add_srs_wkt (p, 4,
-        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTI");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "PSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",141],PARAMETER[\"");
+        "AMETER[\"latitude_of_origin\",33],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "ridian\",129.5],PARAMETER[\"scale_factor\",0.9999],PARAM");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "ETER[\"false_easting\",0],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"20354\"]]");
-    p = add_epsg_def (filter, first, last, 20355, "epsg", 20355,
-        "AGD84 / AMG zone 55");
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6669\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6670, "epsg", 6670,
+        "JGD2011 / Japan Plane Rectangular CS II", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=55 +south +ellps=aust_SA +towgs84=-134,-");
+        "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        " +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 55\",GEOGCS[\"AGD84\",DATUM[\"");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS II\",GEOGC");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
+        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTI");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "PSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",147],PARAMETER[\"");
+        "AMETER[\"latitude_of_origin\",33],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "ridian\",131],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"20355\"]]");
-    p = add_epsg_def (filter, first, last, 20356, "epsg", 20356,
-        "AGD84 / AMG zone 56");
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6670\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6671, "epsg", 6671,
+        "JGD2011 / Japan Plane Rectangular CS III", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=56 +south +ellps=aust_SA +towgs84=-134,-");
+        "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999");
     add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        " +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 56\",GEOGCS[\"AGD84\",DATUM[\"");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS III\",GEOG");
     add_srs_wkt (p, 1,
-        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
+        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
     add_srs_wkt (p, 2,
-        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTI");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",153],PARAMETER[\"");
+        "PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "_meridian\",132.1666666666667],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
+        ",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"20356\"]]");
-    p = add_epsg_def (filter, first, last, 20357, "epsg", 20357,
-        "AGD84 / AMG zone 57 (deprecated)");
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"6671\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6672, "epsg", 6672,
+        "JGD2011 / Japan Plane Rectangular CS IV", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=57 +south +ellps=aust_SA +towgs84=-134,-");
+        "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 57 (deprecated)\",GEOGCS[\"AGD");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS IV\",GEOGC");
     add_srs_wkt (p, 1,
-        "84\",DATUM[\"Australian_Geodetic_Datum_1984\",SPHEROID[\"");
+        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
     add_srs_wkt (p, 2,
-        "Australian National Spheroid\",6378160,298.25,AUTHORITY[");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHOR");
+        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "PSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",159],P");
+        "AMETER[\"latitude_of_origin\",33],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
+        "ridian\",133.5],PARAMETER[\"scale_factor\",0.9999],PARAM");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",10000000],UNI");
+        "ETER[\"false_easting\",0],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6672\"]");
     add_srs_wkt (p, 13,
-        "20357\"]]");
-    p = add_epsg_def (filter, first, last, 20358, "epsg", 20358,
-        "AGD84 / AMG zone 58 (deprecated)");
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6673, "epsg", 6673,
+        "JGD2011 / Japan Plane Rectangular CS V", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=58 +south +ellps=aust_SA +towgs84=-134,-");
+        "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999");
     add_proj4text (p, 1,
-        "48,149,0,0,0,0 +units=m +no_defs");
+        " +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"AGD84 / AMG zone 58 (deprecated)\",GEOGCS[\"AGD");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS V\",GEOGCS");
     add_srs_wkt (p, 1,
-        "84\",DATUM[\"Australian_Geodetic_Datum_1984\",SPHEROID[\"");
+        "[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPHE");
     add_srs_wkt (p, 2,
-        "Australian National Spheroid\",6378160,298.25,AUTHORITY[");
+        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHOR");
+        "\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gre");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4203\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "PSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",0],PARAMETER[\"central_meridian\",165],P");
+        "AMETER[\"latitude_of_origin\",36],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
+        "ridian\",134.3333333333333],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",10000000],UNI");
+        ".9999],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 13,
-        "20358\"]]");
-    p = add_epsg_def (filter, first, last, 20436, "epsg", 20436,
-        "Ain el Abd / UTM zone 36N");
+        "\",\"6673\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6674, "epsg", 6674,
+        "JGD2011 / Japan Plane Rectangular CS VI", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +ellps=intl +towgs84=-143,-236,7,0,0,");
+        "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "0,0 +units=m +no_defs");
+        " +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Ain el Abd / UTM zone 36N\",GEOGCS[\"Ain el Abd");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS VI\",GEOGC");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
+        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
     add_srs_wkt (p, 2,
-        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
+        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Me");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "PSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",33],PARAMETER[\"scale_factor\",0.99");
+        "AMETER[\"latitude_of_origin\",36],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "ridian\",136],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"20436\"]]");
-    p = add_epsg_def (filter, first, last, 20437, "epsg", 20437,
-        "Ain el Abd / UTM zone 37N");
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6674\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6675, "epsg", 6675,
+        "JGD2011 / Japan Plane Rectangular CS VII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +ellps=intl +towgs84=-143,-236,7,0,0,");
+        "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999");
     add_proj4text (p, 1,
-        "0,0 +units=m +no_defs");
+        " +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Ain el Abd / UTM zone 37N\",GEOGCS[\"Ain el Abd");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS VII\",GEOG");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
+        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
     add_srs_wkt (p, 2,
-        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
+        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Me");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",39],PARAMETER[\"scale_factor\",0.99");
+        "PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "_meridian\",137.1666666666667],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        ",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"20437\"]]");
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"6675\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_33.c b/src/srsinit/epsg_inlined_33.c
index 320ccf8..5c32e64 100644
--- a/src/srsinit/epsg_inlined_33.c
+++ b/src/srsinit/epsg_inlined_33.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3278 +54,3995 @@ initialize_epsg_33 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 20438, "epsg", 20438,
-        "Ain el Abd / UTM zone 38N");
+    p = add_epsg_def_ex (filter, first, last, 6676, "epsg", 6676,
+        "JGD2011 / Japan Plane Rectangular CS VIII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +ellps=intl +towgs84=-143,-236,7,0,0,");
+        "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
-        "0,0 +units=m +no_defs");
+        "=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Ain el Abd / UTM zone 38N\",GEOGCS[\"Ain el Abd");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS VIII\",GEO");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
+        "GCS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",S");
     add_srs_wkt (p, 2,
-        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
+        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
     add_srs_wkt (p, 3,
-        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
+        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Me");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",45],PARAMETER[\"scale_factor\",0.99");
+        ",PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "l_meridian\",138.5],PARAMETER[\"scale_factor\",0.9999],P");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "ARAMETER[\"false_easting\",0],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"20438\"]]");
-    p = add_epsg_def (filter, first, last, 20439, "epsg", 20439,
-        "Ain el Abd / UTM zone 39N");
+        "S[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"667");
+    add_srs_wkt (p, 13,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6677, "epsg", 6677,
+        "JGD2011 / Japan Plane Rectangular CS IX", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +ellps=intl +towgs84=-143,-236,7,0,0,");
+        "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999");
     add_proj4text (p, 1,
-        "0,0 +units=m +no_defs");
+        " +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Ain el Abd / UTM zone 39N\",GEOGCS[\"Ain el Abd");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS IX\",GEOGC");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
+        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
     add_srs_wkt (p, 2,
-        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
+        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Me");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "PSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",51],PARAMETER[\"scale_factor\",0.99");
+        "AMETER[\"latitude_of_origin\",36],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "ridian\",139.8333333333333],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        ".9999],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"20439\"]]");
-    p = add_epsg_def (filter, first, last, 20440, "epsg", 20440,
-        "Ain el Abd / UTM zone 40N");
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"6677\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6678, "epsg", 6678,
+        "JGD2011 / Japan Plane Rectangular CS X", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=40 +ellps=intl +towgs84=-143,-236,7,0,0,");
+        "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999");
     add_proj4text (p, 1,
-        "0,0 +units=m +no_defs");
+        " +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Ain el Abd / UTM zone 40N\",GEOGCS[\"Ain el Abd");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS X\",GEOGCS");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
+        "[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPHE");
     add_srs_wkt (p, 2,
-        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
+        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
+        "\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gre");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Me");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "PSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",57],PARAMETER[\"scale_factor\",0.99");
+        "AMETER[\"latitude_of_origin\",40],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "ridian\",140.8333333333333],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        ".9999],PARAMETER[\"false_easting\",0],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"20440\"]]");
-    p = add_epsg_def (filter, first, last, 20499, "epsg", 20499,
-        "Ain el Abd / Bahrain Grid");
+        "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"6678\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6679, "epsg", 6679,
+        "JGD2011 / Japan Plane Rectangular CS XI", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +ellps=intl +towgs84=-143,-236,7,0,0,");
+        "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_");
     add_proj4text (p, 1,
-        "0,0 +units=m +no_defs");
+        "0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Ain el Abd / Bahrain Grid\",GEOGCS[\"Ain el Abd");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XI\",GEOGC");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
+        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
     add_srs_wkt (p, 2,
-        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
+        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Me");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
+        "PSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",51],PARAMETER[\"scale_factor\",0.99");
+        "AMETER[\"latitude_of_origin\",44],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "ridian\",140.25],PARAMETER[\"scale_factor\",0.9999],PARA");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "METER[\"false_easting\",0],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"20499\"]]");
-    p = add_epsg_def (filter, first, last, 20538, "epsg", 20538,
-        "Afgooye / UTM zone 38N");
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6679\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6680, "epsg", 6680,
+        "JGD2011 / Japan Plane Rectangular CS XII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +ellps=krass +towgs84=-43,-163,45,0,0");
+        "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Afgooye / UTM zone 38N\",GEOGCS[\"Afgooye\",DAT");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XII\",GEOG");
     add_srs_wkt (p, 1,
-        "UM[\"Afgooye\",SPHEROID[\"Krassowsky 1940\",6378245,298.");
+        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
     add_srs_wkt (p, 2,
-        "3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[-43,-163,45,0,0,");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "0,0],AUTHORITY[\"EPSG\",\"6205\"]],PRIMEM[\"Greenwich\",");
+        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "G\",\"4205\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ian\",45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "PARAMETER[\"latitude_of_origin\",44],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "_meridian\",142.25],PARAMETER[\"scale_factor\",0.9999],P");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "ARAMETER[\"false_easting\",0],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        ",\"20538\"]]");
-    p = add_epsg_def (filter, first, last, 20539, "epsg", 20539,
-        "Afgooye / UTM zone 39N");
+        "S[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"668");
+    add_srs_wkt (p, 13,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6681, "epsg", 6681,
+        "JGD2011 / Japan Plane Rectangular CS XIII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +ellps=krass +towgs84=-43,-163,45,0,0");
+        "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Afgooye / UTM zone 39N\",GEOGCS[\"Afgooye\",DAT");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XIII\",GEO");
     add_srs_wkt (p, 1,
-        "UM[\"Afgooye\",SPHEROID[\"Krassowsky 1940\",6378245,298.");
+        "GCS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",S");
     add_srs_wkt (p, 2,
-        "3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[-43,-163,45,0,0,");
+        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
     add_srs_wkt (p, 3,
-        "0,0],AUTHORITY[\"EPSG\",\"6205\"]],PRIMEM[\"Greenwich\",");
+        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "G\",\"4205\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "ian\",51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        ",PARAMETER[\"latitude_of_origin\",44],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "l_meridian\",144.25],PARAMETER[\"scale_factor\",0.9999],");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        ",\"20539\"]]");
-    p = add_epsg_def (filter, first, last, 20790, "epsg", 20790,
-        "Lisbon (Lisbon) / Portuguese National Grid");
+        "IS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"66");
+    add_srs_wkt (p, 13,
+        "81\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6682, "epsg", 6682,
+        "JGD2011 / Japan Plane Rectangular CS XIV", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "200000 +y_0=300000 +ellps=intl +towgs84=-304.046,-60.576");
-    add_proj4text (p, 2,
-        ",103.64,0,0,0,0 +pm=lisbon +units=m +no_defs");
+        " +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Lisbon (Lisbon) / Portuguese National Grid\",GE");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XIV\",GEOG");
     add_srs_wkt (p, 1,
-        "OGCS[\"Lisbon (Lisbon)\",DATUM[\"Lisbon_1937_Lisbon\",SP");
+        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
     add_srs_wkt (p, 2,
-        "HEROID[\"International 1924\",6378388,297,AUTHORITY[\"EP");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "SG\",\"7022\"]],TOWGS84[-304.046,-60.576,103.64,0,0,0,0]");
+        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6803\"]],PRIMEM[\"Lisbon\",-9.1319");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "06111111112,AUTHORITY[\"EPSG\",\"8902\"]],UNIT[\"degree\"");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4803\"]],PROJECTION[\"Transverse_Mercator");
+        "\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",39.66666666666666],");
+        "PARAMETER[\"latitude_of_origin\",26],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"central_meridian\",1],PARAMETER[\"scale_fact");
+        "_meridian\",142],PARAMETER[\"scale_factor\",0.9999],PARA");
     add_srs_wkt (p, 10,
-        "or\",1],PARAMETER[\"false_easting\",200000],PARAMETER[\"");
+        "METER[\"false_easting\",0],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "false_northing\",300000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6682\"]");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"20790\"]]");
-    p = add_epsg_def (filter, first, last, 20791, "epsg", 20791,
-        "Lisbon (Lisbon) / Portuguese Grid");
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6683, "epsg", 6683,
+        "JGD2011 / Japan Plane Rectangular CS XV", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
-        "0 +y_0=0 +ellps=intl +towgs84=-304.046,-60.576,103.64,0,");
-    add_proj4text (p, 2,
-        "0,0,0 +pm=lisbon +units=m +no_defs");
+        "=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Lisbon (Lisbon) / Portuguese Grid\",GEOGCS[\"Li");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XV\",GEOGC");
     add_srs_wkt (p, 1,
-        "sbon (Lisbon)\",DATUM[\"Lisbon_1937_Lisbon\",SPHEROID[\"");
+        "S[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPH");
     add_srs_wkt (p, 2,
-        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "22\"]],TOWGS84[-304.046,-60.576,103.64,0,0,0,0],AUTHORIT");
+        "G\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "Y[\"EPSG\",\"6803\"]],PRIMEM[\"Lisbon\",-9.1319061111111");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "12,AUTHORITY[\"EPSG\",\"8902\"]],UNIT[\"degree\",0.01745");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "SG\",\"4803\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "PSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",39.66666666666666],PARAMETE");
+        "AMETER[\"latitude_of_origin\",26],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "R[\"central_meridian\",1],PARAMETER[\"scale_factor\",1],");
+        "ridian\",127.5],PARAMETER[\"scale_factor\",0.9999],PARAM");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
+        "ETER[\"false_easting\",0],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"20");
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6683\"]");
     add_srs_wkt (p, 13,
-        "791\"]]");
-    p = add_epsg_def (filter, first, last, 20822, "epsg", 20822,
-        "Aratu / UTM zone 22S");
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6684, "epsg", 6684,
+        "JGD2011 / Japan Plane Rectangular CS XVI", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=intl +towgs84=-151.99,2");
+        "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "87.04,-147.45,0,0,0,0 +units=m +no_defs");
+        " +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Aratu / UTM zone 22S\",GEOGCS[\"Aratu\",DATUM[\"");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XVI\",GEOG");
     add_srs_wkt (p, 1,
-        "Aratu\",SPHEROID[\"International 1924\",6378388,297,AUTH");
+        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
     add_srs_wkt (p, 2,
-        "ORITY[\"EPSG\",\"7022\"]],TOWGS84[-151.99,287.04,-147.45");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6208\"]],PRIMEM[\"Greenwi");
+        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4208\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "meridian\",-51],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "PARAMETER[\"latitude_of_origin\",26],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "_meridian\",124],PARAMETER[\"scale_factor\",0.9999],PARA");
     add_srs_wkt (p, 10,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "METER[\"false_easting\",0],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"20822\"]]");
-    p = add_epsg_def (filter, first, last, 20823, "epsg", 20823,
-        "Aratu / UTM zone 23S");
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6684\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6685, "epsg", 6685,
+        "JGD2011 / Japan Plane Rectangular CS XVII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +south +ellps=intl +towgs84=-151.99,2");
+        "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "87.04,-147.45,0,0,0,0 +units=m +no_defs");
+        " +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Aratu / UTM zone 23S\",GEOGCS[\"Aratu\",DATUM[\"");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XVII\",GEO");
     add_srs_wkt (p, 1,
-        "Aratu\",SPHEROID[\"International 1924\",6378388,297,AUTH");
+        "GCS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",S");
     add_srs_wkt (p, 2,
-        "ORITY[\"EPSG\",\"7022\"]],TOWGS84[-151.99,287.04,-147.45");
+        "PHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"E");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6208\"]],PRIMEM[\"Greenwi");
+        "PSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4208\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "meridian\",-45],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        ",PARAMETER[\"latitude_of_origin\",26],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "l_meridian\",131],PARAMETER[\"scale_factor\",0.9999],PAR");
     add_srs_wkt (p, 10,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"20823\"]]");
-    p = add_epsg_def (filter, first, last, 20824, "epsg", 20824,
-        "Aratu / UTM zone 24S");
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6685\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 6686, "epsg", 6686,
+        "JGD2011 / Japan Plane Rectangular CS XVIII", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +south +ellps=intl +towgs84=-151.99,2");
+        "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "87.04,-147.45,0,0,0,0 +units=m +no_defs");
+        " +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Aratu / UTM zone 24S\",GEOGCS[\"Aratu\",DATUM[\"");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XVIII\",GE");
     add_srs_wkt (p, 1,
-        "Aratu\",SPHEROID[\"International 1924\",6378388,297,AUTH");
+        "OGCS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",");
     add_srs_wkt (p, 2,
-        "ORITY[\"EPSG\",\"7022\"]],TOWGS84[-151.99,287.04,-147.45");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6208\"]],PRIMEM[\"Greenwi");
+        "EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4208\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "[\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "meridian\",-39],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        ",PARAMETER[\"latitude_of_origin\",20],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "l_meridian\",136],PARAMETER[\"scale_factor\",0.9999],PAR");
     add_srs_wkt (p, 10,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"20824\"]]");
-    p = add_epsg_def (filter, first, last, 20934, "epsg", 20934,
-        "Arc 1950 / UTM zone 34S");
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6686\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 6687, "epsg", 6687,
+        "JGD2011 / Japan Plane Rectangular CS XIX", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.9663");
+        "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "98753 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs");
+        " +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Arc 1950 / UTM zone 34S\",GEOGCS[\"Arc 1950\",D");
+        "PROJCS[\"JGD2011 / Japan Plane Rectangular CS XIX\",GEOG");
     add_srs_wkt (p, 1,
-        "ATUM[\"Arc_1950\",SPHEROID[\"Clarke 1880 (Arc)\",6378249");
+        "CS[\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SP");
     add_srs_wkt (p, 2,
-        ".145,293.4663077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[-");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "143,-90,-294,0,0,0,0],AUTHORITY[\"EPSG\",\"6209\"]],PRIM");
+        "SG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4209\"]],PROJECTION[\"Transverse_");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "\"EPSG\",\"6668\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",21],PARAMETER[\"scale_factor\",0.");
+        "PARAMETER[\"latitude_of_origin\",26],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "_meridian\",154],PARAMETER[\"scale_factor\",0.9999],PARA");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "METER[\"false_easting\",0],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"20934\"]]");
-    p = add_epsg_def (filter, first, last, 20935, "epsg", 20935,
-        "Arc 1950 / UTM zone 35S");
+        "X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"6687\"]");
+    add_srs_wkt (p, 13,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6688, "epsg", 6688,
+        "JGD2011 / UTM zone 51N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.9663");
-    add_proj4text (p, 1,
-        "98753 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs");
+        "+proj=utm +zone=51 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Arc 1950 / UTM zone 35S\",GEOGCS[\"Arc 1950\",D");
+        "PROJCS[\"JGD2011 / UTM zone 51N\",GEOGCS[\"JGD2011\",DAT");
     add_srs_wkt (p, 1,
-        "ATUM[\"Arc_1950\",SPHEROID[\"Clarke 1880 (Arc)\",6378249");
+        "UM[\"Japanese_Geodetic_Datum_2011\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        ".145,293.4663077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[-");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
     add_srs_wkt (p, 3,
-        "143,-90,-294,0,0,0,0],AUTHORITY[\"EPSG\",\"6209\"]],PRIM");
+        "HORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4209\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"6668\"]]");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",27],PARAMETER[\"scale_factor\",0.");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",123],PAR");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"20935\"]]");
-    p = add_epsg_def (filter, first, last, 20936, "epsg", 20936,
-        "Arc 1950 / UTM zone 36S");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6688\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6689, "epsg", 6689,
+        "JGD2011 / UTM zone 52N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.9663");
-    add_proj4text (p, 1,
-        "98753 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs");
+        "+proj=utm +zone=52 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Arc 1950 / UTM zone 36S\",GEOGCS[\"Arc 1950\",D");
+        "PROJCS[\"JGD2011 / UTM zone 52N\",GEOGCS[\"JGD2011\",DAT");
     add_srs_wkt (p, 1,
-        "ATUM[\"Arc_1950\",SPHEROID[\"Clarke 1880 (Arc)\",6378249");
+        "UM[\"Japanese_Geodetic_Datum_2011\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        ".145,293.4663077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[-");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
     add_srs_wkt (p, 3,
-        "143,-90,-294,0,0,0,0],AUTHORITY[\"EPSG\",\"6209\"]],PRIM");
+        "HORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4209\"]],PROJECTION[\"Transverse_");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"6668\"]]");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",33],PARAMETER[\"scale_factor\",0.");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",129],PAR");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"20936\"]]");
-    p = add_epsg_def (filter, first, last, 21035, "epsg", 21035,
-        "Arc 1960 / UTM zone 35S");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6689\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6690, "epsg", 6690,
+        "JGD2011 / UTM zone 53N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +south +ellps=clrk80 +towgs84=-160,-6");
-    add_proj4text (p, 1,
-        ",-302,0,0,0,0 +units=m +no_defs");
+        "+proj=utm +zone=53 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Arc 1960 / UTM zone 35S\",GEOGCS[\"Arc 1960\",D");
+        "PROJCS[\"JGD2011 / UTM zone 53N\",GEOGCS[\"JGD2011\",DAT");
     add_srs_wkt (p, 1,
-        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
+        "UM[\"Japanese_Geodetic_Datum_2011\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
     add_srs_wkt (p, 3,
-        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
+        "HORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Merca");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"6668\"]]");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "entral_meridian\",27],PARAMETER[\"scale_factor\",0.9996]");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",135],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"21035\"]]");
-    p = add_epsg_def (filter, first, last, 21036, "epsg", 21036,
-        "Arc 1960 / UTM zone 36S");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6690\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6691, "epsg", 6691,
+        "JGD2011 / UTM zone 54N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +south +ellps=clrk80 +towgs84=-160,-6");
-    add_proj4text (p, 1,
-        ",-302,0,0,0,0 +units=m +no_defs");
+        "+proj=utm +zone=54 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Arc 1960 / UTM zone 36S\",GEOGCS[\"Arc 1960\",D");
+        "PROJCS[\"JGD2011 / UTM zone 54N\",GEOGCS[\"JGD2011\",DAT");
     add_srs_wkt (p, 1,
-        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
+        "UM[\"Japanese_Geodetic_Datum_2011\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
     add_srs_wkt (p, 3,
-        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
+        "HORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Merca");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"6668\"]]");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "entral_meridian\",33],PARAMETER[\"scale_factor\",0.9996]");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",141],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"21036\"]]");
-    p = add_epsg_def (filter, first, last, 21037, "epsg", 21037,
-        "Arc 1960 / UTM zone 37S");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6691\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6692, "epsg", 6692,
+        "JGD2011 / UTM zone 55N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +south +ellps=clrk80 +towgs84=-160,-6");
-    add_proj4text (p, 1,
-        ",-302,0,0,0,0 +units=m +no_defs");
+        "+proj=utm +zone=55 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Arc 1960 / UTM zone 37S\",GEOGCS[\"Arc 1960\",D");
+        "PROJCS[\"JGD2011 / UTM zone 55N\",GEOGCS[\"JGD2011\",DAT");
     add_srs_wkt (p, 1,
-        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
+        "UM[\"Japanese_Geodetic_Datum_2011\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUT");
     add_srs_wkt (p, 3,
-        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
+        "HORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Merca");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"6668\"]]");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 8,
-        "entral_meridian\",39],PARAMETER[\"scale_factor\",0.9996]");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",147],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "AMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 10,
-        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"21037\"]]");
-    p = add_epsg_def (filter, first, last, 21095, "epsg", 21095,
-        "Arc 1960 / UTM zone 35N");
+        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"6692\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6696, "epsg", 6696,
+        "JGD2000", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2000", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +ellps=clrk80 +towgs84=-160,-6,-302,0");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunit");
     add_proj4text (p, 1,
-        ",0,0,0 +units=m +no_defs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Arc 1960 / UTM zone 35N\",GEOGCS[\"Arc 1960\",D");
+        "COMPD_CS[\"JGD2000 + JGD2000 (vertical) height\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
+        "\"JGD2000\",DATUM[\"Japanese_Geodetic_Datum_2000\",SPHER");
     add_srs_wkt (p, 2,
-        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
+        "OID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
+        ",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "6612\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Merca");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4612\"]],VERT_CS[\"JGD2000");
     add_srs_wkt (p, 8,
-        "entral_meridian\",27],PARAMETER[\"scale_factor\",0.9996]");
+        " (vertical) height\",VERT_DATUM[\"Japanese Geodetic Datu");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "m 2000 (vertical)\",2005,AUTHORITY[\"EPSG\",\"1130\"]],U");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\"");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        ",UP],AUTHORITY[\"EPSG\",\"6694\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"21095\"]]");
-    p = add_epsg_def (filter, first, last, 21096, "epsg", 21096,
-        "Arc 1960 / UTM zone 36N");
+        "6696\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6697, "epsg", 6697,
+        "JGD2011", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Japanese_Geodetic_Datum_2011", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +ellps=clrk80 +towgs84=-160,-6,-302,0");
-    add_proj4text (p, 1,
-        ",0,0,0 +units=m +no_defs");
+        "+proj=longlat +ellps=GRS80 +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Arc 1960 / UTM zone 36N\",GEOGCS[\"Arc 1960\",D");
+        "COMPD_CS[\"JGD2011 + JGD2011 (vertical) height\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
+        "\"JGD2011\",DATUM[\"Japanese_Geodetic_Datum_2011\",SPHER");
     add_srs_wkt (p, 2,
-        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
+        "OID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
+        ",\"7019\"]],AUTHORITY[\"EPSG\",\"1128\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Merca");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "SG\",\"6668\"]],VERT_CS[\"JGD2011 (vertical) height\",VE");
     add_srs_wkt (p, 8,
-        "entral_meridian\",33],PARAMETER[\"scale_factor\",0.9996]");
+        "RT_DATUM[\"Japanese Geodetic Datum 2011 (vertical)\",200");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "5,AUTHORITY[\"EPSG\",\"1131\"]],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
-    add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"21096\"]]");
-    p = add_epsg_def (filter, first, last, 21097, "epsg", 21097,
-        "Arc 1960 / UTM zone 37N");
+        ",\"6695\"]],AUTHORITY[\"EPSG\",\"6697\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6700, "epsg", 6700,
+        "Tokyo", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +ellps=clrk80 +towgs84=-160,-6,-302,0");
+        "+proj=longlat +ellps=bessel +towgs84=-146.414,507.337,68");
     add_proj4text (p, 1,
-        ",0,0,0 +units=m +no_defs");
+        "0.507,0,0,0,0 +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Arc 1960 / UTM zone 37N\",GEOGCS[\"Arc 1960\",D");
+        "COMPD_CS[\"Tokyo + JSLD72 height\",GEOGCS[\"Tokyo\",DATU");
     add_srs_wkt (p, 1,
-        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
+        "M[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377397.155,299.152");
     add_srs_wkt (p, 2,
-        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
+        "8128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-146.414,507.");
     add_srs_wkt (p, 3,
-        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
+        "337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"6301\"]],PRIME");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Merca");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "RITY[\"EPSG\",\"4301\"]],VERT_CS[\"JSLD72 height\",VERT_");
     add_srs_wkt (p, 8,
-        "entral_meridian\",39],PARAMETER[\"scale_factor\",0.9996]");
+        "DATUM[\"Japanese Standard Levelling Datum 1972\",2005,AU");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "THORITY[\"EPSG\",\"1129\"]],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
-    add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"21097\"]]");
-    p = add_epsg_def (filter, first, last, 21100, "epsg", 21100,
-        "Batavia (Jakarta) / NEIEZ (deprecated)");
+        "693\"]],AUTHORITY[\"EPSG\",\"6700\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6703, "epsg", 6703,
+        "WGS 84 / TM 60 SW", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 ");
+        "+proj=tmerc +lat_0=0 +lon_0=-60 +k=0.9996 +x_0=500000 +y");
     add_proj4text (p, 1,
-        "+ellps=bessel +towgs84=-377,681,-50,0,0,0,0 +pm=jakarta ");
-    add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "_0=10000000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Batavia (Jakarta) / NEIEZ (deprecated)\",GEOGCS");
+        "PROJCS[\"WGS 84 / TM 60 SW\",GEOGCS[\"WGS 84\",DATUM[\"W");
     add_srs_wkt (p, 1,
-        "[\"Batavia (Jakarta)\",DATUM[\"Batavia_Jakarta\",SPHEROI");
+        "GS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTH");
     add_srs_wkt (p, 2,
-        "D[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EP");
+        "ORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],");
     add_srs_wkt (p, 3,
-        "SG\",\"7004\"]],TOWGS84[-377,681,-50,0,0,0,0],AUTHORITY[");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6813\"]],PRIMEM[\"Jakarta\",106.8077194444444");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8908\"]],UNIT[\"degree\",0.0174532");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 7,
-        "\",\"4813\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER[\"c");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 8,
-        "entral_meridian\",110],PARAMETER[\"scale_factor\",0.997]");
+        "\"central_meridian\",-60],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",3900000],PARAMETER[\"false_");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 10,
-        "northing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
     add_srs_wkt (p, 12,
-        "EPSG\",\"21100\"]]");
-    p = add_epsg_def (filter, first, last, 21148, "epsg", 21148,
-        "Batavia / UTM zone 48S");
+        "NORTH],AUTHORITY[\"EPSG\",\"6703\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6706, "epsg", 6706,
+        "RDN2008", 1, 1,
+        "GRS 1980", "Greenwich",
+        "Rete_Dinamica_Nazionale_2008", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +south +ellps=bessel +towgs84=-377,68");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_de");
     add_proj4text (p, 1,
-        "1,-50,0,0,0,0 +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Batavia / UTM zone 48S\",GEOGCS[\"Batavia\",DAT");
+        "GEOGCS[\"RDN2008\",DATUM[\"Rete_Dinamica_Nazionale_2008\"");
     add_srs_wkt (p, 1,
-        "UM[\"Batavia\",SPHEROID[\"Bessel 1841\",6377397.155,299.");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 2,
-        "1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-377,681,-");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "50,0,0,0,0],AUTHORITY[\"EPSG\",\"6211\"]],PRIMEM[\"Green");
+        "G\",\"1132\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4211\"]],PROJECTION[\"Transverse_Mercator\"");
-    add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
-    add_srs_wkt (p, 8,
-        "l_meridian\",105],PARAMETER[\"scale_factor\",0.9996],PAR");
-    add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
-    add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
-    add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
-    add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"21148\"]]");
-    p = add_epsg_def (filter, first, last, 21149, "epsg", 21149,
-        "Batavia / UTM zone 49S");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"6706\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6707, "epsg", 6707,
+        "RDN2008 / TM32", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Rete_Dinamica_Nazionale_2008", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +south +ellps=bessel +towgs84=-377,68");
+        "+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "1,-50,0,0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Batavia / UTM zone 49S\",GEOGCS[\"Batavia\",DAT");
+        "PROJCS[\"RDN2008 / TM32\",GEOGCS[\"RDN2008\",DATUM[\"Ret");
     add_srs_wkt (p, 1,
-        "UM[\"Batavia\",SPHEROID[\"Bessel 1841\",6377397.155,299.");
+        "e_Dinamica_Nazionale_2008\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-377,681,-");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "50,0,0,0,0],AUTHORITY[\"EPSG\",\"6211\"]],PRIMEM[\"Green");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1132\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4211\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"6706\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",111],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "idian\",9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"21149\"]]");
-    p = add_epsg_def (filter, first, last, 21150, "epsg", 21150,
-        "Batavia / UTM zone 50S");
+        "Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"6707\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6708, "epsg", 6708,
+        "RDN2008 / TM33", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Rete_Dinamica_Nazionale_2008", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +south +ellps=bessel +towgs84=-377,68");
+        "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "1,-50,0,0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Batavia / UTM zone 50S\",GEOGCS[\"Batavia\",DAT");
+        "PROJCS[\"RDN2008 / TM33\",GEOGCS[\"RDN2008\",DATUM[\"Ret");
     add_srs_wkt (p, 1,
-        "UM[\"Batavia\",SPHEROID[\"Bessel 1841\",6377397.155,299.");
+        "e_Dinamica_Nazionale_2008\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-377,681,-");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "50,0,0,0,0],AUTHORITY[\"EPSG\",\"6211\"]],PRIMEM[\"Green");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1132\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4211\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"6706\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",117],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "idian\",15],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"21150\"]]");
-    p = add_epsg_def (filter, first, last, 21291, "epsg", 21291,
-        "Barbados 1938 / British West Indies Grid");
+        "Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"6708\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6709, "epsg", 6709,
+        "RDN2008 / TM34", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Rete_Dinamica_Nazionale_2008", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x");
+        "+proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "_0=400000 +y_0=0 +ellps=clrk80 +towgs84=31.95,300.99,419");
-    add_proj4text (p, 2,
-        ".19,0,0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Barbados 1938 / British West Indies Grid\",GEOG");
+        "PROJCS[\"RDN2008 / TM34\",GEOGCS[\"RDN2008\",DATUM[\"Ret");
     add_srs_wkt (p, 1,
-        "CS[\"Barbados 1938\",DATUM[\"Barbados_1938\",SPHEROID[\"");
+        "e_Dinamica_Nazionale_2008\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "Clarke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "\",\"7012\"]],TOWGS84[31.95,300.99,419.19,0,0,0,0],AUTHO");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1132\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6212\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4212");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "PSG\",\"6706\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-62]");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9995],PARAMETER[\"false_ea");
+        "idian\",21],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "sting\",400000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2129");
+        "Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 21292, "epsg", 21292,
-        "Barbados 1938 / Barbados National Grid");
+        "G\",\"6709\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6720, "epsg", 6720,
+        "WGS 84 / CIG92", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=13.17638888888889 +lon_0=-59.55972222");
+        "+proj=tmerc +lat_0=0 +lon_0=105.625 +k=1.000024 +x_0=500");
     add_proj4text (p, 1,
-        "222222 +k=0.9999986 +x_0=30000 +y_0=75000 +ellps=clrk80 ");
-    add_proj4text (p, 2,
-        "+towgs84=31.95,300.99,419.19,0,0,0,0 +units=m +no_defs");
+        "00 +y_0=1300000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Barbados 1938 / Barbados National Grid\",GEOGCS");
+        "PROJCS[\"WGS 84 / CIG92\",GEOGCS[\"WGS 84\",DATUM[\"WGS_");
     add_srs_wkt (p, 1,
-        "[\"Barbados 1938\",DATUM[\"Barbados_1938\",SPHEROID[\"Cl");
+        "1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORI");
     add_srs_wkt (p, 2,
-        "arke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\"");
+        "TY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRI");
     add_srs_wkt (p, 3,
-        ",\"7012\"]],TOWGS84[31.95,300.99,419.19,0,0,0,0],AUTHORI");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"6212\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 5,
-        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4212\"");
+        "ORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",13.17638888888889],PARAMETER[\"central_m");
+        "ntral_meridian\",105.625],PARAMETER[\"scale_factor\",1.0");
     add_srs_wkt (p, 9,
-        "eridian\",-59.55972222222222],PARAMETER[\"scale_factor\"");
+        "00024],PARAMETER[\"false_easting\",50000],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        ",0.9999986],PARAMETER[\"false_easting\",30000],PARAMETER");
+        "lse_northing\",1300000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 11,
-        "[\"false_northing\",75000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
-    add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"21292\"]]");
-    p = add_epsg_def (filter, first, last, 21413, "epsg", 21413,
-        "Beijing 1954 / Gauss-Kruger zone 13");
+        "NORTH],AUTHORITY[\"EPSG\",\"6720\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6721, "epsg", 6721,
+        "GDA94 / CIG94", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0");
+        "+proj=tmerc +lat_0=0 +lon_0=105.625 +k=1.00002514 +x_0=5");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=");
+        "0000 +y_0=1300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 2,
-        "m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 13\",GEOGCS[\"");
+        "PROJCS[\"GDA94 / CIG94\",GEOGCS[\"GDA94\",DATUM[\"Geocen");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "tric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",75],PARAMETER[\"scale_");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "factor\",1],PARAMETER[\"false_easting\",13500000],PARAME");
+        "meridian\",105.625],PARAMETER[\"scale_factor\",1.0000251");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "4],PARAMETER[\"false_easting\",50000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21413\"]]");
-    p = add_epsg_def (filter, first, last, 21414, "epsg", 21414,
-        "Beijing 1954 / Gauss-Kruger zone 14");
+        "northing\",1300000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"6721\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6722, "epsg", 6722,
+        "WGS 84 / CKIG92", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0");
+        "+proj=tmerc +lat_0=0 +lon_0=96.875 +k=1 +x_0=50000 +y_0=");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "1400000 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 14\",GEOGCS[\"");
+        "PROJCS[\"WGS 84 / CKIG92\",GEOGCS[\"WGS 84\",DATUM[\"WGS");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHOR");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "ITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PR");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "HORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",81],PARAMETER[\"scale_");
+        "entral_meridian\",96.875],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 9,
-        "factor\",1],PARAMETER[\"false_easting\",14500000],PARAME");
+        "PARAMETER[\"false_easting\",50000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "thing\",1400000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21414\"]]");
-    p = add_epsg_def (filter, first, last, 21415, "epsg", 21415,
-        "Beijing 1954 / Gauss-Kruger zone 15");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 12,
+        "AUTHORITY[\"EPSG\",\"6722\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6723, "epsg", 6723,
+        "GDA94 / CKIG94", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0");
+        "+proj=tmerc +lat_0=0 +lon_0=96.875 +k=0.99999387 +x_0=50");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=");
+        "000 +y_0=1500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +un");
     add_proj4text (p, 2,
-        "m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 15\",GEOGCS[\"");
+        "PROJCS[\"GDA94 / CKIG94\",GEOGCS[\"GDA94\",DATUM[\"Geoce");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "ntric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",87],PARAMETER[\"scale_");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "factor\",1],PARAMETER[\"false_easting\",15500000],PARAME");
+        "_meridian\",96.875],PARAMETER[\"scale_factor\",0.9999938");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "7],PARAMETER[\"false_easting\",50000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21415\"]]");
-    p = add_epsg_def (filter, first, last, 21416, "epsg", 21416,
-        "Beijing 1954 / Gauss-Kruger zone 16");
+        "northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"6723\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6732, "epsg", 6732,
+        "GDA94 / MGA zone 41", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0");
+        "+proj=utm +zone=41 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 16\",GEOGCS[\"");
+        "PROJCS[\"GDA94 / MGA zone 41\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",93],PARAMETER[\"scale_");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "factor\",1],PARAMETER[\"false_easting\",16500000],PARAME");
+        "ntral_meridian\",63],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21416\"]]");
-    p = add_epsg_def (filter, first, last, 21417, "epsg", 21417,
-        "Beijing 1954 / Gauss-Kruger zone 17");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 12,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"6732\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6733, "epsg", 6733,
+        "GDA94 / MGA zone 42", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0");
+        "+proj=utm +zone=42 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 17\",GEOGCS[\"");
+        "PROJCS[\"GDA94 / MGA zone 42\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",99],PARAMETER[\"scale_");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "factor\",1],PARAMETER[\"false_easting\",17500000],PARAME");
+        "ntral_meridian\",69],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21417\"]]");
-    p = add_epsg_def (filter, first, last, 21418, "epsg", 21418,
-        "Beijing 1954 / Gauss-Kruger zone 18");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 12,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"6733\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6734, "epsg", 6734,
+        "GDA94 / MGA zone 43", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=");
+        "+proj=utm +zone=43 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
-    add_proj4text (p, 2,
-        "=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 18\",GEOGCS[\"");
+        "PROJCS[\"GDA94 / MGA zone 43\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",105],PARAMETER[\"scale");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",18500000],PARAM");
+        "ntral_meridian\",75],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21418\"]]");
-    p = add_epsg_def (filter, first, last, 21419, "epsg", 21419,
-        "Beijing 1954 / Gauss-Kruger zone 19");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 12,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"6734\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6735, "epsg", 6735,
+        "GDA94 / MGA zone 44", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=");
+        "+proj=utm +zone=44 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
-    add_proj4text (p, 2,
-        "=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 19\",GEOGCS[\"");
+        "PROJCS[\"GDA94 / MGA zone 44\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",111],PARAMETER[\"scale");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",19500000],PARAM");
+        "ntral_meridian\",81],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21419\"]]");
-    p = add_epsg_def (filter, first, last, 21420, "epsg", 21420,
-        "Beijing 1954 / Gauss-Kruger zone 20");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 12,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"6735\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6736, "epsg", 6736,
+        "GDA94 / MGA zone 46", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=");
+        "+proj=utm +zone=46 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
-    add_proj4text (p, 2,
-        "=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 20\",GEOGCS[\"");
+        "PROJCS[\"GDA94 / MGA zone 46\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",117],PARAMETER[\"scale");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",20500000],PARAM");
+        "ntral_meridian\",93],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21420\"]]");
-    p = add_epsg_def (filter, first, last, 21421, "epsg", 21421,
-        "Beijing 1954 / Gauss-Kruger zone 21");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 12,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"6736\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6737, "epsg", 6737,
+        "GDA94 / MGA zone 47", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=");
+        "+proj=utm +zone=47 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
-    add_proj4text (p, 2,
-        "=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 21\",GEOGCS[\"");
+        "PROJCS[\"GDA94 / MGA zone 47\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",123],PARAMETER[\"scale");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",21500000],PARAM");
+        "ntral_meridian\",99],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21421\"]]");
-    p = add_epsg_def (filter, first, last, 21422, "epsg", 21422,
-        "Beijing 1954 / Gauss-Kruger zone 22");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 12,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"6737\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6738, "epsg", 6738,
+        "GDA94 / MGA zone 59", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=");
+        "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
-    add_proj4text (p, 2,
-        "=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 22\",GEOGCS[\"");
+        "PROJCS[\"GDA94 / MGA zone 59\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",129],PARAMETER[\"scale");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",22500000],PARAM");
+        "ntral_meridian\",171],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21422\"]]");
-    p = add_epsg_def (filter, first, last, 21423, "epsg", 21423,
-        "Beijing 1954 / Gauss-Kruger zone 23");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"6738\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6783, "epsg", 6783,
+        "NAD83(CORS96)", 1, 1,
+        "GRS 1980", "Greenwich",
+        "NAD83_Continuously_Operating_Reference_Station_1996", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=");
-    add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
-    add_proj4text (p, 2,
-        "=m +no_defs");
+        "+proj=longlat +ellps=GRS80 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 23\",GEOGCS[\"");
+        "GEOGCS[\"NAD83(CORS96)\",DATUM[\"NAD83_Continuously_Oper");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "ating_Reference_Station_1996\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORI");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "TY[\"EPSG\",\"1133\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
-    add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
-    add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",135],PARAMETER[\"scale");
-    add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",23500000],PARAM");
-    add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
-    add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21423\"]]");
-    p = add_epsg_def (filter, first, last, 21453, "epsg", 21453,
-        "Beijing 1954 / Gauss-Kruger CM 75E");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"6783\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6867, "epsg", 6867,
+        "NAD83(CORS96) / Oregon LCC (m)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Continuously_Operating_Reference_Station_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
-    add_proj4text (p, 2,
-        "+no_defs");
+        ".5 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 75E\",GEOGCS[\"B");
+        "PROJCS[\"NAD83(CORS96) / Oregon LCC (m)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "eijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassows");
+        "(CORS96)\",DATUM[\"NAD83_Continuously_Operating_Referenc");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "e_Station_1996\",SPHEROID[\"GRS 1980\",6378137,298.25722");
     add_srs_wkt (p, 3,
-        "WGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
+        "2101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "14\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "1133\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"T");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "\",EAST],AUTHORITY[\"EPSG\",\"6783\"]],PROJECTION[\"Lamb");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",75],PARAMETER[\"scale_f");
+        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "_1\",43],PARAMETER[\"standard_parallel_2\",45.5],PARAMET");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "ER[\"latitude_of_origin\",41.75],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"21453\"]]");
-    p = add_epsg_def (filter, first, last, 21454, "epsg", 21454,
-        "Beijing 1954 / Gauss-Kruger CM 81E");
+        "idian\",-120.5],PARAMETER[\"false_easting\",400000],PARA");
+    add_srs_wkt (p, 12,
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"6867\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6868, "epsg", 6868,
+        "NAD83(CORS96) / Oregon GIC Lambert (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Continuously_Operating_Reference_Station_1996", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+        ".5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +units=ft +no");
     add_proj4text (p, 2,
-        "+no_defs");
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 81E\",GEOGCS[\"B");
+        "PROJCS[\"NAD83(CORS96) / Oregon GIC Lambert (ft)\",GEOGC");
     add_srs_wkt (p, 1,
-        "eijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassows");
+        "S[\"NAD83(CORS96)\",DATUM[\"NAD83_Continuously_Operating");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "_Reference_Station_1996\",SPHEROID[\"GRS 1980\",6378137,");
     add_srs_wkt (p, 3,
-        "WGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
+        "298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "14\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "EPSG\",\"1133\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"T");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"6783\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",81],PARAMETER[\"scale_f");
+        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "_parallel_1\",43],PARAMETER[\"standard_parallel_2\",45.5");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "],PARAMETER[\"latitude_of_origin\",41.75],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"21454\"]]");
-    p = add_epsg_def (filter, first, last, 21455, "epsg", 21455,
-        "Beijing 1954 / Gauss-Kruger CM 87E");
+        "ntral_meridian\",-120.5],PARAMETER[\"false_easting\",131");
+    add_srs_wkt (p, 12,
+        "2335.958],PARAMETER[\"false_northing\",0],UNIT[\"foot\",");
+    add_srs_wkt (p, 13,
+        "0.3048,AUTHORITY[\"EPSG\",\"9002\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6868\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6870, "epsg", 6870,
+        "ETRS89 / Albania 2010", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
-    add_proj4text (p, 2,
-        "+no_defs");
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 87E\",GEOGCS[\"B");
+        "PROJCS[\"ETRS89 / Albania 2010\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        "eijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassows");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "WGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "14\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",87],PARAMETER[\"scale_f");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "METER[\"central_meridian\",20],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"21455\"]]");
-    p = add_epsg_def (filter, first, last, 21456, "epsg", 21456,
-        "Beijing 1954 / Gauss-Kruger CM 93E");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 12,
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"6870\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6871, "epsg", 6871,
+        "WGS 84 / Pseudo-Mercator", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +uni");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
-    add_proj4text (p, 2,
-        "+no_defs");
+        "ts=m +geoidgrids=egm08_25.gtx +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 93E\",GEOGCS[\"B");
+        "COMPD_CS[\"WGS 84 / Pseudo-Mercator +  EGM2008 geoid hei");
     add_srs_wkt (p, 1,
-        "eijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassows");
+        "ght\",PROJCS[\"WGS 84 / Pseudo-Mercator\",GEOGCS[\"WGS 8");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "4\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.2");
     add_srs_wkt (p, 3,
-        "WGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
+        "57223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "14\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        ",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"T");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"M");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",93],PARAMETER[\"scale_f");
+        "ercator_1SP\"],PARAMETER[\"central_meridian\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PA");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"21456\"]]");
-    p = add_epsg_def (filter, first, last, 21457, "epsg", 21457,
-        "Beijing 1954 / Gauss-Kruger CM 99E");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
-    add_proj4text (p, 1,
-        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 12,
+        "EXTENSION[\"PROJ4\",\"+proj=merc +a=6378137 +b=6378137 +");
+    add_srs_wkt (p, 13,
+        "lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +n");
+    add_srs_wkt (p, 14,
+        "adgrids=@null +wktext  +no_defs\"],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "3857\"]],VERT_CS[\"EGM2008 geoid height\",VERT_DATUM[\"E");
+    add_srs_wkt (p, 16,
+        "GM2008 geoid\",2005,EXTENSION[\"PROJ4_GRIDS\",\"egm08_25");
+    add_srs_wkt (p, 17,
+        ".gtx\"],AUTHORITY[\"EPSG\",\"1027\"]],UNIT[\"metre\",1,A");
+    add_srs_wkt (p, 18,
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"");
+    add_srs_wkt (p, 19,
+        "EPSG\",\"3855\"]],AUTHORITY[\"EPSG\",\"6871\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6875, "epsg", 6875,
+        "RDN2008 / Italy zone", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Rete_Dinamica_Nazionale_2008", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9985000000000001 +x_");
+    add_proj4text (p, 1,
+        "0=7000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +un");
     add_proj4text (p, 2,
-        "+no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 99E\",GEOGCS[\"B");
+        "PROJCS[\"RDN2008 / Italy zone\",GEOGCS[\"RDN2008\",DATUM");
     add_srs_wkt (p, 1,
-        "eijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassows");
+        "[\"Rete_Dinamica_Nazionale_2008\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "WGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1132\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "14\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"T");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "TY[\"EPSG\",\"6706\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",99],PARAMETER[\"scale_f");
+        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "l_meridian\",12],PARAMETER[\"scale_factor\",0.9985],PARA");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "METER[\"false_easting\",7000000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"21457\"]]");
-    p = add_epsg_def (filter, first, last, 21458, "epsg", 21458,
-        "Beijing 1954 / Gauss-Kruger CM 105E");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+    add_srs_wkt (p, 12,
+        "AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"6875\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6876, "epsg", 6876,
+        "RDN2008 / Zone 12", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Rete_Dinamica_Nazionale_2008", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=3000000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
-    add_proj4text (p, 2,
-        " +no_defs");
+        "+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 105E\",GEOGCS[\"");
+        "PROJCS[\"RDN2008 / Zone 12\",GEOGCS[\"RDN2008\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "Rete_Dinamica_Nazionale_2008\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1132\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "\"EPSG\",\"6706\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",105],PARAMETER[\"scale");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
+        "meridian\",12],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "false_easting\",3000000],PARAMETER[\"false_northing\",0]");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21458\"]]");
-    p = add_epsg_def (filter, first, last, 21459, "epsg", 21459,
-        "Beijing 1954 / Gauss-Kruger CM 111E");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"N");
+    add_srs_wkt (p, 12,
+        "orthing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"6876\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6879, "epsg", 6879,
+        "NAD83(2011) / Wisconsin Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+        "334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m ");
     add_proj4text (p, 2,
-        " +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 111E\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Wisconsin Central\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "3(2011)\",DATUM[\"NAD83_National_Spatial_Reference_Syste");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "m_2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "HORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]]");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        ",AUTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Conf");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",111],PARAMETER[\"scale");
+        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
+        "5],PARAMETER[\"standard_parallel_2\",44.25],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "latitude_of_origin\",43.83333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21459\"]]");
-    p = add_epsg_def (filter, first, last, 21460, "epsg", 21460,
-        "Beijing 1954 / Gauss-Kruger CM 117E");
+        "ral_meridian\",-90],PARAMETER[\"false_easting\",600000],");
+    add_srs_wkt (p, 12,
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"6879\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6880, "epsg", 6880,
+        "NAD83(2011) / Nebraska (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+        "lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +uni");
     add_proj4text (p, 2,
-        " +no_defs");
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 117E\",GEOGCS[\"");
+        "PROJCS[\"NAD83(2011) / Nebraska (ftUS)\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "2011)\",DATUM[\"NAD83_National_Spatial_Reference_System_");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "2011\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHO");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "RITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"1116\"]],P");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "UTHORITY[\"EPSG\",\"6318\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",117],PARAMETER[\"scale");
+        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43],P");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ARAMETER[\"standard_parallel_2\",40],PARAMETER[\"latitud");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "e_of_origin\",39.83333333333334],PARAMETER[\"central_mer");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21460\"]]");
-    p = add_epsg_def (filter, first, last, 21461, "epsg", 21461,
-        "Beijing 1954 / Gauss-Kruger CM 123E");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+        "idian\",-100],PARAMETER[\"false_easting\",1640416.6667],");
+    add_srs_wkt (p, 12,
+        "PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",");
+    add_srs_wkt (p, 13,
+        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6880\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 6884, "epsg", 6884,
+        "NAD83(CORS96) / Oregon North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Continuously_Operating_Reference_Station_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
+    add_proj4text (p, 1,
+        "6666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=G");
     add_proj4text (p, 2,
-        " +no_defs");
+        "RS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 123E\",GEOGCS[\"");
+        "PROJCS[\"NAD83(CORS96) / Oregon North\",GEOGCS[\"NAD83(C");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "ORS96)\",DATUM[\"NAD83_Continuously_Operating_Reference_");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "Station_1996\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "33\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "EAST],AUTHORITY[\"EPSG\",\"6783\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",123],PARAMETER[\"scale");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
+        ",46],PARAMETER[\"standard_parallel_2\",44.33333333333334");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "],PARAMETER[\"latitude_of_origin\",43.66666666666666],PA");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21461\"]]");
-    p = add_epsg_def (filter, first, last, 21462, "epsg", 21462,
-        "Beijing 1954 / Gauss-Kruger CM 129E");
+        "RAMETER[\"central_meridian\",-120.5],PARAMETER[\"false_e");
+    add_srs_wkt (p, 12,
+        "asting\",2500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6884\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6885, "epsg", 6885,
+        "NAD83(CORS96) / Oregon North (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Continuously_Operating_Reference_Station_1996", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+        "6666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 ");
     add_proj4text (p, 2,
-        " +no_defs");
+        "+ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 129E\",GEOGCS[\"");
+        "PROJCS[\"NAD83(CORS96) / Oregon North (ft)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "D83(CORS96)\",DATUM[\"NAD83_Continuously_Operating_Refer");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "ence_Station_1996\",SPHEROID[\"GRS 1980\",6378137,298.25");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "7222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        ",\"1133\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"6783\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",129],PARAMETER[\"scale");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
+        "lel_1\",46],PARAMETER[\"standard_parallel_2\",44.3333333");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "3333334],PARAMETER[\"latitude_of_origin\",43.66666666666");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21462\"]]");
-    p = add_epsg_def (filter, first, last, 21463, "epsg", 21463,
-        "Beijing 1954 / Gauss-Kruger CM 135E");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+        "666],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"");
+    add_srs_wkt (p, 12,
+        "false_easting\",8202099.738],PARAMETER[\"false_northing\"");
+    add_srs_wkt (p, 13,
+        ",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
+    add_srs_wkt (p, 15,
+        "885\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6886, "epsg", 6886,
+        "NAD83(CORS96) / Oregon South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Continuously_Operating_Reference_Station_1996", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
+    add_proj4text (p, 1,
+        "6666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=G");
     add_proj4text (p, 2,
-        " +no_defs");
+        "RS80 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 135E\",GEOGCS[\"");
+        "PROJCS[\"NAD83(CORS96) / Oregon South\",GEOGCS[\"NAD83(C");
     add_srs_wkt (p, 1,
-        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
+        "ORS96)\",DATUM[\"NAD83_Continuously_Operating_Reference_");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "Station_1996\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"11");
     add_srs_wkt (p, 4,
-        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "33\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "EAST],AUTHORITY[\"EPSG\",\"6783\"]],PROJECTION[\"Lambert");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",135],PARAMETER[\"scale");
+        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",500000],PARAMET");
+        ",44],PARAMETER[\"standard_parallel_2\",42.33333333333334");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "],PARAMETER[\"latitude_of_origin\",41.66666666666666],PA");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21463\"]]");
-    p = add_epsg_def (filter, first, last, 21473, "epsg", 21473,
-        "Beijing 1954 / Gauss-Kruger 13N (deprecated)");
+        "RAMETER[\"central_meridian\",-120.5],PARAMETER[\"false_e");
+    add_srs_wkt (p, 12,
+        "asting\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6886\"]]");
+    p = add_epsg_def_ex (filter, first, last, 6887, "epsg", 6887,
+        "NAD83(CORS96) / Oregon South (ft)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Continuously_Operating_Reference_Station_1996", "Lambert_Conformal_Conic_2SP", "foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+        "6666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 ");
     add_proj4text (p, 2,
-        "+no_defs");
+        "+ellps=GRS80 +units=ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 13N (deprecated)\",");
+        "PROJCS[\"NAD83(CORS96) / Oregon South (ft)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        "D83(CORS96)\",DATUM[\"NAD83_Continuously_Operating_Refer");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "ence_Station_1996\",SPHEROID[\"GRS 1980\",6378137,298.25");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        "7222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        ",\"1133\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"6783\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",75],PARAMETE");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
+        "lel_1\",44],PARAMETER[\"standard_parallel_2\",42.3333333");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "3333334],PARAMETER[\"latitude_of_origin\",41.66666666666");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21473\"]]");
-    p = add_epsg_def (filter, first, last, 21474, "epsg", 21474,
-        "Beijing 1954 / Gauss-Kruger 14N (deprecated)");
+        "666],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"");
+    add_srs_wkt (p, 12,
+        "false_easting\",4921259.843],PARAMETER[\"false_northing\"");
+    add_srs_wkt (p, 13,
+        ",0],UNIT[\"foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"6");
+    add_srs_wkt (p, 15,
+        "887\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7400, "epsg", 7400,
+        "NTF (Paris)", 1, 1,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "none", "grad",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
-    add_proj4text (p, 2,
-        "+no_defs");
+        "320,0,0,0,0 +pm=paris +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 14N (deprecated)\",");
+        "COMPD_CS[\"NTF (Paris) + NGF IGN69 height\",GEOGCS[\"NTF");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        " (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Pari");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "s\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        "936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\"");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",81],PARAMETE");
+        "PSG\",\"4807\"]],VERT_CS[\"NGF-IGN69 height\",VERT_DATUM");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
+        "[\"Nivellement General de la France - IGN69\",2005,AUTHO");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "RITY[\"EPSG\",\"5119\"]],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21474\"]]");
-    p = add_epsg_def (filter, first, last, 21475, "epsg", 21475,
-        "Beijing 1954 / Gauss-Kruger 15N (deprecated)");
+        "SG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"572");
+    add_srs_wkt (p, 12,
+        "0\"]],AUTHORITY[\"EPSG\",\"7400\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7401, "epsg", 7401,
+        "NTF (Paris) / France II (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+        "42 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +tow");
     add_proj4text (p, 2,
-        "+no_defs");
+        "gs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 15N (deprecated)\",");
+        "COMPD_CS[\"NTF (Paris) / France II + NGF Lallemand\",PRO");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        "JCS[\"NTF (Paris) / France II (deprecated)\",GEOGCS[\"NT");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "F (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Par");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        "is\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.466021");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "2936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,3");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "20,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\"");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        ",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",87],PARAMETE");
+        "\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
+        "EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "SP\"],PARAMETER[\"latitude_of_origin\",52],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21475\"]]");
-    p = add_epsg_def (filter, first, last, 21476, "epsg", 21476,
-        "Beijing 1954 / Gauss-Kruger 16N (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
-    add_proj4text (p, 1,
-        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+        "entral_meridian\",0],PARAMETER[\"scale_factor\",0.999877");
+    add_srs_wkt (p, 12,
+        "42],PARAMETER[\"false_easting\",600000],PARAMETER[\"fals");
+    add_srs_wkt (p, 13,
+        "e_northing\",2200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"27582\"]],VERT_CS[\"NGF Lallemand height\",V");
+    add_srs_wkt (p, 16,
+        "ERT_DATUM[\"Nivellement General de la France - Lallemand");
+    add_srs_wkt (p, 17,
+        "\",2005,AUTHORITY[\"EPSG\",\"5118\"]],UNIT[\"metre\",1,A");
+    add_srs_wkt (p, 18,
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"");
+    add_srs_wkt (p, 19,
+        "EPSG\",\"5719\"]],AUTHORITY[\"EPSG\",\"7401\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7402, "epsg", 7402,
+        "NTF (Paris) / France II (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
+    add_proj4text (p, 1,
+        "42 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +tow");
     add_proj4text (p, 2,
-        "+no_defs");
+        "gs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 16N (deprecated)\",");
+        "COMPD_CS[\"NTF (Paris) / France II + NGF IGN69\",PROJCS[");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        "\"NTF (Paris) / France II (deprecated)\",GEOGCS[\"NTF (P");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "aris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\"");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"L");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",93],PARAMETE");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
+        "SG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "\"],PARAMETER[\"latitude_of_origin\",52],PARAMETER[\"cen");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21476\"]]");
-    p = add_epsg_def (filter, first, last, 21477, "epsg", 21477,
-        "Beijing 1954 / Gauss-Kruger 17N (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
-    add_proj4text (p, 1,
-        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+        "tral_meridian\",0],PARAMETER[\"scale_factor\",0.99987742");
+    add_srs_wkt (p, 12,
+        "],PARAMETER[\"false_easting\",600000],PARAMETER[\"false_");
+    add_srs_wkt (p, 13,
+        "northing\",2200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"27582\"]],VERT_CS[\"NGF-IGN69 height\",VERT_D");
+    add_srs_wkt (p, 16,
+        "ATUM[\"Nivellement General de la France - IGN69\",2005,A");
+    add_srs_wkt (p, 17,
+        "UTHORITY[\"EPSG\",\"5119\"]],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 18,
+        "\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 19,
+        "5720\"]],AUTHORITY[\"EPSG\",\"7402\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7403, "epsg", 7403,
+        "NTF (Paris) / France III (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
+    add_proj4text (p, 1,
+        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +");
     add_proj4text (p, 2,
-        "+no_defs");
+        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
+    add_proj4text (p, 3,
+        "=paris +units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 17N (deprecated)\",");
+        "COMPD_CS[\"NTF (Paris) / France III + NGF IGN69\",PROJCS");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        "[\"NTF (Paris) / France III (deprecated)\",GEOGCS[\"NTF ");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "(Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        "\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "36269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",99],PARAMETE");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 9,
-        "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000");
+        "PSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1S");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "P\"],PARAMETER[\"latitude_of_origin\",49],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21477\"]]");
-    p = add_epsg_def (filter, first, last, 21478, "epsg", 21478,
-        "Beijing 1954 / Gauss-Kruger 18N (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
-    add_proj4text (p, 2,
-        " +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 18N (deprecated)\",");
-    add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        "ntral_meridian\",0],PARAMETER[\"scale_factor\",0.9998774");
+    add_srs_wkt (p, 12,
+        "99],PARAMETER[\"false_easting\",600000],PARAMETER[\"fals");
+    add_srs_wkt (p, 13,
+        "e_northing\",3200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"27583\"]],VERT_CS[\"NGF-IGN69 height\",VERT_");
+    add_srs_wkt (p, 16,
+        "DATUM[\"Nivellement General de la France - IGN69\",2005,");
+    add_srs_wkt (p, 17,
+        "AUTHORITY[\"EPSG\",\"5119\"]],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 18,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 19,
+        "\"5720\"]],AUTHORITY[\"EPSG\",\"7403\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7404, "epsg", 7404,
+        "RT90", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Rikets_koordinatsystem_1990", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=bessel +towgs84=414.1,41.3,603.1,-0");
+    add_proj4text (p, 1,
+        ".855,2.141,-7.023,0 +vunits=m +no_defs");
+    add_srs_wkt (p, 0,
+        "COMPD_CS[\"RT90 + RH70 height\",GEOGCS[\"RT90\",DATUM[\"");
+    add_srs_wkt (p, 1,
+        "Rikets_koordinatsystem_1990\",SPHEROID[\"Bessel 1841\",6");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOW");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        "GS84[414.1,41.3,603.1,-0.855,2.141,-7.023,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "EPSG\",\"6124\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4124\"]],VERT_CS[");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",105],PARAMET");
+        "\"RH70 height\",VERT_DATUM[\"Rikets hojdsystem 1970\",20");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "05,AUTHORITY[\"EPSG\",\"5117\"]],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21478\"]]");
-    p = add_epsg_def (filter, first, last, 21479, "epsg", 21479,
-        "Beijing 1954 / Gauss-Kruger 19N (deprecated)");
+        "\",\"5718\"]],AUTHORITY[\"EPSG\",\"7404\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7405, "epsg", 7405,
+        "OSGB 1936 / British National Grid", 0, 0,
+        "Airy 1830", "Greenwich",
+        "OSGB_1936", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+        "000 +y_0=-100000 +ellps=airy +towgs84=446.448,-125.157,5");
     add_proj4text (p, 2,
-        " +no_defs");
+        "42.06,0.15,0.247,0.842,-20.489 +units=m +vunits=m +no_de");
+    add_proj4text (p, 3,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 19N (deprecated)\",");
+        "COMPD_CS[\"OSGB 1936 / British National Grid + ODN heigh");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        "t\",PROJCS[\"OSGB 1936 / British National Grid\",GEOGCS[");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "\"OSGB 1936\",DATUM[\"OSGB_1936\",SPHEROID[\"Airy 1830\"");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        ",6377563.396,299.3249646,AUTHORITY[\"EPSG\",\"7001\"]],T");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "OWGS84[446.448,-125.157,542.06,0.15,0.247,0.842,-20.489]");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        ",AUTHORITY[\"EPSG\",\"6277\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",111],PARAMET");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4277");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "itude_of_origin\",49],PARAMETER[\"central_meridian\",-2]");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21479\"]]");
-    p = add_epsg_def (filter, first, last, 21480, "epsg", 21480,
-        "Beijing 1954 / Gauss-Kruger 20N (deprecated)");
+        ",PARAMETER[\"scale_factor\",0.9996012717],PARAMETER[\"fa");
+    add_srs_wkt (p, 12,
+        "lse_easting\",400000],PARAMETER[\"false_northing\",-1000");
+    add_srs_wkt (p, 13,
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 14,
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"27700\"]],VERT_CS[\"ODN height\",VERT_DATUM[\"Or");
+    add_srs_wkt (p, 16,
+        "dnance Datum Newlyn\",2005,AUTHORITY[\"EPSG\",\"5101\"]]");
+    add_srs_wkt (p, 17,
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"U");
+    add_srs_wkt (p, 18,
+        "p\",UP],AUTHORITY[\"EPSG\",\"5701\"]],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 19,
+        ",\"7405\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7406, "epsg", 7406,
+        "NAD27", 1, 1,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
-    add_proj4text (p, 2,
-        " +no_defs");
+        "+proj=longlat +datum=NAD27 +vunits=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 20N (deprecated)\",");
+        "COMPD_CS[\"NAD27 + NGVD29 height\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "67\"]],VERT_CS[\"NGVD29 height\",VERT_DATUM[\"National G");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",117],PARAMET");
+        "eodetic Vertical Datum 1929\",2005,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "5102\"]],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"Up\",UP],AUTHORITY[\"EP");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21480\"]]");
-    p = add_epsg_def (filter, first, last, 21481, "epsg", 21481,
-        "Beijing 1954 / Gauss-Kruger 21N (deprecated)");
+        "SG\",\"5702\"]],AUTHORITY[\"EPSG\",\"7406\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7407, "epsg", 7407,
+        "NAD27 / Texas North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=3");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+        "4 +lon_0=-101.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD");
     add_proj4text (p, 2,
-        " +no_defs");
+        "27 +units=us-ft +vunits=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 21N (deprecated)\",");
+        "COMPD_CS[\"NAD27 / Texas North + NGVD29 height\",PROJCS[");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        "\"NAD27 / Texas North\",GEOGCS[\"NAD27\",DATUM[\"North_A");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "merican_Datum_1927\",SPHEROID[\"Clarke 1866\",6378206.4,");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        "294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORIT");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "Y[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]],PROJE");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",123],PARAMET");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "ard_parallel_1\",34.65],PARAMETER[\"standard_parallel_2\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        ",36.18333333333333],PARAMETER[\"latitude_of_origin\",34]");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21481\"]]");
-    p = add_epsg_def (filter, first, last, 21482, "epsg", 21482,
-        "Beijing 1954 / Gauss-Kruger 22N (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
-    add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+        ",PARAMETER[\"central_meridian\",-101.5],PARAMETER[\"fals");
+    add_srs_wkt (p, 12,
+        "e_easting\",2000000],PARAMETER[\"false_northing\",0],UNI");
+    add_srs_wkt (p, 13,
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 15,
+        "TY[\"EPSG\",\"32037\"]],VERT_CS[\"NGVD29 height\",VERT_D");
+    add_srs_wkt (p, 16,
+        "ATUM[\"National Geodetic Vertical Datum 1929\",2005,AUTH");
+    add_srs_wkt (p, 17,
+        "ORITY[\"EPSG\",\"5102\"]],UNIT[\"US survey foot\",0.3048");
+    add_srs_wkt (p, 18,
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"Up\",U");
+    add_srs_wkt (p, 19,
+        "P],AUTHORITY[\"EPSG\",\"5702\"]],AUTHORITY[\"EPSG\",\"74");
+    add_srs_wkt (p, 20,
+        "07\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7408, "epsg", 7408,
+        "Amersfoort", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Amersfoort", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
+    add_proj4text (p, 0,
+        "+proj=longlat +ellps=bessel +towgs84=565.4171,50.3319,46");
+    add_proj4text (p, 1,
+        "5.5524,-0.398957388243134,0.343987817378283,-1.877401639");
     add_proj4text (p, 2,
-        " +no_defs");
+        "98045,4.0725 +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 22N (deprecated)\",");
+        "COMPD_CS[\"RD/NAP\",GEOGCS[\"Amersfoort\",DATUM[\"Amersf");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        "oort\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.4171,50.3319,4");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        "65.5524,-0.398957388243134,0.343987817378283,-1.87740163");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "998045,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",129],PARAMET");
+        "PSG\",\"4289\"]],VERT_CS[\"NAP height\",VERT_DATUM[\"Nor");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "maal Amsterdams Peil\",2005,AUTHORITY[\"EPSG\",\"5109\"]");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21482\"]]");
-    p = add_epsg_def (filter, first, last, 21483, "epsg", 21483,
-        "Beijing 1954 / Gauss-Kruger 23N (deprecated)");
+        "Up\",UP],AUTHORITY[\"EPSG\",\"5709\"]],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 12,
+        ",\"7408\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7409, "epsg", 7409,
+        "ETRS89", 1, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunit");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
-    add_proj4text (p, 2,
-        " +no_defs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Beijing 1954 / Gauss-Kruger 23N (deprecated)\",");
+        "COMPD_CS[\"ETRS89 + EVRF2000 height\",GEOGCS[\"ETRS89\",");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
+        "DATUM[\"European_Terrestrial_Reference_System_1989\",SPH");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4214\"]],PRO");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],VERT_CS[\"EVRF");
     add_srs_wkt (p, 8,
-        "_origin\",0],PARAMETER[\"central_meridian\",135],PARAMET");
+        "2000 height\",VERT_DATUM[\"European Vertical Reference F");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000");
+        "rame 2000\",2005,AUTHORITY[\"EPSG\",\"5129\"]],UNIT[\"me");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AU");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"21483\"]]");
-    p = add_epsg_def (filter, first, last, 21500, "epsg", 21500,
-        "Belge 1950 (Brussels) / Belge Lambert 50");
+        "THORITY[\"EPSG\",\"5730\"]],AUTHORITY[\"EPSG\",\"7409\"]");
+    add_srs_wkt (p, 12,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 7410, "epsg", 7410,
+        "PSD93", 1, 1,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "PDO_Survey_Datum_1993", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666");
+        "+proj=longlat +ellps=clrk80 +towgs84=-180.624,-225.516,1");
     add_proj4text (p, 1,
-        "666 +lat_0=90 +lon_0=0 +x_0=150000 +y_0=5400000 +ellps=i");
-    add_proj4text (p, 2,
-        "ntl +pm=brussels +units=m +no_defs");
+        "73.919,-0.81,-1.898,8.336,16.71006 +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Belge 1950 (Brussels) / Belge Lambert 50\",GEOG");
+        "COMPD_CS[\"PSHD93\",GEOGCS[\"PSD93\",DATUM[\"PDO_Survey_");
     add_srs_wkt (p, 1,
-        "CS[\"Belge 1950 (Brussels)\",DATUM[\"Reseau_National_Bel");
+        "Datum_1993\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,");
     add_srs_wkt (p, 2,
-        "ge_1950_Brussels\",SPHEROID[\"International 1924\",63783");
+        "293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-180.624,-");
     add_srs_wkt (p, 3,
-        "88,297,AUTHORITY[\"EPSG\",\"7022\"]],AUTHORITY[\"EPSG\",");
+        "225.516,173.919,-0.81,-1.898,8.336,16.71006],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"6809\"]],PRIMEM[\"Brussels\",4.367975,AUTHORITY[\"EPSG");
+        "EPSG\",\"6134\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "\",\"8910\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4809\"]],PRO");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "JECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"sta");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4134\"]],VERT_CS[");
     add_srs_wkt (p, 8,
-        "ndard_parallel_1\",49.83333333333334],PARAMETER[\"standa");
+        "\"PHD93 height\",VERT_DATUM[\"PDO Height Datum 1993\",20");
     add_srs_wkt (p, 9,
-        "rd_parallel_2\",51.16666666666666],PARAMETER[\"latitude_");
+        "05,AUTHORITY[\"EPSG\",\"5123\"]],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 10,
-        "of_origin\",90],PARAMETER[\"central_meridian\",0],PARAME");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",150000],PARAMETER[\"false_northing");
-    add_srs_wkt (p, 12,
-        "\",5400000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
-    add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 14,
-        ",\"21500\"]]");
-    p = add_epsg_def (filter, first, last, 21780, "epsg", 21780,
-        "Bern 1898 (Bern) / LV03C");
+        "\",\"5724\"]],AUTHORITY[\"EPSG\",\"7410\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7411, "epsg", 7411,
+        "NTF (Paris) / Lambert zone II", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=somerc +lat_0=46.95240555555556 +lon_0=0 +k_0=1 +x");
+        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
     add_proj4text (p, 1,
-        "_0=0 +y_0=0 +ellps=bessel +towgs84=674.4,15.1,405.3,0,0,");
+        "42 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +tow");
     add_proj4text (p, 2,
-        "0,0 +pm=bern +units=m +no_defs");
+        "gs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bern 1898 (Bern) / LV03C\",GEOGCS[\"Bern 1898 (");
+        "COMPD_CS[\"NTF (Paris) / Lambert zone II + NGF Lallemand");
     add_srs_wkt (p, 1,
-        "Bern)\",DATUM[\"CH1903_Bern\",SPHEROID[\"Bessel 1841\",6");
+        " height\",PROJCS[\"NTF (Paris) / Lambert zone II\",GEOGC");
     add_srs_wkt (p, 2,
-        "377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOW");
+        "S[\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francai");
     add_srs_wkt (p, 3,
-        "GS84[674.4,15.1,405.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6801");
+        "se_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Bern\",7.439583333333333,AUTHORITY[\"EPSG\"");
+        "4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168");
     add_srs_wkt (p, 5,
-        ",\"8907\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        ",-60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4801\"]],PROJE");
+        "Paris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"");
     add_srs_wkt (p, 7,
-        "CTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"],PARAME");
+        "grad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]]");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_center\",46.95240555555556],PARAMETER[");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 9,
-        "\"longitude_of_center\",0],PARAMETER[\"azimuth\",90],PAR");
+        "RITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_");
     add_srs_wkt (p, 10,
-        "AMETER[\"rectified_grid_angle\",90],PARAMETER[\"scale_fa");
+        "Conic_1SP\"],PARAMETER[\"latitude_of_origin\",52],PARAME");
     add_srs_wkt (p, 11,
-        "ctor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"fal");
+        "TER[\"central_meridian\",0],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 12,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        ".99987742],PARAMETER[\"false_easting\",600000],PARAMETER");
     add_srs_wkt (p, 13,
-        "001\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"E");
+        "[\"false_northing\",2200000],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 14,
-        "PSG\",\"21780\"]]");
-    p = add_epsg_def (filter, first, last, 21781, "epsg", 21781,
-        "CH1903 / LV03");
-    add_proj4text (p, 0,
-        "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333");
-    add_proj4text (p, 1,
-        "333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +tow");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"27572\"]],VERT_CS[\"NGF Lallemand he");
+    add_srs_wkt (p, 16,
+        "ight\",VERT_DATUM[\"Nivellement General de la France - L");
+    add_srs_wkt (p, 17,
+        "allemand\",2005,AUTHORITY[\"EPSG\",\"5118\"]],UNIT[\"met");
+    add_srs_wkt (p, 18,
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUT");
+    add_srs_wkt (p, 19,
+        "HORITY[\"EPSG\",\"5719\"]],AUTHORITY[\"EPSG\",\"7411\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7412, "epsg", 7412,
+        "NTF (Paris) / Lambert zone II", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
+    add_proj4text (p, 1,
+        "42 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +tow");
     add_proj4text (p, 2,
-        "gs84=674.4,15.1,405.3,0,0,0,0 +units=m +no_defs");
+        "gs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"CH1903 / LV03\",GEOGCS[\"CH1903\",DATUM[\"CH190");
+        "COMPD_CS[\"NTF (Paris) / Lambert zone II + NGF IGN69\",P");
     add_srs_wkt (p, 1,
-        "3\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUT");
+        "ROJCS[\"NTF (Paris) / Lambert zone II\",GEOGCS[\"NTF (Pa");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7004\"]],TOWGS84[674.4,15.1,405.3,0,0,");
+        "ris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\",");
     add_srs_wkt (p, 3,
-        "0,0],AUTHORITY[\"EPSG\",\"6149\"]],PRIMEM[\"Greenwich\",");
+        "SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129362");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "69,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2.");
     add_srs_wkt (p, 6,
-        "G\",\"4149\"]],PROJECTION[\"Hotine_Oblique_Mercator_Azim");
+        "33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.0");
     add_srs_wkt (p, 7,
-        "uth_Center\"],PARAMETER[\"latitude_of_center\",46.952405");
+        "1570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"La");
     add_srs_wkt (p, 8,
-        "55555556],PARAMETER[\"longitude_of_center\",7.4395833333");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 9,
-        "33333],PARAMETER[\"azimuth\",90],PARAMETER[\"rectified_g");
+        "G\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"");
     add_srs_wkt (p, 10,
-        "rid_angle\",90],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "],PARAMETER[\"latitude_of_origin\",52],PARAMETER[\"centr");
     add_srs_wkt (p, 11,
-        "\"false_easting\",600000],PARAMETER[\"false_northing\",2");
+        "al_meridian\",0],PARAMETER[\"scale_factor\",0.99987742],");
     add_srs_wkt (p, 12,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "PARAMETER[\"false_easting\",600000],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"EPSG\",\"21");
+        "rthing\",2200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "781\"]]");
-    p = add_epsg_def (filter, first, last, 21782, "epsg", 21782,
-        "CH1903 / LV03C-G");
-    add_proj4text (p, 0,
-        "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333");
-    add_proj4text (p, 1,
-        "333333 +k_0=1 +x_0=0 +y_0=0 +ellps=bessel +towgs84=674.4");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"27572\"]],VERT_CS[\"NGF Lallemand height\",VERT");
+    add_srs_wkt (p, 16,
+        "_DATUM[\"Nivellement General de la France - Lallemand\",");
+    add_srs_wkt (p, 17,
+        "2005,AUTHORITY[\"EPSG\",\"5118\"]],UNIT[\"metre\",1,AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EP");
+    add_srs_wkt (p, 19,
+        "SG\",\"5719\"]],AUTHORITY[\"EPSG\",\"7412\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7413, "epsg", 7413,
+        "NTF (Paris) / Lambert zone III", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
+    add_proj4text (p, 1,
+        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +");
     add_proj4text (p, 2,
-        ",15.1,405.3,0,0,0,0 +units=m +no_defs");
+        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
+    add_proj4text (p, 3,
+        "=paris +units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"CH1903 / LV03C-G\",GEOGCS[\"CH1903\",DATUM[\"CH");
+        "COMPD_CS[\"NTF (Paris) / Lambert zone III + NGF IGN69\",");
     add_srs_wkt (p, 1,
-        "1903\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,");
+        "PROJCS[\"NTF (Paris) / Lambert zone III\",GEOGCS[\"NTF (");
     add_srs_wkt (p, 2,
-        "AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[674.4,15.1,405.3,0");
+        "Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\"");
     add_srs_wkt (p, 3,
-        ",0,0,0],AUTHORITY[\"EPSG\",\"6149\"]],PRIMEM[\"Greenwich");
+        ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4149\"]],PROJECTION[\"Hotine_Oblique_Mercator_A");
+        ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.");
     add_srs_wkt (p, 7,
-        "zimuth_Center\"],PARAMETER[\"latitude_of_center\",46.952");
+        "01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"L");
     add_srs_wkt (p, 8,
-        "40555555556],PARAMETER[\"longitude_of_center\",7.4395833");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 9,
-        "33333333],PARAMETER[\"azimuth\",90],PARAMETER[\"rectifie");
+        "SG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP");
     add_srs_wkt (p, 10,
-        "d_grid_angle\",90],PARAMETER[\"scale_factor\",1],PARAMET");
+        "\"],PARAMETER[\"latitude_of_origin\",49],PARAMETER[\"cen");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
+        "tral_meridian\",0],PARAMETER[\"scale_factor\",0.99987749");
     add_srs_wkt (p, 12,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
+        "9],PARAMETER[\"false_easting\",600000],PARAMETER[\"false");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"EPSG\",\"21782\"]]");
-    p = add_epsg_def (filter, first, last, 21817, "epsg", 21817,
-        "Bogota 1975 / UTM zone 17N (deprecated)");
+        "_northing\",3200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"27573\"]],VERT_CS[\"NGF Lallemand height\",V");
+    add_srs_wkt (p, 16,
+        "ERT_DATUM[\"Nivellement General de la France - Lallemand");
+    add_srs_wkt (p, 17,
+        "\",2005,AUTHORITY[\"EPSG\",\"5118\"]],UNIT[\"metre\",1,A");
+    add_srs_wkt (p, 18,
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"");
+    add_srs_wkt (p, 19,
+        "EPSG\",\"5719\"]],AUTHORITY[\"EPSG\",\"7413\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7414, "epsg", 7414,
+        "Tokyo", 1, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +ellps=intl +towgs84=307,304,-318,0,0");
+        "+proj=longlat +ellps=bessel +towgs84=-146.414,507.337,68");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "0.507,0,0,0,0 +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bogota 1975 / UTM zone 17N (deprecated)\",GEOGC");
+        "COMPD_CS[\"Tokyo + JSLD69 height\",GEOGCS[\"Tokyo\",DATU");
     add_srs_wkt (p, 1,
-        "S[\"Bogota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"Inter");
+        "M[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377397.155,299.152");
     add_srs_wkt (p, 2,
-        "national 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]");
+        "8128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-146.414,507.");
     add_srs_wkt (p, 3,
-        "],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"621");
+        "337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"6301\"]],PRIME");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"T");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "RITY[\"EPSG\",\"4301\"]],VERT_CS[\"JSLD69 height\",VERT_");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_");
+        "DATUM[\"Japanese Standard Levelling Datum 1969\",2005,AU");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "THORITY[\"EPSG\",\"5122\"]],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
-    add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"21817\"]]");
-    p = add_epsg_def (filter, first, last, 21818, "epsg", 21818,
-        "Bogota 1975 / UTM zone 18N");
+        "723\"]],AUTHORITY[\"EPSG\",\"7414\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7415, "epsg", 7415,
+        "Amersfoort / RD New", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Amersfoort", "Oblique_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +ellps=intl +towgs84=307,304,-318,0,0");
+        "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.387638888");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "88889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel");
+    add_proj4text (p, 2,
+        " +towgs84=565.4171,50.3319,465.5524,-0.398957388243134,0");
+    add_proj4text (p, 3,
+        ".343987817378283,-1.87740163998045,4.0725 +units=m +vuni");
+    add_proj4text (p, 4,
+        "ts=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bogota 1975 / UTM zone 18N\",GEOGCS[\"Bogota 19");
+        "COMPD_CS[\"Amersfoort / RD New + NAP height\",PROJCS[\"A");
     add_srs_wkt (p, 1,
-        "75\",DATUM[\"Bogota_1975\",SPHEROID[\"International 1924");
+        "mersfoort / RD New\",GEOGCS[\"Amersfoort\",DATUM[\"Amers");
     add_srs_wkt (p, 2,
-        "\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[307");
+        "foort\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128");
     add_srs_wkt (p, 3,
-        ",304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"6218\"]],PRIMEM[");
+        ",AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.4171,50.3319,");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "465.5524,-0.398957388243134,0.343987817378283,-1.8774016");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "3998045,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],PRIMEM[\"G");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"Transverse_Mer");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 8,
-        "central_meridian\",-75],PARAMETER[\"scale_factor\",0.999");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "\"EPSG\",\"4289\"]],PROJECTION[\"Oblique_Stereographic\"");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "],PARAMETER[\"latitude_of_origin\",52.15616055555555],PA");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "RAMETER[\"central_meridian\",5.38763888888889],PARAMETER");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"21818\"]]");
-    p = add_epsg_def (filter, first, last, 21891, "epsg", 21891,
-        "Bogota 1975 / Colombia West zone (deprecated)");
+        "[\"scale_factor\",0.9999079],PARAMETER[\"false_easting\"");
+    add_srs_wkt (p, 13,
+        ",155000],PARAMETER[\"false_northing\",463000],UNIT[\"met");
+    add_srs_wkt (p, 14,
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 15,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28992\"]],VERT_CS[\"");
+    add_srs_wkt (p, 16,
+        "NAP height\",VERT_DATUM[\"Normaal Amsterdams Peil\",2005");
+    add_srs_wkt (p, 17,
+        ",AUTHORITY[\"EPSG\",\"5109\"]],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 18,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 19,
+        ",\"5709\"]],AUTHORITY[\"EPSG\",\"7415\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7416, "epsg", 7416,
+        "ETRS89 / UTM zone 32N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666");
+        "+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
-    add_proj4text (p, 2,
-        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bogota 1975 / Colombia West zone (deprecated)\"");
+        "COMPD_CS[\"ETRS89 / UTM zone 32N + DVR90 height\",PROJCS");
     add_srs_wkt (p, 1,
-        ",GEOGCS[\"Bogota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"");
+        "[\"ETRS89 / UTM zone 32N\",GEOGCS[\"ETRS89\",DATUM[\"Eur");
     add_srs_wkt (p, 2,
-        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
+        "opean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS");
     add_srs_wkt (p, 3,
-        "22\"]],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",");
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        "\"6218\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTIO");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "n\",4.599047222222222],PARAMETER[\"central_meridian\",-7");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "7.08091666666667],PARAMETER[\"scale_factor\",1],PARAMETE");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",1000000],PARAMETER[\"false_northing\"");
+        "\"central_meridian\",9],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 11,
-        ",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "21891\"]]");
-    p = add_epsg_def (filter, first, last, 21892, "epsg", 21892,
-        "Bogota 1975 / Colombia Bogota zone (deprecated)");
+        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+    add_srs_wkt (p, 14,
+        "THORITY[\"EPSG\",\"25832\"]],VERT_CS[\"DVR90 height\",VE");
+    add_srs_wkt (p, 15,
+        "RT_DATUM[\"Dansk Vertikal Reference 1990\",2005,AUTHORIT");
+    add_srs_wkt (p, 16,
+        "Y[\"EPSG\",\"5206\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5799\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"7416\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7417, "epsg", 7417,
+        "ETRS89 / UTM zone 33N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666");
+        "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
-    add_proj4text (p, 2,
-        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
+        "units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bogota 1975 / Colombia Bogota zone (deprecated)");
+        "COMPD_CS[\"ETRS89 / UTM zone 33N + DVR90 height\",PROJCS");
     add_srs_wkt (p, 1,
-        "\",GEOGCS[\"Bogota 1975\",DATUM[\"Bogota_1975\",SPHEROID");
+        "[\"ETRS89 / UTM zone 33N\",GEOGCS[\"ETRS89\",DATUM[\"Eur");
     add_srs_wkt (p, 2,
-        "[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"");
+        "opean_Terrestrial_Reference_System_1989\",SPHEROID[\"GRS");
     add_srs_wkt (p, 3,
-        "7022\"]],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\"");
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 4,
-        ",\"6218\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"]],");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTI");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "in\",4.599047222222222],PARAMETER[\"central_meridian\",-");
+        "AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "74.08091666666667],PARAMETER[\"scale_factor\",1],PARAMET");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",1000000],PARAMETER[\"false_northing");
+        "\"central_meridian\",15],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 11,
-        "\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        ",\"21892\"]]");
-    p = add_epsg_def (filter, first, last, 21893, "epsg", 21893,
-        "Bogota 1975 / Colombia East Central zone (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666");
-    add_proj4text (p, 1,
-        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"25833\"]],VERT_CS[\"DVR90 height\",V");
+    add_srs_wkt (p, 15,
+        "ERT_DATUM[\"Dansk Vertikal Reference 1990\",2005,AUTHORI");
+    add_srs_wkt (p, 16,
+        "TY[\"EPSG\",\"5206\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 17,
+        "\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5799\"");
+    add_srs_wkt (p, 18,
+        "]],AUTHORITY[\"EPSG\",\"7417\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7418, "epsg", 7418,
+        "ETRS89 / Kp2000 Jutland", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.99995 +x_0=200000 +");
+    add_proj4text (p, 1,
+        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vuni");
     add_proj4text (p, 2,
-        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
+        "ts=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bogota 1975 / Colombia East Central zone (depre");
+        "COMPD_CS[\"ETRS89 / Kp2000 Jutland + DVR90 height\",PROJ");
     add_srs_wkt (p, 1,
-        "cated)\",GEOGCS[\"Bogota 1975\",DATUM[\"Bogota_1975\",SP");
+        "CS[\"ETRS89 / Kp2000 Jutland\",GEOGCS[\"ETRS89\",DATUM[\"");
     add_srs_wkt (p, 2,
-        "HEROID[\"International 1924\",6378388,297,AUTHORITY[\"EP");
+        "European_Terrestrial_Reference_System_1989\",SPHEROID[\"");
     add_srs_wkt (p, 3,
-        "SG\",\"7022\"]],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[");
+        "GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6218\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "19\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4218\"]],");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 8,
-        "_of_origin\",4.599047222222222],PARAMETER[\"central_meri");
+        "T],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 9,
-        "dian\",-71.08091666666667],PARAMETER[\"scale_factor\",1]");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",1000000],PARAMETER[\"false_");
+        "ER[\"central_meridian\",9.5],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 11,
-        "northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "0.99995],PARAMETER[\"false_easting\",200000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"21893\"]]");
-    p = add_epsg_def (filter, first, last, 21894, "epsg", 21894,
-        "Bogota 1975 / Colombia East (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666");
-    add_proj4text (p, 1,
-        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"2196\"]],VERT_CS[\"DVR90 height\"");
+    add_srs_wkt (p, 15,
+        ",VERT_DATUM[\"Dansk Vertikal Reference 1990\",2005,AUTHO");
+    add_srs_wkt (p, 16,
+        "RITY[\"EPSG\",\"5206\"]],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 17,
+        "SG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"579");
+    add_srs_wkt (p, 18,
+        "9\"]],AUTHORITY[\"EPSG\",\"7418\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7419, "epsg", 7419,
+        "ETRS89 / Kp2000 Zealand", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.99995 +x_0=500000 +y");
+    add_proj4text (p, 1,
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunit");
     add_proj4text (p, 2,
-        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bogota 1975 / Colombia East (deprecated)\",GEOG");
+        "COMPD_CS[\"ETRS89 / Kp2000 Zealand + DVR90 height\",PROJ");
     add_srs_wkt (p, 1,
-        "CS[\"Bogota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"Inte");
+        "CS[\"ETRS89 / Kp2000 Zealand\",GEOGCS[\"ETRS89\",DATUM[\"");
     add_srs_wkt (p, 2,
-        "rnational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "European_Terrestrial_Reference_System_1989\",SPHEROID[\"");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
+        "GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 4,
-        "18\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "19\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6258\"");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"T");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 8,
-        ".599047222222222],PARAMETER[\"central_meridian\",-68.080");
+        "T],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 9,
-        "91666666667],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 10,
-        "alse_easting\",1000000],PARAMETER[\"false_northing\",100");
+        "ER[\"central_meridian\",12],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 11,
-        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        ".99995],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"218");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "94\"]]");
-    p = add_epsg_def (filter, first, last, 21896, "epsg", 21896,
-        "Bogota 1975 / Colombia West zone");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666");
-    add_proj4text (p, 1,
-        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"2197\"]],VERT_CS[\"DVR90 height\"");
+    add_srs_wkt (p, 15,
+        ",VERT_DATUM[\"Dansk Vertikal Reference 1990\",2005,AUTHO");
+    add_srs_wkt (p, 16,
+        "RITY[\"EPSG\",\"5206\"]],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 17,
+        "SG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"579");
+    add_srs_wkt (p, 18,
+        "9\"]],AUTHORITY[\"EPSG\",\"7419\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7420, "epsg", 7420,
+        "ETRS89 / Kp2000 Bornholm", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=900000 +y_0=0 +");
+    add_proj4text (p, 1,
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +n");
     add_proj4text (p, 2,
-        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bogota 1975 / Colombia West zone\",GEOGCS[\"Bog");
+        "COMPD_CS[\"ETRS89 / Kp2000 Bornholm + DVR90 height\",PRO");
     add_srs_wkt (p, 1,
-        "ota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"Internationa");
+        "JCS[\"ETRS89 / Kp2000 Bornholm\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 2,
-        "l 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 3,
-        "84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"6218\"]],P");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"Transver");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",4.599047");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 8,
-        "222222222],PARAMETER[\"central_meridian\",-77.0809166666");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 9,
-        "6667],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_ea");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 10,
-        "sting\",1000000],PARAMETER[\"false_northing\",1000000],U");
+        "METER[\"central_meridian\",15],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[");
+        ",1],PARAMETER[\"false_easting\",900000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"21896\"]]");
-    p = add_epsg_def (filter, first, last, 21897, "epsg", 21897,
-        "Bogota 1975 / Colombia Bogota zone");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666");
-    add_proj4text (p, 1,
-        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 13,
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"2198\"]],VERT_CS[\"DVR90 height\",VE");
+    add_srs_wkt (p, 15,
+        "RT_DATUM[\"Dansk Vertikal Reference 1990\",2005,AUTHORIT");
+    add_srs_wkt (p, 16,
+        "Y[\"EPSG\",\"5206\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 17,
+        ",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5799\"]");
+    add_srs_wkt (p, 18,
+        "],AUTHORITY[\"EPSG\",\"7420\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7421, "epsg", 7421,
+        "NTF (Paris) / Lambert zone II", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
+    add_proj4text (p, 1,
+        "42 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +tow");
     add_proj4text (p, 2,
-        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
+        "gs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bogota 1975 / Colombia Bogota zone\",GEOGCS[\"B");
+        "COMPD_CS[\"NTF (Paris) / Lambert zone II + NGF-IGN69 hei");
     add_srs_wkt (p, 1,
-        "ogota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"Internatio");
+        "ght\",PROJCS[\"NTF (Paris) / Lambert zone II\",GEOGCS[\"");
     add_srs_wkt (p, 2,
-        "nal 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOW");
+        "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P");
     add_srs_wkt (p, 3,
-        "GS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"6218\"]]");
+        "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660");
     add_srs_wkt (p, 4,
-        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
+        "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60");
     add_srs_wkt (p, 5,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par");
     add_srs_wkt (p, 6,
-        "22\"]],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"Transv");
+        "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra");
     add_srs_wkt (p, 7,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",4.5990");
+        "d\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AX");
     add_srs_wkt (p, 8,
-        "47222222222],PARAMETER[\"central_meridian\",-74.08091666");
+        "IS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORIT");
     add_srs_wkt (p, 9,
-        "666667],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
+        "Y[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Con");
     add_srs_wkt (p, 10,
-        "easting\",1000000],PARAMETER[\"false_northing\",1000000]");
+        "ic_1SP\"],PARAMETER[\"latitude_of_origin\",52],PARAMETER");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORIT");
+        "[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"21897\"]]");
-    p = add_epsg_def (filter, first, last, 21898, "epsg", 21898,
-        "Bogota 1975 / Colombia East Central zone");
-    add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666");
-    add_proj4text (p, 1,
-        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
+        "987742],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+    add_srs_wkt (p, 13,
+        "false_northing\",2200000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 14,
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 15,
+        "ORITY[\"EPSG\",\"27572\"]],VERT_CS[\"NGF-IGN69 height\",");
+    add_srs_wkt (p, 16,
+        "VERT_DATUM[\"Nivellement General de la France - IGN69\",");
+    add_srs_wkt (p, 17,
+        "2005,AUTHORITY[\"EPSG\",\"5119\"]],UNIT[\"metre\",1,AUTH");
+    add_srs_wkt (p, 18,
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EP");
+    add_srs_wkt (p, 19,
+        "SG\",\"5720\"]],AUTHORITY[\"EPSG\",\"7421\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7422, "epsg", 7422,
+        "NTF (Paris) / Lambert zone III", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
+    add_proj4text (p, 1,
+        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +");
     add_proj4text (p, 2,
-        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
+        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
+    add_proj4text (p, 3,
+        "=paris +units=m +vunits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bogota 1975 / Colombia East Central zone\",GEOG");
+        "COMPD_CS[\"NTF (Paris) / Lambert zone III + NGF-IGN69 he");
     add_srs_wkt (p, 1,
-        "CS[\"Bogota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"Inte");
+        "ight\",PROJCS[\"NTF (Paris) / Lambert zone III\",GEOGCS[");
     add_srs_wkt (p, 2,
-        "rnational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
+        "_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46");
     add_srs_wkt (p, 4,
-        "18\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "60212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"P");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"T");
+        "aris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"g");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
+        "rad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],");
     add_srs_wkt (p, 8,
-        ".599047222222222],PARAMETER[\"central_meridian\",-71.080");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 9,
-        "91666666667],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
+        "ITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 10,
-        "alse_easting\",1000000],PARAMETER[\"false_northing\",100");
+        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",49],PARAMET");
     add_srs_wkt (p, 11,
-        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUT");
+        "ER[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"21898\"]]");
-    p = add_epsg_def (filter, first, last, 21899, "epsg", 21899,
-        "Bogota 1975 / Colombia East");
+        "999877499],PARAMETER[\"false_easting\",600000],PARAMETER");
+    add_srs_wkt (p, 13,
+        "[\"false_northing\",3200000],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"27573\"]],VERT_CS[\"NGF-IGN69 height");
+    add_srs_wkt (p, 16,
+        "\",VERT_DATUM[\"Nivellement General de la France - IGN69");
+    add_srs_wkt (p, 17,
+        "\",2005,AUTHORITY[\"EPSG\",\"5119\"]],UNIT[\"metre\",1,A");
+    add_srs_wkt (p, 18,
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"");
+    add_srs_wkt (p, 19,
+        "EPSG\",\"5720\"]],AUTHORITY[\"EPSG\",\"7422\"]]");
+    p = add_epsg_def_ex (filter, first, last, 7423, "epsg", 7423,
+        "ETRS89", 1, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666");
+        "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunit");
     add_proj4text (p, 1,
-        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
-    add_proj4text (p, 2,
-        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Bogota 1975 / Colombia East\",GEOGCS[\"Bogota 1");
+        "COMPD_CS[\"ETRS89 + EVRF2007 height\",GEOGCS[\"ETRS89\",");
     add_srs_wkt (p, 1,
-        "975\",DATUM[\"Bogota_1975\",SPHEROID[\"International 192");
+        "DATUM[\"European_Terrestrial_Reference_System_1989\",SPH");
     add_srs_wkt (p, 2,
-        "4\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[30");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "7,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"6218\"]],PRIMEM");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        ",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"Transverse_Me");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",4.59904722222");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],VERT_CS[\"EVRF");
     add_srs_wkt (p, 8,
-        "2222],PARAMETER[\"central_meridian\",-68.08091666666667]");
+        "2007 height\",VERT_DATUM[\"European Vertical Reference F");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "rame 2007\",2005,AUTHORITY[\"EPSG\",\"5215\"]],UNIT[\"me");
     add_srs_wkt (p, 10,
-        "\",1000000],PARAMETER[\"false_northing\",1000000],UNIT[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AU");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "THORITY[\"EPSG\",\"5621\"]],AUTHORITY[\"EPSG\",\"7423\"]");
     add_srs_wkt (p, 12,
-        "\",\"21899\"]]");
-    p = add_epsg_def (filter, first, last, 22032, "epsg", 22032,
-        "Camacupa / UTM zone 32S");
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 20004, "epsg", 20004,
+        "Pulkovo 1995 / Gauss-Kruger zone 4", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +south +ellps=clrk80 +towgs84=-50.9,-");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "347.6,-231,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Camacupa / UTM zone 32S\",GEOGCS[\"Camacupa\",D");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 4\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "ATUM[\"Camacupa\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
+        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-50.9");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        ",-347.6,-231,0,0,0,0],AUTHORITY[\"EPSG\",\"6220\"]],PRIM");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4220\"]],PROJECTION[\"Transverse_");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",9],PARAMETER[\"scale_factor\",0.9");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "n\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "ale_factor\",1],PARAMETER[\"false_easting\",4500000],PAR");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"22032\"]]");
-    p = add_epsg_def (filter, first, last, 22033, "epsg", 22033,
-        "Camacupa / UTM zone 33S");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"20004\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20005, "epsg", 20005,
+        "Pulkovo 1995 / Gauss-Kruger zone 5", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +south +ellps=clrk80 +towgs84=-50.9,-");
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "347.6,-231,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Camacupa / UTM zone 33S\",GEOGCS[\"Camacupa\",D");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 5\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "ATUM[\"Camacupa\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
+        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-50.9");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        ",-347.6,-231,0,0,0,0],AUTHORITY[\"EPSG\",\"6220\"]],PRIM");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4220\"]],PROJECTION[\"Transverse_");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",15],PARAMETER[\"scale_factor\",0.");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "n\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "ale_factor\",1],PARAMETER[\"false_easting\",5500000],PAR");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"22033\"]]");
-    p = add_epsg_def (filter, first, last, 22091, "epsg", 22091,
-        "Camacupa / TM 11.30 SE");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"20005\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20006, "epsg", 20006,
+        "Pulkovo 1995 / Gauss-Kruger zone 6", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.9996 +x_0=500000 +");
+        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "y_0=10000000 +ellps=clrk80 +towgs84=-50.9,-347.6,-231,0,");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        "0,0,0 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Camacupa / TM 11.30 SE\",GEOGCS[\"Camacupa\",DA");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 6\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "TUM[\"Camacupa\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.");
+        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        "145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-50.9,");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "-347.6,-231,0,0,0,0],AUTHORITY[\"EPSG\",\"6220\"]],PRIME");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4220\"]],PROJECTION[\"Transverse_M");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",11.5],PARAMETER[\"scale_factor\",0");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "n\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ale_factor\",1],PARAMETER[\"false_easting\",6500000],PAR");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"22091\"]]");
-    p = add_epsg_def (filter, first, last, 22092, "epsg", 22092,
-        "Camacupa / TM 12 SE");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"20006\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20007, "epsg", 20007,
+        "Pulkovo 1995 / Gauss-Kruger zone 7", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_");
+        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "0=10000000 +ellps=clrk80 +towgs84=-50.9,-347.6,-231,0,0,");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Camacupa / TM 12 SE\",GEOGCS[\"Camacupa\",DATUM");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 7\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "[\"Camacupa\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145");
+        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        ",293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-50.9,-34");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "7.6,-231,0,0,0,0],AUTHORITY[\"EPSG\",\"6220\"]],PRIMEM[\"");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4220\"]],PROJECTION[\"Transverse_Merca");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "entral_meridian\",12],PARAMETER[\"scale_factor\",0.9996]");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "n\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "ale_factor\",1],PARAMETER[\"false_easting\",7500000],PAR");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"22092\"]]");
-    p = add_epsg_def (filter, first, last, 22171, "epsg", 22171,
-        "POSGAR 98 / Argentina 1");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"20007\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20008, "epsg", 20008,
+        "Pulkovo 1995 / Gauss-Kruger zone 8", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 98 / Argentina 1\",GEOGCS[\"POSGAR 98\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 8\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
+        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"T");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "90],PARAMETER[\"central_meridian\",-72],PARAMETER[\"scal");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",1500000],PARAM");
+        "n\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ale_factor\",1],PARAMETER[\"false_easting\",8500000],PAR");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22171\"]]");
-    p = add_epsg_def (filter, first, last, 22172, "epsg", 22172,
-        "POSGAR 98 / Argentina 2");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"20008\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20009, "epsg", 20009,
+        "Pulkovo 1995 / Gauss-Kruger zone 9", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 98 / Argentina 2\",GEOGCS[\"POSGAR 98\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 9\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
+        "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
+        "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"T");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "90],PARAMETER[\"central_meridian\",-69],PARAMETER[\"scal");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",2500000],PARAM");
+        "n\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ale_factor\",1],PARAMETER[\"false_easting\",9500000],PAR");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22172\"]]");
-    p = add_epsg_def (filter, first, last, 22173, "epsg", 22173,
-        "POSGAR 98 / Argentina 3");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 12,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"20009\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20010, "epsg", 20010,
+        "Pulkovo 1995 / Gauss-Kruger zone 10", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0");
     add_proj4text (p, 1,
-        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
+    add_proj4text (p, 2,
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 98 / Argentina 3\",GEOGCS[\"POSGAR 98\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 10\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"T");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "90],PARAMETER[\"central_meridian\",-66],PARAMETER[\"scal");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",3500000],PARAM");
+        "in\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "cale_factor\",1],PARAMETER[\"false_easting\",10500000],P");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22173\"]]");
-    p = add_epsg_def (filter, first, last, 22174, "epsg", 22174,
-        "POSGAR 98 / Argentina 4");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 12,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20010\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20011, "epsg", 20011,
+        "Pulkovo 1995 / Gauss-Kruger zone 11", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0");
     add_proj4text (p, 1,
-        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
+    add_proj4text (p, 2,
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 98 / Argentina 4\",GEOGCS[\"POSGAR 98\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 11\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"T");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "90],PARAMETER[\"central_meridian\",-63],PARAMETER[\"scal");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",4500000],PARAM");
+        "in\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "cale_factor\",1],PARAMETER[\"false_easting\",11500000],P");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22174\"]]");
-    p = add_epsg_def (filter, first, last, 22175, "epsg", 22175,
-        "POSGAR 98 / Argentina 5");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 12,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20011\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20012, "epsg", 20012,
+        "Pulkovo 1995 / Gauss-Kruger zone 12", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0");
     add_proj4text (p, 1,
-        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
+    add_proj4text (p, 2,
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 98 / Argentina 5\",GEOGCS[\"POSGAR 98\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 12\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"T");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "90],PARAMETER[\"central_meridian\",-60],PARAMETER[\"scal");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",5500000],PARAM");
+        "in\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "cale_factor\",1],PARAMETER[\"false_easting\",12500000],P");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22175\"]]");
-    p = add_epsg_def (filter, first, last, 22176, "epsg", 22176,
-        "POSGAR 98 / Argentina 6");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 12,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20012\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20013, "epsg", 20013,
+        "Pulkovo 1995 / Gauss-Kruger zone 13", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
-        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
+    add_proj4text (p, 2,
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 98 / Argentina 6\",GEOGCS[\"POSGAR 98\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 13\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"T");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "90],PARAMETER[\"central_meridian\",-57],PARAMETER[\"scal");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",6500000],PARAM");
+        "in\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "cale_factor\",1],PARAMETER[\"false_easting\",13500000],P");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22176\"]]");
-    p = add_epsg_def (filter, first, last, 22177, "epsg", 22177,
-        "POSGAR 98 / Argentina 7");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 12,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20013\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20014, "epsg", 20014,
+        "Pulkovo 1995 / Gauss-Kruger zone 14", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0");
     add_proj4text (p, 1,
-        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
+    add_proj4text (p, 2,
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 98 / Argentina 7\",GEOGCS[\"POSGAR 98\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 14\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"T");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "90],PARAMETER[\"central_meridian\",-54],PARAMETER[\"scal");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",7500000],PARAM");
+        "in\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "cale_factor\",1],PARAMETER[\"false_easting\",14500000],P");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22177\"]]");
-    p = add_epsg_def (filter, first, last, 22181, "epsg", 22181,
-        "POSGAR 94 / Argentina 1");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 12,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20014\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20015, "epsg", 20015,
+        "Pulkovo 1995 / Gauss-Kruger zone 15", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0");
     add_proj4text (p, 1,
-        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
+    add_proj4text (p, 2,
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 94 / Argentina 1\",GEOGCS[\"POSGAR 94\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 15\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Tr");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-72],PARAMETER[\"scale");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",1500000],PARAME");
+        "in\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "cale_factor\",1],PARAMETER[\"false_easting\",15500000],P");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22181\"]]");
-    p = add_epsg_def (filter, first, last, 22182, "epsg", 22182,
-        "POSGAR 94 / Argentina 2");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 12,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20015\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20016, "epsg", 20016,
+        "Pulkovo 1995 / Gauss-Kruger zone 16", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0");
     add_proj4text (p, 1,
-        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
+    add_proj4text (p, 2,
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 94 / Argentina 2\",GEOGCS[\"POSGAR 94\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 16\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Tr");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-69],PARAMETER[\"scale");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",2500000],PARAME");
+        "in\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "cale_factor\",1],PARAMETER[\"false_easting\",16500000],P");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22182\"]]");
-    p = add_epsg_def (filter, first, last, 22183, "epsg", 22183,
-        "POSGAR 94 / Argentina 3");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 12,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20016\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20017, "epsg", 20017,
+        "Pulkovo 1995 / Gauss-Kruger zone 17", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0");
     add_proj4text (p, 1,
-        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
+    add_proj4text (p, 2,
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 94 / Argentina 3\",GEOGCS[\"POSGAR 94\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 17\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Tr");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-66],PARAMETER[\"scale");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",3500000],PARAME");
+        "in\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "cale_factor\",1],PARAMETER[\"false_easting\",17500000],P");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22183\"]]");
-    p = add_epsg_def (filter, first, last, 22184, "epsg", 22184,
-        "POSGAR 94 / Argentina 4");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 12,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20017\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20018, "epsg", 20018,
+        "Pulkovo 1995 / Gauss-Kruger zone 18", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
+    add_proj4text (p, 2,
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 94 / Argentina 4\",GEOGCS[\"POSGAR 94\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 18\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Tr");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"scale");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",4500000],PARAME");
+        "in\",0],PARAMETER[\"central_meridian\",105],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "scale_factor\",1],PARAMETER[\"false_easting\",18500000],");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22184\"]]");
-    p = add_epsg_def (filter, first, last, 22185, "epsg", 22185,
-        "POSGAR 94 / Argentina 5");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20018\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20019, "epsg", 20019,
+        "Pulkovo 1995 / Gauss-Kruger zone 19", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
+    add_proj4text (p, 2,
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 94 / Argentina 5\",GEOGCS[\"POSGAR 94\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 19\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Tr");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-60],PARAMETER[\"scale");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",5500000],PARAME");
+        "in\",0],PARAMETER[\"central_meridian\",111],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "scale_factor\",1],PARAMETER[\"false_easting\",19500000],");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22185\"]]");
-    p = add_epsg_def (filter, first, last, 22186, "epsg", 22186,
-        "POSGAR 94 / Argentina 6");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20019\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20020, "epsg", 20020,
+        "Pulkovo 1995 / Gauss-Kruger zone 20", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
+    add_proj4text (p, 2,
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 94 / Argentina 6\",GEOGCS[\"POSGAR 94\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 20\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Tr");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-57],PARAMETER[\"scale");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",6500000],PARAME");
+        "in\",0],PARAMETER[\"central_meridian\",117],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "scale_factor\",1],PARAMETER[\"false_easting\",20500000],");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22186\"]]");
-    p = add_epsg_def (filter, first, last, 22187, "epsg", 22187,
-        "POSGAR 94 / Argentina 7");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20020\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20021, "epsg", 20021,
+        "Pulkovo 1995 / Gauss-Kruger zone 21", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
+    add_proj4text (p, 2,
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"POSGAR 94 / Argentina 7\",GEOGCS[\"POSGAR 94\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 21\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Tr");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-9");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",-54],PARAMETER[\"scale");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "_factor\",1],PARAMETER[\"false_easting\",7500000],PARAME");
+        "in\",0],PARAMETER[\"central_meridian\",123],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "scale_factor\",1],PARAMETER[\"false_easting\",21500000],");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"22187\"]]");
-    p = add_epsg_def (filter, first, last, 22191, "epsg", 22191,
-        "Campo Inchauspe / Argentina 1");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20021\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20022, "epsg", 20022,
+        "Pulkovo 1995 / Gauss-Kruger zone 22", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Campo Inchauspe / Argentina 1\",GEOGCS[\"Campo ");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 22\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Tran");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90]");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-72],PARAMETER[\"scale_f");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",1500000],PARAMETE");
+        "in\",0],PARAMETER[\"central_meridian\",129],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "scale_factor\",1],PARAMETER[\"false_easting\",22500000],");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"22191\"]]");
-    p = add_epsg_def (filter, first, last, 22192, "epsg", 22192,
-        "Campo Inchauspe / Argentina 2");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20022\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20023, "epsg", 20023,
+        "Pulkovo 1995 / Gauss-Kruger zone 23", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Campo Inchauspe / Argentina 2\",GEOGCS[\"Campo ");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 23\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Tran");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90]");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_f");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",2500000],PARAMETE");
+        "in\",0],PARAMETER[\"central_meridian\",135],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "scale_factor\",1],PARAMETER[\"false_easting\",23500000],");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"22192\"]]");
-    p = add_epsg_def (filter, first, last, 22193, "epsg", 22193,
-        "Campo Inchauspe / Argentina 3");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20023\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20024, "epsg", 20024,
+        "Pulkovo 1995 / Gauss-Kruger zone 24", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Campo Inchauspe / Argentina 3\",GEOGCS[\"Campo ");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 24\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Tran");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90]");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-66],PARAMETER[\"scale_f");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",3500000],PARAMETE");
+        "in\",0],PARAMETER[\"central_meridian\",141],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "scale_factor\",1],PARAMETER[\"false_easting\",24500000],");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"22193\"]]");
-    p = add_epsg_def (filter, first, last, 22194, "epsg", 22194,
-        "Campo Inchauspe / Argentina 4");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20024\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20025, "epsg", 20025,
+        "Pulkovo 1995 / Gauss-Kruger zone 25", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Campo Inchauspe / Argentina 4\",GEOGCS[\"Campo ");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 25\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Tran");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90]");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_f");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",4500000],PARAMETE");
+        "in\",0],PARAMETER[\"central_meridian\",147],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "scale_factor\",1],PARAMETER[\"false_easting\",25500000],");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"22194\"]]");
-    p = add_epsg_def (filter, first, last, 22195, "epsg", 22195,
-        "Campo Inchauspe / Argentina 5");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20025\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20026, "epsg", 20026,
+        "Pulkovo 1995 / Gauss-Kruger zone 26", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Campo Inchauspe / Argentina 5\",GEOGCS[\"Campo ");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 26\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Tran");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90]");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-60],PARAMETER[\"scale_f");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",5500000],PARAMETE");
+        "in\",0],PARAMETER[\"central_meridian\",153],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "scale_factor\",1],PARAMETER[\"false_easting\",26500000],");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"22195\"]]");
-    p = add_epsg_def (filter, first, last, 22196, "epsg", 22196,
-        "Campo Inchauspe / Argentina 6");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20026\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20027, "epsg", 20027,
+        "Pulkovo 1995 / Gauss-Kruger zone 27", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Campo Inchauspe / Argentina 6\",GEOGCS[\"Campo ");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 27\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Tran");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90]");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_f");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",6500000],PARAMETE");
+        "in\",0],PARAMETER[\"central_meridian\",159],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "scale_factor\",1],PARAMETER[\"false_easting\",27500000],");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"22196\"]]");
-    p = add_epsg_def (filter, first, last, 22197, "epsg", 22197,
-        "Campo Inchauspe / Argentina 7");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20027\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20028, "epsg", 20028,
+        "Pulkovo 1995 / Gauss-Kruger zone 28", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0");
+        "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
     add_proj4text (p, 2,
-        "_defs");
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Campo Inchauspe / Argentina 7\",GEOGCS[\"Campo ");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 28\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Tran");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90]");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-54],PARAMETER[\"scale_f");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "actor\",1],PARAMETER[\"false_easting\",7500000],PARAMETE");
+        "in\",0],PARAMETER[\"central_meridian\",165],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "scale_factor\",1],PARAMETER[\"false_easting\",28500000],");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"22197\"]]");
-    p = add_epsg_def (filter, first, last, 22234, "epsg", 22234,
-        "Cape / UTM zone 34S");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 12,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20028\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20029, "epsg", 20029,
+        "Pulkovo 1995 / Gauss-Kruger zone 29", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.9663");
+        "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=");
     add_proj4text (p, 1,
-        "98753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
+    add_proj4text (p, 2,
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / UTM zone 34S\",GEOGCS[\"Cape\",DATUM[\"C");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 29\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ape\",SPHEROID[\"Clarke 1880 (Arc)\",6378249.145,293.466");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "3077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-29");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "2,0,0,0,0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenw");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4222\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_meridian\",21],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "in\",0],PARAMETER[\"central_meridian\",171],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "scale_factor\",1],PARAMETER[\"false_easting\",29500000],");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"22234\"]]");
-    p = add_epsg_def (filter, first, last, 22235, "epsg", 22235,
-        "Cape / UTM zone 35S");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20029\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20030, "epsg", 20030,
+        "Pulkovo 1995 / Gauss-Kruger zone 30", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.9663");
+        "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=");
     add_proj4text (p, 1,
-        "98753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0");
+    add_proj4text (p, 2,
+        ".22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / UTM zone 35S\",GEOGCS[\"Cape\",DATUM[\"C");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 30\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ape\",SPHEROID[\"Clarke 1880 (Arc)\",6378249.145,293.466");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "3077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-29");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "2,0,0,0,0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenw");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4222\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "_meridian\",27],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "in\",0],PARAMETER[\"central_meridian\",177],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "scale_factor\",1],PARAMETER[\"false_easting\",30500000],");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"22235\"]]");
-    p = add_epsg_def (filter, first, last, 22236, "epsg", 22236,
-        "Cape / UTM zone 36S (deprecated)");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20030\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20031, "epsg", 20031,
+        "Pulkovo 1995 / Gauss-Kruger zone 31", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.9663");
+        "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0");
     add_proj4text (p, 1,
-        "98753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-");
+    add_proj4text (p, 2,
+        "0.22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / UTM zone 36S (deprecated)\",GEOGCS[\"Cap");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 31\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "e\",DATUM[\"Cape\",SPHEROID[\"Clarke 1880 (Arc)\",637824");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "9.145,293.4663077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "-136,-108,-292,0,0,0,0],AUTHORITY[\"EPSG\",\"6222\"]],PR");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4222\"]],PROJECTION[\"Transverse");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",33],PARAMETER[\"scale_factor\",0");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "in\",0],PARAMETER[\"central_meridian\",-177],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "scale_factor\",1],PARAMETER[\"false_easting\",31500000],");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"22236\"]]");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20031\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_34.c b/src/srsinit/epsg_inlined_34.c
index acf6211..f6672ce 100644
--- a/src/srsinit/epsg_inlined_34.c
+++ b/src/srsinit/epsg_inlined_34.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3336 +54,3901 @@ initialize_epsg_34 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 22275, "epsg", 22275,
-        "Cape / Lo15");
+    p = add_epsg_def_ex (filter, first, last, 20032, "epsg", 20032,
+        "Pulkovo 1995 / Gauss-Kruger zone 32", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=0 +y_0=0 +axis=");
+        "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0");
     add_proj4text (p, 1,
-        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+        "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-");
     add_proj4text (p, 2,
-        "08,-292,0,0,0,0 +units=m +no_defs");
+        "0.22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / Lo15\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 32\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
+        "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
+        "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        ",\"4222\"]],PROJECTION[\"Transverse_Mercator_South_Orien");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "tated\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "central_meridian\",15],PARAMETER[\"scale_factor\",1],PAR");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "in\",0],PARAMETER[\"central_meridian\",-171],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "scale_factor\",1],PARAMETER[\"false_easting\",32500000],");
     add_srs_wkt (p, 11,
-        "\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22275");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22277, "epsg", 22277,
-        "Cape / Lo17");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"20032\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20064, "epsg", 20064,
+        "Pulkovo 1995 / Gauss-Kruger 4N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=17 +k=1 +x_0=0 +y_0=0 +axis=");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "08,-292,0,0,0,0 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / Lo17\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 4N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
+        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"4222\"]],PROJECTION[\"Transverse_Mercator_South_Orien");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "tated\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "central_meridian\",17],PARAMETER[\"scale_factor\",1],PAR");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",21],PARAME");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22277");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22279, "epsg", 22279,
-        "Cape / Lo19");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"20064\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20065, "epsg", 20065,
+        "Pulkovo 1995 / Gauss-Kruger 5N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=0 +y_0=0 +axis=");
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "08,-292,0,0,0,0 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / Lo19\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 5N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
+        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"4222\"]],PROJECTION[\"Transverse_Mercator_South_Orien");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "tated\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "central_meridian\",19],PARAMETER[\"scale_factor\",1],PAR");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",27],PARAME");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22279");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22281, "epsg", 22281,
-        "Cape / Lo21");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"20065\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20066, "epsg", 20066,
+        "Pulkovo 1995 / Gauss-Kruger 6N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=0 +y_0=0 +axis=");
+        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "08,-292,0,0,0,0 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / Lo21\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 6N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
+        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"4222\"]],PROJECTION[\"Transverse_Mercator_South_Orien");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "tated\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "central_meridian\",21],PARAMETER[\"scale_factor\",1],PAR");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",33],PARAME");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22281");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22283, "epsg", 22283,
-        "Cape / Lo23");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"20066\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20067, "epsg", 20067,
+        "Pulkovo 1995 / Gauss-Kruger 7N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=0 +y_0=0 +axis=");
+        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "08,-292,0,0,0,0 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / Lo23\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 7N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
+        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"4222\"]],PROJECTION[\"Transverse_Mercator_South_Orien");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "tated\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "central_meridian\",23],PARAMETER[\"scale_factor\",1],PAR");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",39],PARAME");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22283");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22285, "epsg", 22285,
-        "Cape / Lo25");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"20067\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20068, "epsg", 20068,
+        "Pulkovo 1995 / Gauss-Kruger 8N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=0 +y_0=0 +axis=");
+        "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "08,-292,0,0,0,0 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / Lo25\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 8N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
+        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"4222\"]],PROJECTION[\"Transverse_Mercator_South_Orien");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "tated\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "central_meridian\",25],PARAMETER[\"scale_factor\",1],PAR");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",45],PARAME");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22285");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22287, "epsg", 22287,
-        "Cape / Lo27");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"20068\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20069, "epsg", 20069,
+        "Pulkovo 1995 / Gauss-Kruger 9N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=0 +y_0=0 +axis=");
+        "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "08,-292,0,0,0,0 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / Lo27\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 9N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
+        "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
+        "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"4222\"]],PROJECTION[\"Transverse_Mercator_South_Orien");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "tated\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P");
     add_srs_wkt (p, 8,
-        "central_meridian\",27],PARAMETER[\"scale_factor\",1],PAR");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",51],PARAME");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000");
     add_srs_wkt (p, 11,
-        "\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22287");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22289, "epsg", 22289,
-        "Cape / Lo29");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "EAST],AUTHORITY[\"EPSG\",\"20069\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20070, "epsg", 20070,
+        "Pulkovo 1995 / Gauss-Kruger 10N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=0 +y_0=0 +axis=");
+        "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "08,-292,0,0,0,0 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / Lo29\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 10N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",\"4222\"]],PROJECTION[\"Transverse_Mercator_South_Orien");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "tated\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "central_meridian\",29],PARAMETER[\"scale_factor\",1],PAR");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",57],PARA");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22289");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22291, "epsg", 22291,
-        "Cape / Lo31");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"20070\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20071, "epsg", 20071,
+        "Pulkovo 1995 / Gauss-Kruger 11N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +axis=");
+        "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "08,-292,0,0,0,0 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / Lo31\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 11N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",\"4222\"]],PROJECTION[\"Transverse_Mercator_South_Orien");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "tated\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "central_meridian\",31],PARAMETER[\"scale_factor\",1],PAR");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",63],PARA");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22291");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22293, "epsg", 22293,
-        "Cape / Lo33");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"20071\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20072, "epsg", 20072,
+        "Pulkovo 1995 / Gauss-Kruger 12N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=0 +y_0=0 +axis=");
+        "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "08,-292,0,0,0,0 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Cape / Lo33\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 12N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",\"4222\"]],PROJECTION[\"Transverse_Mercator_South_Orien");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "tated\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "central_meridian\",33],PARAMETER[\"scale_factor\",1],PAR");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",69],PARA");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "\"Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22293");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22332, "epsg", 22332,
-        "Carthage / UTM zone 32N");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"20072\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20073, "epsg", 20073,
+        "Pulkovo 1995 / Gauss-Kruger 13N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +datum=carthage +units=m +no_defs");
+        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
+    add_proj4text (p, 1,
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Carthage / UTM zone 32N\",GEOGCS[\"Carthage\",D");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 13N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "ATUM[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        ".2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "84[-263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRI");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4223\"]],PROJECTION[\"Transverse_");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",9],PARAMETER[\"scale_factor\",0.9");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",75],PARA");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"22332\"]]");
-    p = add_epsg_def (filter, first, last, 22391, "epsg", 22391,
-        "Carthage / Nord Tunisie");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"20073\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20074, "epsg", 20074,
+        "Pulkovo 1995 / Gauss-Kruger 14N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=9.9 +k_0=0.99962554");
+        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "4 +x_0=500000 +y_0=300000 +datum=carthage +units=m +no_d");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "efs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Carthage / Nord Tunisie\",GEOGCS[\"Carthage\",D");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 14N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "ATUM[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        ".2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "84[-263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRI");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4223\"]],PROJECTION[\"Lambert_Con");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",36]");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",9.9],PARAMETER[\"scale_f");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "actor\",0.999625544],PARAMETER[\"false_easting\",500000]");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",81],PARA");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",300000],UNIT[\"metre\",1,A");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"22391\"]]");
-    p = add_epsg_def (filter, first, last, 22392, "epsg", 22392,
-        "Carthage / Sud Tunisie");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"20074\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20075, "epsg", 20075,
+        "Pulkovo 1995 / Gauss-Kruger 15N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=9.9 +k_0=0.9996");
+        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "25769 +x_0=500000 +y_0=300000 +datum=carthage +units=m +");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
     add_proj4text (p, 2,
-        "no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Carthage / Sud Tunisie\",GEOGCS[\"Carthage\",DA");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 15N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "TUM[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS8");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "4[-263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRIM");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4223\"]],PROJECTION[\"Lambert_Con");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "formal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",33.");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "3],PARAMETER[\"central_meridian\",9.9],PARAMETER[\"scale");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "_factor\",0.999625769],PARAMETER[\"false_easting\",50000");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",87],PARA");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",300000],UNIT[\"metre\",1");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"22392\"]]");
-    p = add_epsg_def (filter, first, last, 22521, "epsg", 22521,
-        "Corrego Alegre 1970-72 / UTM zone 21S");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AUTHORITY[\"EPSG\",\"20075\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20076, "epsg", 20076,
+        "Pulkovo 1995 / Gauss-Kruger 16N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +south +ellps=intl +towgs84=-206,172,");
+        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "-6,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Corrego Alegre 1970-72 / UTM zone 21S\",GEOGCS[");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 16N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre_1970_7");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "2\",SPHEROID[\"International 1924\",6378388,297,AUTHORIT");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7022\"]],TOWGS84[-206,172,-6,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4225");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-57]");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",93],PARA");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        ",\"22521\"]]");
-    p = add_epsg_def (filter, first, last, 22522, "epsg", 22522,
-        "Corrego Alegre 1970-72 / UTM zone 22S");
+        ",EAST],AUTHORITY[\"EPSG\",\"20076\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20077, "epsg", 20077,
+        "Pulkovo 1995 / Gauss-Kruger 17N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=intl +towgs84=-206,172,");
+        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "-6,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Corrego Alegre 1970-72 / UTM zone 22S\",GEOGCS[");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 17N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre_1970_7");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "2\",SPHEROID[\"International 1924\",6378388,297,AUTHORIT");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7022\"]],TOWGS84[-206,172,-6,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4225");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-51]");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",99],PARA");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        ",\"22522\"]]");
-    p = add_epsg_def (filter, first, last, 22523, "epsg", 22523,
-        "Corrego Alegre 1970-72 / UTM zone 23S");
+        ",EAST],AUTHORITY[\"EPSG\",\"20077\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20078, "epsg", 20078,
+        "Pulkovo 1995 / Gauss-Kruger 18N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +south +ellps=intl +towgs84=-206,172,");
+        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "-6,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Corrego Alegre 1970-72 / UTM zone 23S\",GEOGCS[");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 18N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre_1970_7");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "2\",SPHEROID[\"International 1924\",6378388,297,AUTHORIT");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7022\"]],TOWGS84[-206,172,-6,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4225");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-45]");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",105],PAR");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
     add_srs_wkt (p, 13,
-        ",\"22523\"]]");
-    p = add_epsg_def (filter, first, last, 22524, "epsg", 22524,
-        "Corrego Alegre 1970-72 / UTM zone 24S");
+        "\",EAST],AUTHORITY[\"EPSG\",\"20078\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20079, "epsg", 20079,
+        "Pulkovo 1995 / Gauss-Kruger 19N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +south +ellps=intl +towgs84=-206,172,");
+        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "-6,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Corrego Alegre 1970-72 / UTM zone 24S\",GEOGCS[");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 19N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre_1970_7");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "2\",SPHEROID[\"International 1924\",6378388,297,AUTHORIT");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7022\"]],TOWGS84[-206,172,-6,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4225");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-39]");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",111],PAR");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
     add_srs_wkt (p, 13,
-        ",\"22524\"]]");
-    p = add_epsg_def (filter, first, last, 22525, "epsg", 22525,
-        "Corrego Alegre 1970-72 / UTM zone 25S");
+        "\",EAST],AUTHORITY[\"EPSG\",\"20079\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20080, "epsg", 20080,
+        "Pulkovo 1995 / Gauss-Kruger 20N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=25 +south +ellps=intl +towgs84=-206,172,");
+        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "-6,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Corrego Alegre 1970-72 / UTM zone 25S\",GEOGCS[");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 20N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre_1970_7");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "2\",SPHEROID[\"International 1924\",6378388,297,AUTHORIT");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7022\"]],TOWGS84[-206,172,-6,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4225");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-33]");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",117],PAR");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
     add_srs_wkt (p, 13,
-        ",\"22525\"]]");
-    p = add_epsg_def (filter, first, last, 22700, "epsg", 22700,
-        "Deir ez Zor / Levant Zone");
+        "\",EAST],AUTHORITY[\"EPSG\",\"20080\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20081, "epsg", 20081,
+        "Pulkovo 1995 / Gauss-Kruger 21N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.");
+        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 ");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        "+towgs84=-190.421,8.532,238.69,0,0,0,0 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Deir ez Zor / Levant Zone\",GEOGCS[\"Deir ez Zo");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 21N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "r\",DATUM[\"Deir_ez_Zor\",SPHEROID[\"Clarke 1880 (IGN)\"");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        ",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-190.421,8.532,238.69,0,0,0,0],AUTHORITY[\"EP");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "SG\",\"6227\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4227\"]],PROJE");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latit");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",34.65],PARAMETER[\"central_meridian\",37");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ".35],PARAMETER[\"scale_factor\",0.9996256],PARAMETER[\"f");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",123],PAR");
     add_srs_wkt (p, 10,
-        "alse_easting\",300000],PARAMETER[\"false_northing\",3000");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22700");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 22770, "epsg", 22770,
-        "Deir ez Zor / Syria Lambert");
+        "\",EAST],AUTHORITY[\"EPSG\",\"20081\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20082, "epsg", 20082,
+        "Pulkovo 1995 / Gauss-Kruger 22N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.");
+        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 ");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        "+towgs84=-190.421,8.532,238.69,0,0,0,0 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Deir ez Zor / Syria Lambert\",GEOGCS[\"Deir ez ");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 22N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "Zor\",DATUM[\"Deir_ez_Zor\",SPHEROID[\"Clarke 1880 (IGN)");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-190.421,8.532,238.69,0,0,0,0],AUTHORITY[\"");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6227\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4227\"]],PR");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"la");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",34.65],PARAMETER[\"central_meridian\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",37.35],PARAMETER[\"scale_factor\",0.9996256],PARAMETER[");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",129],PAR");
     add_srs_wkt (p, 10,
-        "\"false_easting\",300000],PARAMETER[\"false_northing\",3");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
     add_srs_wkt (p, 13,
-        "770\"]]");
-    p = add_epsg_def (filter, first, last, 22780, "epsg", 22780,
-        "Deir ez Zor / Levant Stereographic");
+        "\",EAST],AUTHORITY[\"EPSG\",\"20082\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20083, "epsg", 20083,
+        "Pulkovo 1995 / Gauss-Kruger 23N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=sterea +lat_0=34.2 +lon_0=39.15 +k=0.9995341 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "0 +y_0=0 +a=6378249.2 +b=6356515 +towgs84=-190.421,8.532");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        ",238.69,0,0,0,0 +units=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Deir ez Zor / Levant Stereographic\",GEOGCS[\"D");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 23N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "eir ez Zor\",DATUM[\"Deir_ez_Zor\",SPHEROID[\"Clarke 188");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "0 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\"");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",\"7011\"]],TOWGS84[-190.421,8.532,238.69,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6227\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4227");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"l");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",34.2],PARAMETER[\"central_meridian\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ",39.15],PARAMETER[\"scale_factor\",0.9995341],PARAMETER[");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",135],PAR");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22780\"]]");
-    p = add_epsg_def (filter, first, last, 22832, "epsg", 22832,
-        "Douala / UTM zone 32N (deprecated)");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"20083\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20084, "epsg", 20084,
+        "Pulkovo 1995 / Gauss-Kruger 24N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_");
+        "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "defs");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Douala / UTM zone 32N (deprecated)\",GEOGCS[\"D");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 24N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "ouala\",DATUM[\"Douala\",SPHEROID[\"Clarke 1880 (IGN)\",");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6228\"]],PRIMEM[\"Greenwich\",0,A");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",\"4228\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "\",9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",141],PAR");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "22832\"]]");
-    p = add_epsg_def (filter, first, last, 22991, "epsg", 22991,
-        "Egypt 1907 / Blue Belt");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"20084\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20085, "epsg", 20085,
+        "Pulkovo 1995 / Gauss-Kruger 25N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=35 +k=1 +x_0=300000 +y_0=11");
+        "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "00000 +ellps=helmert +towgs84=-130,110,-13,0,0,0,0 +unit");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Egypt 1907 / Blue Belt\",GEOGCS[\"Egypt 1907\",");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 25N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "DATUM[\"Egypt_1907\",SPHEROID[\"Helmert 1906\",6378200,2");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "98.3,AUTHORITY[\"EPSG\",\"7020\"]],TOWGS84[-130,110,-13,");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "0,0,0,0],AUTHORITY[\"EPSG\",\"6229\"]],PRIMEM[\"Greenwic");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4229\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",30],PARAMETER[\"central_m");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "eridian\",35],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "false_easting\",300000],PARAMETER[\"false_northing\",110");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",147],PAR");
     add_srs_wkt (p, 10,
-        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "EPSG\",\"22991\"]]");
-    p = add_epsg_def (filter, first, last, 22992, "epsg", 22992,
-        "Egypt 1907 / Red Belt");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"20085\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20086, "epsg", 20086,
+        "Pulkovo 1995 / Gauss-Kruger 26N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=81");
+        "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "0000 +ellps=helmert +towgs84=-130,110,-13,0,0,0,0 +units");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Egypt 1907 / Red Belt\",GEOGCS[\"Egypt 1907\",D");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 26N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "ATUM[\"Egypt_1907\",SPHEROID[\"Helmert 1906\",6378200,29");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "8.3,AUTHORITY[\"EPSG\",\"7020\"]],TOWGS84[-130,110,-13,0");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",0,0,0],AUTHORITY[\"EPSG\",\"6229\"]],PRIMEM[\"Greenwich");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4229\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",30],PARAMETER[\"central_m");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "eridian\",31],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "false_easting\",615000],PARAMETER[\"false_northing\",810");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",153],PAR");
     add_srs_wkt (p, 10,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "EPSG\",\"22992\"]]");
-    p = add_epsg_def (filter, first, last, 22993, "epsg", 22993,
-        "Egypt 1907 / Purple Belt");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"20086\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20087, "epsg", 20087,
+        "Pulkovo 1995 / Gauss-Kruger 27N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=20");
+        "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "0000 +ellps=helmert +towgs84=-130,110,-13,0,0,0,0 +units");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Egypt 1907 / Purple Belt\",GEOGCS[\"Egypt 1907\"");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 27N (deprecated)\",");
     add_srs_wkt (p, 1,
-        ",DATUM[\"Egypt_1907\",SPHEROID[\"Helmert 1906\",6378200,");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "298.3,AUTHORITY[\"EPSG\",\"7020\"]],TOWGS84[-130,110,-13");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6229\"]],PRIMEM[\"Greenwi");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4229\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"central");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "_meridian\",27],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "\"false_easting\",700000],PARAMETER[\"false_northing\",2");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",159],PAR");
     add_srs_wkt (p, 10,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"22993\"]]");
-    p = add_epsg_def (filter, first, last, 22994, "epsg", 22994,
-        "Egypt 1907 / Extended Purple Belt");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"20087\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20088, "epsg", 20088,
+        "Pulkovo 1995 / Gauss-Kruger 28N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=12");
+        "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "00000 +ellps=helmert +towgs84=-130,110,-13,0,0,0,0 +unit");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
     add_proj4text (p, 2,
-        "s=m +no_defs");
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Egypt 1907 / Extended Purple Belt\",GEOGCS[\"Eg");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 28N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "ypt 1907\",DATUM[\"Egypt_1907\",SPHEROID[\"Helmert 1906\"");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        ",6378200,298.3,AUTHORITY[\"EPSG\",\"7020\"]],TOWGS84[-13");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "0,110,-13,0,0,0,0],AUTHORITY[\"EPSG\",\"6229\"]],PRIMEM[");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4229\"]],PROJECTION[\"Transverse_Mer");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",30],PARAMETER[");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",27],PARAMETER[\"scale_factor\",1],P");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",700000],PARAMETER[\"false_nor");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",165],PAR");
     add_srs_wkt (p, 10,
-        "thing\",1200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"22994\"]]");
-    p = add_epsg_def (filter, first, last, 23028, "epsg", 23028,
-        "ED50 / UTM zone 28N");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"20088\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20089, "epsg", 20089,
+        "Pulkovo 1995 / Gauss-Kruger 29N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=28 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 28N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 29N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "l_meridian\",-15],PARAMETER[\"scale_factor\",0.9996],PAR");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",171],PAR");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"23028\"]]");
-    p = add_epsg_def (filter, first, last, 23029, "epsg", 23029,
-        "ED50 / UTM zone 29N");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"20089\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20090, "epsg", 20090,
+        "Pulkovo 1995 / Gauss-Kruger 30N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=29 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 29N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 30N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "l_meridian\",-9],PARAMETER[\"scale_factor\",0.9996],PARA");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",177],PAR");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"23029\"]]");
-    p = add_epsg_def (filter, first, last, 23030, "epsg", 23030,
-        "ED50 / UTM zone 30N");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",EAST],AUTHORITY[\"EPSG\",\"20090\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20091, "epsg", 20091,
+        "Pulkovo 1995 / Gauss-Kruger 31N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=30 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
+    add_proj4text (p, 2,
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 30N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 31N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "l_meridian\",-3],PARAMETER[\"scale_factor\",0.9996],PARA");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-177],PA");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"23030\"]]");
-    p = add_epsg_def (filter, first, last, 23031, "epsg", 23031,
-        "ED50 / UTM zone 31N");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"20091\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20092, "epsg", 20092,
+        "Pulkovo 1995 / Gauss-Kruger 32N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1995", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=31 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.");
+    add_proj4text (p, 2,
+        "22 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 31N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 32N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]");
     add_srs_wkt (p, 8,
-        "l_meridian\",3],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",-171],PA");
     add_srs_wkt (p, 10,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"23031\"]]");
-    p = add_epsg_def (filter, first, last, 23032, "epsg", 23032,
-        "ED50 / UTM zone 32N");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"20092\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20135, "epsg", 20135,
+        "Adindan / UTM zone 35N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Adindan", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=utm +zone=35 +ellps=clrk80 +towgs84=-166,-15,204,0");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 32N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"Adindan / UTM zone 35N\",GEOGCS[\"Adindan\",DAT");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "UM[\"Adindan\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.14");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "5,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-166,-15");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        ",204,0,0,0,0],AUTHORITY[\"EPSG\",\"6201\"]],PRIMEM[\"Gre");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"4201\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",9],PARAMETER[\"scale_factor\",0.9996],PARAM");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
+        "idian\",27],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"23032\"]]");
-    p = add_epsg_def (filter, first, last, 23033, "epsg", 23033,
-        "ED50 / UTM zone 33N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"20135\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20136, "epsg", 20136,
+        "Adindan / UTM zone 36N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Adindan", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=utm +zone=36 +ellps=clrk80 +towgs84=-166,-15,204,0");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 33N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"Adindan / UTM zone 36N\",GEOGCS[\"Adindan\",DAT");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "UM[\"Adindan\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.14");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "5,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-166,-15");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        ",204,0,0,0,0],AUTHORITY[\"EPSG\",\"6201\"]],PRIMEM[\"Gre");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"4201\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",15],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "idian\",33],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"23033\"]]");
-    p = add_epsg_def (filter, first, last, 23034, "epsg", 23034,
-        "ED50 / UTM zone 34N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"20136\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20137, "epsg", 20137,
+        "Adindan / UTM zone 37N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Adindan", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=utm +zone=37 +ellps=clrk80 +towgs84=-166,-15,204,0");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 34N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"Adindan / UTM zone 37N\",GEOGCS[\"Adindan\",DAT");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "UM[\"Adindan\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.14");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "5,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-166,-15");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        ",204,0,0,0,0],AUTHORITY[\"EPSG\",\"6201\"]],PRIMEM[\"Gre");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"4201\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",21],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "idian\",39],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"23034\"]]");
-    p = add_epsg_def (filter, first, last, 23035, "epsg", 23035,
-        "ED50 / UTM zone 35N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"20137\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20138, "epsg", 20138,
+        "Adindan / UTM zone 38N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Adindan", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=utm +zone=38 +ellps=clrk80 +towgs84=-166,-15,204,0");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 35N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"Adindan / UTM zone 38N\",GEOGCS[\"Adindan\",DAT");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "UM[\"Adindan\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.14");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "5,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-166,-15");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        ",204,0,0,0,0],AUTHORITY[\"EPSG\",\"6201\"]],PRIMEM[\"Gre");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "PSG\",\"4201\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "l_meridian\",27],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "idian\",45],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"23035\"]]");
-    p = add_epsg_def (filter, first, last, 23036, "epsg", 23036,
-        "ED50 / UTM zone 36N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"20138\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20248, "epsg", 20248,
+        "AGD66 / AMG zone 48 (deprecated)", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=utm +zone=48 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 36N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"AGD66 / AMG zone 48 (deprecated)\",GEOGCS[\"AGD");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "66\",DATUM[\"Australian_Geodetic_Datum_1966\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "Australian National Spheroid\",6378160,298.25,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        "\"EPSG\",\"7003\"]],TOWGS84[-117.808,-51.536,137.784,0.3");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "03,0.446,0.234,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIM");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "l_meridian\",33],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "ORITY[\"EPSG\",\"4202\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "ntral_meridian\",105],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"23036\"]]");
-    p = add_epsg_def (filter, first, last, 23037, "epsg", 23037,
-        "ED50 / UTM zone 37N");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"20248\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20249, "epsg", 20249,
+        "AGD66 / AMG zone 49", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=utm +zone=49 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 37N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"AGD66 / AMG zone 49\",GEOGCS[\"AGD66\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "l_meridian\",39],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "an\",111],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"23037\"]]");
-    p = add_epsg_def (filter, first, last, 23038, "epsg", 23038,
-        "ED50 / UTM zone 38N");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"20249\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20250, "epsg", 20250,
+        "AGD66 / AMG zone 50", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +ellps=intl +towgs84=-87,-98,-121,0,0");
+        "+proj=utm +zone=50 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / UTM zone 38N\",GEOGCS[\"ED50\",DATUM[\"E");
+        "PROJCS[\"AGD66 / AMG zone 50\",GEOGCS[\"AGD66\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
+        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
+        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "l_meridian\",45],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "an\",117],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"23038\"]]");
-    p = add_epsg_def (filter, first, last, 23090, "epsg", 23090,
-        "ED50 / TM 0 N");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"20250\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20251, "epsg", 20251,
+        "AGD66 / AMG zone 51", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=500000 +y_0");
+        "+proj=utm +zone=51 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +n");
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
     add_proj4text (p, 2,
-        "o_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / TM 0 N\",GEOGCS[\"ED50\",DATUM[\"Europea");
+        "PROJCS[\"AGD66 / AMG zone 51\",GEOGCS[\"AGD66\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "n_Datum_1950\",SPHEROID[\"International 1924\",6378388,2");
+        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "97,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-121,0,");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Greenwich\"");
+        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "SG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "dian\",0],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "an\",123],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        ",\"23090\"]]");
-    p = add_epsg_def (filter, first, last, 23095, "epsg", 23095,
-        "ED50 / TM 5 NE");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"20251\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20252, "epsg", 20252,
+        "AGD66 / AMG zone 52", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=5 +k=0.9996 +x_0=500000 +y_0");
+        "+proj=utm +zone=52 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
-        "=0 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +n");
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
     add_proj4text (p, 2,
-        "o_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ED50 / TM 5 NE\",GEOGCS[\"ED50\",DATUM[\"Europe");
+        "PROJCS[\"AGD66 / AMG zone 52\",GEOGCS[\"AGD66\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "an_Datum_1950\",SPHEROID[\"International 1924\",6378388,");
+        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-121,0");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Greenwich");
+        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_me");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "ridian\",5],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
+        "\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "an\",129],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "G\",\"23095\"]]");
-    p = add_epsg_def (filter, first, last, 23239, "epsg", 23239,
-        "Fahud / UTM zone 39N");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"20252\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20253, "epsg", 20253,
+        "AGD66 / AMG zone 53", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +ellps=clrk80 +towgs84=-346,-1,224,0,");
+        "+proj=utm +zone=53 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Fahud / UTM zone 39N\",GEOGCS[\"Fahud\",DATUM[\"");
+        "PROJCS[\"AGD66 / AMG zone 53\",GEOGCS[\"AGD66\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Fahud\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.4");
+        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "65,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-346,-1,224,0,0");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",0,0],AUTHORITY[\"EPSG\",\"6232\"]],PRIMEM[\"Greenwich\"");
+        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "SG\",\"4232\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "dian\",51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[");
+        "\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "an\",135],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "G\",\"23239\"]]");
-    p = add_epsg_def (filter, first, last, 23240, "epsg", 23240,
-        "Fahud / UTM zone 40N");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"20253\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20254, "epsg", 20254,
+        "AGD66 / AMG zone 54", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=40 +ellps=clrk80 +towgs84=-346,-1,224,0,");
+        "+proj=utm +zone=54 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Fahud / UTM zone 40N\",GEOGCS[\"Fahud\",DATUM[\"");
+        "PROJCS[\"AGD66 / AMG zone 54\",GEOGCS[\"AGD66\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Fahud\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.4");
+        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "65,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-346,-1,224,0,0");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",0,0],AUTHORITY[\"EPSG\",\"6232\"]],PRIMEM[\"Greenwich\"");
+        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "SG\",\"4232\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "dian\",57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[");
+        "\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "an\",141],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "G\",\"23240\"]]");
-    p = add_epsg_def (filter, first, last, 23433, "epsg", 23433,
-        "Garoua / UTM zone 33N (deprecated)");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"20254\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20255, "epsg", 20255,
+        "AGD66 / AMG zone 55", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +a=6378249.2 +b=6356515 +units=m +no_");
+        "+proj=utm +zone=55 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
+    add_proj4text (p, 2,
         "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Garoua / UTM zone 33N (deprecated)\",GEOGCS[\"G");
+        "PROJCS[\"AGD66 / AMG zone 55\",GEOGCS[\"AGD66\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "aroua\",DATUM[\"Garoua\",SPHEROID[\"Clarke 1880 (IGN)\",");
+        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6234\"]],PRIMEM[\"Greenwich\",0,A");
+        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        ",\"4234\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "\",15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "an\",147],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "\"23433\"]]");
-    p = add_epsg_def (filter, first, last, 23700, "epsg", 23700,
-        "HD72 / EOV");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"20255\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20256, "epsg", 20256,
+        "AGD66 / AMG zone 56", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=somerc +lat_0=47.14439372222222 +lon_0=19.04857177");
+        "+proj=utm +zone=56 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
-        "777778 +k_0=0.99993 +x_0=650000 +y_0=200000 +ellps=GRS67");
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
     add_proj4text (p, 2,
-        " +towgs84=52.17,-71.82,-14.9,0,0,0,0 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"HD72 / EOV\",GEOGCS[\"HD72\",DATUM[\"Hungarian_");
+        "PROJCS[\"AGD66 / AMG zone 56\",GEOGCS[\"AGD66\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Datum_1972\",SPHEROID[\"GRS 1967\",6378160,298.247167427");
+        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        ",AUTHORITY[\"EPSG\",\"7036\"]],TOWGS84[52.17,-71.82,-14.");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "9,0,0,0,0],AUTHORITY[\"EPSG\",\"6237\"]],PRIMEM[\"Greenw");
+        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
     add_srs_wkt (p, 4,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4237\"]],PROJECTION[\"Hotine_Oblique_Mercato");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "r_Azimuth_Center\"],PARAMETER[\"latitude_of_center\",47.");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "14439372222222],PARAMETER[\"longitude_of_center\",19.048");
+        "\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "57177777778],PARAMETER[\"azimuth\",90],PARAMETER[\"recti");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "fied_grid_angle\",90],PARAMETER[\"scale_factor\",0.99993");
+        "an\",153],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_easting\",650000],PARAMETER[\"false_");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "northing\",200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "9001\"]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
     add_srs_wkt (p, 14,
-        "EPSG\",\"23700\"]]");
-    p = add_epsg_def (filter, first, last, 23830, "epsg", 23830,
-        "DGN95 / Indonesia TM-3 zone 46.2");
+        "\"EPSG\",\"20256\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20257, "epsg", 20257,
+        "AGD66 / AMG zone 57", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=94.5 +k=0.9999 +x_0=200000 +");
+        "+proj=utm +zone=57 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
-        "y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m");
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
     add_proj4text (p, 2,
-        " +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 46.2\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD66 / AMG zone 57\",GEOGCS[\"AGD66\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",94.5],PARAMETER[\"scale_facto");
+        "\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "r\",0.9999],PARAMETER[\"false_easting\",200000],PARAMETE");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORITY");
+        "an\",159],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"23830\"]]");
-    p = add_epsg_def (filter, first, last, 23831, "epsg", 23831,
-        "DGN95 / Indonesia TM-3 zone 47.1");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"20257\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20258, "epsg", 20258,
+        "AGD66 / AMG zone 58", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1966", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=97.5 +k=0.9999 +x_0=200000 +");
+        "+proj=utm +zone=58 +south +ellps=aust_SA +towgs84=-117.8");
     add_proj4text (p, 1,
-        "y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m");
+        "08,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_");
     add_proj4text (p, 2,
-        " +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 47.1\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD66 / AMG zone 58\",GEOGCS[\"AGD66\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "Australian_Geodetic_Datum_1966\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "003\"]],TOWGS84[-117.808,-51.536,137.784,0.303,0.446,0.2");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "34,-0.29],AUTHORITY[\"EPSG\",\"6202\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",97.5],PARAMETER[\"scale_facto");
+        "\",\"4202\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "r\",0.9999],PARAMETER[\"false_easting\",200000],PARAMETE");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORITY");
+        "an\",165],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"23831\"]]");
-    p = add_epsg_def (filter, first, last, 23832, "epsg", 23832,
-        "DGN95 / Indonesia TM-3 zone 47.2");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"20258\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20348, "epsg", 20348,
+        "AGD84 / AMG zone 48 (deprecated)", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=100.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=48 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 47.2\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 48 (deprecated)\",GEOGCS[\"AGD");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "84\",DATUM[\"Australian_Geodetic_Datum_1984\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "Australian National Spheroid\",6378160,298.25,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "\"EPSG\",\"7003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "ITY[\"EPSG\",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PR");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",100.5],PARAMETER[\"scale_fact");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "f_origin\",0],PARAMETER[\"central_meridian\",105],PARAME");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        ",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23832\"]]");
-    p = add_epsg_def (filter, first, last, 23833, "epsg", 23833,
-        "DGN95 / Indonesia TM-3 zone 48.1");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2034");
+    add_srs_wkt (p, 14,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20349, "epsg", 20349,
+        "AGD84 / AMG zone 49", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=103.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=49 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 48.1\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 49\",GEOGCS[\"AGD84\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",103.5],PARAMETER[\"scale_fact");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "],PARAMETER[\"central_meridian\",111],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23833\"]]");
-    p = add_epsg_def (filter, first, last, 23834, "epsg", 23834,
-        "DGN95 / Indonesia TM-3 zone 48.2");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"20349\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20350, "epsg", 20350,
+        "AGD84 / AMG zone 50", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=106.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=50 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 48.2\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 50\",GEOGCS[\"AGD84\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",106.5],PARAMETER[\"scale_fact");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "],PARAMETER[\"central_meridian\",117],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23834\"]]");
-    p = add_epsg_def (filter, first, last, 23835, "epsg", 23835,
-        "DGN95 / Indonesia TM-3 zone 49.1");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"20350\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20351, "epsg", 20351,
+        "AGD84 / AMG zone 51", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=109.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=51 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 49.1\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 51\",GEOGCS[\"AGD84\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",109.5],PARAMETER[\"scale_fact");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "],PARAMETER[\"central_meridian\",123],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23835\"]]");
-    p = add_epsg_def (filter, first, last, 23836, "epsg", 23836,
-        "DGN95 / Indonesia TM-3 zone 49.2");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"20351\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20352, "epsg", 20352,
+        "AGD84 / AMG zone 52", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=112.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=52 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 49.2\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 52\",GEOGCS[\"AGD84\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",112.5],PARAMETER[\"scale_fact");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "],PARAMETER[\"central_meridian\",129],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23836\"]]");
-    p = add_epsg_def (filter, first, last, 23837, "epsg", 23837,
-        "DGN95 / Indonesia TM-3 zone 50.1");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"20352\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20353, "epsg", 20353,
+        "AGD84 / AMG zone 53", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=115.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=53 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 50.1\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 53\",GEOGCS[\"AGD84\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",115.5],PARAMETER[\"scale_fact");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "],PARAMETER[\"central_meridian\",135],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23837\"]]");
-    p = add_epsg_def (filter, first, last, 23838, "epsg", 23838,
-        "DGN95 / Indonesia TM-3 zone 50.2");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"20353\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20354, "epsg", 20354,
+        "AGD84 / AMG zone 54", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=118.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=54 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 50.2\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 54\",GEOGCS[\"AGD84\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",118.5],PARAMETER[\"scale_fact");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "],PARAMETER[\"central_meridian\",141],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23838\"]]");
-    p = add_epsg_def (filter, first, last, 23839, "epsg", 23839,
-        "DGN95 / Indonesia TM-3 zone 51.1");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"20354\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20355, "epsg", 20355,
+        "AGD84 / AMG zone 55", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=121.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=55 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 51.1\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 55\",GEOGCS[\"AGD84\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",121.5],PARAMETER[\"scale_fact");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "],PARAMETER[\"central_meridian\",147],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23839\"]]");
-    p = add_epsg_def (filter, first, last, 23840, "epsg", 23840,
-        "DGN95 / Indonesia TM-3 zone 51.2");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"20355\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20356, "epsg", 20356,
+        "AGD84 / AMG zone 56", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=124.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=56 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 51.2\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 56\",GEOGCS[\"AGD84\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "Australian_Geodetic_Datum_1984\",SPHEROID[\"Australian N");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "ational Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",124.5],PARAMETER[\"scale_fact");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "],PARAMETER[\"central_meridian\",153],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23840\"]]");
-    p = add_epsg_def (filter, first, last, 23841, "epsg", 23841,
-        "DGN95 / Indonesia TM-3 zone 52.1");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"20356\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20357, "epsg", 20357,
+        "AGD84 / AMG zone 57 (deprecated)", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=127.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=57 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 52.1\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 57 (deprecated)\",GEOGCS[\"AGD");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "84\",DATUM[\"Australian_Geodetic_Datum_1984\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "Australian National Spheroid\",6378160,298.25,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "\"EPSG\",\"7003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "ITY[\"EPSG\",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PR");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",127.5],PARAMETER[\"scale_fact");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "f_origin\",0],PARAMETER[\"central_meridian\",159],PARAME");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        ",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23841\"]]");
-    p = add_epsg_def (filter, first, last, 23842, "epsg", 23842,
-        "DGN95 / Indonesia TM-3 zone 52.2");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2035");
+    add_srs_wkt (p, 14,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20358, "epsg", 20358,
+        "AGD84 / AMG zone 58 (deprecated)", 0, 0,
+        "Australian National Spheroid", "Greenwich",
+        "Australian_Geodetic_Datum_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=130.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=58 +south +ellps=aust_SA +towgs84=-134,-");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "48,149,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 52.2\",GEOGCS[\"DGN");
+        "PROJCS[\"AGD84 / AMG zone 58 (deprecated)\",GEOGCS[\"AGD");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "84\",DATUM[\"Australian_Geodetic_Datum_1984\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "Australian National Spheroid\",6378160,298.25,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "\"EPSG\",\"7003\"]],TOWGS84[-134,-48,149,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "ITY[\"EPSG\",\"6203\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4203\"]],PR");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",130.5],PARAMETER[\"scale_fact");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "f_origin\",0],PARAMETER[\"central_meridian\",165],PARAME");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        ",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23842\"]]");
-    p = add_epsg_def (filter, first, last, 23843, "epsg", 23843,
-        "DGN95 / Indonesia TM-3 zone 53.1");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2035");
+    add_srs_wkt (p, 14,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20436, "epsg", 20436,
+        "Ain el Abd / UTM zone 36N", 0, 0,
+        "International 1924", "Greenwich",
+        "Ain_el_Abd_1970", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=133.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=36 +ellps=intl +towgs84=-143,-236,7,0,0,");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 53.1\",GEOGCS[\"DGN");
+        "PROJCS[\"Ain el Abd / UTM zone 36N\",GEOGCS[\"Ain el Abd");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",133.5],PARAMETER[\"scale_fact");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "ral_meridian\",33],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23843\"]]");
-    p = add_epsg_def (filter, first, last, 23844, "epsg", 23844,
-        "DGN95 / Indonesia TM-3 zone 53.2");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"20436\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20437, "epsg", 20437,
+        "Ain el Abd / UTM zone 37N", 0, 0,
+        "International 1924", "Greenwich",
+        "Ain_el_Abd_1970", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=136.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=37 +ellps=intl +towgs84=-143,-236,7,0,0,");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 53.2\",GEOGCS[\"DGN");
+        "PROJCS[\"Ain el Abd / UTM zone 37N\",GEOGCS[\"Ain el Abd");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",136.5],PARAMETER[\"scale_fact");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "ral_meridian\",39],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23844\"]]");
-    p = add_epsg_def (filter, first, last, 23845, "epsg", 23845,
-        "DGN95 / Indonesia TM-3 zone 54.1");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"20437\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20438, "epsg", 20438,
+        "Ain el Abd / UTM zone 38N", 0, 0,
+        "International 1924", "Greenwich",
+        "Ain_el_Abd_1970", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=139.5 +k=0.9999 +x_0=200000 ");
+        "+proj=utm +zone=38 +ellps=intl +towgs84=-143,-236,7,0,0,");
     add_proj4text (p, 1,
-        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
-    add_proj4text (p, 2,
-        "m +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / Indonesia TM-3 zone 54.1\",GEOGCS[\"DGN");
+        "PROJCS[\"Ain el Abd / UTM zone 38N\",GEOGCS[\"Ain el Abd");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
+        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
     add_srs_wkt (p, 2,
-        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
+        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transve");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",139.5],PARAMETER[\"scale_fact");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "ral_meridian\",45],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",1500000],UNIT[\"metre\",1,AUTHORIT");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"23845\"]]");
-    p = add_epsg_def (filter, first, last, 23846, "epsg", 23846,
-        "ID74 / UTM zone 46N");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"20438\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20439, "epsg", 20439,
+        "Ain el Abd / UTM zone 39N", 0, 0,
+        "International 1924", "Greenwich",
+        "Ain_el_Abd_1970", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +a=6378160 +b=6356774.50408554 +towgs");
+        "+proj=utm +zone=39 +ellps=intl +towgs84=-143,-236,7,0,0,");
     add_proj4text (p, 1,
-        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 46N\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Ain el Abd / UTM zone 39N\",GEOGCS[\"Ain el Abd");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",93],PARAMETER[\"scale_factor\"");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ral_meridian\",51],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"23846\"]]");
-    p = add_epsg_def (filter, first, last, 23847, "epsg", 23847,
-        "ID74 / UTM zone 47N");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"20439\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20440, "epsg", 20440,
+        "Ain el Abd / UTM zone 40N", 0, 0,
+        "International 1924", "Greenwich",
+        "Ain_el_Abd_1970", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +a=6378160 +b=6356774.50408554 +towgs");
+        "+proj=utm +zone=40 +ellps=intl +towgs84=-143,-236,7,0,0,");
     add_proj4text (p, 1,
-        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 47N\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Ain el Abd / UTM zone 40N\",GEOGCS[\"Ain el Abd");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",99],PARAMETER[\"scale_factor\"");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ral_meridian\",57],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"23847\"]]");
-    p = add_epsg_def (filter, first, last, 23848, "epsg", 23848,
-        "ID74 / UTM zone 48N");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"20440\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20499, "epsg", 20499,
+        "Ain el Abd / Bahrain Grid", 0, 0,
+        "International 1924", "Greenwich",
+        "Ain_el_Abd_1970", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +a=6378160 +b=6356774.50408554 +towgs");
+        "+proj=utm +zone=39 +ellps=intl +towgs84=-143,-236,7,0,0,");
     add_proj4text (p, 1,
-        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 48N\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Ain el Abd / Bahrain Grid\",GEOGCS[\"Ain el Abd");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "\",DATUM[\"Ain_el_Abd_1970\",SPHEROID[\"International 19");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "143,-236,7,0,0,0,0],AUTHORITY[\"EPSG\",\"6204\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ITY[\"EPSG\",\"4204\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",105],PARAMETER[\"scale_factor");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "ral_meridian\",51],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"23848\"]]");
-    p = add_epsg_def (filter, first, last, 23849, "epsg", 23849,
-        "ID74 / UTM zone 49N");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"20499\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20538, "epsg", 20538,
+        "Afgooye / UTM zone 38N", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Afgooye", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +a=6378160 +b=6356774.50408554 +towgs");
+        "+proj=utm +zone=38 +ellps=krass +towgs84=-43,-163,45,0,0");
     add_proj4text (p, 1,
-        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 49N\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Afgooye / UTM zone 38N\",GEOGCS[\"Afgooye\",DAT");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "UM[\"Afgooye\",SPHEROID[\"Krassowsky 1940\",6378245,298.");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[-43,-163,45,0,0,");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "0,0],AUTHORITY[\"EPSG\",\"6205\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "4205\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",111],PARAMETER[\"scale_factor");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"23849\"]]");
-    p = add_epsg_def (filter, first, last, 23850, "epsg", 23850,
-        "ID74 / UTM zone 50N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"205");
+    add_srs_wkt (p, 13,
+        "38\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20539, "epsg", 20539,
+        "Afgooye / UTM zone 39N", 0, 0,
+        "Krassowsky 1940", "Greenwich",
+        "Afgooye", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +a=6378160 +b=6356774.50408554 +towgs");
+        "+proj=utm +zone=39 +ellps=krass +towgs84=-43,-163,45,0,0");
     add_proj4text (p, 1,
-        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 50N\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Afgooye / UTM zone 39N\",GEOGCS[\"Afgooye\",DAT");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "UM[\"Afgooye\",SPHEROID[\"Krassowsky 1940\",6378245,298.");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[-43,-163,45,0,0,");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "0,0],AUTHORITY[\"EPSG\",\"6205\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "4205\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",117],PARAMETER[\"scale_factor");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"23850\"]]");
-    p = add_epsg_def (filter, first, last, 23851, "epsg", 23851,
-        "ID74 / UTM zone 51N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"205");
+    add_srs_wkt (p, 13,
+        "39\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20790, "epsg", 20790,
+        "Lisbon (Lisbon) / Portuguese National Grid", 0, 0,
+        "International 1924", "Lisbon",
+        "Lisbon_1937_Lisbon", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +a=6378160 +b=6356774.50408554 +towgs");
+        "+proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        "200000 +y_0=300000 +ellps=intl +towgs84=-304.046,-60.576");
+    add_proj4text (p, 2,
+        ",103.64,0,0,0,0 +pm=lisbon +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 51N\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Lisbon (Lisbon) / Portuguese National Grid\",GE");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "OGCS[\"Lisbon (Lisbon)\",DATUM[\"Lisbon_1937_Lisbon\",SP");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "HEROID[\"International 1924\",6378388,297,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "SG\",\"7022\"]],TOWGS84[-304.046,-60.576,103.64,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",AUTHORITY[\"EPSG\",\"6803\"]],PRIMEM[\"Lisbon\",-9.1319");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "06111111112,AUTHORITY[\"EPSG\",\"8902\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",123],PARAMETER[\"scale_factor");
+        "PSG\",\"4803\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "AMETER[\"latitude_of_origin\",39.66666666666666],PARAMET");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "ER[\"central_meridian\",1],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        ",PARAMETER[\"false_easting\",200000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"23851\"]]");
-    p = add_epsg_def (filter, first, last, 23852, "epsg", 23852,
-        "ID74 / UTM zone 52N");
+        "orthing\",300000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"20790\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20791, "epsg", 20791,
+        "Lisbon (Lisbon) / Portuguese Grid", 0, 0,
+        "International 1924", "Lisbon",
+        "Lisbon_1937_Lisbon", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +a=6378160 +b=6356774.50408554 +towgs");
+        "+proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        "0 +y_0=0 +ellps=intl +towgs84=-304.046,-60.576,103.64,0,");
+    add_proj4text (p, 2,
+        "0,0,0 +pm=lisbon +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 52N\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Lisbon (Lisbon) / Portuguese Grid\",GEOGCS[\"Li");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "sbon (Lisbon)\",DATUM[\"Lisbon_1937_Lisbon\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "22\"]],TOWGS84[-304.046,-60.576,103.64,0,0,0,0],AUTHORIT");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "Y[\"EPSG\",\"6803\"]],PRIMEM[\"Lisbon\",-9.1319061111111");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "12,AUTHORITY[\"EPSG\",\"8902\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",129],PARAMETER[\"scale_factor");
+        "4803\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "latitude_of_origin\",39.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "ral_meridian\",1],PARAMETER[\"scale_factor\",1],PARAMETE");
     add_srs_wkt (p, 11,
-        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+        "R[\"false_easting\",0],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "ORTH],AUTHORITY[\"EPSG\",\"23852\"]]");
-    p = add_epsg_def (filter, first, last, 23853, "epsg", 23853,
-        "ID74 / UTM zone 53N (deprecated)");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"20791\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20822, "epsg", 20822,
+        "Aratu / UTM zone 22S", 0, 0,
+        "International 1924", "Greenwich",
+        "Aratu", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +a=6378160 +b=6356774.50408554 +towgs");
+        "+proj=utm +zone=22 +south +ellps=intl +towgs84=-151.99,2");
     add_proj4text (p, 1,
-        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        "87.04,-147.45,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 53N (deprecated)\",GEOGCS[\"ID7");
+        "PROJCS[\"Aratu / UTM zone 22S\",GEOGCS[\"Aratu\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"Indonesian_Datum_1974\",SPHEROID[\"Indonesia");
+        "Aratu\",SPHEROID[\"International 1924\",6378388,297,AUTH");
     add_srs_wkt (p, 2,
-        "n National Spheroid\",6378160,298.247,AUTHORITY[\"EPSG\"");
+        "ORITY[\"EPSG\",\"7022\"]],TOWGS84[-151.99,287.04,-147.45");
     add_srs_wkt (p, 3,
-        ",\"7021\"]],TOWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\"");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6208\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        ",\"6238\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTI");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "\",\"4208\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",135],PARAMETER[\"");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "an\",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"23853\"]]");
-    p = add_epsg_def (filter, first, last, 23866, "epsg", 23866,
-        "DGN95 / UTM zone 46N");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"20822\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20823, "epsg", 20823,
+        "Aratu / UTM zone 23S", 0, 0,
+        "International 1924", "Greenwich",
+        "Aratu", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=23 +south +ellps=intl +towgs84=-151.99,2");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "87.04,-147.45,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 46N\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Aratu / UTM zone 23S\",GEOGCS[\"Aratu\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "Aratu\",SPHEROID[\"International 1924\",6378388,297,AUTH");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        "ORITY[\"EPSG\",\"7022\"]],TOWGS84[-151.99,287.04,-147.45");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6208\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "\",\"4208\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 8,
-        "l_meridian\",93],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "an\",-45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"23866\"]]");
-    p = add_epsg_def (filter, first, last, 23867, "epsg", 23867,
-        "DGN95 / UTM zone 47N");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"20823\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20824, "epsg", 20824,
+        "Aratu / UTM zone 24S", 0, 0,
+        "International 1924", "Greenwich",
+        "Aratu", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=24 +south +ellps=intl +towgs84=-151.99,2");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "87.04,-147.45,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 47N\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Aratu / UTM zone 24S\",GEOGCS[\"Aratu\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "Aratu\",SPHEROID[\"International 1924\",6378388,297,AUTH");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        "ORITY[\"EPSG\",\"7022\"]],TOWGS84[-151.99,287.04,-147.45");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6208\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "\",\"4208\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 8,
-        "l_meridian\",99],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "an\",-39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"23867\"]]");
-    p = add_epsg_def (filter, first, last, 23868, "epsg", 23868,
-        "DGN95 / UTM zone 48N");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"20824\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20934, "epsg", 20934,
+        "Arc 1950 / UTM zone 34S", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Arc_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.9663");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "98753 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 48N\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Arc 1950 / UTM zone 34S\",GEOGCS[\"Arc 1950\",D");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "ATUM[\"Arc_1950\",SPHEROID[\"Clarke 1880 (Arc)\",6378249");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        ".145,293.4663077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "143,-90,-294,0,0,0,0],AUTHORITY[\"EPSG\",\"6209\"]],PRIM");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORITY[\"EPSG\",\"4209\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "l_meridian\",105],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "ntral_meridian\",21],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"23868\"]]");
-    p = add_epsg_def (filter, first, last, 23869, "epsg", 23869,
-        "DGN95 / UTM zone 49N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20934\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20935, "epsg", 20935,
+        "Arc 1950 / UTM zone 35S", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Arc_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.9663");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "98753 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 49N\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Arc 1950 / UTM zone 35S\",GEOGCS[\"Arc 1950\",D");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "ATUM[\"Arc_1950\",SPHEROID[\"Clarke 1880 (Arc)\",6378249");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        ".145,293.4663077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "143,-90,-294,0,0,0,0],AUTHORITY[\"EPSG\",\"6209\"]],PRIM");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORITY[\"EPSG\",\"4209\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "l_meridian\",111],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "ntral_meridian\",27],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"23869\"]]");
-    p = add_epsg_def (filter, first, last, 23870, "epsg", 23870,
-        "DGN95 / UTM zone 50N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20935\"]]");
+    p = add_epsg_def_ex (filter, first, last, 20936, "epsg", 20936,
+        "Arc 1950 / UTM zone 36S", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Arc_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.9663");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "98753 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 50N\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Arc 1950 / UTM zone 36S\",GEOGCS[\"Arc 1950\",D");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "ATUM[\"Arc_1950\",SPHEROID[\"Clarke 1880 (Arc)\",6378249");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        ".145,293.4663077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "143,-90,-294,0,0,0,0],AUTHORITY[\"EPSG\",\"6209\"]],PRIM");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORITY[\"EPSG\",\"4209\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "l_meridian\",117],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "ntral_meridian\",33],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"23870\"]]");
-    p = add_epsg_def (filter, first, last, 23871, "epsg", 23871,
-        "DGN95 / UTM zone 51N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"20936\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21035, "epsg", 21035,
+        "Arc 1960 / UTM zone 35S", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Arc_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=35 +south +ellps=clrk80 +towgs84=-160,-6");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        ",-302,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 51N\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Arc 1960 / UTM zone 35S\",GEOGCS[\"Arc 1960\",D");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "l_meridian\",123],PARAMETER[\"scale_factor\",0.9996],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",27],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"23871\"]]");
-    p = add_epsg_def (filter, first, last, 23872, "epsg", 23872,
-        "DGN95 / UTM zone 52N");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"21035\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21036, "epsg", 21036,
+        "Arc 1960 / UTM zone 36S", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Arc_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=36 +south +ellps=clrk80 +towgs84=-160,-6");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        ",-302,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 52N\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Arc 1960 / UTM zone 36S\",GEOGCS[\"Arc 1960\",D");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "l_meridian\",129],PARAMETER[\"scale_factor\",0.9996],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",33],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"23872\"]]");
-    p = add_epsg_def (filter, first, last, 23877, "epsg", 23877,
-        "DGN95 / UTM zone 47S");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"21036\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21037, "epsg", 21037,
+        "Arc 1960 / UTM zone 37S", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Arc_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +south +ellps=WGS84 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=37 +south +ellps=clrk80 +towgs84=-160,-6");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",-302,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 47S\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Arc 1960 / UTM zone 37S\",GEOGCS[\"Arc 1960\",D");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "l_meridian\",99],PARAMETER[\"scale_factor\",0.9996],PARA");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "_meridian\",39],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "ng\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"23877\"]]");
-    p = add_epsg_def (filter, first, last, 23878, "epsg", 23878,
-        "DGN95 / UTM zone 48S");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"21037\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21095, "epsg", 21095,
+        "Arc 1960 / UTM zone 35N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Arc_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +south +ellps=WGS84 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=35 +ellps=clrk80 +towgs84=-160,-6,-302,0");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 48S\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Arc 1960 / UTM zone 35N\",GEOGCS[\"Arc 1960\",D");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "l_meridian\",105],PARAMETER[\"scale_factor\",0.9996],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",27],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"23878\"]]");
-    p = add_epsg_def (filter, first, last, 23879, "epsg", 23879,
-        "DGN95 / UTM zone 49S");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21095\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21096, "epsg", 21096,
+        "Arc 1960 / UTM zone 36N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Arc_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +south +ellps=WGS84 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=36 +ellps=clrk80 +towgs84=-160,-6,-302,0");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 49S\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Arc 1960 / UTM zone 36N\",GEOGCS[\"Arc 1960\",D");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "l_meridian\",111],PARAMETER[\"scale_factor\",0.9996],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",33],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"23879\"]]");
-    p = add_epsg_def (filter, first, last, 23880, "epsg", 23880,
-        "DGN95 / UTM zone 50S");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21096\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21097, "epsg", 21097,
+        "Arc 1960 / UTM zone 37N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Arc_1960", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +south +ellps=WGS84 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=37 +ellps=clrk80 +towgs84=-160,-6,-302,0");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 50S\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Arc 1960 / UTM zone 37N\",GEOGCS[\"Arc 1960\",D");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "ATUM[\"Arc_1960\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-160,");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "-6,-302,0,0,0,0],AUTHORITY[\"EPSG\",\"6210\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "[\"EPSG\",\"4210\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "l_meridian\",117],PARAMETER[\"scale_factor\",0.9996],PAR");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "_meridian\",39],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"23880\"]]");
-    p = add_epsg_def (filter, first, last, 23881, "epsg", 23881,
-        "DGN95 / UTM zone 51S");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21097\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21100, "epsg", 21100,
+        "Batavia (Jakarta) / NEIEZ (deprecated)", 0, 0,
+        "Bessel 1841", "Jakarta",
+        "Batavia_Jakarta", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +south +ellps=WGS84 +towgs84=0,0,0,0,");
+        "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 ");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "+ellps=bessel +towgs84=-377,681,-50,0,0,0,0 +pm=jakarta ");
+    add_proj4text (p, 2,
+        "+units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 51S\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Batavia (Jakarta) / NEIEZ (deprecated)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "[\"Batavia (Jakarta)\",DATUM[\"Batavia_Jakarta\",SPHEROI");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        "D[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "SG\",\"7004\"]],TOWGS84[-377,681,-50,0,0,0,0],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "\"EPSG\",\"6813\"]],PRIMEM[\"Jakarta\",106.8077194444444");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ",AUTHORITY[\"EPSG\",\"8908\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"48");
     add_srs_wkt (p, 8,
-        "l_meridian\",123],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "13\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "meridian\",110],PARAMETER[\"scale_factor\",0.997],PARAME");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "TER[\"false_easting\",3900000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "g\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"23881\"]]");
-    p = add_epsg_def (filter, first, last, 23882, "epsg", 23882,
-        "DGN95 / UTM zone 52S");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"21100\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21148, "epsg", 21148,
+        "Batavia / UTM zone 48S", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Batavia", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +south +ellps=WGS84 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=48 +south +ellps=bessel +towgs84=-377,68");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "1,-50,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 52S\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Batavia / UTM zone 48S\",GEOGCS[\"Batavia\",DAT");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "UM[\"Batavia\",SPHEROID[\"Bessel 1841\",6377397.155,299.");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        "1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-377,681,-");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "50,0,0,0,0],AUTHORITY[\"EPSG\",\"6211\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4211\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",129],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",105],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"23882\"]]");
-    p = add_epsg_def (filter, first, last, 23883, "epsg", 23883,
-        "DGN95 / UTM zone 53S");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"21148\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21149, "epsg", 21149,
+        "Batavia / UTM zone 49S", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Batavia", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +south +ellps=WGS84 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=49 +south +ellps=bessel +towgs84=-377,68");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "1,-50,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 53S\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Batavia / UTM zone 49S\",GEOGCS[\"Batavia\",DAT");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "UM[\"Batavia\",SPHEROID[\"Bessel 1841\",6377397.155,299.");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        "1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-377,681,-");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "50,0,0,0,0],AUTHORITY[\"EPSG\",\"6211\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4211\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",135],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",111],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"23883\"]]");
-    p = add_epsg_def (filter, first, last, 23884, "epsg", 23884,
-        "DGN95 / UTM zone 54S");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"21149\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21150, "epsg", 21150,
+        "Batavia / UTM zone 50S", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Batavia", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=54 +south +ellps=WGS84 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=50 +south +ellps=bessel +towgs84=-377,68");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "1,-50,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DGN95 / UTM zone 54S\",GEOGCS[\"DGN95\",DATUM[\"");
+        "PROJCS[\"Batavia / UTM zone 50S\",GEOGCS[\"Batavia\",DAT");
     add_srs_wkt (p, 1,
-        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
+        "UM[\"Batavia\",SPHEROID[\"Bessel 1841\",6377397.155,299.");
     add_srs_wkt (p, 2,
-        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
+        "1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-377,681,-");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
+        "50,0,0,0,0],AUTHORITY[\"EPSG\",\"6211\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4211\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",141],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "dian\",117],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "ing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"23884\"]]");
-    p = add_epsg_def (filter, first, last, 23886, "epsg", 23886,
-        "ID74 / UTM zone 46S (deprecated)");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"21150\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21291, "epsg", 21291,
+        "Barbados 1938 / British West Indies Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Barbados_1938", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +south +a=6378160 +b=6356774.50408554");
+        "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x");
     add_proj4text (p, 1,
-        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        "_0=400000 +y_0=0 +ellps=clrk80 +towgs84=31.95,300.99,419");
+    add_proj4text (p, 2,
+        ".19,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 46S (deprecated)\",GEOGCS[\"ID7");
+        "PROJCS[\"Barbados 1938 / British West Indies Grid\",GEOG");
     add_srs_wkt (p, 1,
-        "4\",DATUM[\"Indonesian_Datum_1974\",SPHEROID[\"Indonesia");
+        "CS[\"Barbados 1938\",DATUM[\"Barbados_1938\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "n National Spheroid\",6378160,298.247,AUTHORITY[\"EPSG\"");
+        "Clarke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        ",\"7021\"]],TOWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "\",\"7012\"]],TOWGS84[31.95,300.99,419.19,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        ",\"6238\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "RITY[\"EPSG\",\"6212\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTI");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4212\"]],P");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"s");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "of_origin\",0],PARAMETER[\"central_meridian\",-62],PARAM");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\",");
+        "ETER[\"scale_factor\",0.9995],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+        ",400000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"23886\"]]");
-    p = add_epsg_def (filter, first, last, 23887, "epsg", 23887,
-        "ID74 / UTM zone 47S");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"21291\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21292, "epsg", 21292,
+        "Barbados 1938 / Barbados National Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Barbados_1938", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +south +a=6378160 +b=6356774.50408554");
+        "+proj=tmerc +lat_0=13.17638888888889 +lon_0=-59.55972222");
     add_proj4text (p, 1,
-        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        "222222 +k=0.9999986 +x_0=30000 +y_0=75000 +ellps=clrk80 ");
+    add_proj4text (p, 2,
+        "+towgs84=31.95,300.99,419.19,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 47S\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Barbados 1938 / Barbados National Grid\",GEOGCS");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "[\"Barbados 1938\",DATUM[\"Barbados_1938\",SPHEROID[\"Cl");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "arke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        ",\"7012\"]],TOWGS84[31.95,300.99,419.19,0,0,0,0],AUTHORI");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "TY[\"EPSG\",\"6212\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,A");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "UTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AX");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "IS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4212\"]],PRO");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",99],PARAMETER[\"scale_factor\"");
+        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "_origin\",13.17638888888889],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "n\",-59.55972222222222],PARAMETER[\"scale_factor\",0.999");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "9986],PARAMETER[\"false_easting\",30000],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"23887\"]]");
-    p = add_epsg_def (filter, first, last, 23888, "epsg", 23888,
-        "ID74 / UTM zone 48S");
+        "se_northing\",75000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"21292\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21413, "epsg", 21413,
+        "Beijing 1954 / Gauss-Kruger zone 13", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +south +a=6378160 +b=6356774.50408554");
+        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
-        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 48S\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 13\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",105],PARAMETER[\"scale_factor");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "AMETER[\"central_meridian\",75],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "\",1],PARAMETER[\"false_easting\",13500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"23888\"]]");
-    p = add_epsg_def (filter, first, last, 23889, "epsg", 23889,
-        "ID74 / UTM zone 49S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21413\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21414, "epsg", 21414,
+        "Beijing 1954 / Gauss-Kruger zone 14", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +south +a=6378160 +b=6356774.50408554");
+        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0");
     add_proj4text (p, 1,
-        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 49S\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 14\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",111],PARAMETER[\"scale_factor");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "AMETER[\"central_meridian\",81],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "\",1],PARAMETER[\"false_easting\",14500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"23889\"]]");
-    p = add_epsg_def (filter, first, last, 23890, "epsg", 23890,
-        "ID74 / UTM zone 50S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21414\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21415, "epsg", 21415,
+        "Beijing 1954 / Gauss-Kruger zone 15", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +south +a=6378160 +b=6356774.50408554");
+        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0");
     add_proj4text (p, 1,
-        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 50S\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 15\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",117],PARAMETER[\"scale_factor");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "AMETER[\"central_meridian\",87],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "\",1],PARAMETER[\"false_easting\",15500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"23890\"]]");
-    p = add_epsg_def (filter, first, last, 23891, "epsg", 23891,
-        "ID74 / UTM zone 51S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21415\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21416, "epsg", 21416,
+        "Beijing 1954 / Gauss-Kruger zone 16", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +south +a=6378160 +b=6356774.50408554");
+        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0");
     add_proj4text (p, 1,
-        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 51S\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 16\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",123],PARAMETER[\"scale_factor");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "AMETER[\"central_meridian\",93],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "\",1],PARAMETER[\"false_easting\",16500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"23891\"]]");
-    p = add_epsg_def (filter, first, last, 23892, "epsg", 23892,
-        "ID74 / UTM zone 52S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21416\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21417, "epsg", 21417,
+        "Beijing 1954 / Gauss-Kruger zone 17", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +south +a=6378160 +b=6356774.50408554");
+        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0");
     add_proj4text (p, 1,
-        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        " +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 52S\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 17\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",129],PARAMETER[\"scale_factor");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "AMETER[\"central_meridian\",99],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "\",1],PARAMETER[\"false_easting\",17500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"23892\"]]");
-    p = add_epsg_def (filter, first, last, 23893, "epsg", 23893,
-        "ID74 / UTM zone 53S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21417\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21418, "epsg", 21418,
+        "Beijing 1954 / Gauss-Kruger zone 18", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +south +a=6378160 +b=6356774.50408554");
+        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=");
     add_proj4text (p, 1,
-        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 53S\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 18\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",135],PARAMETER[\"scale_factor");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "AMETER[\"central_meridian\",105],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "r\",1],PARAMETER[\"false_easting\",18500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"23893\"]]");
-    p = add_epsg_def (filter, first, last, 23894, "epsg", 23894,
-        "ID74 / UTM zone 54S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21418\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21419, "epsg", 21419,
+        "Beijing 1954 / Gauss-Kruger zone 19", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=54 +south +a=6378160 +b=6356774.50408554");
+        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=");
     add_proj4text (p, 1,
-        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ID74 / UTM zone 54S\",GEOGCS[\"ID74\",DATUM[\"I");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 19\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transve");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",141],PARAMETER[\"scale_factor");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+        "AMETER[\"central_meridian\",111],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+        "r\",1],PARAMETER[\"false_easting\",19500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"23894\"]]");
-    p = add_epsg_def (filter, first, last, 23946, "epsg", 23946,
-        "Indian 1954 / UTM zone 46N");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21419\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21420, "epsg", 21420,
+        "Beijing 1954 / Gauss-Kruger zone 20", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +t");
+        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=");
     add_proj4text (p, 1,
-        "owgs84=217,823,299,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Indian 1954 / UTM zone 46N\",GEOGCS[\"Indian 19");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 20\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "54\",DATUM[\"Indian_1954\",SPHEROID[\"Everest 1830 (1937");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        " Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7015\"]],TOWGS84[217,823,299,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        ",\"6239\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4239\"]],PROJECTI");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"s");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "AMETER[\"central_meridian\",117],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "r\",1],PARAMETER[\"false_easting\",20500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"23946\"]]");
-    p = add_epsg_def (filter, first, last, 23947, "epsg", 23947,
-        "Indian 1954 / UTM zone 47N");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21420\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21421, "epsg", 21421,
+        "Beijing 1954 / Gauss-Kruger zone 21", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +t");
+        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=");
     add_proj4text (p, 1,
-        "owgs84=217,823,299,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Indian 1954 / UTM zone 47N\",GEOGCS[\"Indian 19");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 21\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "54\",DATUM[\"Indian_1954\",SPHEROID[\"Everest 1830 (1937");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        " Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7015\"]],TOWGS84[217,823,299,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        ",\"6239\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4239\"]],PROJECTI");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"s");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "AMETER[\"central_meridian\",123],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "r\",1],PARAMETER[\"false_easting\",21500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"23947\"]]");
-    p = add_epsg_def (filter, first, last, 23948, "epsg", 23948,
-        "Indian 1954 / UTM zone 48N");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21421\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21422, "epsg", 21422,
+        "Beijing 1954 / Gauss-Kruger zone 22", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +t");
+        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=");
     add_proj4text (p, 1,
-        "owgs84=217,823,299,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Indian 1954 / UTM zone 48N\",GEOGCS[\"Indian 19");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 22\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "54\",DATUM[\"Indian_1954\",SPHEROID[\"Everest 1830 (1937");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        " Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7015\"]],TOWGS84[217,823,299,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        ",\"6239\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4239\"]],PROJECTI");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",105],PARAMETER[\"");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "AMETER[\"central_meridian\",129],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "r\",1],PARAMETER[\"false_easting\",22500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"23948\"]]");
-    p = add_epsg_def (filter, first, last, 24047, "epsg", 24047,
-        "Indian 1975 / UTM zone 47N");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21422\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21423, "epsg", 21423,
+        "Beijing 1954 / Gauss-Kruger zone 23", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +t");
+        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=");
     add_proj4text (p, 1,
-        "owgs84=210,814,289,0,0,0,0 +units=m +no_defs");
+        "0 +ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Indian 1975 / UTM zone 47N\",GEOGCS[\"Indian 19");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger zone 23\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "75\",DATUM[\"Indian_1975\",SPHEROID[\"Everest 1830 (1937");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        " Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7015\"]],TOWGS84[210,814,289,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        ",\"6240\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4240\"]],PROJECTI");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"s");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9996],PARAMETER[\"false_easting\",500000");
+        "AMETER[\"central_meridian\",135],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "r\",1],PARAMETER[\"false_easting\",23500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"24047\"]]");
-    p = add_epsg_def (filter, first, last, 24048, "epsg", 24048,
-        "Indian 1975 / UTM zone 48N");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"21423\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21453, "epsg", 21453,
+        "Beijing 1954 / Gauss-Kruger CM 75E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +t");
+        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "owgs84=210,814,289,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Indian 1975 / UTM zone 48N\",GEOGCS[\"Indian 19");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 75E\",GEOGCS[\"B");
     add_srs_wkt (p, 1,
-        "75\",DATUM[\"Indian_1975\",SPHEROID[\"Everest 1830 (1937");
+        "eijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        " Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "7015\"]],TOWGS84[210,814,289,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "WGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
     add_srs_wkt (p, 4,
-        ",\"6240\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "14\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4240\"]],PROJECTI");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",105],PARAMETER[\"");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "METER[\"central_meridian\",75],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"24048\"]]");
-    p = add_epsg_def (filter, first, last, 24100, "epsg", 24100,
-        "Jamaica 1875 / Jamaica (Old Grid)");
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"21453\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21454, "epsg", 21454,
+        "Beijing 1954 / Gauss-Kruger CM 81E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=167");
+        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "638.49597 +y_0=121918.90616 +a=6378249.144808011 +b=6356");
+        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
     add_proj4text (p, 2,
-        "514.966204134 +to_meter=0.3047972654 +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Jamaica 1875 / Jamaica (Old Grid)\",GEOGCS[\"Ja");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 81E\",GEOGCS[\"B");
     add_srs_wkt (p, 1,
-        "maica 1875\",DATUM[\"Jamaica_1875\",SPHEROID[\"Clarke 18");
+        "eijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        "80\",6378249.144808011,293.4663076556349,AUTHORITY[\"EPS");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "G\",\"7034\"]],AUTHORITY[\"EPSG\",\"6241\"]],PRIMEM[\"Gr");
+        "WGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "14\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4241\"]],PROJECTION[\"Lambert_Conformal_C");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",18],PARAMET");
+        "EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-77],PARAMETER[\"scale_factor\",");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"false_easting\",550000],PARAMETER[\"false");
+        "METER[\"central_meridian\",81],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "_northing\",400000],UNIT[\"Clarke's foot\",0.3047972654,");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9005\"]],AXIS[\"Easting\",EAST],AXI");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "S[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24100\"]]");
-    p = add_epsg_def (filter, first, last, 24200, "epsg", 24200,
-        "JAD69 / Jamaica National Grid");
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"21454\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21455, "epsg", 21455,
+        "Beijing 1954 / Gauss-Kruger CM 87E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=250");
+        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "000 +y_0=150000 +ellps=clrk66 +towgs84=70,207,389.5,0,0,");
+        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"JAD69 / Jamaica National Grid\",GEOGCS[\"JAD69\"");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 87E\",GEOGCS[\"B");
     add_srs_wkt (p, 1,
-        ",DATUM[\"Jamaica_1969\",SPHEROID[\"Clarke 1866\",6378206");
+        "eijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        ".4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "84[70,207,389.5,0,0,0,0],AUTHORITY[\"EPSG\",\"6242\"]],P");
+        "WGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
     add_srs_wkt (p, 4,
-        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
+        "14\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "\"]],AUTHORITY[\"EPSG\",\"4242\"]],PROJECTION[\"Lambert_");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",");
+        "EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "18],PARAMETER[\"central_meridian\",-77],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "e_factor\",1],PARAMETER[\"false_easting\",250000],PARAME");
+        "METER[\"central_meridian\",87],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",150000],UNIT[\"metre\",1,AUTHORIT");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"24200\"]]");
-    p = add_epsg_def (filter, first, last, 24305, "epsg", 24305,
-        "Kalianpur 1937 / UTM zone 45N");
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"21455\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21456, "epsg", 21456,
+        "Beijing 1954 / Gauss-Kruger CM 93E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=45 +a=6377276.345 +b=6356075.41314024 +t");
+        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "owgs84=214,804,268,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1937 / UTM zone 45N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 93E\",GEOGCS[\"B");
     add_srs_wkt (p, 1,
-        "pur 1937\",DATUM[\"Kalianpur_1937\",SPHEROID[\"Everest 1");
+        "eijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        "830 (1937 Adjustment)\",6377276.345,300.8017,AUTHORITY[\"");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7015\"]],TOWGS84[214,804,268,0,0,0,0],AUTHORITY");
+        "WGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6144\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "14\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4144\"]]");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",87],PARA");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.9996],PARAMETER[\"false_easting");
+        "METER[\"central_meridian\",93],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24305\"]]");
-    p = add_epsg_def (filter, first, last, 24306, "epsg", 24306,
-        "Kalianpur 1937 / UTM zone 46N");
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"21456\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21457, "epsg", 21457,
+        "Beijing 1954 / Gauss-Kruger CM 99E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +t");
+        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "owgs84=214,804,268,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1937 / UTM zone 46N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 99E\",GEOGCS[\"B");
     add_srs_wkt (p, 1,
-        "pur 1937\",DATUM[\"Kalianpur_1937\",SPHEROID[\"Everest 1");
+        "eijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        "830 (1937 Adjustment)\",6377276.345,300.8017,AUTHORITY[\"");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7015\"]],TOWGS84[214,804,268,0,0,0,0],AUTHORITY");
+        "WGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6144\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "14\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4144\"]]");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",93],PARA");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.9996],PARAMETER[\"false_easting");
+        "METER[\"central_meridian\",99],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        ",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24306\"]]");
-    p = add_epsg_def (filter, first, last, 24311, "epsg", 24311,
-        "Kalianpur 1962 / UTM zone 41N");
+        "01\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"21457\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21458, "epsg", 21458,
+        "Beijing 1954 / Gauss-Kruger CM 105E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=41 +a=6377301.243 +b=6356100.230165384 +");
+        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "towgs84=283,682,231,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1962 / UTM zone 41N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 105E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "pur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest 1");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "830 (1962 Definition)\",6377301.243,300.8017255,AUTHORIT");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7044\"]],TOWGS84[283,682,231,0,0,0,0],AUTHO");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6145\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4145");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",63],");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+        "AMETER[\"central_meridian\",105],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "r\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24311");
+        "9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "\"]]");
+        "EPSG\",\"21458\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_35.c b/src/srsinit/epsg_inlined_35.c
index 0ced151..cec49ce 100644
--- a/src/srsinit/epsg_inlined_35.c
+++ b/src/srsinit/epsg_inlined_35.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3344 +54,3877 @@ initialize_epsg_35 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 24312, "epsg", 24312,
-        "Kalianpur 1962 / UTM zone 42N");
+    p = add_epsg_def_ex (filter, first, last, 21459, "epsg", 21459,
+        "Beijing 1954 / Gauss-Kruger CM 111E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=42 +a=6377301.243 +b=6356100.230165384 +");
+        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "towgs84=283,682,231,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1962 / UTM zone 42N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 111E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "pur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest 1");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "830 (1962 Definition)\",6377301.243,300.8017255,AUTHORIT");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7044\"]],TOWGS84[283,682,231,0,0,0,0],AUTHO");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6145\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4145");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",69],");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+        "AMETER[\"central_meridian\",111],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "r\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24312");
+        "9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 24313, "epsg", 24313,
-        "Kalianpur 1962 / UTM zone 43N");
+        "EPSG\",\"21459\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21460, "epsg", 21460,
+        "Beijing 1954 / Gauss-Kruger CM 117E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=43 +a=6377301.243 +b=6356100.230165384 +");
+        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "towgs84=283,682,231,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1962 / UTM zone 43N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 117E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "pur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest 1");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "830 (1962 Definition)\",6377301.243,300.8017255,AUTHORIT");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7044\"]],TOWGS84[283,682,231,0,0,0,0],AUTHO");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6145\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4145");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",75],");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+        "AMETER[\"central_meridian\",117],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "r\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24313");
+        "9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 24342, "epsg", 24342,
-        "Kalianpur 1975 / UTM zone 42N");
+        "EPSG\",\"21460\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21461, "epsg", 21461,
+        "Beijing 1954 / Gauss-Kruger CM 123E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=42 +a=6377299.151 +b=6356098.145120132 +");
+        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / UTM zone 42N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 123E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4146");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",69],");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+        "AMETER[\"central_meridian\",123],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "r\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24342");
+        "9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 24343, "epsg", 24343,
-        "Kalianpur 1975 / UTM zone 43N");
+        "EPSG\",\"21461\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21462, "epsg", 21462,
+        "Beijing 1954 / Gauss-Kruger CM 129E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=43 +a=6377299.151 +b=6356098.145120132 +");
+        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / UTM zone 43N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 129E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4146");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",75],");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+        "AMETER[\"central_meridian\",129],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "r\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24343");
+        "9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 24344, "epsg", 24344,
-        "Kalianpur 1975 / UTM zone 44N");
+        "EPSG\",\"21462\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21463, "epsg", 21463,
+        "Beijing 1954 / Gauss-Kruger CM 135E", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=44 +a=6377299.151 +b=6356098.145120132 +");
+        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / UTM zone 44N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger CM 135E\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
+        "Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
+        "OWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4146");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        ",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",81],");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+        "AMETER[\"central_meridian\",135],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "r\",1],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24344");
+        "9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 24345, "epsg", 24345,
-        "Kalianpur 1975 / UTM zone 45N");
+        "EPSG\",\"21463\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21473, "epsg", 21473,
+        "Beijing 1954 / Gauss-Kruger 13N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=45 +a=6377299.151 +b=6356098.145120132 +");
+        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / UTM zone 45N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 13N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4146");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",87],");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+        "n\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24345");
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 24346, "epsg", 24346,
-        "Kalianpur 1975 / UTM zone 46N");
+        "HORITY[\"EPSG\",\"21473\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21474, "epsg", 21474,
+        "Beijing 1954 / Gauss-Kruger 14N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +a=6377299.151 +b=6356098.145120132 +");
+        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / UTM zone 46N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 14N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4146");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",93],");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+        "n\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24346");
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 24347, "epsg", 24347,
-        "Kalianpur 1975 / UTM zone 47N");
+        "HORITY[\"EPSG\",\"21474\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21475, "epsg", 21475,
+        "Beijing 1954 / Gauss-Kruger 15N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +a=6377299.151 +b=6356098.145120132 +");
+        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / UTM zone 47N\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 15N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4146");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",99],");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+        "n\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24347");
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 24370, "epsg", 24370,
-        "Kalianpur 1880 / India zone 0");
+        "HORITY[\"EPSG\",\"21475\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21476, "epsg", 21476,
+        "Beijing 1954 / Gauss-Kruger 16N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.5 +lat_0=39.5 +lon_0=68 +k_0=0.99846");
+        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "154 +x_0=2153865.73916853 +y_0=2368292.194628102 +a=6377");
+        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
     add_proj4text (p, 2,
-        "299.36559538 +b=6356098.359005156 +to_meter=0.9143985307");
-    add_proj4text (p, 3,
-        "444408 +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1880 / India zone 0\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 16N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "pur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest (");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "1830 Definition)\",6377299.36559538,300.8017255433552,AU");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"]");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lambe");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "\",39.5],PARAMETER[\"central_meridian\",68],PARAMETER[\"");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.99846154],PARAMETER[\"false_easting\",2");
+        "n\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "355500],PARAMETER[\"false_northing\",2590000],UNIT[\"Ind");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ian yard\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"24370\"]]");
-    p = add_epsg_def (filter, first, last, 24371, "epsg", 24371,
-        "Kalianpur 1880 / India zone I");
+        "HORITY[\"EPSG\",\"21476\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21477, "epsg", 21477,
+        "Beijing 1954 / Gauss-Kruger 17N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878");
+        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=637");
+        "ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m ");
     add_proj4text (p, 2,
-        "7299.36559538 +b=6356098.359005156 +to_meter=0.914398530");
-    add_proj4text (p, 3,
-        "7444408 +no_defs");
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1880 / India zone I\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 17N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "pur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest (");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "1830 Definition)\",6377299.36559538,300.8017255433552,AU");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"]");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lambe");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "\",32.5],PARAMETER[\"central_meridian\",68],PARAMETER[\"");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.99878641],PARAMETER[\"false_easting\",3");
+        "n\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "000000],PARAMETER[\"false_northing\",1000000],UNIT[\"Ind");
+        "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ian yard\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"24371\"]]");
-    p = add_epsg_def (filter, first, last, 24372, "epsg", 24372,
-        "Kalianpur 1880 / India zone IIa");
+        "HORITY[\"EPSG\",\"21477\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21478, "epsg", 21478,
+        "Beijing 1954 / Gauss-Kruger 18N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 ");
+        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
     add_proj4text (p, 2,
-        ".36559538 +b=6356098.359005156 +to_meter=0.9143985307444");
-    add_proj4text (p, 3,
-        "408 +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1880 / India zone IIa\",GEOGCS[\"Kali");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 18N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "anpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        " (1830 Definition)\",6377299.36559538,300.8017255433552,");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lamb");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origi");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "n\",26],PARAMETER[\"central_meridian\",74],PARAMETER[\"s");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.99878641],PARAMETER[\"false_easting\",30");
+        "n\",0],PARAMETER[\"central_meridian\",105],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",1000000],UNIT[\"Indi");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "an yard\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"24372\"]]");
-    p = add_epsg_def (filter, first, last, 24373, "epsg", 24373,
-        "Kalianpur 1880 / India zone IIIa");
+        "UTHORITY[\"EPSG\",\"21478\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21479, "epsg", 21479,
+        "Beijing 1954 / Gauss-Kruger 19N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 ");
+        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
     add_proj4text (p, 2,
-        ".36559538 +b=6356098.359005156 +to_meter=0.9143985307444");
-    add_proj4text (p, 3,
-        "408 +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1880 / India zone IIIa\",GEOGCS[\"Kal");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 19N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "ianpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everes");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "t (1830 Definition)\",6377299.36559538,300.8017255433552");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"La");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "mbert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_ori");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "gin\",19],PARAMETER[\"central_meridian\",80],PARAMETER[\"");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.99878641],PARAMETER[\"false_easting\",3");
+        "n\",0],PARAMETER[\"central_meridian\",111],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "000000],PARAMETER[\"false_northing\",1000000],UNIT[\"Ind");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ian yard\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"24373\"]]");
-    p = add_epsg_def (filter, first, last, 24374, "epsg", 24374,
-        "Kalianpur 1880 / India zone IVa");
+        "UTHORITY[\"EPSG\",\"21479\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21480, "epsg", 21480,
+        "Beijing 1954 / Gauss-Kruger 20N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 ");
+        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
     add_proj4text (p, 2,
-        ".36559538 +b=6356098.359005156 +to_meter=0.9143985307444");
-    add_proj4text (p, 3,
-        "408 +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1880 / India zone IVa\",GEOGCS[\"Kali");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 20N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "anpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        " (1830 Definition)\",6377299.36559538,300.8017255433552,");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lamb");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origi");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "n\",12],PARAMETER[\"central_meridian\",80],PARAMETER[\"s");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.99878641],PARAMETER[\"false_easting\",30");
+        "n\",0],PARAMETER[\"central_meridian\",117],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",1000000],UNIT[\"Indi");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "an yard\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"24374\"]]");
-    p = add_epsg_def (filter, first, last, 24375, "epsg", 24375,
-        "Kalianpur 1937 / India zone IIb");
+        "UTHORITY[\"EPSG\",\"21480\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21481, "epsg", 21481,
+        "Beijing 1954 / Gauss-Kruger 21N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 ");
+        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+x_0=2743185.69 +y_0=914395.23 +a=6377276.345 +b=6356075");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
     add_proj4text (p, 2,
-        ".41314024 +towgs84=214,804,268,0,0,0,0 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1937 / India zone IIb\",GEOGCS[\"Kali");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 21N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "anpur 1937\",DATUM[\"Kalianpur_1937\",SPHEROID[\"Everest");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        " 1830 (1937 Adjustment)\",6377276.345,300.8017,AUTHORITY");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7015\"]],TOWGS84[214,804,268,0,0,0,0],AUTHOR");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"6144\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4144\"");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",26],PARAMETER[\"central_meridian");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "\",90],PARAMETER[\"scale_factor\",0.99878641],PARAMETER[");
+        "n\",0],PARAMETER[\"central_meridian\",123],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "\"false_easting\",2743185.69],PARAMETER[\"false_northing");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "\",914395.23],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"24375\"]]");
-    p = add_epsg_def (filter, first, last, 24376, "epsg", 24376,
-        "Kalianpur 1962 / India zone I");
+        "UTHORITY[\"EPSG\",\"21481\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21482, "epsg", 21482,
+        "Beijing 1954 / Gauss-Kruger 22N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878");
+        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=63561");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
     add_proj4text (p, 2,
-        "00.230165384 +towgs84=283,682,231,0,0,0,0 +units=m +no_d");
-    add_proj4text (p, 3,
-        "efs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1962 / India zone I\",GEOGCS[\"Kalian");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 22N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "pur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest 1");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "830 (1962 Definition)\",6377301.243,300.8017255,AUTHORIT");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7044\"]],TOWGS84[283,682,231,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6145\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4145");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMET");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "ER[\"latitude_of_origin\",32.5],PARAMETER[\"central_meri");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "dian\",68],PARAMETER[\"scale_factor\",0.99878641],PARAME");
+        "n\",0],PARAMETER[\"central_meridian\",129],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",2743196.4],PARAMETER[\"false_north");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ing\",914398.8],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"24376\"]]");
-    p = add_epsg_def (filter, first, last, 24377, "epsg", 24377,
-        "Kalianpur 1962 / India zone IIa");
+        "UTHORITY[\"EPSG\",\"21482\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21483, "epsg", 21483,
+        "Beijing 1954 / Gauss-Kruger 23N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Beijing_1954", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 ");
+        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.2");
+        "+ellps=krass +towgs84=15.8,-154.4,-82.3,0,0,0,0 +units=m");
     add_proj4text (p, 2,
-        "30165384 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1962 / India zone IIa\",GEOGCS[\"Kali");
+        "PROJCS[\"Beijing 1954 / Gauss-Kruger 23N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "anpur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest");
+        "GEOGCS[\"Beijing 1954\",DATUM[\"Beijing_1954\",SPHEROID[");
     add_srs_wkt (p, 2,
-        " 1830 (1962 Definition)\",6377301.243,300.8017255,AUTHOR");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7044\"]],TOWGS84[283,682,231,0,0,0,0],AUT");
+        "024\"]],TOWGS84[15.8,-154.4,-82.3,0,0,0,0],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6145\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "PSG\",\"6214\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "45\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAM");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4214\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",26],PARAMETER[\"central_meri");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "dian\",74],PARAMETER[\"scale_factor\",0.99878641],PARAME");
+        "n\",0],PARAMETER[\"central_meridian\",135],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",2743196.4],PARAMETER[\"false_north");
+        "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "ing\",914398.8],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"24377\"]]");
-    p = add_epsg_def (filter, first, last, 24378, "epsg", 24378,
-        "Kalianpur 1975 / India zone I");
+        "UTHORITY[\"EPSG\",\"21483\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21500, "epsg", 21500,
+        "Belge 1950 (Brussels) / Belge Lambert 50", 0, 0,
+        "International 1924", "Brussels",
+        "Reseau_National_Belge_1950_Brussels", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878");
+        "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666");
     add_proj4text (p, 1,
-        "641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=63560");
+        "666 +lat_0=90 +lon_0=0 +x_0=150000 +y_0=5400000 +ellps=i");
     add_proj4text (p, 2,
-        "98.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_d");
-    add_proj4text (p, 3,
-        "efs");
+        "ntl +pm=brussels +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / India zone I\",GEOGCS[\"Kalian");
+        "PROJCS[\"Belge 1950 (Brussels) / Belge Lambert 50\",GEOG");
     add_srs_wkt (p, 1,
-        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
+        "CS[\"Belge 1950 (Brussels)\",DATUM[\"Reseau_National_Bel");
     add_srs_wkt (p, 2,
-        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
+        "ge_1950_Brussels\",SPHEROID[\"International 1924\",63783");
     add_srs_wkt (p, 3,
-        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
+        "88,297,AUTHORITY[\"EPSG\",\"7022\"]],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "\"6809\"]],PRIMEM[\"Brussels\",4.367975,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\",\"8910\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4146");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMET");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4809\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "ER[\"latitude_of_origin\",32.5],PARAMETER[\"central_meri");
+        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
     add_srs_wkt (p, 9,
-        "dian\",68],PARAMETER[\"scale_factor\",0.99878641],PARAME");
+        "parallel_1\",49.83333333333334],PARAMETER[\"standard_par");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",2743195.5],PARAMETER[\"false_north");
+        "allel_2\",51.16666666666666],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 11,
-        "ing\",914398.5],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "gin\",90],PARAMETER[\"central_meridian\",0],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "false_easting\",150000],PARAMETER[\"false_northing\",540");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"24378\"]]");
-    p = add_epsg_def (filter, first, last, 24379, "epsg", 24379,
-        "Kalianpur 1975 / India zone IIa");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"215");
+    add_srs_wkt (p, 15,
+        "00\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21780, "epsg", 21780,
+        "Bern 1898 (Bern) / LV03C", 0, 0,
+        "Bessel 1841", "Bern",
+        "CH1903_Bern", "Hotine_Oblique_Mercator_Azimuth_Center", "metre",
+        "Y", "East", "X", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 ");
+        "+proj=somerc +lat_0=46.95240555555556 +lon_0=0 +k_0=1 +x");
     add_proj4text (p, 1,
-        "+x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.1");
+        "_0=0 +y_0=0 +ellps=bessel +towgs84=674.4,15.1,405.3,0,0,");
     add_proj4text (p, 2,
-        "45120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
+        "0,0 +pm=bern +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / India zone IIa\",GEOGCS[\"Kali");
+        "PROJCS[\"Bern 1898 (Bern) / LV03C\",GEOGCS[\"Bern 1898 (");
     add_srs_wkt (p, 1,
-        "anpur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest");
+        "Bern)\",DATUM[\"CH1903_Bern\",SPHEROID[\"Bessel 1841\",6");
     add_srs_wkt (p, 2,
-        " 1830 (1975 Definition)\",6377299.151,300.8017255,AUTHOR");
+        "377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOW");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUT");
+        "GS84[674.4,15.1,405.3,0,0,0,0],AUTHORITY[\"EPSG\",\"6801");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "\"]],PRIMEM[\"Bern\",7.439583333333333,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        ",\"8907\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "46\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAM");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4801\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",26],PARAMETER[\"central_meri");
+        "\"Hotine_Oblique_Mercator_Azimuth_Center\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "dian\",74],PARAMETER[\"scale_factor\",0.99878641],PARAME");
+        "latitude_of_center\",46.95240555555556],PARAMETER[\"long");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",2743195.5],PARAMETER[\"false_north");
+        "itude_of_center\",0],PARAMETER[\"azimuth\",90],PARAMETER");
     add_srs_wkt (p, 11,
-        "ing\",914398.5],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "[\"rectified_grid_angle\",90],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        ",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nor");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"24379\"]]");
-    p = add_epsg_def (filter, first, last, 24380, "epsg", 24380,
-        "Kalianpur 1975 / India zone IIb");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+    add_srs_wkt (p, 14,
+        "],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 15,
+        "\"21780\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21781, "epsg", 21781,
+        "CH1903 / LV03", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "CH1903", "Hotine_Oblique_Mercator_Azimuth_Center", "metre",
+        "Y", "East", "X", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 ");
+        "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333");
     add_proj4text (p, 1,
-        "+x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.1");
+        "333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +tow");
     add_proj4text (p, 2,
-        "45120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
+        "gs84=674.4,15.1,405.3,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / India zone IIb\",GEOGCS[\"Kali");
+        "PROJCS[\"CH1903 / LV03\",GEOGCS[\"CH1903\",DATUM[\"CH190");
     add_srs_wkt (p, 1,
-        "anpur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest");
+        "3\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUT");
     add_srs_wkt (p, 2,
-        " 1830 (1975 Definition)\",6377299.151,300.8017255,AUTHOR");
+        "HORITY[\"EPSG\",\"7004\"]],TOWGS84[674.4,15.1,405.3,0,0,");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUT");
+        "0,0],AUTHORITY[\"EPSG\",\"6149\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "46\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAM");
+        "4149\"]],PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Ce");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",26],PARAMETER[\"central_meri");
+        "nter\"],PARAMETER[\"latitude_of_center\",46.952405555555");
     add_srs_wkt (p, 9,
-        "dian\",90],PARAMETER[\"scale_factor\",0.99878641],PARAME");
+        "56],PARAMETER[\"longitude_of_center\",7.439583333333333]");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",2743195.5],PARAMETER[\"false_north");
+        ",PARAMETER[\"azimuth\",90],PARAMETER[\"rectified_grid_an");
     add_srs_wkt (p, 11,
-        "ing\",914398.5],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "gle\",90],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "e_easting\",600000],PARAMETER[\"false_northing\",200000]");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"24380\"]]");
-    p = add_epsg_def (filter, first, last, 24381, "epsg", 24381,
-        "Kalianpur 1975 / India zone IIIa");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"EPSG\",\"21781\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 21782, "epsg", 21782,
+        "CH1903 / LV03C-G", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "CH1903", "Hotine_Oblique_Mercator_Azimuth_Center", "metre",
+        "Y", "East", "X", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 ");
+        "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333");
     add_proj4text (p, 1,
-        "+x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.1");
+        "333333 +k_0=1 +x_0=0 +y_0=0 +ellps=bessel +towgs84=674.4");
     add_proj4text (p, 2,
-        "45120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
+        ",15.1,405.3,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / India zone IIIa\",GEOGCS[\"Kal");
+        "PROJCS[\"CH1903 / LV03C-G\",GEOGCS[\"CH1903\",DATUM[\"CH");
     add_srs_wkt (p, 1,
-        "ianpur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everes");
+        "1903\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,");
     add_srs_wkt (p, 2,
-        "t 1830 (1975 Definition)\",6377299.151,300.8017255,AUTHO");
+        "AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[674.4,15.1,405.3,0");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AU");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"6149\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "146\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARA");
+        ",\"4149\"]],PROJECTION[\"Hotine_Oblique_Mercator_Azimuth");
     add_srs_wkt (p, 8,
-        "METER[\"latitude_of_origin\",19],PARAMETER[\"central_mer");
+        "_Center\"],PARAMETER[\"latitude_of_center\",46.952405555");
     add_srs_wkt (p, 9,
-        "idian\",80],PARAMETER[\"scale_factor\",0.99878641],PARAM");
+        "55556],PARAMETER[\"longitude_of_center\",7.4395833333333");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",2743195.5],PARAMETER[\"false_nort");
+        "33],PARAMETER[\"azimuth\",90],PARAMETER[\"rectified_grid");
     add_srs_wkt (p, 11,
-        "hing\",914398.5],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "_angle\",90],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "alse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"24381\"]]");
-    p = add_epsg_def (filter, first, last, 24382, "epsg", 24382,
-        "Kalianpur 1880 / India zone IIb");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"X\",NORTH],AUTHORITY[\"EPSG\",\"21782\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21817, "epsg", 21817,
+        "Bogota 1975 / UTM zone 17N (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 ");
+        "+proj=utm +zone=17 +ellps=intl +towgs84=307,304,-318,0,0");
     add_proj4text (p, 1,
-        "+x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299");
-    add_proj4text (p, 2,
-        ".36559538 +b=6356098.359005156 +to_meter=0.9143985307444");
-    add_proj4text (p, 3,
-        "408 +no_defs");
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1880 / India zone IIb\",GEOGCS[\"Kali");
+        "PROJCS[\"Bogota 1975 / UTM zone 17N (deprecated)\",GEOGC");
     add_srs_wkt (p, 1,
-        "anpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest");
+        "S[\"Bogota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"Inter");
     add_srs_wkt (p, 2,
-        " (1830 Definition)\",6377299.36559538,300.8017255433552,");
+        "national 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"");
+        "],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"621");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lamb");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origi");
+        "EAST],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "n\",26],PARAMETER[\"central_meridian\",90],PARAMETER[\"s");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.99878641],PARAMETER[\"false_easting\",30");
+        "METER[\"central_meridian\",-81],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",1000000],UNIT[\"Indi");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "an yard\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"24382\"]]");
-    p = add_epsg_def (filter, first, last, 24383, "epsg", 24383,
-        "Kalianpur 1975 / India zone IVa");
+        "ORTH],AUTHORITY[\"EPSG\",\"21817\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21818, "epsg", 21818,
+        "Bogota 1975 / UTM zone 18N", 0, 0,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 ");
+        "+proj=utm +zone=18 +ellps=intl +towgs84=307,304,-318,0,0");
     add_proj4text (p, 1,
-        "+x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.1");
-    add_proj4text (p, 2,
-        "45120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kalianpur 1975 / India zone IVa\",GEOGCS[\"Kali");
+        "PROJCS[\"Bogota 1975 / UTM zone 18N\",GEOGCS[\"Bogota 19");
     add_srs_wkt (p, 1,
-        "anpur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest");
+        "75\",DATUM[\"Bogota_1975\",SPHEROID[\"International 1924");
     add_srs_wkt (p, 2,
-        " 1830 (1975 Definition)\",6377299.151,300.8017255,AUTHOR");
+        "\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[307");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUT");
+        ",304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"6218\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"41");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "46\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAM");
+        "TY[\"EPSG\",\"4218\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",12],PARAMETER[\"central_meri");
+        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "dian\",80],PARAMETER[\"scale_factor\",0.99878641],PARAME");
+        "l_meridian\",-75],PARAMETER[\"scale_factor\",0.9996],PAR");
     add_srs_wkt (p, 10,
-        "TER[\"false_easting\",2743195.5],PARAMETER[\"false_north");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "ing\",914398.5],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"24383\"]]");
-    p = add_epsg_def (filter, first, last, 24500, "epsg", 24500,
-        "Kertau 1968 / Singapore Grid");
+        "Y[\"EPSG\",\"21818\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21891, "epsg", 21891,
+        "Bogota 1975 / Colombia West zone (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=cass +lat_0=1.287646666666667 +lon_0=103.853002222");
+        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666");
     add_proj4text (p, 1,
-        "2222 +x_0=30000 +y_0=30000 +a=6377304.063 +b=6356103.038");
+        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
     add_proj4text (p, 2,
-        "993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs");
+        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kertau 1968 / Singapore Grid\",GEOGCS[\"Kertau ");
+        "PROJCS[\"Bogota 1975 / Colombia West zone (deprecated)\"");
     add_srs_wkt (p, 1,
-        "1968\",DATUM[\"Kertau_1968\",SPHEROID[\"Everest 1830 Mod");
+        ",GEOGCS[\"Bogota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "ified\",6377304.063,300.8017,AUTHORITY[\"EPSG\",\"7018\"");
+        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-11,851,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6245\"");
+        "22\"]],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "\"6218\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4245\"]],PROJECTION[\"Cass");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "ini_Soldner\"],PARAMETER[\"latitude_of_origin\",1.287646");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "666666667],PARAMETER[\"central_meridian\",103.8530022222");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4.");
     add_srs_wkt (p, 9,
-        "222],PARAMETER[\"false_easting\",30000],PARAMETER[\"fals");
+        "599047222222222],PARAMETER[\"central_meridian\",-77.0809");
     add_srs_wkt (p, 10,
-        "e_northing\",30000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "1666666667],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "lse_easting\",1000000],PARAMETER[\"false_northing\",1000");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"24500\"]]");
-    p = add_epsg_def (filter, first, last, 24547, "epsg", 24547,
-        "Kertau 1968 / UTM zone 47N");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2189");
+    add_srs_wkt (p, 14,
+        "1\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21892, "epsg", 21892,
+        "Bogota 1975 / Colombia Bogota zone (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +a=6377304.063 +b=6356103.038993155 +");
+        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666");
     add_proj4text (p, 1,
-        "towgs84=-11,851,5,0,0,0,0 +units=m +no_defs");
+        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
+    add_proj4text (p, 2,
+        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kertau 1968 / UTM zone 47N\",GEOGCS[\"Kertau 19");
+        "PROJCS[\"Bogota 1975 / Colombia Bogota zone (deprecated)");
     add_srs_wkt (p, 1,
-        "68\",DATUM[\"Kertau_1968\",SPHEROID[\"Everest 1830 Modif");
+        "\",GEOGCS[\"Bogota 1975\",DATUM[\"Bogota_1975\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ied\",6377304.063,300.8017,AUTHORITY[\"EPSG\",\"7018\"]]");
+        "[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        ",TOWGS84[-11,851,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6245\"]");
+        "7022\"]],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        ",\"6218\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4245\"]],PROJECTION[\"Trans");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",99],PARAMETER[\"scale_facto");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 9,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        ".599047222222222],PARAMETER[\"central_meridian\",-74.080");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "91666666667],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "alse_easting\",1000000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"24547\"]]");
-    p = add_epsg_def (filter, first, last, 24548, "epsg", 24548,
-        "Kertau 1968 / UTM zone 48N");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"218");
+    add_srs_wkt (p, 14,
+        "92\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21893, "epsg", 21893,
+        "Bogota 1975 / Colombia East Central zone (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +a=6377304.063 +b=6356103.038993155 +");
+        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666");
     add_proj4text (p, 1,
-        "towgs84=-11,851,5,0,0,0,0 +units=m +no_defs");
+        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
+    add_proj4text (p, 2,
+        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kertau 1968 / UTM zone 48N\",GEOGCS[\"Kertau 19");
+        "PROJCS[\"Bogota 1975 / Colombia East Central zone (depre");
     add_srs_wkt (p, 1,
-        "68\",DATUM[\"Kertau_1968\",SPHEROID[\"Everest 1830 Modif");
+        "cated)\",GEOGCS[\"Bogota 1975\",DATUM[\"Bogota_1975\",SP");
     add_srs_wkt (p, 2,
-        "ied\",6377304.063,300.8017,AUTHORITY[\"EPSG\",\"7018\"]]");
+        "HEROID[\"International 1924\",6378388,297,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        ",TOWGS84[-11,851,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6245\"]");
+        "SG\",\"7022\"]],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "\"EPSG\",\"6218\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4245\"]],PROJECTION[\"Trans");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "verse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PA");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4218\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",105],PARAMETER[\"scale_fact");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "igin\",4.599047222222222],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ",-71.08091666666667],PARAMETER[\"scale_factor\",1],PARAM");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "ETER[\"false_easting\",1000000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"24548\"]]");
-    p = add_epsg_def (filter, first, last, 24571, "epsg", 24571,
-        "Kertau / R.S.O. Malaya (ch) (deprecated)");
+        "ng\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 13,
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"21893\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21894, "epsg", 21894,
+        "Bogota 1975 / Colombia East (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=");
+        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666");
     add_proj4text (p, 1,
-        "0.99984 +x_0=804671.2997750348 +y_0=0 +no_uoff +gamma=32");
+        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
     add_proj4text (p, 2,
-        "3.1301023611111 +a=6377304.063 +b=6356103.038993155 +tow");
-    add_proj4text (p, 3,
-        "gs84=-11,851,5,0,0,0,0 +to_meter=20.11678249437587 +no_d");
-    add_proj4text (p, 4,
-        "efs");
+        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Kertau / R.S.O. Malaya (ch) (deprecated)\",GEOG");
+        "PROJCS[\"Bogota 1975 / Colombia East (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
-        "CS[\"Kertau 1968\",DATUM[\"Kertau_1968\",SPHEROID[\"Ever");
+        "CS[\"Bogota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"Inte");
     add_srs_wkt (p, 2,
-        "est 1830 Modified\",6377304.063,300.8017,AUTHORITY[\"EPS");
+        "rnational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        "G\",\"7018\"]],TOWGS84[-11,851,5,0,0,0,0],AUTHORITY[\"EP");
+        "]],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
     add_srs_wkt (p, 4,
-        "SG\",\"6245\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "18\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4245\"]],PROJE");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "CTION[\"Hotine_Oblique_Mercator\"],PARAMETER[\"latitude_");
+        "EAST],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "of_center\",4],PARAMETER[\"longitude_of_center\",102.25]");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",4.59904");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"azimuth\",323.0257905],PARAMETER[\"rectifie");
+        "7222222222],PARAMETER[\"central_meridian\",-68.080916666");
     add_srs_wkt (p, 10,
-        "d_grid_angle\",323.1301023611111],PARAMETER[\"scale_fact");
+        "66667],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "or\",0.99984],PARAMETER[\"false_easting\",40000],PARAMET");
+        "asting\",1000000],PARAMETER[\"false_northing\",1000000],");
     add_srs_wkt (p, 12,
-        "ER[\"false_northing\",0],UNIT[\"British chain (Benoit 18");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
     add_srs_wkt (p, 13,
-        "95 B)\",20.11678249437587,AUTHORITY[\"EPSG\",\"9062\"]],");
-    add_srs_wkt (p, 14,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
-    add_srs_wkt (p, 15,
-        "Y[\"EPSG\",\"24571\"]]");
-    p = add_epsg_def (filter, first, last, 24600, "epsg", 24600,
-        "KOC Lambert");
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"21894\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21896, "epsg", 21896,
+        "Bogota 1975 / Colombia West zone", 0, 1,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.99878");
+        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666");
     add_proj4text (p, 1,
-        "64078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +tow");
+        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
     add_proj4text (p, 2,
-        "gs84=-294.7,-200.1,525.5,0,0,0,0 +units=m +no_defs");
+        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"KOC Lambert\",GEOGCS[\"KOC\",DATUM[\"Kuwait_Oil");
+        "PROJCS[\"Bogota 1975 / Colombia West zone\",GEOGCS[\"Bog");
     add_srs_wkt (p, 1,
-        "_Company\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,29");
+        "ota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"Internationa");
     add_srs_wkt (p, 2,
-        "3.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-294.7,-200.");
+        "l 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "1,525.5,0,0,0,0],AUTHORITY[\"EPSG\",\"6246\"]],PRIMEM[\"");
+        "84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"6218\"]],P");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4246\"]],PROJECTION[\"Lambert_Conforma");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "l_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",32.5],PA");
+        "UTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"Transverse_Mer");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",45],PARAMETER[\"scale_facto");
+        "cator\"],PARAMETER[\"latitude_of_origin\",4.599047222222");
     add_srs_wkt (p, 9,
-        "r\",0.9987864078],PARAMETER[\"false_easting\",1500000],P");
+        "222],PARAMETER[\"central_meridian\",-77.08091666666667],");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",1166200],UNIT[\"metre\",1,AU");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        ",1000000],PARAMETER[\"false_northing\",1000000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24600\"]]");
-    p = add_epsg_def (filter, first, last, 24718, "epsg", 24718,
-        "La Canoa / UTM zone 18N");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"21896\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21897, "epsg", 21897,
+        "Bogota 1975 / Colombia Bogota zone", 0, 1,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +ellps=intl +towgs84=-273.5,110.6,-35");
+        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666");
     add_proj4text (p, 1,
-        "7.9,0,0,0,0 +units=m +no_defs");
+        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
+    add_proj4text (p, 2,
+        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"La Canoa / UTM zone 18N\",GEOGCS[\"La Canoa\",D");
+        "PROJCS[\"Bogota 1975 / Colombia Bogota zone\",GEOGCS[\"B");
     add_srs_wkt (p, 1,
-        "ATUM[\"La_Canoa\",SPHEROID[\"International 1924\",637838");
+        "ogota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"Internatio");
     add_srs_wkt (p, 2,
-        "8,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-273.5,110.6");
+        "nal 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOW");
     add_srs_wkt (p, 3,
-        ",-357.9,0,0,0,0],AUTHORITY[\"EPSG\",\"6247\"]],PRIMEM[\"");
+        "GS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"6218\"]]");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4247\"]],PROJECTION[\"Transverse_Merca");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        ",AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-75],PARAMETER[\"scale_factor\",0.9996");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",4.5990472222");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "22222],PARAMETER[\"central_meridian\",-74.08091666666667");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "g\",1000000],PARAMETER[\"false_northing\",1000000],UNIT[");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"24718\"]]");
-    p = add_epsg_def (filter, first, last, 24719, "epsg", 24719,
-        "La Canoa / UTM zone 19N");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"21897\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21898, "epsg", 21898,
+        "Bogota 1975 / Colombia East Central zone", 0, 1,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +ellps=intl +towgs84=-273.5,110.6,-35");
+        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666");
     add_proj4text (p, 1,
-        "7.9,0,0,0,0 +units=m +no_defs");
+        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
+    add_proj4text (p, 2,
+        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"La Canoa / UTM zone 19N\",GEOGCS[\"La Canoa\",D");
+        "PROJCS[\"Bogota 1975 / Colombia East Central zone\",GEOG");
     add_srs_wkt (p, 1,
-        "ATUM[\"La_Canoa\",SPHEROID[\"International 1924\",637838");
+        "CS[\"Bogota 1975\",DATUM[\"Bogota_1975\",SPHEROID[\"Inte");
     add_srs_wkt (p, 2,
-        "8,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-273.5,110.6");
+        "rnational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        ",-357.9,0,0,0,0],AUTHORITY[\"EPSG\",\"6247\"]],PRIMEM[\"");
+        "]],TOWGS84[307,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "18\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4247\"]],PROJECTION[\"Transverse_Merca");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "EAST],AUTHORITY[\"EPSG\",\"4218\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-69],PARAMETER[\"scale_factor\",0.9996");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",4.59904");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "7222222222],PARAMETER[\"central_meridian\",-71.080916666");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "66667],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "asting\",1000000],PARAMETER[\"false_northing\",1000000],");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"24719\"]]");
-    p = add_epsg_def (filter, first, last, 24720, "epsg", 24720,
-        "La Canoa / UTM zone 20N");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"21898\"]]");
+    p = add_epsg_def_ex (filter, first, last, 21899, "epsg", 21899,
+        "Bogota 1975 / Colombia East", 0, 1,
+        "International 1924", "Greenwich",
+        "Bogota_1975", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +ellps=intl +towgs84=-273.5,110.6,-35");
+        "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666");
     add_proj4text (p, 1,
-        "7.9,0,0,0,0 +units=m +no_defs");
+        "666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs");
+    add_proj4text (p, 2,
+        "84=307,304,-318,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"La Canoa / UTM zone 20N\",GEOGCS[\"La Canoa\",D");
+        "PROJCS[\"Bogota 1975 / Colombia East\",GEOGCS[\"Bogota 1");
     add_srs_wkt (p, 1,
-        "ATUM[\"La_Canoa\",SPHEROID[\"International 1924\",637838");
+        "975\",DATUM[\"Bogota_1975\",SPHEROID[\"International 192");
     add_srs_wkt (p, 2,
-        "8,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-273.5,110.6");
+        "4\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[30");
     add_srs_wkt (p, 3,
-        ",-357.9,0,0,0,0],AUTHORITY[\"EPSG\",\"6247\"]],PRIMEM[\"");
+        "7,304,-318,0,0,0,0],AUTHORITY[\"EPSG\",\"6218\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4247\"]],PROJECTION[\"Transverse_Merca");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "ITY[\"EPSG\",\"4218\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-63],PARAMETER[\"scale_factor\",0.9996");
+        "\"],PARAMETER[\"latitude_of_origin\",4.599047222222222],");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "PARAMETER[\"central_meridian\",-68.08091666666667],PARAM");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",100");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "0000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"24720\"]]");
-    p = add_epsg_def (filter, first, last, 24817, "epsg", 24817,
-        "PSAD56 / UTM zone 17N");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"21899\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22032, "epsg", 22032,
+        "Camacupa / UTM zone 32S", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Camacupa", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +ellps=intl +towgs84=-288,175,-376,0,");
+        "+proj=utm +zone=32 +south +ellps=clrk80 +towgs84=-50.9,-");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "347.6,-231,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 17N\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"Camacupa / UTM zone 32S\",GEOGCS[\"Camacupa\",D");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "ATUM[\"Camacupa\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-50.9");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        ",-347.6,-231,0,0,0,0],AUTHORITY[\"EPSG\",\"6220\"]],PRIM");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "ORITY[\"EPSG\",\"4220\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-81],PARAMETER[\"scal");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "ntral_meridian\",9],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "thing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"24817\"]]");
-    p = add_epsg_def (filter, first, last, 24818, "epsg", 24818,
-        "PSAD56 / UTM zone 18N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"22032\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22033, "epsg", 22033,
+        "Camacupa / UTM zone 33S", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Camacupa", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +ellps=intl +towgs84=-288,175,-376,0,");
+        "+proj=utm +zone=33 +south +ellps=clrk80 +towgs84=-50.9,-");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "347.6,-231,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 18N\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"Camacupa / UTM zone 33S\",GEOGCS[\"Camacupa\",D");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "ATUM[\"Camacupa\",SPHEROID[\"Clarke 1880 (RGS)\",6378249");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        ".145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-50.9");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        ",-347.6,-231,0,0,0,0],AUTHORITY[\"EPSG\",\"6220\"]],PRIM");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "ORITY[\"EPSG\",\"4220\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-75],PARAMETER[\"scal");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "ntral_meridian\",15],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"24818\"]]");
-    p = add_epsg_def (filter, first, last, 24819, "epsg", 24819,
-        "PSAD56 / UTM zone 19N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"22033\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22091, "epsg", 22091,
+        "Camacupa / TM 11.30 SE", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Camacupa", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +ellps=intl +towgs84=-288,175,-376,0,");
+        "+proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.9996 +x_0=500000 +");
     add_proj4text (p, 1,
+        "y_0=10000000 +ellps=clrk80 +towgs84=-50.9,-347.6,-231,0,");
+    add_proj4text (p, 2,
         "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 19N\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"Camacupa / TM 11.30 SE\",GEOGCS[\"Camacupa\",DA");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "TUM[\"Camacupa\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-50.9,");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "-347.6,-231,0,0,0,0],AUTHORITY[\"EPSG\",\"6220\"]],PRIME");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "RITY[\"EPSG\",\"4220\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-69],PARAMETER[\"scal");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "tral_meridian\",11.5],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"24819\"]]");
-    p = add_epsg_def (filter, first, last, 24820, "epsg", 24820,
-        "PSAD56 / UTM zone 20N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"22091\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22092, "epsg", 22092,
+        "Camacupa / TM 12 SE", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Camacupa", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +ellps=intl +towgs84=-288,175,-376,0,");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "0=10000000 +ellps=clrk80 +towgs84=-50.9,-347.6,-231,0,0,");
+    add_proj4text (p, 2,
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 20N\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"Camacupa / TM 12 SE\",GEOGCS[\"Camacupa\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "[\"Camacupa\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        ",293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-50.9,-34");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "7.6,-231,0,0,0,0],AUTHORITY[\"EPSG\",\"6220\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "[\"EPSG\",\"4220\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"scal");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "_meridian\",12],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "g\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"24820\"]]");
-    p = add_epsg_def (filter, first, last, 24821, "epsg", 24821,
-        "PSAD56 / UTM zone 21N");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"22092\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22171, "epsg", 22171,
+        "POSGAR 98 / Argentina 1", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1998", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +ellps=intl +towgs84=-288,175,-376,0,");
+        "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 21N\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"POSGAR 98 / Argentina 1\",GEOGCS[\"POSGAR 98\",");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-57],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PA");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "RAMETER[\"central_meridian\",-72],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "or\",1],PARAMETER[\"false_easting\",1500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"24821\"]]");
-    p = add_epsg_def (filter, first, last, 24877, "epsg", 24877,
-        "PSAD56 / UTM zone 17S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22171\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22172, "epsg", 22172,
+        "POSGAR 98 / Argentina 2", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1998", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +south +ellps=intl +towgs84=-288,175,");
+        "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0");
     add_proj4text (p, 1,
-        "-376,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 17S\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"POSGAR 98 / Argentina 2\",GEOGCS[\"POSGAR 98\",");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-81],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PA");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "RAMETER[\"central_meridian\",-69],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
+        "or\",1],PARAMETER[\"false_easting\",2500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24877\"]]");
-    p = add_epsg_def (filter, first, last, 24878, "epsg", 24878,
-        "PSAD56 / UTM zone 18S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22172\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22173, "epsg", 22173,
+        "POSGAR 98 / Argentina 3", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1998", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +south +ellps=intl +towgs84=-288,175,");
+        "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0");
     add_proj4text (p, 1,
-        "-376,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 18S\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"POSGAR 98 / Argentina 3\",GEOGCS[\"POSGAR 98\",");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-75],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PA");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "RAMETER[\"central_meridian\",-66],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
+        "or\",1],PARAMETER[\"false_easting\",3500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24878\"]]");
-    p = add_epsg_def (filter, first, last, 24879, "epsg", 24879,
-        "PSAD56 / UTM zone 19S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22173\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22174, "epsg", 22174,
+        "POSGAR 98 / Argentina 4", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1998", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +south +ellps=intl +towgs84=-288,175,");
+        "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0");
     add_proj4text (p, 1,
-        "-376,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 19S\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"POSGAR 98 / Argentina 4\",GEOGCS[\"POSGAR 98\",");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-69],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PA");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "RAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
+        "or\",1],PARAMETER[\"false_easting\",4500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24879\"]]");
-    p = add_epsg_def (filter, first, last, 24880, "epsg", 24880,
-        "PSAD56 / UTM zone 20S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22174\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22175, "epsg", 22175,
+        "POSGAR 98 / Argentina 5", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1998", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +south +ellps=intl +towgs84=-288,175,");
+        "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0");
     add_proj4text (p, 1,
-        "-376,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 20S\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"POSGAR 98 / Argentina 5\",GEOGCS[\"POSGAR 98\",");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-63],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PA");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "RAMETER[\"central_meridian\",-60],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
+        "or\",1],PARAMETER[\"false_easting\",5500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24880\"]]");
-    p = add_epsg_def (filter, first, last, 24881, "epsg", 24881,
-        "PSAD56 / UTM zone 21S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22175\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22176, "epsg", 22176,
+        "POSGAR 98 / Argentina 6", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1998", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +south +ellps=intl +towgs84=-288,175,");
+        "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0");
     add_proj4text (p, 1,
-        "-376,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 21S\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"POSGAR 98 / Argentina 6\",GEOGCS[\"POSGAR 98\",");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-57],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PA");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "RAMETER[\"central_meridian\",-57],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
+        "or\",1],PARAMETER[\"false_easting\",6500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24881\"]]");
-    p = add_epsg_def (filter, first, last, 24882, "epsg", 24882,
-        "PSAD56 / UTM zone 22S");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22176\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22177, "epsg", 22177,
+        "POSGAR 98 / Argentina 7", 0, 1,
+        "GRS 1980", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1998", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=intl +towgs84=-288,175,");
+        "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0");
     add_proj4text (p, 1,
-        "-376,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / UTM zone 22S\",GEOGCS[\"PSAD56\",DATUM");
+        "PROJCS[\"POSGAR 98 / Argentina 7\",GEOGCS[\"POSGAR 98\",");
     add_srs_wkt (p, 1,
-        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1998\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"619");
     add_srs_wkt (p, 4,
-        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "0\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4190\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-51],PARAMETER[\"scal");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PA");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "RAMETER[\"central_meridian\",-54],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
+        "or\",1],PARAMETER[\"false_easting\",7500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24882\"]]");
-    p = add_epsg_def (filter, first, last, 24891, "epsg", 24891,
-        "PSAD56 / Peru west zone");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22177\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22181, "epsg", 22181,
+        "POSGAR 94 / Argentina 1", 0, 1,
+        "WGS 84", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1994", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-6 +lon_0=-80.5 +k=0.99983008 +x_0=22");
+        "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0");
     add_proj4text (p, 1,
-        "2000 +y_0=1426834.743 +ellps=intl +towgs84=-288,175,-376");
-    add_proj4text (p, 2,
-        ",0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / Peru west zone\",GEOGCS[\"PSAD56\",DAT");
+        "PROJCS[\"POSGAR 94 / Argentina 1\",GEOGCS[\"POSGAR 94\",");
     add_srs_wkt (p, 1,
-        "UM[\"Provisional_South_American_Datum_1956\",SPHEROID[\"");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
     add_srs_wkt (p, 2,
-        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
+        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "22\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
     add_srs_wkt (p, 4,
-        ",\"6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTI");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "AST],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "in\",-6],PARAMETER[\"central_meridian\",-80.5],PARAMETER");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PAR");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.99983008],PARAMETER[\"false_easting\"");
+        "AMETER[\"central_meridian\",-72],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        ",222000],PARAMETER[\"false_northing\",1426834.743],UNIT[");
+        "r\",1],PARAMETER[\"false_easting\",1500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"24891\"]]");
-    p = add_epsg_def (filter, first, last, 24892, "epsg", 24892,
-        "PSAD56 / Peru central zone");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22181\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22182, "epsg", 22182,
+        "POSGAR 94 / Argentina 2", 0, 1,
+        "WGS 84", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1994", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-9.5 +lon_0=-76 +k=0.99932994 +x_0=72");
+        "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0");
     add_proj4text (p, 1,
-        "0000 +y_0=1039979.159 +ellps=intl +towgs84=-288,175,-376");
-    add_proj4text (p, 2,
-        ",0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / Peru central zone\",GEOGCS[\"PSAD56\",");
+        "PROJCS[\"POSGAR 94 / Argentina 2\",GEOGCS[\"POSGAR 94\",");
     add_srs_wkt (p, 1,
-        "DATUM[\"Provisional_South_American_Datum_1956\",SPHEROID");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
     add_srs_wkt (p, 2,
-        "[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"");
+        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "7022\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG");
+        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
     add_srs_wkt (p, 4,
-        "\",\"6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJEC");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
+        "AST],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "igin\",-9.5],PARAMETER[\"central_meridian\",-76],PARAMET");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PAR");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.99932994],PARAMETER[\"false_eastin");
+        "AMETER[\"central_meridian\",-69],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "g\",720000],PARAMETER[\"false_northing\",1039979.159],UN");
+        "r\",1],PARAMETER[\"false_easting\",2500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"24892\"]]");
-    p = add_epsg_def (filter, first, last, 24893, "epsg", 24893,
-        "PSAD56 / Peru east zone");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22182\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22183, "epsg", 22183,
+        "POSGAR 94 / Argentina 3", 0, 1,
+        "WGS 84", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1994", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-9.5 +lon_0=-70.5 +k=0.99952992 +x_0=");
+        "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0");
     add_proj4text (p, 1,
-        "1324000 +y_0=1040084.558 +ellps=intl +towgs84=-288,175,-");
-    add_proj4text (p, 2,
-        "376,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"PSAD56 / Peru east zone\",GEOGCS[\"PSAD56\",DAT");
+        "PROJCS[\"POSGAR 94 / Argentina 3\",GEOGCS[\"POSGAR 94\",");
     add_srs_wkt (p, 1,
-        "UM[\"Provisional_South_American_Datum_1956\",SPHEROID[\"");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
     add_srs_wkt (p, 2,
-        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
+        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "22\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
     add_srs_wkt (p, 4,
-        ",\"6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTI");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "AST],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "in\",-9.5],PARAMETER[\"central_meridian\",-70.5],PARAMET");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PAR");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.99952992],PARAMETER[\"false_eastin");
+        "AMETER[\"central_meridian\",-66],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "g\",1324000],PARAMETER[\"false_northing\",1040084.558],U");
+        "r\",1],PARAMETER[\"false_easting\",3500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"24893\"]]");
-    p = add_epsg_def (filter, first, last, 25000, "epsg", 25000,
-        "Leigon / Ghana Metre Grid");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22183\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22184, "epsg", 22184,
+        "POSGAR 94 / Argentina 4", 0, 1,
+        "WGS 84", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1994", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.9997");
+        "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0");
     add_proj4text (p, 1,
-        "5 +x_0=274319.51 +y_0=0 +ellps=clrk80 +towgs84=-130,29,3");
-    add_proj4text (p, 2,
-        "64,0,0,0,0 +units=m +no_defs");
+        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Leigon / Ghana Metre Grid\",GEOGCS[\"Leigon\",D");
+        "PROJCS[\"POSGAR 94 / Argentina 4\",GEOGCS[\"POSGAR 94\",");
     add_srs_wkt (p, 1,
-        "ATUM[\"Leigon\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.1");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
     add_srs_wkt (p, 2,
-        "45,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-130,29");
+        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",364,0,0,0,0],AUTHORITY[\"EPSG\",\"6250\"]],PRIMEM[\"Gre");
+        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
     add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4250\"]],PROJECTION[\"Transverse_Mercator");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",4.666666666666667],");
+        "AST],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-1],PARAMETER[\"scale_fac");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PAR");
     add_srs_wkt (p, 9,
-        "tor\",0.99975],PARAMETER[\"false_easting\",274319.51],PA");
+        "AMETER[\"central_meridian\",-63],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "r\",1],PARAMETER[\"false_easting\",4500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"25000\"]]");
-    p = add_epsg_def (filter, first, last, 25231, "epsg", 25231,
-        "Lome / UTM zone 31N");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22184\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22185, "epsg", 22185,
+        "POSGAR 94 / Argentina 5", 0, 1,
+        "WGS 84", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1994", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=31 +a=6378249.2 +b=6356515 +units=m +no_");
+        "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0");
     add_proj4text (p, 1,
-        "defs");
+        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Lome / UTM zone 31N\",GEOGCS[\"Lome\",DATUM[\"L");
+        "PROJCS[\"POSGAR 94 / Argentina 5\",GEOGCS[\"POSGAR 94\",");
     add_srs_wkt (p, 1,
-        "ome\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
     add_srs_wkt (p, 2,
-        "12936265,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\"");
+        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",\"6252\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4252\"]],PROJECTI");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "in\",0],PARAMETER[\"central_meridian\",3],PARAMETER[\"sc");
+        "AST],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "ale_factor\",0.9996],PARAMETER[\"false_easting\",500000]");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PAR");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "AMETER[\"central_meridian\",-60],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "r\",1],PARAMETER[\"false_easting\",5500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"25231\"]]");
-    p = add_epsg_def (filter, first, last, 25391, "epsg", 25391,
-        "Luzon 1911 / Philippines zone I");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22185\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22186, "epsg", 22186,
+        "POSGAR 94 / Argentina 6", 0, 1,
+        "WGS 84", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1994", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +");
+        "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0");
     add_proj4text (p, 1,
-        "y_0=0 +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,0 +units");
-    add_proj4text (p, 2,
-        "=m +no_defs");
+        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Luzon 1911 / Philippines zone I\",GEOGCS[\"Luzo");
+        "PROJCS[\"POSGAR 94 / Argentina 6\",GEOGCS[\"POSGAR 94\",");
     add_srs_wkt (p, 1,
-        "n 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\",6");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"6253");
+        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
     add_srs_wkt (p, 4,
         "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4253\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",117],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PAR");
     add_srs_wkt (p, 9,
-        "actor\",0.99995],PARAMETER[\"false_easting\",500000],PAR");
+        "AMETER[\"central_meridian\",-57],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "r\",1],PARAMETER[\"false_easting\",6500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"25391\"]]");
-    p = add_epsg_def (filter, first, last, 25392, "epsg", 25392,
-        "Luzon 1911 / Philippines zone II");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22186\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22187, "epsg", 22187,
+        "POSGAR 94 / Argentina 7", 0, 1,
+        "WGS 84", "Greenwich",
+        "Posiciones_Geodesicas_Argentinas_1994", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +");
+        "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0");
     add_proj4text (p, 1,
-        "y_0=0 +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,0 +units");
-    add_proj4text (p, 2,
-        "=m +no_defs");
+        "=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Luzon 1911 / Philippines zone II\",GEOGCS[\"Luz");
+        "PROJCS[\"POSGAR 94 / Argentina 7\",GEOGCS[\"POSGAR 94\",");
     add_srs_wkt (p, 1,
-        "on 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\",");
+        "DATUM[\"Posiciones_Geodesicas_Argentinas_1994\",SPHEROID");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6694");
     add_srs_wkt (p, 4,
-        "3\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4253\"]],PROJECTION[\"T");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "AST],AUTHORITY[\"EPSG\",\"4694\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",119],PARAMETER[\"scale_");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PAR");
     add_srs_wkt (p, 9,
-        "factor\",0.99995],PARAMETER[\"false_easting\",500000],PA");
+        "AMETER[\"central_meridian\",-54],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "r\",1],PARAMETER[\"false_easting\",7500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"25392\"]]");
-    p = add_epsg_def (filter, first, last, 25393, "epsg", 25393,
-        "Luzon 1911 / Philippines zone III");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22187\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22191, "epsg", 22191,
+        "Campo Inchauspe / Argentina 1", 0, 1,
+        "International 1924", "Greenwich",
+        "Campo_Inchauspe", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +");
+        "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0");
     add_proj4text (p, 1,
-        "y_0=0 +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,0 +units");
+        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Luzon 1911 / Philippines zone III\",GEOGCS[\"Lu");
+        "PROJCS[\"Campo Inchauspe / Argentina 1\",GEOGCS[\"Campo ");
     add_srs_wkt (p, 1,
-        "zon 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\"");
+        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
+        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
     add_srs_wkt (p, 4,
-        "53\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4253\"]],PROJECTION[\"T");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "T],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",121],PARAMETER[\"scale_");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PARAM");
     add_srs_wkt (p, 9,
-        "factor\",0.99995],PARAMETER[\"false_easting\",500000],PA");
+        "ETER[\"central_meridian\",-72],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        ",1],PARAMETER[\"false_easting\",1500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"25393\"]]");
-    p = add_epsg_def (filter, first, last, 25394, "epsg", 25394,
-        "Luzon 1911 / Philippines zone IV");
+        "001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"22191\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22192, "epsg", 22192,
+        "Campo Inchauspe / Argentina 2", 0, 1,
+        "International 1924", "Greenwich",
+        "Campo_Inchauspe", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +");
+        "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0");
     add_proj4text (p, 1,
-        "y_0=0 +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,0 +units");
+        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Luzon 1911 / Philippines zone IV\",GEOGCS[\"Luz");
+        "PROJCS[\"Campo Inchauspe / Argentina 2\",GEOGCS[\"Campo ");
     add_srs_wkt (p, 1,
-        "on 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\",");
+        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
     add_srs_wkt (p, 4,
-        "3\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4253\"]],PROJECTION[\"T");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "T],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",123],PARAMETER[\"scale_");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PARAM");
     add_srs_wkt (p, 9,
-        "factor\",0.99995],PARAMETER[\"false_easting\",500000],PA");
+        "ETER[\"central_meridian\",-69],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        ",1],PARAMETER[\"false_easting\",2500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"25394\"]]");
-    p = add_epsg_def (filter, first, last, 25395, "epsg", 25395,
-        "Luzon 1911 / Philippines zone V");
+        "001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"22192\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22193, "epsg", 22193,
+        "Campo Inchauspe / Argentina 3", 0, 1,
+        "International 1924", "Greenwich",
+        "Campo_Inchauspe", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +");
+        "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0");
     add_proj4text (p, 1,
-        "y_0=0 +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,0 +units");
+        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Luzon 1911 / Philippines zone V\",GEOGCS[\"Luzo");
+        "PROJCS[\"Campo Inchauspe / Argentina 3\",GEOGCS[\"Campo ");
     add_srs_wkt (p, 1,
-        "n 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\",6");
+        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        ",TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"6253");
+        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4253\"]],PROJECTION[\"Tr");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "T],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",125],PARAMETER[\"scale_f");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.99995],PARAMETER[\"false_easting\",500000],PAR");
+        "ETER[\"central_meridian\",-66],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        ",1],PARAMETER[\"false_easting\",3500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"25395\"]]");
-    p = add_epsg_def (filter, first, last, 25700, "epsg", 25700,
-        "Makassar (Jakarta) / NEIEZ (deprecated)");
+        "001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"22193\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22194, "epsg", 22194,
+        "Campo Inchauspe / Argentina 4", 0, 1,
+        "International 1924", "Greenwich",
+        "Campo_Inchauspe", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 ");
+        "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0");
     add_proj4text (p, 1,
-        "+ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=");
+        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
     add_proj4text (p, 2,
-        "jakarta +units=m +no_defs");
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Makassar (Jakarta) / NEIEZ (deprecated)\",GEOGC");
+        "PROJCS[\"Campo Inchauspe / Argentina 4\",GEOGCS[\"Campo ");
     add_srs_wkt (p, 1,
-        "S[\"Makassar (Jakarta)\",DATUM[\"Makassar_Jakarta\",SPHE");
+        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
     add_srs_wkt (p, 2,
-        "ROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[-587.8,519.75,145.76,0,0,0,0],");
+        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6804\"]],PRIMEM[\"Jakarta\",106.807");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "7194444444,AUTHORITY[\"EPSG\",\"8908\"]],UNIT[\"degree\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4804\"]],PROJECTION[\"Mercator_1SP\"],PAR");
+        "T],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "AMETER[\"central_meridian\",110],PARAMETER[\"scale_facto");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PARAM");
     add_srs_wkt (p, 9,
-        "r\",0.997],PARAMETER[\"false_easting\",3900000],PARAMETE");
+        "ETER[\"central_meridian\",-63],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",900000],UNIT[\"metre\",1,AUTHORITY[");
+        ",1],PARAMETER[\"false_easting\",4500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"25700\"]]");
-    p = add_epsg_def (filter, first, last, 25828, "epsg", 25828,
-        "ETRS89 / UTM zone 28N");
+        "001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"22194\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22195, "epsg", 22195,
+        "Campo Inchauspe / Argentina 5", 0, 1,
+        "International 1924", "Greenwich",
+        "Campo_Inchauspe", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
+    add_proj4text (p, 2,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 28N\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"Campo Inchauspe / Argentina 5\",GEOGCS[\"Campo ");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "T],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-15],PARAMETER[\"scale_");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PARAM");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "ETER[\"central_meridian\",-60],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        ",1],PARAMETER[\"false_easting\",5500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"25828\"]]");
-    p = add_epsg_def (filter, first, last, 25829, "epsg", 25829,
-        "ETRS89 / UTM zone 29N");
+        "001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"22195\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22196, "epsg", 22196,
+        "Campo Inchauspe / Argentina 6", 0, 1,
+        "International 1924", "Greenwich",
+        "Campo_Inchauspe", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
+    add_proj4text (p, 2,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 29N\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"Campo Inchauspe / Argentina 6\",GEOGCS[\"Campo ");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "T],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-9],PARAMETER[\"scale_f");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-57],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",6500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"25829\"]]");
-    p = add_epsg_def (filter, first, last, 25830, "epsg", 25830,
-        "ETRS89 / UTM zone 30N");
+        "001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"22196\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22197, "epsg", 22197,
+        "Campo Inchauspe / Argentina 7", 0, 1,
+        "International 1924", "Greenwich",
+        "Campo_Inchauspe", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "=0 +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no");
+    add_proj4text (p, 2,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 30N\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"Campo Inchauspe / Argentina 7\",GEOGCS[\"Campo ");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        "Inchauspe\",DATUM[\"Campo_Inchauspe\",SPHEROID[\"Interna");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "TOWGS84[-148,136,90,0,0,0,0],AUTHORITY[\"EPSG\",\"6221\"");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "T],AUTHORITY[\"EPSG\",\"4221\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-3],PARAMETER[\"scale_f");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",-90],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-54],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",1],PARAMETER[\"false_easting\",7500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"25830\"]]");
-    p = add_epsg_def (filter, first, last, 25831, "epsg", 25831,
-        "ETRS89 / UTM zone 31N");
+        "001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"22197\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22234, "epsg", 22234,
+        "Cape / UTM zone 34S", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.9663");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "98753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 31N\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"Cape / UTM zone 34S\",GEOGCS[\"Cape\",DATUM[\"C");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        "ape\",SPHEROID[\"Clarke 1880 (Arc)\",6378249.145,293.466");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "3077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-29");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "2,0,0,0,0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "G\",\"4222\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",3],PARAMETER[\"scale_fa");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ian\",21],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"25831\"]]");
-    p = add_epsg_def (filter, first, last, 25832, "epsg", 25832,
-        "ETRS89 / UTM zone 32N");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22234\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22235, "epsg", 22235,
+        "Cape / UTM zone 35S", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.9663");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "98753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 32N\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"Cape / UTM zone 35S\",GEOGCS[\"Cape\",DATUM[\"C");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        "ape\",SPHEROID[\"Clarke 1880 (Arc)\",6378249.145,293.466");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "3077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-29");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "2,0,0,0,0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "G\",\"4222\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fa");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ian\",27],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "false_easting\",500000],PARAMETER[\"false_northing\",100");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"25832\"]]");
-    p = add_epsg_def (filter, first, last, 25833, "epsg", 25833,
-        "ETRS89 / UTM zone 33N");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"22235\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22236, "epsg", 22236,
+        "Cape / UTM zone 36S (deprecated)", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.9663");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "98753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 33N\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"Cape / UTM zone 36S (deprecated)\",GEOGCS[\"Cap");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        "e\",DATUM[\"Cape\",SPHEROID[\"Clarke 1880 (Arc)\",637824");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "9.145,293.4663077,AUTHORITY[\"EPSG\",\"7013\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "-136,-108,-292,0,0,0,0],AUTHORITY[\"EPSG\",\"6222\"]],PR");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "HORITY[\"EPSG\",\"4222\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_f");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "entral_meridian\",33],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"25833\"]]");
-    p = add_epsg_def (filter, first, last, 25834, "epsg", 25834,
-        "ETRS89 / UTM zone 34N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"22236\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22275, "epsg", 22275,
+        "Cape / Lo15", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+    add_proj4text (p, 2,
+        "08,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 34N\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"Cape / Lo15\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "22\"]],PROJECTION[\"Transverse_Mercator_South_Orientated");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_f");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ral_meridian\",15],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"25834\"]]");
-    p = add_epsg_def (filter, first, last, 25835, "epsg", 25835,
-        "ETRS89 / UTM zone 35N");
+        ",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22275\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22277, "epsg", 22277,
+        "Cape / Lo17", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=17 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+    add_proj4text (p, 2,
+        "08,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 35N\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"Cape / Lo17\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "22\"]],PROJECTION[\"Transverse_Mercator_South_Orientated");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale_f");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ral_meridian\",17],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"25835\"]]");
-    p = add_epsg_def (filter, first, last, 25836, "epsg", 25836,
-        "ETRS89 / UTM zone 36N");
+        ",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22277\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22279, "epsg", 22279,
+        "Cape / Lo19", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+    add_proj4text (p, 2,
+        "08,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 36N\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"Cape / Lo19\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "22\"]],PROJECTION[\"Transverse_Mercator_South_Orientated");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",33],PARAMETER[\"scale_f");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ral_meridian\",19],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"25836\"]]");
-    p = add_epsg_def (filter, first, last, 25837, "epsg", 25837,
-        "ETRS89 / UTM zone 37N");
+        ",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22279\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22281, "epsg", 22281,
+        "Cape / Lo21", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+    add_proj4text (p, 2,
+        "08,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 37N\",GEOGCS[\"ETRS89\",DATUM");
+        "PROJCS[\"Cape / Lo21\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
     add_srs_wkt (p, 1,
-        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
+        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
     add_srs_wkt (p, 2,
-        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "22\"]],PROJECTION[\"Transverse_Mercator_South_Orientated");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",39],PARAMETER[\"scale_f");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ral_meridian\",21],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"25837\"]]");
-    p = add_epsg_def (filter, first, last, 25838, "epsg", 25838,
-        "ETRS89 / UTM zone 38N (deprecated)");
+        ",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22281\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22283, "epsg", 22283,
+        "Cape / Lo23", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+    add_proj4text (p, 2,
+        "08,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / UTM zone 38N (deprecated)\",GEOGCS[\"E");
+        "PROJCS[\"Cape / Lo23\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
     add_srs_wkt (p, 1,
-        "TRS89\",DATUM[\"European_Terrestrial_Reference_System_19");
+        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
     add_srs_wkt (p, 2,
-        "89\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
+        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
     add_srs_wkt (p, 3,
-        "TY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[");
+        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "22\"]],PROJECTION[\"Transverse_Mercator_South_Orientated");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",45],PARAM");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
+        "ral_meridian\",23],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
     add_srs_wkt (p, 12,
-        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"25838\"]]");
-    p = add_epsg_def (filter, first, last, 25884, "epsg", 25884,
-        "ETRS89 / TM Baltic93");
+        ",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22283\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22285, "epsg", 22285,
+        "Cape / Lo25", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_");
+        "+proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
-        "0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_def");
+        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
     add_proj4text (p, 2,
-        "s");
+        "08,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ETRS89 / TM Baltic93\",GEOGCS[\"ETRS89\",DATUM[");
+        "PROJCS[\"Cape / Lo25\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
     add_srs_wkt (p, 1,
-        "\"European_Terrestrial_Reference_System_1989\",SPHEROID[");
+        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
     add_srs_wkt (p, 2,
-        "\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
+        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"T");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "22\"]],PROJECTION[\"Transverse_Mercator_South_Orientated");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",24],PARAMETER[\"scale_f");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ral_meridian\",25],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"25884\"]]");
-    p = add_epsg_def (filter, first, last, 25932, "epsg", 25932,
-        "Malongo 1987 / UTM zone 32S");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
+    add_srs_wkt (p, 12,
+        ",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22285\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22287, "epsg", 22287,
+        "Cape / Lo27", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +south +ellps=intl +towgs84=-254.1,-5");
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
-        ".36,-100.29,0,0,0,0 +units=m +no_defs");
+        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
+    add_proj4text (p, 2,
+        "08,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Malongo 1987 / UTM zone 32S\",GEOGCS[\"Malongo ");
+        "PROJCS[\"Cape / Lo27\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
     add_srs_wkt (p, 1,
-        "1987\",DATUM[\"Malongo_1987\",SPHEROID[\"International 1");
+        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
     add_srs_wkt (p, 2,
-        "924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[");
+        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
     add_srs_wkt (p, 3,
-        "-254.1,-5.36,-100.29,0,0,0,0],AUTHORITY[\"EPSG\",\"6259\"");
+        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4259\"]],PROJECTION[\"Tran");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "22\"]],PROJECTION[\"Transverse_Mercator_South_Orientated");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",9],PARAMETER[\"scale_facto");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "ral_meridian\",27],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORIT");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"25932\"]]");
-    p = add_epsg_def (filter, first, last, 26191, "epsg", 26191,
-        "Merchich / Nord Maroc");
+        ",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22287\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22289, "epsg", 22289,
+        "Cape / Lo29", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999");
+        "+proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
-        "625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +");
+        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
     add_proj4text (p, 2,
-        "towgs84=31,146,47,0,0,0,0 +units=m +no_defs");
+        "08,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Merchich / Nord Maroc\",GEOGCS[\"Merchich\",DAT");
+        "PROJCS[\"Cape / Lo29\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
     add_srs_wkt (p, 1,
-        "UM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2");
+        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
     add_srs_wkt (p, 2,
-        ",293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84");
+        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
     add_srs_wkt (p, 3,
-        "[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIMEM");
+        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4261\"]],PROJECTION[\"Lambert_Confo");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "rmal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",33.3]");
+        "22\"]],PROJECTION[\"Transverse_Mercator_South_Orientated");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-5.4],PARAMETER[\"scale_");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "factor\",0.999625769],PARAMETER[\"false_easting\",500000");
+        "ral_meridian\",29],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",300000],UNIT[\"metre\",1,");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"26191\"]]");
-    p = add_epsg_def (filter, first, last, 26192, "epsg", 26192,
-        "Merchich / Sud Maroc");
+        ",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22289\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22291, "epsg", 22291,
+        "Cape / Lo31", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.999");
+        "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
-        "6155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=63");
+        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
     add_proj4text (p, 2,
-        "56515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs");
+        "08,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Merchich / Sud Maroc\",GEOGCS[\"Merchich\",DATU");
+        "PROJCS[\"Cape / Lo31\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
     add_srs_wkt (p, 1,
-        "M[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,");
+        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
     add_srs_wkt (p, 2,
-        "293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[");
+        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
     add_srs_wkt (p, 3,
-        "31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIMEM[");
+        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4261\"]],PROJECTION[\"Lambert_Confor");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "mal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",29.7],");
+        "22\"]],PROJECTION[\"Transverse_Mercator_South_Orientated");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-5.4],PARAMETER[\"scale_f");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "actor\",0.999615596],PARAMETER[\"false_easting\",500000]");
+        "ral_meridian\",31],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",300000],UNIT[\"metre\",1,A");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"26192\"]]");
-    p = add_epsg_def (filter, first, last, 26193, "epsg", 26193,
-        "Merchich / Sahara (deprecated)");
+        ",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22291\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22293, "epsg", 22293,
+        "Cape / Lo33", 0, 0,
+        "Clarke 1880 (Arc)", "Greenwich",
+        "Cape", "Transverse_Mercator_South_Orientated", "metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.999");
+        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=0 +y_0=0 +axis=");
     add_proj4text (p, 1,
-        "6 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towg");
+        "wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-1");
     add_proj4text (p, 2,
-        "s84=31,146,47,0,0,0,0 +units=m +no_defs");
+        "08,-292,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Merchich / Sahara (deprecated)\",GEOGCS[\"Merch");
+        "PROJCS[\"Cape / Lo33\",GEOGCS[\"Cape\",DATUM[\"Cape\",SP");
     add_srs_wkt (p, 1,
-        "ich\",DATUM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",");
+        "HEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUT");
     add_srs_wkt (p, 2,
-        "6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]");
+        "HORITY[\"EPSG\",\"7013\"]],TOWGS84[-136,-108,-292,0,0,0,");
     add_srs_wkt (p, 3,
-        "],TOWGS84[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"");
+        "0],AUTHORITY[\"EPSG\",\"6222\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4261\"]],PROJECTION[\"Lamb");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origi");
+        "22\"]],PROJECTION[\"Transverse_Mercator_South_Orientated");
     add_srs_wkt (p, 8,
-        "n\",26.1],PARAMETER[\"central_meridian\",-5.4],PARAMETER");
+        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",12");
+        "ral_meridian\",33],PARAMETER[\"scale_factor\",1],PARAMET");
     add_srs_wkt (p, 10,
-        "00000],PARAMETER[\"false_northing\",400000],UNIT[\"metre");
+        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Y\"");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26193\"]]");
-    p = add_epsg_def (filter, first, last, 26194, "epsg", 26194,
-        "Merchich / Sahara Nord");
+        ",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"22293\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22332, "epsg", 22332,
+        "Carthage / UTM zone 32N", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Carthage", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.999");
+        "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-263");
     add_proj4text (p, 1,
-        "616304 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 ");
-    add_proj4text (p, 2,
-        "+towgs84=31,146,47,0,0,0,0 +units=m +no_defs");
+        ",6,431,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Merchich / Sahara Nord\",GEOGCS[\"Merchich\",DA");
+        "PROJCS[\"Carthage / UTM zone 32N\",GEOGCS[\"Carthage\",D");
     add_srs_wkt (p, 1,
-        "TUM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.");
+        "ATUM[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249");
     add_srs_wkt (p, 2,
-        "2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS8");
+        ".2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "4[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIME");
+        "84[-263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRI");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4261\"]],PROJECTION[\"Lambert_Conf");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "ormal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",26.1");
+        "ORITY[\"EPSG\",\"4223\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"central_meridian\",-5.4],PARAMETER[\"scale");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "_factor\",0.999616304],PARAMETER[\"false_easting\",12000");
+        "ntral_meridian\",9],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "00],PARAMETER[\"false_northing\",400000],UNIT[\"metre\",");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26194\"]]");
-    p = add_epsg_def (filter, first, last, 26195, "epsg", 26195,
-        "Merchich / Sahara Sud");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"22332\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22391, "epsg", 22391,
+        "Carthage / Nord Tunisie", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Carthage", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=22.5 +lat_0=22.5 +lon_0=-5.4 +k_0=0.999");
+        "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=9.9 +k_0=0.99962554");
     add_proj4text (p, 1,
-        "616437 +x_0=1500000 +y_0=400000 +a=6378249.2 +b=6356515 ");
+        "4 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs");
     add_proj4text (p, 2,
-        "+towgs84=31,146,47,0,0,0,0 +units=m +no_defs");
+        "84=-263,6,431,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Merchich / Sahara Sud\",GEOGCS[\"Merchich\",DAT");
+        "PROJCS[\"Carthage / Nord Tunisie\",GEOGCS[\"Carthage\",D");
     add_srs_wkt (p, 1,
-        "UM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2");
+        "ATUM[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249");
     add_srs_wkt (p, 2,
-        ",293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84");
+        ".2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIMEM");
+        "84[-263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRI");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4261\"]],PROJECTION[\"Lambert_Confo");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "rmal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",22.5]");
+        "ORITY[\"EPSG\",\"4223\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-5.4],PARAMETER[\"scale_");
+        "_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",36],PARAM");
     add_srs_wkt (p, 9,
-        "factor\",0.999616437],PARAMETER[\"false_easting\",150000");
+        "ETER[\"central_meridian\",9.9],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",400000],UNIT[\"metre\",1");
+        ",0.999625544],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "TER[\"false_northing\",300000],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"26195\"]]");
-    p = add_epsg_def (filter, first, last, 26237, "epsg", 26237,
-        "Massawa / UTM zone 37N");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"22391\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22392, "epsg", 22392,
+        "Carthage / Sud Tunisie", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Carthage", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +ellps=bessel +towgs84=639,405,60,0,0");
+        "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=9.9 +k_0=0.9996");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "25769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +t");
+    add_proj4text (p, 2,
+        "owgs84=-263,6,431,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Massawa / UTM zone 37N\",GEOGCS[\"Massawa\",DAT");
+        "PROJCS[\"Carthage / Sud Tunisie\",GEOGCS[\"Carthage\",DA");
     add_srs_wkt (p, 1,
-        "UM[\"Massawa\",SPHEROID[\"Bessel 1841\",6377397.155,299.");
+        "TUM[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.");
     add_srs_wkt (p, 2,
-        "1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[639,405,60");
+        "2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6262\"]],PRIMEM[\"Greenwi");
+        "4[-263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRIM");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4262\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "ORITY[\"EPSG\",\"4223\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "meridian\",39],PARAMETER[\"scale_factor\",0.9996],PARAME");
+        "_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",33.3],PAR");
     add_srs_wkt (p, 9,
-        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
+        "AMETER[\"central_meridian\",9.9],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        "r\",0.999625769],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "AMETER[\"false_northing\",300000],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "EPSG\",\"26237\"]]");
-    p = add_epsg_def (filter, first, last, 26331, "epsg", 26331,
-        "Minna / UTM zone 31N");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"22392\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22521, "epsg", 22521,
+        "Corrego Alegre 1970-72 / UTM zone 21S", 0, 0,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1970_72", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=31 +ellps=clrk80 +towgs84=-92,-93,122,0,");
+        "+proj=utm +zone=21 +south +ellps=intl +towgs84=-205.57,1");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "68.77,-4.12,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Minna / UTM zone 31N\",GEOGCS[\"Minna\",DATUM[\"");
+        "PROJCS[\"Corrego Alegre 1970-72 / UTM zone 21S\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "Minna\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.4");
+        "\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre_1970_7");
     add_srs_wkt (p, 2,
-        "65,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-92,-93,122,0,0");
+        "2\",SPHEROID[\"International 1924\",6378388,297,AUTHORIT");
     add_srs_wkt (p, 3,
-        ",0,0],AUTHORITY[\"EPSG\",\"6263\"]],PRIMEM[\"Greenwich\"");
+        "Y[\"EPSG\",\"7022\"]],TOWGS84[-205.57,168.77,-4.12,0,0,0");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        ",0],AUTHORITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "SG\",\"4263\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 8,
-        "dian\",3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "25\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-5");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        ",\"26331\"]]");
-    p = add_epsg_def (filter, first, last, 26332, "epsg", 26332,
-        "Minna / UTM zone 32N");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"22521\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22522, "epsg", 22522,
+        "Corrego Alegre 1970-72 / UTM zone 22S", 0, 0,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1970_72", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +ellps=clrk80 +towgs84=-92,-93,122,0,");
+        "+proj=utm +zone=22 +south +ellps=intl +towgs84=-205.57,1");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "68.77,-4.12,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Minna / UTM zone 32N\",GEOGCS[\"Minna\",DATUM[\"");
+        "PROJCS[\"Corrego Alegre 1970-72 / UTM zone 22S\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "Minna\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.4");
+        "\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre_1970_7");
     add_srs_wkt (p, 2,
-        "65,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-92,-93,122,0,0");
+        "2\",SPHEROID[\"International 1924\",6378388,297,AUTHORIT");
     add_srs_wkt (p, 3,
-        ",0,0],AUTHORITY[\"EPSG\",\"6263\"]],PRIMEM[\"Greenwich\"");
+        "Y[\"EPSG\",\"7022\"]],TOWGS84[-205.57,168.77,-4.12,0,0,0");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        ",0],AUTHORITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "SG\",\"4263\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 8,
-        "dian\",9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "25\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-5");
     add_srs_wkt (p, 10,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        ",\"26332\"]]");
-    p = add_epsg_def (filter, first, last, 26391, "epsg", 26391,
-        "Minna / Nigeria West Belt");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"22522\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22523, "epsg", 22523,
+        "Corrego Alegre 1970-72 / UTM zone 23S", 0, 0,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1970_72", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4 +lon_0=4.5 +k=0.99975 +x_0=230738.2");
+        "+proj=utm +zone=23 +south +ellps=intl +towgs84=-205.57,1");
     add_proj4text (p, 1,
-        "6 +y_0=0 +ellps=clrk80 +towgs84=-92,-93,122,0,0,0,0 +uni");
-    add_proj4text (p, 2,
-        "ts=m +no_defs");
+        "68.77,-4.12,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Minna / Nigeria West Belt\",GEOGCS[\"Minna\",DA");
+        "PROJCS[\"Corrego Alegre 1970-72 / UTM zone 23S\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "TUM[\"Minna\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145");
+        "\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre_1970_7");
     add_srs_wkt (p, 2,
-        ",293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-92,-93,1");
+        "2\",SPHEROID[\"International 1924\",6378388,297,AUTHORIT");
     add_srs_wkt (p, 3,
-        "22,0,0,0,0],AUTHORITY[\"EPSG\",\"6263\"]],PRIMEM[\"Green");
+        "Y[\"EPSG\",\"7022\"]],TOWGS84[-205.57,168.77,-4.12,0,0,0");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",0],AUTHORITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4263\"]],PROJECTION[\"Transverse_Mercator\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",4],PARAMETER[\"centra");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 8,
-        "l_meridian\",4.5],PARAMETER[\"scale_factor\",0.99975],PA");
+        "25\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",230738.26],PARAMETER[\"false_n");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-4");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"26391\"]]");
-    p = add_epsg_def (filter, first, last, 26392, "epsg", 26392,
-        "Minna / Nigeria Mid Belt");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"22523\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22524, "epsg", 22524,
+        "Corrego Alegre 1970-72 / UTM zone 24S", 0, 0,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1970_72", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4 +lon_0=8.5 +k=0.99975 +x_0=670553.9");
+        "+proj=utm +zone=24 +south +ellps=intl +towgs84=-205.57,1");
     add_proj4text (p, 1,
-        "8 +y_0=0 +ellps=clrk80 +towgs84=-92,-93,122,0,0,0,0 +uni");
-    add_proj4text (p, 2,
-        "ts=m +no_defs");
+        "68.77,-4.12,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Minna / Nigeria Mid Belt\",GEOGCS[\"Minna\",DAT");
+        "PROJCS[\"Corrego Alegre 1970-72 / UTM zone 24S\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "UM[\"Minna\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,");
+        "\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre_1970_7");
     add_srs_wkt (p, 2,
-        "293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-92,-93,12");
+        "2\",SPHEROID[\"International 1924\",6378388,297,AUTHORIT");
     add_srs_wkt (p, 3,
-        "2,0,0,0,0],AUTHORITY[\"EPSG\",\"6263\"]],PRIMEM[\"Greenw");
+        "Y[\"EPSG\",\"7022\"]],TOWGS84[-205.57,168.77,-4.12,0,0,0");
     add_srs_wkt (p, 4,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        ",0],AUTHORITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4263\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"latitude_of_origin\",4],PARAMETER[\"central");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 8,
-        "_meridian\",8.5],PARAMETER[\"scale_factor\",0.99975],PAR");
+        "25\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",670553.98],PARAMETER[\"false_no");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-3");
     add_srs_wkt (p, 10,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"26392\"]]");
-    p = add_epsg_def (filter, first, last, 26393, "epsg", 26393,
-        "Minna / Nigeria East Belt");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"22524\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22525, "epsg", 22525,
+        "Corrego Alegre 1970-72 / UTM zone 25S", 0, 0,
+        "International 1924", "Greenwich",
+        "Corrego_Alegre_1970_72", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=4 +lon_0=12.5 +k=0.99975 +x_0=1110369");
+        "+proj=utm +zone=25 +south +ellps=intl +towgs84=-205.57,1");
     add_proj4text (p, 1,
-        ".7 +y_0=0 +ellps=clrk80 +towgs84=-92,-93,122,0,0,0,0 +un");
-    add_proj4text (p, 2,
-        "its=m +no_defs");
+        "68.77,-4.12,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Minna / Nigeria East Belt\",GEOGCS[\"Minna\",DA");
+        "PROJCS[\"Corrego Alegre 1970-72 / UTM zone 25S\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "TUM[\"Minna\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145");
+        "\"Corrego Alegre 1970-72\",DATUM[\"Corrego_Alegre_1970_7");
     add_srs_wkt (p, 2,
-        ",293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-92,-93,1");
+        "2\",SPHEROID[\"International 1924\",6378388,297,AUTHORIT");
     add_srs_wkt (p, 3,
-        "22,0,0,0,0],AUTHORITY[\"EPSG\",\"6263\"]],PRIMEM[\"Green");
+        "Y[\"EPSG\",\"7022\"]],TOWGS84[-205.57,168.77,-4.12,0,0,0");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",0],AUTHORITY[\"EPSG\",\"6225\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4263\"]],PROJECTION[\"Transverse_Mercator\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",4],PARAMETER[\"centra");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 8,
-        "l_meridian\",12.5],PARAMETER[\"scale_factor\",0.99975],P");
+        "25\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",1110369.7],PARAMETER[\"false_");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-3");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"26393\"]]");
-    p = add_epsg_def (filter, first, last, 26432, "epsg", 26432,
-        "Mhast / UTM zone 32S (deprecated)");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"22525\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22700, "epsg", 22700,
+        "Deir ez Zor / Levant Zone", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Deir_ez_Zor", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +south +ellps=intl +towgs84=-252.95,-");
+        "+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.");
     add_proj4text (p, 1,
-        "4.11,-96.38,0,0,0,0 +units=m +no_defs");
+        "9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 ");
+    add_proj4text (p, 2,
+        "+towgs84=-190.421,8.532,238.69,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Mhast / UTM zone 32S (deprecated)\",GEOGCS[\"Mh");
+        "PROJCS[\"Deir ez Zor / Levant Zone\",GEOGCS[\"Deir ez Zo");
     add_srs_wkt (p, 1,
-        "ast\",DATUM[\"Mhast\",SPHEROID[\"International 1924\",63");
+        "r\",DATUM[\"Deir_ez_Zor\",SPHEROID[\"Clarke 1880 (IGN)\"");
     add_srs_wkt (p, 2,
-        "78388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-252.95,");
+        ",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"");
     add_srs_wkt (p, 3,
-        "-4.11,-96.38,0,0,0,0],AUTHORITY[\"EPSG\",\"6264\"]],PRIM");
+        "]],TOWGS84[-190.421,8.532,238.69,0,0,0,0],AUTHORITY[\"EP");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "SG\",\"6227\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4264\"]],PROJECTION[\"Transverse_");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4227\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",9],PARAMETER[\"scale_factor\",0.9");
+        "\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "_origin\",34.65],PARAMETER[\"central_meridian\",37.35],P");
     add_srs_wkt (p, 10,
-        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "ARAMETER[\"scale_factor\",0.9996256],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "asting\",300000],PARAMETER[\"false_northing\",300000],UN");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"26432\"]]");
-    p = add_epsg_def (filter, first, last, 26591, "epsg", 26591,
-        "Monte Mario (Rome) / Italy zone 1 (deprecated)");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22700\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22770, "epsg", 22770,
+        "Deir ez Zor / Syria Lambert", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Deir_ez_Zor", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-3.45233333333333 +k=0.9996 ");
+        "+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.");
     add_proj4text (p, 1,
-        "+x_0=1500000 +y_0=0 +ellps=intl +towgs84=-104.1,-49.1,-9");
+        "9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 ");
     add_proj4text (p, 2,
-        ".9,0.971,-2.917,0.714,-11.68 +pm=rome +units=m +no_defs");
+        "+towgs84=-190.421,8.532,238.69,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Monte Mario (Rome) / Italy zone 1 (deprecated)\"");
+        "PROJCS[\"Deir ez Zor / Syria Lambert\",GEOGCS[\"Deir ez ");
     add_srs_wkt (p, 1,
-        ",GEOGCS[\"Monte Mario (Rome)\",DATUM[\"Monte_Mario_Rome\"");
+        "Zor\",DATUM[\"Deir_ez_Zor\",SPHEROID[\"Clarke 1880 (IGN)");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"International 1924\",6378388,297,AUTHORITY[\"");
+        "\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7022\"]],TOWGS84[-104.1,-49.1,-9.9,0.971,-2.917");
+        "\"]],TOWGS84[-190.421,8.532,238.69,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        ",0.714,-11.68],AUTHORITY[\"EPSG\",\"6806\"]],PRIMEM[\"Ro");
+        "EPSG\",\"6227\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "me\",12.45233333333333,AUTHORITY[\"EPSG\",\"8906\"]],UNI");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "2\"]],AUTHORITY[\"EPSG\",\"4806\"]],PROJECTION[\"Transve");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4227\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ON[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "METER[\"central_meridian\",-3.45233333333333],PARAMETER[");
+        "_of_origin\",34.65],PARAMETER[\"central_meridian\",37.35");
     add_srs_wkt (p, 10,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",150");
+        "],PARAMETER[\"scale_factor\",0.9996256],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "e_easting\",300000],PARAMETER[\"false_northing\",300000]");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"26591\"]]");
-    p = add_epsg_def (filter, first, last, 26592, "epsg", 26592,
-        "Monte Mario (Rome) / Italy zone 2 (deprecated)");
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22770\"]");
+    add_srs_wkt (p, 14,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 22780, "epsg", 22780,
+        "Deir ez Zor / Levant Stereographic", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Deir_ez_Zor", "Oblique_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=2.54766666666666 +k=0.9996 +");
+        "+proj=sterea +lat_0=34.2 +lon_0=39.15 +k=0.9995341 +x_0=");
     add_proj4text (p, 1,
-        "x_0=2520000 +y_0=0 +ellps=intl +towgs84=-104.1,-49.1,-9.");
+        "0 +y_0=0 +a=6378249.2 +b=6356515 +towgs84=-190.421,8.532");
     add_proj4text (p, 2,
-        "9,0.971,-2.917,0.714,-11.68 +pm=rome +units=m +no_defs");
+        ",238.69,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Monte Mario (Rome) / Italy zone 2 (deprecated)\"");
+        "PROJCS[\"Deir ez Zor / Levant Stereographic\",GEOGCS[\"D");
     add_srs_wkt (p, 1,
-        ",GEOGCS[\"Monte Mario (Rome)\",DATUM[\"Monte_Mario_Rome\"");
+        "eir ez Zor\",DATUM[\"Deir_ez_Zor\",SPHEROID[\"Clarke 188");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"International 1924\",6378388,297,AUTHORITY[\"");
+        "0 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7022\"]],TOWGS84[-104.1,-49.1,-9.9,0.971,-2.917");
+        ",\"7011\"]],TOWGS84[-190.421,8.532,238.69,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        ",0.714,-11.68],AUTHORITY[\"EPSG\",\"6806\"]],PRIMEM[\"Ro");
+        "RITY[\"EPSG\",\"6227\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "me\",12.45233333333333,AUTHORITY[\"EPSG\",\"8906\"]],UNI");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "2\"]],AUTHORITY[\"EPSG\",\"4806\"]],PROJECTION[\"Transve");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4227\"]],P");
     add_srs_wkt (p, 8,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "METER[\"central_meridian\",2.54766666666666],PARAMETER[\"");
+        "e_of_origin\",34.2],PARAMETER[\"central_meridian\",39.15");
     add_srs_wkt (p, 10,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",25200");
+        "],PARAMETER[\"scale_factor\",0.9995341],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
     add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"26592\"]]");
-    p = add_epsg_def (filter, first, last, 26632, "epsg", 26632,
-        "M'poraloko / UTM zone 32N");
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"22780\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22832, "epsg", 22832,
+        "Douala / UTM zone 32N (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Douala", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-74,");
+        "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_");
     add_proj4text (p, 1,
-        "-130,42,0,0,0,0 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"M'poraloko / UTM zone 32N\",GEOGCS[\"M'poraloko");
+        "PROJCS[\"Douala / UTM zone 32N (deprecated)\",GEOGCS[\"D");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"M_poraloko\",SPHEROID[\"Clarke 1880 (IGN)\",6");
+        "ouala\",DATUM[\"Douala\",SPHEROID[\"Clarke 1880 (IGN)\",");
     add_srs_wkt (p, 2,
-        "378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]]");
+        "6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]");
     add_srs_wkt (p, 3,
-        ",TOWGS84[-74,-130,42,0,0,0,0],AUTHORITY[\"EPSG\",\"6266\"");
+        "],AUTHORITY[\"EPSG\",\"6228\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4266\"]],PROJECTION[\"Tran");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"422");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "8\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",9],PARAMETER[\"scale_facto");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",9],");
     add_srs_wkt (p, 9,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"26632\"]]");
-    p = add_epsg_def (filter, first, last, 26692, "epsg", 26692,
-        "M'poraloko / UTM zone 32S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"22832");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22991, "epsg", 22991,
+        "Egypt 1907 / Blue Belt", 0, 0,
+        "Helmert 1906", "Greenwich",
+        "Egypt_1907", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs");
+        "+proj=tmerc +lat_0=30 +lon_0=35 +k=1 +x_0=300000 +y_0=11");
     add_proj4text (p, 1,
-        "84=-74,-130,42,0,0,0,0 +units=m +no_defs");
+        "00000 +ellps=helmert +towgs84=-130,110,-13,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"M'poraloko / UTM zone 32S\",GEOGCS[\"M'poraloko");
+        "PROJCS[\"Egypt 1907 / Blue Belt\",GEOGCS[\"Egypt 1907\",");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"M_poraloko\",SPHEROID[\"Clarke 1880 (IGN)\",6");
+        "DATUM[\"Egypt_1907\",SPHEROID[\"Helmert 1906\",6378200,2");
     add_srs_wkt (p, 2,
-        "378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]]");
+        "98.3,AUTHORITY[\"EPSG\",\"7020\"]],TOWGS84[-130,110,-13,");
     add_srs_wkt (p, 3,
-        ",TOWGS84[-74,-130,42,0,0,0,0],AUTHORITY[\"EPSG\",\"6266\"");
+        "0,0,0,0],AUTHORITY[\"EPSG\",\"6229\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4266\"]],PROJECTION[\"Tran");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        ",\"4229\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",9],PARAMETER[\"scale_facto");
+        "R[\"latitude_of_origin\",30],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 9,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "n\",35],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORIT");
+        "easting\",300000],PARAMETER[\"false_northing\",1100000],");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"26692\"]]");
-    p = add_epsg_def (filter, first, last, 26701, "epsg", 26701,
-        "NAD27 / UTM zone 1N");
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"22991\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22992, "epsg", 22992,
+        "Egypt 1907 / Red Belt", 0, 0,
+        "Helmert 1906", "Greenwich",
+        "Egypt_1907", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=1 +datum=NAD27 +units=m +no_defs");
+        "+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=81");
+    add_proj4text (p, 1,
+        "0000 +ellps=helmert +towgs84=-130,110,-13,0,0,0,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 1N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Egypt 1907 / Red Belt\",GEOGCS[\"Egypt 1907\",D");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "ATUM[\"Egypt_1907\",SPHEROID[\"Helmert 1906\",6378200,29");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8.3,AUTHORITY[\"EPSG\",\"7020\"]],TOWGS84[-130,110,-13,0");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"6229\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",\"4229\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "177],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "R[\"latitude_of_origin\",30],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "n\",31],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "easting\",615000],PARAMETER[\"false_northing\",810000],U");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
     add_srs_wkt (p, 12,
-        "26701\"]]");
-    p = add_epsg_def (filter, first, last, 26702, "epsg", 26702,
-        "NAD27 / UTM zone 2N");
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"22992\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22993, "epsg", 22993,
+        "Egypt 1907 / Purple Belt", 0, 0,
+        "Helmert 1906", "Greenwich",
+        "Egypt_1907", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=2 +datum=NAD27 +units=m +no_defs");
+        "+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=20");
+    add_proj4text (p, 1,
+        "0000 +ellps=helmert +towgs84=-130,110,-13,0,0,0,0 +units");
+    add_proj4text (p, 2,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 2N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Egypt 1907 / Purple Belt\",GEOGCS[\"Egypt 1907\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        ",DATUM[\"Egypt_1907\",SPHEROID[\"Helmert 1906\",6378200,");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "298.3,AUTHORITY[\"EPSG\",\"7020\"]],TOWGS84[-130,110,-13");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6229\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "\",\"4229\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 8,
-        "171],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "TER[\"latitude_of_origin\",30],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "ian\",27],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "e_easting\",700000],PARAMETER[\"false_northing\",200000]");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
     add_srs_wkt (p, 12,
-        "26702\"]]");
-    p = add_epsg_def (filter, first, last, 26703, "epsg", 26703,
-        "NAD27 / UTM zone 3N");
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"22993\"]]");
+    p = add_epsg_def_ex (filter, first, last, 22994, "epsg", 22994,
+        "Egypt 1907 / Extended Purple Belt", 0, 0,
+        "Helmert 1906", "Greenwich",
+        "Egypt_1907", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=3 +datum=NAD27 +units=m +no_defs");
+        "+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=12");
+    add_proj4text (p, 1,
+        "00000 +ellps=helmert +towgs84=-130,110,-13,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 3N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Egypt 1907 / Extended Purple Belt\",GEOGCS[\"Eg");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "ypt 1907\",DATUM[\"Egypt_1907\",SPHEROID[\"Helmert 1906\"");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        ",6378200,298.3,AUTHORITY[\"EPSG\",\"7020\"]],TOWGS84[-13");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "0,110,-13,0,0,0,0],AUTHORITY[\"EPSG\",\"6229\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "TY[\"EPSG\",\"4229\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "165],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "],PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"centr");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "al_meridian\",27],PARAMETER[\"scale_factor\",1],PARAMETE");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "R[\"false_easting\",700000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",1200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "26703\"]]");
-    p = add_epsg_def (filter, first, last, 26704, "epsg", 26704,
-        "NAD27 / UTM zone 4N");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"22994\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23028, "epsg", 23028,
+        "ED50 / UTM zone 28N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=4 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=28 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 4N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 28N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "159],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "idian\",-15],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "26704\"]]");
-    p = add_epsg_def (filter, first, last, 26705, "epsg", 26705,
-        "NAD27 / UTM zone 5N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"23028\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23029, "epsg", 23029,
+        "ED50 / UTM zone 29N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=5 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=29 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 5N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 29N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "153],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "idian\",-9],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "26705\"]]");
-    p = add_epsg_def (filter, first, last, 26706, "epsg", 26706,
-        "NAD27 / UTM zone 6N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"23029\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23030, "epsg", 23030,
+        "ED50 / UTM zone 30N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=6 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=30 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 6N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 30N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "147],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "idian\",-3],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "26706\"]]");
-    p = add_epsg_def (filter, first, last, 26707, "epsg", 26707,
-        "NAD27 / UTM zone 7N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"23030\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23031, "epsg", 23031,
+        "ED50 / UTM zone 31N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=7 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=31 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 7N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 31N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "141],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "idian\",3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "26707\"]]");
-    p = add_epsg_def (filter, first, last, 26708, "epsg", 26708,
-        "NAD27 / UTM zone 8N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"23031\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23032, "epsg", 23032,
+        "ED50 / UTM zone 32N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=8 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=32 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 8N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 32N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "135],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "idian\",9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "26708\"]]");
-    p = add_epsg_def (filter, first, last, 26709, "epsg", 26709,
-        "NAD27 / UTM zone 9N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"23032\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23033, "epsg", 23033,
+        "ED50 / UTM zone 33N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=9 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=33 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 9N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 33N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "129],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "idian\",15],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "26709\"]]");
-    p = add_epsg_def (filter, first, last, 26710, "epsg", 26710,
-        "NAD27 / UTM zone 10N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"23033\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23034, "epsg", 23034,
+        "ED50 / UTM zone 34N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=10 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=34 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 10N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 34N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "123],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "idian\",21],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "26710\"]]");
-    p = add_epsg_def (filter, first, last, 26711, "epsg", 26711,
-        "NAD27 / UTM zone 11N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"23034\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23035, "epsg", 23035,
+        "ED50 / UTM zone 35N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=11 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=35 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 11N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 35N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "117],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "idian\",27],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "26711\"]]");
-    p = add_epsg_def (filter, first, last, 26712, "epsg", 26712,
-        "NAD27 / UTM zone 12N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"23035\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23036, "epsg", 23036,
+        "ED50 / UTM zone 36N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=12 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=36 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 12N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 36N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "111],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "idian\",33],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "26712\"]]");
-    p = add_epsg_def (filter, first, last, 26713, "epsg", 26713,
-        "NAD27 / UTM zone 13N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"23036\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23037, "epsg", 23037,
+        "ED50 / UTM zone 37N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=13 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=37 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 13N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 37N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "105],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "idian\",39],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "26713\"]]");
-    p = add_epsg_def (filter, first, last, 26714, "epsg", 26714,
-        "NAD27 / UTM zone 14N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"23037\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23038, "epsg", 23038,
+        "ED50 / UTM zone 38N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=14 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=38 +ellps=intl +towgs84=-87,-98,-121,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 14N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / UTM zone 38N\",GEOGCS[\"ED50\",DATUM[\"E");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "uropean_Datum_1950\",SPHEROID[\"International 1924\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "8388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "121,0,0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "idian\",45],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "6714\"]]");
-    p = add_epsg_def (filter, first, last, 26715, "epsg", 26715,
-        "NAD27 / UTM zone 15N");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"23038\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23090, "epsg", 23090,
+        "ED50 / TM 0 N", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=15 +datum=NAD27 +units=m +no_defs");
+        "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=500000 +y_0");
+    add_proj4text (p, 1,
+        "=0 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +n");
+    add_proj4text (p, 2,
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 15N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / TM 0 N\",GEOGCS[\"ED50\",DATUM[\"Europea");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "n_Datum_1950\",SPHEROID[\"International 1924\",6378388,2");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "97,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-121,0,");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "93],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",0");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "6715\"]]");
-    p = add_epsg_def (filter, first, last, 26716, "epsg", 26716,
-        "NAD27 / UTM zone 16N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"230");
+    add_srs_wkt (p, 13,
+        "90\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23095, "epsg", 23095,
+        "ED50 / TM 5 NE", 0, 0,
+        "International 1924", "Greenwich",
+        "European_Datum_1950", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=16 +datum=NAD27 +units=m +no_defs");
+        "+proj=tmerc +lat_0=0 +lon_0=5 +k=0.9996 +x_0=500000 +y_0");
+    add_proj4text (p, 1,
+        "=0 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +n");
+    add_proj4text (p, 2,
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 16N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ED50 / TM 5 NE\",GEOGCS[\"ED50\",DATUM[\"Europe");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "an_Datum_1950\",SPHEROID[\"International 1924\",6378388,");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-87,-98,-121,0");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"6230\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",\"4230\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "87],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "\",5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
     add_srs_wkt (p, 12,
-        "6716\"]]");
-    p = add_epsg_def (filter, first, last, 26717, "epsg", 26717,
-        "NAD27 / UTM zone 17N");
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "23095\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23239, "epsg", 23239,
+        "Fahud / UTM zone 39N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Fahud", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=39 +ellps=clrk80 +towgs84=-346,-1,224,0,");
+    add_proj4text (p, 1,
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 17N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Fahud / UTM zone 39N\",GEOGCS[\"Fahud\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "Fahud\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.4");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "65,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-346,-1,224,0,0");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        ",0,0],AUTHORITY[\"EPSG\",\"6232\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "4232\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "6717\"]]");
-    p = add_epsg_def (filter, first, last, 26718, "epsg", 26718,
-        "NAD27 / UTM zone 18N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"232");
+    add_srs_wkt (p, 13,
+        "39\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23240, "epsg", 23240,
+        "Fahud / UTM zone 40N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Fahud", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=40 +ellps=clrk80 +towgs84=-346,-1,224,0,");
+    add_proj4text (p, 1,
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 18N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Fahud / UTM zone 40N\",GEOGCS[\"Fahud\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "Fahud\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.4");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "65,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-346,-1,224,0,0");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        ",0,0],AUTHORITY[\"EPSG\",\"6232\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "4232\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "6718\"]]");
-    p = add_epsg_def (filter, first, last, 26719, "epsg", 26719,
-        "NAD27 / UTM zone 19N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"232");
+    add_srs_wkt (p, 13,
+        "40\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23433, "epsg", 23433,
+        "Garoua / UTM zone 33N (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Garoua", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +datum=NAD27 +units=m +no_defs");
+        "+proj=utm +zone=33 +a=6378249.2 +b=6356515 +units=m +no_");
+    add_proj4text (p, 1,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 19N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Garoua / UTM zone 33N (deprecated)\",GEOGCS[\"G");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "aroua\",DATUM[\"Garoua\",SPHEROID[\"Clarke 1880 (IGN)\",");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "],AUTHORITY[\"EPSG\",\"6234\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"423");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "4\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        "69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",15]");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "6719\"]]");
-    p = add_epsg_def (filter, first, last, 26720, "epsg", 26720,
-        "NAD27 / UTM zone 20N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2343");
+    add_srs_wkt (p, 13,
+        "3\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23700, "epsg", 23700,
+        "HD72 / EOV", 0, 0,
+        "GRS 1967", "Greenwich",
+        "Hungarian_Datum_1972", "Hotine_Oblique_Mercator_Azimuth_Center", "metre",
+        "Y", "East", "X", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +datum=NAD27 +units=m +no_defs");
+        "+proj=somerc +lat_0=47.14439372222222 +lon_0=19.04857177");
+    add_proj4text (p, 1,
+        "777778 +k_0=0.99993 +x_0=650000 +y_0=200000 +ellps=GRS67");
+    add_proj4text (p, 2,
+        " +towgs84=52.17,-71.82,-14.9,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 20N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"HD72 / EOV\",GEOGCS[\"HD72\",DATUM[\"Hungarian_");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "Datum_1972\",SPHEROID[\"GRS 1967\",6378160,298.247167427");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        ",AUTHORITY[\"EPSG\",\"7036\"]],TOWGS84[52.17,-71.82,-14.");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "9,0,0,0,0],AUTHORITY[\"EPSG\",\"6237\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "G\",\"4237\"]],PROJECTION[\"Hotine_Oblique_Mercator_Azim");
     add_srs_wkt (p, 8,
-        "63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "uth_Center\"],PARAMETER[\"latitude_of_center\",47.144393");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "72222222],PARAMETER[\"longitude_of_center\",19.048571777");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "77778],PARAMETER[\"azimuth\",90],PARAMETER[\"rectified_g");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "rid_angle\",90],PARAMETER[\"scale_factor\",0.99993],PARA");
     add_srs_wkt (p, 12,
-        "6720\"]]");
+        "METER[\"false_easting\",650000],PARAMETER[\"false_northi");
+    add_srs_wkt (p, 13,
+        "ng\",200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 14,
+        "]],AXIS[\"Y\",EAST],AXIS[\"X\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"23700\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_36.c b/src/srsinit/epsg_inlined_36.c
index ff68c40..dabfeef 100644
--- a/src/srsinit/epsg_inlined_36.c
+++ b/src/srsinit/epsg_inlined_36.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3658 +54,3873 @@ initialize_epsg_36 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 26721, "epsg", 26721,
-        "NAD27 / UTM zone 21N");
+    p = add_epsg_def_ex (filter, first, last, 23830, "epsg", 23830,
+        "DGN95 / Indonesia TM-3 zone 46.2", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +datum=NAD27 +units=m +no_defs");
+        "+proj=tmerc +lat_0=0 +lon_0=94.5 +k=0.9999 +x_0=200000 +");
+    add_proj4text (p, 1,
+        "y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 21N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 46.2\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "\"central_meridian\",94.5],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "lse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "6721\"]]");
-    p = add_epsg_def (filter, first, last, 26722, "epsg", 26722,
-        "NAD27 / UTM zone 22N");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"23830\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23831, "epsg", 23831,
+        "DGN95 / Indonesia TM-3 zone 47.1", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +datum=NAD27 +units=m +no_defs");
+        "+proj=tmerc +lat_0=0 +lon_0=97.5 +k=0.9999 +x_0=200000 +");
+    add_proj4text (p, 1,
+        "y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / UTM zone 22N\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 47.1\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "\"central_meridian\",97.5],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2");
+        "lse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "6722\"]]");
-    p = add_epsg_def (filter, first, last, 26729, "epsg", 26729,
-        "NAD27 / Alabama East");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"23831\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23832, "epsg", 23832,
+        "DGN95 / Indonesia TM-3 zone 47.2", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.9");
+        "+proj=tmerc +lat_0=0 +lon_0=100.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "9996 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alabama East\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 47.2\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",30.5],PARAMETER[\"central_meridian\"");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        ",-85.83333333333333],PARAMETER[\"scale_factor\",0.99996]");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "\"central_meridian\",100.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"26729\"]]");
-    p = add_epsg_def (filter, first, last, 26730, "epsg", 26730,
-        "NAD27 / Alabama West");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"23832\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23833, "epsg", 23833,
+        "DGN95 / Indonesia TM-3 zone 48.1", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=1");
+        "+proj=tmerc +lat_0=0 +lon_0=103.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "52400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_de");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
     add_proj4text (p, 2,
-        "fs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alabama West\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 48.1\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",30],PARAMETER[\"central_meridian\",");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "-87.5],PARAMETER[\"scale_factor\",0.999933333],PARAMETER");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "\"central_meridian\",103.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"26730\"]]");
-    p = add_epsg_def (filter, first, last, 26731, "epsg", 26731,
-        "NAD27 / Alaska zone 1");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"23833\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23834, "epsg", 23834,
+        "DGN95 / Indonesia TM-3 zone 48.2", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=32");
+        "+proj=tmerc +lat_0=0 +lon_0=106.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "3.1301023611111 +k=0.9999 +x_0=5000000.001016002 +y_0=-5");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
     add_proj4text (p, 2,
-        "000000.001016002 +no_uoff +gamma=323.1301023611111 +datu");
-    add_proj4text (p, 3,
-        "m=NAD27 +units=us-ft +no_defs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alaska zone 1\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 48.2\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],PARAM");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_center\",57],PARAMETER[\"longitude_of");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "_center\",-133.6666666666667],PARAMETER[\"azimuth\",323.");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "1301023611111],PARAMETER[\"rectified_grid_angle\",323.13");
+        "\"central_meridian\",106.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "01023611111],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "R[\"false_easting\",16404166.67],PARAMETER[\"false_north");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ing\",-16404166.67],UNIT[\"US survey foot\",0.3048006096");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
-    add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26731\"]]");
-    p = add_epsg_def (filter, first, last, 26732, "epsg", 26732,
-        "NAD27 / Alaska zone 2");
+        "RITY[\"EPSG\",\"23834\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23835, "epsg", 23835,
+        "DGN95 / Indonesia TM-3 zone 49.1", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=152400.");
+        "+proj=tmerc +lat_0=0 +lon_0=109.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alaska zone 2\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 49.1\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",54],PARAMETER[\"central_meridian");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "\",-142],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "\"central_meridian\",109.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"26732\"]]");
-    p = add_epsg_def (filter, first, last, 26733, "epsg", 26733,
-        "NAD27 / Alaska zone 3");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"23835\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23836, "epsg", 23836,
+        "DGN95 / Indonesia TM-3 zone 49.2", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=152400.");
+        "+proj=tmerc +lat_0=0 +lon_0=112.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alaska zone 3\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 49.2\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",54],PARAMETER[\"central_meridian");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "\",-146],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "\"central_meridian\",112.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"26733\"]]");
-    p = add_epsg_def (filter, first, last, 26734, "epsg", 26734,
-        "NAD27 / Alaska zone 4");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"23836\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23837, "epsg", 23837,
+        "DGN95 / Indonesia TM-3 zone 50.1", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=152400.");
+        "+proj=tmerc +lat_0=0 +lon_0=115.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alaska zone 4\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 50.1\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",54],PARAMETER[\"central_meridian");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "\",-150],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "\"central_meridian\",115.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"26734\"]]");
-    p = add_epsg_def (filter, first, last, 26735, "epsg", 26735,
-        "NAD27 / Alaska zone 5");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"23837\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23838, "epsg", 23838,
+        "DGN95 / Indonesia TM-3 zone 50.2", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=152400.");
+        "+proj=tmerc +lat_0=0 +lon_0=118.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alaska zone 5\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 50.2\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",54],PARAMETER[\"central_meridian");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "\",-154],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "\"central_meridian\",118.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"26735\"]]");
-    p = add_epsg_def (filter, first, last, 26736, "epsg", 26736,
-        "NAD27 / Alaska zone 6");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"23838\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23839, "epsg", 23839,
+        "DGN95 / Indonesia TM-3 zone 51.1", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=152400.");
+        "+proj=tmerc +lat_0=0 +lon_0=121.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alaska zone 6\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 51.1\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",54],PARAMETER[\"central_meridian");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "\",-158],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "\"central_meridian\",121.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"26736\"]]");
-    p = add_epsg_def (filter, first, last, 26737, "epsg", 26737,
-        "NAD27 / Alaska zone 7");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"23839\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23840, "epsg", 23840,
+        "DGN95 / Indonesia TM-3 zone 51.2", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=213360.");
+        "+proj=tmerc +lat_0=0 +lon_0=124.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "4267208534 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alaska zone 7\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 51.2\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",54],PARAMETER[\"central_meridian");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "\",-162],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "false_easting\",700000],PARAMETER[\"false_northing\",0],");
+        "\"central_meridian\",124.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"26737\"]]");
-    p = add_epsg_def (filter, first, last, 26738, "epsg", 26738,
-        "NAD27 / Alaska zone 8");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"23840\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23841, "epsg", 23841,
+        "DGN95 / Indonesia TM-3 zone 52.1", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=152400.");
+        "+proj=tmerc +lat_0=0 +lon_0=127.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alaska zone 8\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 52.1\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",54],PARAMETER[\"central_meridian");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "\",-166],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "\"central_meridian\",127.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"26738\"]]");
-    p = add_epsg_def (filter, first, last, 26739, "epsg", 26739,
-        "NAD27 / Alaska zone 9");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"23841\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23842, "epsg", 23842,
+        "DGN95 / Indonesia TM-3 zone 52.2", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=182880.");
+        "+proj=tmerc +lat_0=0 +lon_0=130.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "3657607315 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 2,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alaska zone 9\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 52.2\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",54],PARAMETER[\"central_meridian");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "\",-170],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "false_easting\",600000],PARAMETER[\"false_northing\",0],");
+        "\"central_meridian\",130.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"26739\"]]");
-    p = add_epsg_def (filter, first, last, 26740, "epsg", 26740,
-        "NAD27 / Alaska zone 10");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"23842\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23843, "epsg", 23843,
+        "DGN95 / Indonesia TM-3 zone 53.1", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=133.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "334 +lat_0=51 +lon_0=-176 +x_0=914401.8288036576 +y_0=0 ");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
     add_proj4text (p, 2,
-        "+datum=NAD27 +units=us-ft +no_defs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Alaska zone 10\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 53.1\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",53.83333333333334],PAR");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",51.83333333333334],PARAME");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",51],PARAMETER[\"central_merid");
+        "\"central_meridian\",133.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ian\",-176],PARAMETER[\"false_easting\",3000000],PARAMET");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",0],UNIT[\"US survey foot\",0.30480");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26740\"]]");
-    p = add_epsg_def (filter, first, last, 26741, "epsg", 26741,
-        "NAD27 / California zone I");
+        "RITY[\"EPSG\",\"23843\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23844, "epsg", 23844,
+        "DGN95 / Indonesia TM-3 zone 53.2", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
+        "+proj=tmerc +lat_0=0 +lon_0=136.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "3333333333334 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 ");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
     add_proj4text (p, 2,
-        "+datum=NAD27 +units=us-ft +no_defs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / California zone I\",GEOGCS[\"NAD27\",DA");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 53.2\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "G\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"standard_parallel_1\",41.66666666666666],P");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_2\",40],PARAMETER[\"latitud");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "e_of_origin\",39.33333333333334],PARAMETER[\"central_mer");
+        "\"central_meridian\",136.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "idian\",-122],PARAMETER[\"false_easting\",2000000],PARAM");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26741\"]]");
-    p = add_epsg_def (filter, first, last, 26742, "epsg", 26742,
-        "NAD27 / California zone II");
+        "RITY[\"EPSG\",\"23844\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23845, "epsg", 23845,
+        "DGN95 / Indonesia TM-3 zone 54.1", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=139.5 +k=0.9999 +x_0=200000 ");
     add_proj4text (p, 1,
-        "334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=609601.219");
+        "+y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=");
     add_proj4text (p, 2,
-        "2024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / California zone II\",GEOGCS[\"NAD27\",D");
+        "PROJCS[\"DGN95 / Indonesia TM-3 zone 54.1\",GEOGCS[\"DGN");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
+        "95\",DATUM[\"Datum_Geodesi_Nasional_1995\",SPHEROID[\"WG");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "S 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
     add_srs_wkt (p, 3,
-        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",39.83333333333334]");
+        "AUTHORITY[\"EPSG\",\"4755\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",38.33333333333334],PA");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",37.66666666666666],PARAME");
+        "\"central_meridian\",139.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-122],PARAMETER[\"false_easting");
+        ".9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US su");
+        "alse_northing\",1500000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
-    add_srs_wkt (p, 14,
-        "\",\"26742\"]]");
-    p = add_epsg_def (filter, first, last, 26743, "epsg", 26743,
-        "NAD27 / California zone III");
+        "RITY[\"EPSG\",\"23845\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23846, "epsg", 23846,
+        "ID74 / UTM zone 46N", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
+        "+proj=utm +zone=46 +a=6378160 +b=6356774.50408554 +towgs");
     add_proj4text (p, 1,
-        "667 +lat_0=36.5 +lon_0=-120.5 +x_0=609601.2192024384 +y_");
-    add_proj4text (p, 2,
-        "0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / California zone III\",GEOGCS[\"NAD27\",");
+        "PROJCS[\"ID74 / UTM zone 46N\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",38.43333333333333]");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",37.06666666666667],PA");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",36.5],PARAMETER[\"central");
+        "\"central_meridian\",93],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "_meridian\",-120.5],PARAMETER[\"false_easting\",2000000]");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26743\"");
-    add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 26744, "epsg", 26744,
-        "NAD27 / California zone IV");
+        "UTHORITY[\"EPSG\",\"23846\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23847, "epsg", 23847,
+        "ID74 / UTM zone 47N", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
+        "+proj=utm +zone=47 +a=6378160 +b=6356774.50408554 +towgs");
     add_proj4text (p, 1,
-        "4 +lon_0=-119 +x_0=609601.2192024384 +y_0=0 +datum=NAD27");
-    add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / California zone IV\",GEOGCS[\"NAD27\",D");
+        "PROJCS[\"ID74 / UTM zone 47N\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",37.25],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "standard_parallel_2\",36],PARAMETER[\"latitude_of_origin");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\",35.33333333333334],PARAMETER[\"central_meridian\",-11");
+        "\"central_meridian\",99],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "9],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fals");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26744\"]]");
-    p = add_epsg_def (filter, first, last, 26745, "epsg", 26745,
-        "NAD27 / California zone V");
+        "UTHORITY[\"EPSG\",\"23847\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23848, "epsg", 23848,
+        "ID74 / UTM zone 48N", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
+        "+proj=utm +zone=48 +a=6378160 +b=6356774.50408554 +towgs");
     add_proj4text (p, 1,
-        "333 +lat_0=33.5 +lon_0=-118 +x_0=609601.2192024384 +y_0=");
-    add_proj4text (p, 2,
-        "0 +datum=NAD27 +units=us-ft +no_defs");
+        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / California zone V\",GEOGCS[\"NAD27\",DA");
+        "PROJCS[\"ID74 / UTM zone 48N\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "G\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"standard_parallel_1\",35.46666666666667],P");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_2\",34.03333333333333],PARA");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "METER[\"latitude_of_origin\",33.5],PARAMETER[\"central_m");
+        "\"central_meridian\",105],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "eridian\",-118],PARAMETER[\"false_easting\",2000000],PAR");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26745\"]]");
-    p = add_epsg_def (filter, first, last, 26746, "epsg", 26746,
-        "NAD27 / California zone VI");
+        "AUTHORITY[\"EPSG\",\"23848\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23849, "epsg", 23849,
+        "ID74 / UTM zone 49N", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
+        "+proj=utm +zone=49 +a=6378160 +b=6356774.50408554 +towgs");
     add_proj4text (p, 1,
-        "333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=609601.");
-    add_proj4text (p, 2,
-        "2192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / California zone VI\",GEOGCS[\"NAD27\",D");
+        "PROJCS[\"ID74 / UTM zone 49N\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",33.88333333333333]");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",32.78333333333333],PA");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",32.16666666666666],PARAME");
+        "\"central_meridian\",111],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-116.25],PARAMETER[\"false_east");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "ing\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
     add_srs_wkt (p, 13,
-        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
-    add_srs_wkt (p, 14,
-        "PSG\",\"26746\"]]");
-    p = add_epsg_def (filter, first, last, 26747, "epsg", 26747,
-        "NAD27 / California zone VII (deprecated)");
+        "AUTHORITY[\"EPSG\",\"23849\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23850, "epsg", 23850,
+        "ID74 / UTM zone 50N", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666");
+        "+proj=utm +zone=50 +a=6378160 +b=6356774.50408554 +towgs");
     add_proj4text (p, 1,
-        "667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +");
-    add_proj4text (p, 2,
-        "x_0=1276106.450596901 +y_0=127079.524511049 +datum=NAD27");
-    add_proj4text (p, 3,
-        " +units=us-ft +no_defs");
+        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / California zone VII (deprecated)\",GEOG");
+        "PROJCS[\"ID74 / UTM zone 50N\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "CS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROI");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_Confo");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",34.4");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "1666666666666],PARAMETER[\"standard_parallel_2\",33.8666");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "6666666667],PARAMETER[\"latitude_of_origin\",34.13333333");
+        "\"central_meridian\",117],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "333333],PARAMETER[\"central_meridian\",-118.333333333333");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "3],PARAMETER[\"false_easting\",4186692.58],PARAMETER[\"f");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "alse_northing\",416926.74],UNIT[\"US survey foot\",0.304");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
     add_srs_wkt (p, 13,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
-    add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26747\"]]");
-    p = add_epsg_def (filter, first, last, 26748, "epsg", 26748,
-        "NAD27 / Arizona East");
+        "AUTHORITY[\"EPSG\",\"23850\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23851, "epsg", 23851,
+        "ID74 / UTM zone 51N", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
+        "+proj=utm +zone=51 +a=6378160 +b=6356774.50408554 +towgs");
     add_proj4text (p, 1,
-        "9 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-f");
-    add_proj4text (p, 2,
-        "t +no_defs");
+        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Arizona East\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ID74 / UTM zone 51N\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",31],PARAMETER[\"central_meridian\",");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "-110.1666666666667],PARAMETER[\"scale_factor\",0.9999],P");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "\"central_meridian\",123],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"26748\"]]");
-    p = add_epsg_def (filter, first, last, 26749, "epsg", 26749,
-        "NAD27 / Arizona Central");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"23851\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23852, "epsg", 23852,
+        "ID74 / UTM zone 52N", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
+        "+proj=utm +zone=52 +a=6378160 +b=6356774.50408554 +towgs");
     add_proj4text (p, 1,
-        "9 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-f");
-    add_proj4text (p, 2,
-        "t +no_defs");
+        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Arizona Central\",GEOGCS[\"NAD27\",DATU");
+        "PROJCS[\"ID74 / UTM zone 52N\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",31],PARAMETER[\"central_meridia");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "n\",-111.9166666666667],PARAMETER[\"scale_factor\",0.999");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "\"central_meridian\",129],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26749\"]]");
-    p = add_epsg_def (filter, first, last, 26750, "epsg", 26750,
-        "NAD27 / Arizona West");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"23852\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23853, "epsg", 23853,
+        "ID74 / UTM zone 53N (deprecated)", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
+        "+proj=utm +zone=53 +a=6378160 +b=6356774.50408554 +towgs");
     add_proj4text (p, 1,
-        "=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Arizona West\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ID74 / UTM zone 53N (deprecated)\",GEOGCS[\"ID7");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "4\",DATUM[\"Indonesian_Datum_1974\",SPHEROID[\"Indonesia");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "n National Spheroid\",6378160,298.247,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        ",\"7021\"]],TOWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        ",\"6238\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",31],PARAMETER[\"central_meridian\",");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "-113.75],PARAMETER[\"scale_factor\",0.999933333],PARAMET");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
+        "],PARAMETER[\"central_meridian\",135],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"26750\"]]");
-    p = add_epsg_def (filter, first, last, 26751, "epsg", 26751,
-        "NAD27 / Arkansas North");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+    add_srs_wkt (p, 13,
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"23853\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23866, "epsg", 23866,
+        "DGN95 / UTM zone 46N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
+        "+proj=utm +zone=46 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=609601.2192");
-    add_proj4text (p, 2,
-        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Arkansas North\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"DGN95 / UTM zone 46N\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",36.23333333333333],PAR");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",34.93333333333333],PARAME");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",34.33333333333334],PARAMETER[");
+        "idian\",93],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-92],PARAMETER[\"false_easting\",20");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 14,
-        "26751\"]]");
-    p = add_epsg_def (filter, first, last, 26752, "epsg", 26752,
-        "NAD27 / Arkansas South");
+        "G\",\"23866\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23867, "epsg", 23867,
+        "DGN95 / UTM zone 47N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
+        "+proj=utm +zone=47 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-92 +x_0=609601.2192024384 +y_0=0");
-    add_proj4text (p, 2,
-        " +datum=NAD27 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Arkansas South\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"DGN95 / UTM zone 47N\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",34.76666666666667],PAR");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",33.3],PARAMETER[\"latitud");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_of_origin\",32.66666666666666],PARAMETER[\"central_mer");
+        "idian\",99],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "idian\",-92],PARAMETER[\"false_easting\",2000000],PARAME");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26752\"]]");
-    p = add_epsg_def (filter, first, last, 26753, "epsg", 26753,
-        "NAD27 / Colorado North");
+        "G\",\"23867\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23868, "epsg", 23868,
+        "DGN95 / UTM zone 48N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333");
+        "+proj=utm +zone=48 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=609601.2");
-    add_proj4text (p, 2,
-        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Colorado North\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"DGN95 / UTM zone 48N\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",39.71666666666667],PAR");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",40.78333333333333],PARAME");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",39.33333333333334],PARAMETER[");
+        "idian\",105],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-105.5],PARAMETER[\"false_easting\"");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        ",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 14,
-        ",\"26753\"]]");
-    p = add_epsg_def (filter, first, last, 26754, "epsg", 26754,
-        "NAD27 / Colorado Central");
+        "PSG\",\"23868\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23869, "epsg", 23869,
+        "DGN95 / UTM zone 49N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
+        "+proj=utm +zone=49 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "3334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +datum=");
-    add_proj4text (p, 2,
-        "NAD27 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Colorado Central\",GEOGCS[\"NAD27\",DAT");
+        "PROJCS[\"DGN95 / UTM zone 49N\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",39.75],PARAMETER[\"sta");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ndard_parallel_2\",38.45],PARAMETER[\"latitude_of_origin");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "\",37.83333333333334],PARAMETER[\"central_meridian\",-10");
+        "idian\",111],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "5.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fa");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26754\"]]");
-    p = add_epsg_def (filter, first, last, 26755, "epsg", 26755,
-        "NAD27 / Colorado South");
+        "PSG\",\"23869\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23870, "epsg", 23870,
+        "DGN95 / UTM zone 50N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
+        "+proj=utm +zone=50 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=609601.2");
-    add_proj4text (p, 2,
-        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Colorado South\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"DGN95 / UTM zone 50N\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",38.43333333333333],PAR");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",37.23333333333333],PARAME");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",36.66666666666666],PARAMETER[");
+        "idian\",117],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-105.5],PARAMETER[\"false_easting\"");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        ",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 14,
-        ",\"26755\"]]");
-    p = add_epsg_def (filter, first, last, 26756, "epsg", 26756,
-        "NAD27 / Connecticut");
+        "PSG\",\"23870\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23871, "epsg", 23871,
+        "DGN95 / UTM zone 51N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
+        "+proj=utm +zone=51 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        ".83333333333334 +lon_0=-72.75 +x_0=182880.3657607315 +y_");
-    add_proj4text (p, 2,
-        "0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Connecticut\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"DGN95 / UTM zone 51N\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "AMETER[\"standard_parallel_1\",41.86666666666667],PARAME");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_2\",41.2],PARAMETER[\"latitude_o");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "f_origin\",40.83333333333334],PARAMETER[\"central_meridi");
+        "idian\",123],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "an\",-72.75],PARAMETER[\"false_easting\",600000],PARAMET");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",0],UNIT[\"US survey foot\",0.30480");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26756\"]]");
-    p = add_epsg_def (filter, first, last, 26757, "epsg", 26757,
-        "NAD27 / Delaware");
+        "PSG\",\"23871\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23872, "epsg", 23872,
+        "DGN95 / UTM zone 52N", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
+        "+proj=utm +zone=52 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "995 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us");
-    add_proj4text (p, 2,
-        "-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Delaware\",GEOGCS[\"NAD27\",DATUM[\"Nor");
+        "PROJCS[\"DGN95 / UTM zone 52N\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "th_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637820");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "6.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTH");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"426");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "titude_of_origin\",38],PARAMETER[\"central_meridian\",-7");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "5.41666666666667],PARAMETER[\"scale_factor\",0.999995],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",129],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"26757\"]]");
-    p = add_epsg_def (filter, first, last, 26758, "epsg", 26758,
-        "NAD27 / Florida East");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"23872\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23877, "epsg", 23877,
+        "DGN95 / UTM zone 47S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
+        "+proj=utm +zone=47 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "941177 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
-    add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Florida East\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"DGN95 / UTM zone 47S\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",24.33333333333333],PARAMETER[\"cent");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-81],PARAMETER[\"scale_factor\",0.9999411");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "77],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "idian\",99],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26758\"]]");
-    p = add_epsg_def (filter, first, last, 26759, "epsg", 26759,
-        "NAD27 / Florida West");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"23877\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23878, "epsg", 23878,
+        "DGN95 / UTM zone 48S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
+        "+proj=utm +zone=48 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "941177 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
-    add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Florida West\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"DGN95 / UTM zone 48S\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",24.33333333333333],PARAMETER[\"cent");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-82],PARAMETER[\"scale_factor\",0.9999411");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "77],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "idian\",105],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26759\"]]");
-    p = add_epsg_def (filter, first, last, 26760, "epsg", 26760,
-        "NAD27 / Florida North");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"23878\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23879, "epsg", 23879,
+        "DGN95 / UTM zone 49S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
+        "+proj=utm +zone=49 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "9 +lon_0=-84.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD2");
-    add_proj4text (p, 2,
-        "7 +units=us-ft +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Florida North\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / UTM zone 49S\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"standard_parallel_1\",30.75],PARAMETER[\"stan");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "dard_parallel_2\",29.58333333333333],PARAMETER[\"latitud");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "e_of_origin\",29],PARAMETER[\"central_meridian\",-84.5],");
+        "idian\",111],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",2000000],PARAMETER[\"false_n");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"26760\"]]");
-    p = add_epsg_def (filter, first, last, 26766, "epsg", 26766,
-        "NAD27 / Georgia East");
+        "ITY[\"EPSG\",\"23879\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23880, "epsg", 23880,
+        "DGN95 / UTM zone 50S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
+        "+proj=utm +zone=50 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "9 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-f");
-    add_proj4text (p, 2,
-        "t +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Georgia East\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"DGN95 / UTM zone 50S\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",30],PARAMETER[\"central_meridian\",");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "-82.16666666666667],PARAMETER[\"scale_factor\",0.9999],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",117],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"26766\"]]");
-    p = add_epsg_def (filter, first, last, 26767, "epsg", 26767,
-        "NAD27 / Georgia West");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"23880\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23881, "epsg", 23881,
+        "DGN95 / UTM zone 51S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
+        "+proj=utm +zone=51 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "9 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-f");
-    add_proj4text (p, 2,
-        "t +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Georgia West\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"DGN95 / UTM zone 51S\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",30],PARAMETER[\"central_meridian\",");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "-84.16666666666667],PARAMETER[\"scale_factor\",0.9999],P");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
+        "idian\",123],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"26767\"]]");
-    p = add_epsg_def (filter, first, last, 26768, "epsg", 26768,
-        "NAD27 / Idaho East");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"23881\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23882, "epsg", 23882,
+        "DGN95 / UTM zone 52S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
+        "+proj=utm +zone=52 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "666667 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0");
-    add_proj4text (p, 2,
-        "=0 +datum=NAD27 +units=us-ft +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Idaho East\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"DGN95 / UTM zone 52S\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",41.66666666666666],PARAMETER[\"cent");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-112.1666666666667],PARAMETER[\"scale_fac");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "tor\",0.999947368],PARAMETER[\"false_easting\",500000],P");
+        "idian\",129],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26768\"]");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 26769, "epsg", 26769,
-        "NAD27 / Idaho Central");
+        "ITY[\"EPSG\",\"23882\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23883, "epsg", 23883,
+        "DGN95 / UTM zone 53S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
+        "+proj=utm +zone=53 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "99473679999999 +x_0=152400.3048006096 +y_0=0 +datum=NAD2");
-    add_proj4text (p, 2,
-        "7 +units=us-ft +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Idaho Central\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"DGN95 / UTM zone 53S\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",41.66666666666666],PARAMETER[\"c");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-114],PARAMETER[\"scale_factor\",0.999");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "947368],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "idian\",135],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26769\"]]");
-    p = add_epsg_def (filter, first, last, 26770, "epsg", 26770,
-        "NAD27 / Idaho West");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"23883\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23884, "epsg", 23884,
+        "DGN95 / UTM zone 54S", 0, 0,
+        "WGS 84", "Greenwich",
+        "Datum_Geodesi_Nasional_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
+        "+proj=utm +zone=54 +south +ellps=WGS84 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        ".999933333 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +u");
-    add_proj4text (p, 2,
-        "nits=us-ft +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Idaho West\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"DGN95 / UTM zone 54S\",GEOGCS[\"DGN95\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "Datum_Geodesi_Nasional_1995\",SPHEROID[\"WGS 84\",637813");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "7,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6755\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",41.66666666666666],PARAMETER[\"cent");
+        "PSG\",\"4755\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-115.75],PARAMETER[\"scale_factor\",0.999");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "933333],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "idian\",141],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        ",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26770\"]]");
-    p = add_epsg_def (filter, first, last, 26771, "epsg", 26771,
-        "NAD27 / Illinois East");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"23884\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23886, "epsg", 23886,
+        "ID74 / UTM zone 46S (deprecated)", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
+        "+proj=utm +zone=46 +south +a=6378160 +b=6356774.50408554");
     add_proj4text (p, 1,
-        "333333 +k=0.9999749999999999 +x_0=152400.3048006096 +y_0");
-    add_proj4text (p, 2,
-        "=0 +datum=NAD27 +units=us-ft +no_defs");
+        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Illinois East\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"ID74 / UTM zone 46S (deprecated)\",GEOGCS[\"ID7");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "4\",DATUM[\"Indonesian_Datum_1974\",SPHEROID[\"Indonesia");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "n National Spheroid\",6378160,298.247,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",\"7021\"]],TOWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",\"6238\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",36.66666666666666],PARAMETER[\"c");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-88.33333333333333],PARAMETER[\"scale_");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "factor\",0.999975],PARAMETER[\"false_easting\",500000],P");
+        "],PARAMETER[\"central_meridian\",93],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26771\"]");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 26772, "epsg", 26772,
-        "NAD27 / Illinois West");
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"23886\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23887, "epsg", 23887,
+        "ID74 / UTM zone 47S", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
+        "+proj=utm +zone=47 +south +a=6378160 +b=6356774.50408554");
     add_proj4text (p, 1,
-        "666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +dat");
-    add_proj4text (p, 2,
-        "um=NAD27 +units=us-ft +no_defs");
+        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Illinois West\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"ID74 / UTM zone 47S\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",36.66666666666666],PARAMETER[\"c");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-90.16666666666667],PARAMETER[\"scale_");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "factor\",0.999941177],PARAMETER[\"false_easting\",500000");
+        "\"central_meridian\",99],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "e_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26772\"");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 26773, "epsg", 26773,
-        "NAD27 / Indiana East");
+        "ORTH],AUTHORITY[\"EPSG\",\"23887\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23888, "epsg", 23888,
+        "ID74 / UTM zone 48S", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
+        "+proj=utm +zone=48 +south +a=6378160 +b=6356774.50408554");
     add_proj4text (p, 1,
-        "99966667 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
-    add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Indiana East\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ID74 / UTM zone 48S\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",37.5],PARAMETER[\"central_meridian\"");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        ",-85.66666666666667],PARAMETER[\"scale_factor\",0.999966");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "667],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "\"central_meridian\",105],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26773\"]]");
-    p = add_epsg_def (filter, first, last, 26774, "epsg", 26774,
-        "NAD27 / Indiana West");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"23888\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23889, "epsg", 23889,
+        "ID74 / UTM zone 49S", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
+        "+proj=utm +zone=49 +south +a=6378160 +b=6356774.50408554");
     add_proj4text (p, 1,
-        "99966667 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
-    add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Indiana West\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ID74 / UTM zone 49S\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",37.5],PARAMETER[\"central_meridian\"");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        ",-87.08333333333333],PARAMETER[\"scale_factor\",0.999966");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "667],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "\"central_meridian\",111],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26774\"]]");
-    p = add_epsg_def (filter, first, last, 26775, "epsg", 26775,
-        "NAD27 / Iowa North");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"23889\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23890, "epsg", 23890,
+        "ID74 / UTM zone 50S", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
+        "+proj=utm +zone=50 +south +a=6378160 +b=6356774.50408554");
     add_proj4text (p, 1,
-        "667 +lat_0=41.5 +lon_0=-93.5 +x_0=609601.2192024384 +y_0");
-    add_proj4text (p, 2,
-        "=0 +datum=NAD27 +units=us-ft +no_defs");
+        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Iowa North\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"ID74 / UTM zone 50S\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "METER[\"standard_parallel_1\",43.26666666666667],PARAMET");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",42.06666666666667],PARAMETER[");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\"latitude_of_origin\",41.5],PARAMETER[\"central_meridia");
+        "\"central_meridian\",117],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "n\",-93.5],PARAMETER[\"false_easting\",2000000],PARAMETE");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
     add_srs_wkt (p, 13,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26775\"]]");
-    p = add_epsg_def (filter, first, last, 26776, "epsg", 26776,
-        "NAD27 / Iowa South");
+        "NORTH],AUTHORITY[\"EPSG\",\"23890\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23891, "epsg", 23891,
+        "ID74 / UTM zone 51S", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
+        "+proj=utm +zone=51 +south +a=6378160 +b=6356774.50408554");
     add_proj4text (p, 1,
-        "667 +lat_0=40 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0");
-    add_proj4text (p, 2,
-        " +datum=NAD27 +units=us-ft +no_defs");
+        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Iowa South\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"ID74 / UTM zone 51S\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "METER[\"standard_parallel_1\",41.78333333333333],PARAMET");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",40.61666666666667],PARAMETER[");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "\"latitude_of_origin\",40],PARAMETER[\"central_meridian\"");
+        "\"central_meridian\",123],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        ",-93.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26776\"]]");
-    p = add_epsg_def (filter, first, last, 26777, "epsg", 26777,
-        "NAD27 / Kansas North");
+        "NORTH],AUTHORITY[\"EPSG\",\"23891\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23892, "epsg", 23892,
+        "ID74 / UTM zone 52S", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
+        "+proj=utm +zone=52 +south +a=6378160 +b=6356774.50408554");
     add_proj4text (p, 1,
-        "667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=609601.2192");
-    add_proj4text (p, 2,
-        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Kansas North\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ID74 / UTM zone 52S\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "AMETER[\"standard_parallel_1\",39.78333333333333],PARAME");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_2\",38.71666666666667],PARAMETER");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",38.33333333333334],PARAMETER[\"c");
+        "\"central_meridian\",129],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "entral_meridian\",-98],PARAMETER[\"false_easting\",20000");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"267");
-    add_srs_wkt (p, 14,
-        "77\"]]");
-    p = add_epsg_def (filter, first, last, 26778, "epsg", 26778,
-        "NAD27 / Kansas South");
+        "NORTH],AUTHORITY[\"EPSG\",\"23892\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23893, "epsg", 23893,
+        "ID74 / UTM zone 53S", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
+        "+proj=utm +zone=53 +south +a=6378160 +b=6356774.50408554");
     add_proj4text (p, 1,
-        "667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=609601.21");
-    add_proj4text (p, 2,
-        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Kansas South\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"ID74 / UTM zone 53S\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "AMETER[\"standard_parallel_1\",38.56666666666667],PARAME");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_2\",37.26666666666667],PARAMETER");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",36.66666666666666],PARAMETER[\"c");
+        "\"central_meridian\",135],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "entral_meridian\",-98.5],PARAMETER[\"false_easting\",200");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
-    add_srs_wkt (p, 14,
-        "6778\"]]");
-    p = add_epsg_def (filter, first, last, 26779, "epsg", 26779,
-        "NAD27 / Kentucky North");
+        "NORTH],AUTHORITY[\"EPSG\",\"23893\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23894, "epsg", 23894,
+        "ID74 / UTM zone 54S", 0, 0,
+        "Indonesian National Spheroid", "Greenwich",
+        "Indonesian_Datum_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
+        "+proj=utm +zone=54 +south +a=6378160 +b=6356774.50408554");
     add_proj4text (p, 1,
-        "667 +lat_0=37.5 +lon_0=-84.25 +x_0=609601.2192024384 +y_");
-    add_proj4text (p, 2,
-        "0=0 +datum=NAD27 +units=us-ft +no_defs");
+        " +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Kentucky North\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"ID74 / UTM zone 54S\",GEOGCS[\"ID74\",DATUM[\"I");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "ndonesian_Datum_1974\",SPHEROID[\"Indonesian National Sp");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "heroid\",6378160,298.247,AUTHORITY[\"EPSG\",\"7021\"]],T");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "OWGS84[-24,-15,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6238\"]],");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",37.96666666666667],PAR");
+        "AUTHORITY[\"EPSG\",\"4238\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",38.96666666666667],PARAME");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",37.5],PARAMETER[\"central_mer");
+        "\"central_meridian\",141],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "idian\",-84.25],PARAMETER[\"false_easting\",2000000],PAR");
+        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
+        "se_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26779\"]]");
-    p = add_epsg_def (filter, first, last, 26780, "epsg", 26780,
-        "NAD27 / Kentucky South");
+        "NORTH],AUTHORITY[\"EPSG\",\"23894\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23946, "epsg", 23946,
+        "Indian 1954 / UTM zone 46N", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1954", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333");
+        "+proj=utm +zone=46 +a=6377276.345 +b=6356075.413140239 +");
     add_proj4text (p, 1,
-        "333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=609601.2");
-    add_proj4text (p, 2,
-        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "towgs84=217,823,299,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Kentucky South\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Indian 1954 / UTM zone 46N\",GEOGCS[\"Indian 19");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "54\",DATUM[\"Indian_1954\",SPHEROID[\"Everest 1830 (1937");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        " Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "7015\"]],TOWGS84[217,823,299,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        ",\"6239\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",36.73333333333333],PAR");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4239\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",37.93333333333333],PARAME");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",36.33333333333334],PARAMETER[");
+        "],PARAMETER[\"central_meridian\",93],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-85.75],PARAMETER[\"false_easting\"");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        ",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 14,
-        ",\"26780\"]]");
-    p = add_epsg_def (filter, first, last, 26781, "epsg", 26781,
-        "NAD27 / Louisiana North");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"23946\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23947, "epsg", 23947,
+        "Indian 1954 / UTM zone 47N", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1954", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666");
+        "+proj=utm +zone=47 +a=6377276.345 +b=6356075.413140239 +");
     add_proj4text (p, 1,
-        "666 +lat_0=30.66666666666667 +lon_0=-92.5 +x_0=609601.21");
-    add_proj4text (p, 2,
-        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "towgs84=217,823,299,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Louisiana North\",GEOGCS[\"NAD27\",DATU");
+        "PROJCS[\"Indian 1954 / UTM zone 47N\",GEOGCS[\"Indian 19");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "54\",DATUM[\"Indian_1954\",SPHEROID[\"Everest 1830 (1937");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        " Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "7015\"]],TOWGS84[217,823,299,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        ",\"6239\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",31.16666666666667],PAR");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4239\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",32.66666666666666],PARAME");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",30.66666666666667],PARAMETER[");
+        "],PARAMETER[\"central_meridian\",99],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-92.5],PARAMETER[\"false_easting\",");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "2000000],PARAMETER[\"false_northing\",0],UNIT[\"US surve");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 14,
-        "\"26781\"]]");
-    p = add_epsg_def (filter, first, last, 26782, "epsg", 26782,
-        "NAD27 / Louisiana South");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"23947\"]]");
+    p = add_epsg_def_ex (filter, first, last, 23948, "epsg", 23948,
+        "Indian 1954 / UTM zone 48N", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1954", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.666666666666");
+        "+proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +");
     add_proj4text (p, 1,
-        "67 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0");
-    add_proj4text (p, 2,
-        "=0 +datum=NAD27 +units=us-ft +no_defs");
+        "towgs84=217,823,299,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Louisiana South\",GEOGCS[\"NAD27\",DATU");
+        "PROJCS[\"Indian 1954 / UTM zone 48N\",GEOGCS[\"Indian 19");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "54\",DATUM[\"Indian_1954\",SPHEROID[\"Everest 1830 (1937");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        " Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "7015\"]],TOWGS84[217,823,299,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        ",\"6239\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",29.3],PARAMETER[\"stan");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4239\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "dard_parallel_2\",30.7],PARAMETER[\"latitude_of_origin\"");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        ",28.66666666666667],PARAMETER[\"central_meridian\",-91.3");
+        "],PARAMETER[\"central_meridian\",105],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "3333333333333],PARAMETER[\"false_easting\",2000000],PARA");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26782\"]]");
-    p = add_epsg_def (filter, first, last, 26783, "epsg", 26783,
-        "NAD27 / Maine East");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"23948\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24047, "epsg", 24047,
+        "Indian 1975 / UTM zone 47N", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1975", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-68.5 +k=0.9");
+        "+proj=utm +zone=47 +a=6377276.345 +b=6356075.413140239 +");
     add_proj4text (p, 1,
-        "999 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us");
-    add_proj4text (p, 2,
-        "-ft +no_defs");
+        "towgs84=210,814,289,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Maine East\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"Indian 1975 / UTM zone 47N\",GEOGCS[\"Indian 19");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "75\",DATUM[\"Indian_1975\",SPHEROID[\"Everest 1830 (1937");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        " Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "7015\"]],TOWGS84[210,814,289,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        ",\"6240\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",43.83333333333334],PARAMETER[\"cent");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4240\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-68.5],PARAMETER[\"scale_factor\",0.9999]");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "],PARAMETER[\"central_meridian\",99],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
+        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"26783\"]]");
-    p = add_epsg_def (filter, first, last, 26784, "epsg", 26784,
-        "NAD27 / Maine West");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"24047\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24048, "epsg", 24048,
+        "Indian 1975 / UTM zone 48N", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Indian_1975", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
+        "+proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +dat");
-    add_proj4text (p, 2,
-        "um=NAD27 +units=us-ft +no_defs");
+        "towgs84=210,814,289,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Maine West\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"Indian 1975 / UTM zone 48N\",GEOGCS[\"Indian 19");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "75\",DATUM[\"Indian_1975\",SPHEROID[\"Everest 1830 (1937");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        " Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "7015\"]],TOWGS84[210,814,289,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        ",\"6240\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",42.83333333333334],PARAMETER[\"cent");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4240\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-70.16666666666667],PARAMETER[\"scale_fac");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "tor\",0.999966667],PARAMETER[\"false_easting\",500000],P");
+        "],PARAMETER[\"central_meridian\",105],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 11,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26784\"]");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 26785, "epsg", 26785,
-        "NAD27 / Maryland");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"24048\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24100, "epsg", 24100,
+        "Jamaica 1875 / Jamaica (Old Grid)", 0, 0,
+        "Clarke 1880", "Greenwich",
+        "Jamaica_1875", "Lambert_Conformal_Conic_1SP", "Clarke's foot",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.83333333333");
+        "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=167");
     add_proj4text (p, 1,
-        "334 +lon_0=-77 +x_0=243840.4876809754 +y_0=0 +datum=NAD2");
+        "638.49597 +y_0=121918.90616 +a=6378249.144808011 +b=6356");
     add_proj4text (p, 2,
-        "7 +units=us-ft +no_defs");
+        "514.966204134 +to_meter=0.3047972654 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Maryland\",GEOGCS[\"NAD27\",DATUM[\"Nor");
+        "PROJCS[\"Jamaica 1875 / Jamaica (Old Grid)\",GEOGCS[\"Ja");
     add_srs_wkt (p, 1,
-        "th_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637820");
+        "maica 1875\",DATUM[\"Jamaica_1875\",SPHEROID[\"Clarke 18");
     add_srs_wkt (p, 2,
-        "6.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTH");
+        "80\",6378249.144808011,293.4663076556365,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "ORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        "G\",\"7034\"]],AUTHORITY[\"EPSG\",\"6241\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"426");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "TER[\"standard_parallel_1\",38.3],PARAMETER[\"standard_p");
+        "PSG\",\"4241\"]],PROJECTION[\"Lambert_Conformal_Conic_1S");
     add_srs_wkt (p, 8,
-        "arallel_2\",39.45],PARAMETER[\"latitude_of_origin\",37.8");
+        "P\"],PARAMETER[\"latitude_of_origin\",18],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "3333333333334],PARAMETER[\"central_meridian\",-77],PARAM");
+        "ntral_meridian\",-77],PARAMETER[\"scale_factor\",1],PARA");
     add_srs_wkt (p, 10,
-        "ETER[\"false_easting\",800000.0000000002],PARAMETER[\"fa");
+        "METER[\"false_easting\",550000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "ng\",400000],UNIT[\"Clarke's foot\",0.3047972654,AUTHORI");
     add_srs_wkt (p, 12,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "TY[\"EPSG\",\"9005\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26785\"]]");
-    p = add_epsg_def (filter, first, last, 26786, "epsg", 26786,
-        "NAD27 / Massachusetts Mainland");
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"24100\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24200, "epsg", 24200,
+        "JAD69 / Jamaica National Grid", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Jamaica_1969", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333");
+        "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=250");
     add_proj4text (p, 1,
-        "333 +lat_0=41 +lon_0=-71.5 +x_0=182880.3657607315 +y_0=0");
+        "000 +y_0=150000 +ellps=clrk66 +towgs84=70,207,389.5,0,0,");
     add_proj4text (p, 2,
-        " +datum=NAD27 +units=us-ft +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Massachusetts Mainland\",GEOGCS[\"NAD27");
+        "PROJCS[\"JAD69 / Jamaica National Grid\",GEOGCS[\"JAD69\"");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke");
+        ",DATUM[\"Jamaica_1969\",SPHEROID[\"Clarke 1866\",6378206");
     add_srs_wkt (p, 2,
-        " 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"");
+        ".4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwic");
+        "84[70,207,389.5,0,0,0,0],AUTHORITY[\"EPSG\",\"6242\"]],P");
     add_srs_wkt (p, 4,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"standard_parallel_1\",41.7166666666666");
+        "UTHORITY[\"EPSG\",\"4242\"]],PROJECTION[\"Lambert_Confor");
     add_srs_wkt (p, 8,
-        "7],PARAMETER[\"standard_parallel_2\",42.68333333333333],");
+        "mal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",18],PA");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",41],PARAMETER[\"central");
+        "RAMETER[\"central_meridian\",-77],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "_meridian\",-71.5],PARAMETER[\"false_easting\",600000],P");
+        "or\",1],PARAMETER[\"false_easting\",250000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "false_northing\",150000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26786\"]");
-    add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 26787, "epsg", 26787,
-        "NAD27 / Massachusetts Island");
+        ",NORTH],AUTHORITY[\"EPSG\",\"24200\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24305, "epsg", 24305,
+        "Kalianpur 1937 / UTM zone 45N", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Kalianpur_1937", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333");
+        "+proj=utm +zone=45 +a=6377276.345 +b=6356075.413140239 +");
     add_proj4text (p, 1,
-        "333 +lat_0=41 +lon_0=-70.5 +x_0=60960.12192024384 +y_0=0");
-    add_proj4text (p, 2,
-        " +datum=NAD27 +units=us-ft +no_defs");
+        "towgs84=214,804,268,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Massachusetts Island\",GEOGCS[\"NAD27\"");
+        "PROJCS[\"Kalianpur 1937 / UTM zone 45N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
+        "pur 1937\",DATUM[\"Kalianpur_1937\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7");
+        "830 (1937 Adjustment)\",6377276.345,300.8017,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
+        "EPSG\",\"7015\"]],TOWGS84[214,804,268,0,0,0,0],AUTHORITY");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "[\"EPSG\",\"6144\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"standard_parallel_1\",41.2833333333333");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4144\"]],PROJE");
     add_srs_wkt (p, 8,
-        "3],PARAMETER[\"standard_parallel_2\",41.48333333333333],");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",41],PARAMETER[\"central");
+        "rigin\",0],PARAMETER[\"central_meridian\",87],PARAMETER[");
     add_srs_wkt (p, 10,
-        "_meridian\",-70.5],PARAMETER[\"false_easting\",200000],P");
+        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
     add_srs_wkt (p, 13,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26787\"]");
-    add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 26791, "epsg", 26791,
-        "NAD27 / Minnesota North");
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24305\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24306, "epsg", 24306,
+        "Kalianpur 1937 / UTM zone 46N", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Kalianpur_1937", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333");
+        "+proj=utm +zone=46 +a=6377276.345 +b=6356075.413140239 +");
     add_proj4text (p, 1,
-        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=609601.21");
-    add_proj4text (p, 2,
-        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "towgs84=214,804,268,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Minnesota North\",GEOGCS[\"NAD27\",DATU");
+        "PROJCS[\"Kalianpur 1937 / UTM zone 46N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "pur 1937\",DATUM[\"Kalianpur_1937\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "830 (1937 Adjustment)\",6377276.345,300.8017,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "EPSG\",\"7015\"]],TOWGS84[214,804,268,0,0,0,0],AUTHORITY");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "[\"EPSG\",\"6144\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",47.03333333333333],PAR");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4144\"]],PROJE");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",48.63333333333333],PARAME");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",46.5],PARAMETER[\"central_mer");
+        "rigin\",0],PARAMETER[\"central_meridian\",93],PARAMETER[");
     add_srs_wkt (p, 10,
-        "idian\",-93.1],PARAMETER[\"false_easting\",2000000],PARA");
+        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26791\"]]");
-    p = add_epsg_def (filter, first, last, 26792, "epsg", 26792,
-        "NAD27 / Minnesota Central");
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24306\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24311, "epsg", 24311,
+        "Kalianpur 1962 / UTM zone 41N", 0, 0,
+        "Everest 1830 (1962 Definition)", "Greenwich",
+        "Kalianpur_1962", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=4");
+        "+proj=utm +zone=41 +a=6377301.243 +b=6356100.230165385 +");
     add_proj4text (p, 1,
-        "5 +lon_0=-94.25 +x_0=609601.2192024384 +y_0=0 +datum=NAD");
-    add_proj4text (p, 2,
-        "27 +units=us-ft +no_defs");
+        "towgs84=283,682,231,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Minnesota Central\",GEOGCS[\"NAD27\",DA");
+        "PROJCS[\"Kalianpur 1962 / UTM zone 41N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866");
+        "pur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        "\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008");
+        "830 (1962 Definition)\",6377301.243,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",");
+        "Y[\"EPSG\",\"7044\"]],TOWGS84[283,682,231,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "RITY[\"EPSG\",\"6145\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "G\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"standard_parallel_1\",45.61666666666667],P");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4145\"]],P");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_2\",47.05],PARAMETER[\"lati");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",45],PARAMETER[\"central_meridian\",-94.");
+        "of_origin\",0],PARAMETER[\"central_meridian\",63],PARAME");
     add_srs_wkt (p, 10,
-        "25],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fal");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26792\"]]");
-    p = add_epsg_def (filter, first, last, 26793, "epsg", 26793,
-        "NAD27 / Minnesota South");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24311\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24312, "epsg", 24312,
+        "Kalianpur 1962 / UTM zone 42N", 0, 0,
+        "Everest 1830 (1962 Definition)", "Greenwich",
+        "Kalianpur_1962", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666");
+        "+proj=utm +zone=42 +a=6377301.243 +b=6356100.230165385 +");
     add_proj4text (p, 1,
-        "667 +lat_0=43 +lon_0=-94 +x_0=609601.2192024384 +y_0=0 +");
-    add_proj4text (p, 2,
-        "datum=NAD27 +units=us-ft +no_defs");
+        "towgs84=283,682,231,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Minnesota South\",GEOGCS[\"NAD27\",DATU");
+        "PROJCS[\"Kalianpur 1962 / UTM zone 42N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "pur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "830 (1962 Definition)\",6377301.243,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "Y[\"EPSG\",\"7044\"]],TOWGS84[283,682,231,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "RITY[\"EPSG\",\"6145\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",43.78333333333333],PAR");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4145\"]],P");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",45.21666666666667],PARAME");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",43],PARAMETER[\"central_merid");
+        "of_origin\",0],PARAMETER[\"central_meridian\",69],PARAME");
     add_srs_wkt (p, 10,
-        "ian\",-94],PARAMETER[\"false_easting\",2000000],PARAMETE");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26793\"]]");
-    p = add_epsg_def (filter, first, last, 26794, "epsg", 26794,
-        "NAD27 / Mississippi East");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24312\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24313, "epsg", 24313,
+        "Kalianpur 1962 / UTM zone 43N", 0, 0,
+        "Everest 1830 (1962 Definition)", "Greenwich",
+        "Kalianpur_1962", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=29.66666666666667 +lon_0=-88.83333333");
+        "+proj=utm +zone=43 +a=6377301.243 +b=6356100.230165385 +");
     add_proj4text (p, 1,
-        "333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +datum=N");
-    add_proj4text (p, 2,
-        "AD27 +units=us-ft +no_defs");
+        "towgs84=283,682,231,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Mississippi East\",GEOGCS[\"NAD27\",DAT");
+        "PROJCS[\"Kalianpur 1962 / UTM zone 43N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "pur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "830 (1962 Definition)\",6377301.243,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "Y[\"EPSG\",\"7044\"]],TOWGS84[283,682,231,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "RITY[\"EPSG\",\"6145\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",29.66666666666667],PARAMETER[\"");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4145\"]],P");
     add_srs_wkt (p, 8,
-        "central_meridian\",-88.83333333333333],PARAMETER[\"scale");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "_factor\",0.99996],PARAMETER[\"false_easting\",500000],P");
+        "of_origin\",0],PARAMETER[\"central_meridian\",75],PARAME");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26794\"]");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 26795, "epsg", 26795,
-        "NAD27 / Mississippi West");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24313\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24342, "epsg", 24342,
+        "Kalianpur 1975 / UTM zone 42N", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30.5 +lon_0=-90.33333333333333 +k=0.9");
+        "+proj=utm +zone=42 +a=6377299.151 +b=6356098.145120132 +");
     add_proj4text (p, 1,
-        "99941177 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
-    add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Mississippi West\",GEOGCS[\"NAD27\",DAT");
+        "PROJCS[\"Kalianpur 1975 / UTM zone 42N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",30.5],PARAMETER[\"central_merid");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]],P");
     add_srs_wkt (p, 8,
-        "ian\",-90.33333333333333],PARAMETER[\"scale_factor\",0.9");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "99941177],PARAMETER[\"false_easting\",500000],PARAMETER[");
+        "of_origin\",0],PARAMETER[\"central_meridian\",69],PARAME");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26795\"]]");
-    p = add_epsg_def (filter, first, last, 26796, "epsg", 26796,
-        "NAD27 / Missouri East");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24342\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24343, "epsg", 24343,
+        "Kalianpur 1975 / UTM zone 43N", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9");
+        "+proj=utm +zone=43 +a=6377299.151 +b=6356098.145120132 +");
     add_proj4text (p, 1,
-        "99933333 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
-    add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Missouri East\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"Kalianpur 1975 / UTM zone 43N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",35.83333333333334],PARAMETER[\"c");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]],P");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-90.5],PARAMETER[\"scale_factor\",0.99");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "9933333],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",75],PARAME");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26796\"]]");
-    p = add_epsg_def (filter, first, last, 26797, "epsg", 26797,
-        "NAD27 / Missouri Central");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24343\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24344, "epsg", 24344,
+        "Kalianpur 1975 / UTM zone 44N", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9");
+        "+proj=utm +zone=44 +a=6377299.151 +b=6356098.145120132 +");
     add_proj4text (p, 1,
-        "99933333 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
-    add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Missouri Central\",GEOGCS[\"NAD27\",DAT");
+        "PROJCS[\"Kalianpur 1975 / UTM zone 44N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",35.83333333333334],PARAMETER[\"");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]],P");
     add_srs_wkt (p, 8,
-        "central_meridian\",-92.5],PARAMETER[\"scale_factor\",0.9");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "99933333],PARAMETER[\"false_easting\",500000],PARAMETER[");
+        "of_origin\",0],PARAMETER[\"central_meridian\",81],PARAME");
     add_srs_wkt (p, 10,
-        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26797\"]]");
-    p = add_epsg_def (filter, first, last, 26798, "epsg", 26798,
-        "NAD27 / Missouri West");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24344\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24345, "epsg", 24345,
+        "Kalianpur 1975 / UTM zone 45N", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9");
+        "+proj=utm +zone=45 +a=6377299.151 +b=6356098.145120132 +");
     add_proj4text (p, 1,
-        "99941177 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
-    add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Missouri West\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"Kalianpur 1975 / UTM zone 45N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",36.16666666666666],PARAMETER[\"c");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]],P");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-94.5],PARAMETER[\"scale_factor\",0.99");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "9941177],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "of_origin\",0],PARAMETER[\"central_meridian\",87],PARAME");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26798\"]]");
-    p = add_epsg_def (filter, first, last, 26799, "epsg", 26799,
-        "NAD27 / California zone VII");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24345\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24346, "epsg", 24346,
+        "Kalianpur 1975 / UTM zone 46N", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666");
+        "+proj=utm +zone=46 +a=6377299.151 +b=6356098.145120132 +");
     add_proj4text (p, 1,
-        "667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +");
-    add_proj4text (p, 2,
-        "x_0=1276106.450596901 +y_0=1268253.006858014 +datum=NAD2");
-    add_proj4text (p, 3,
-        "7 +units=us-ft +no_defs");
+        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / California zone VII\",GEOGCS[\"NAD27\",");
+        "PROJCS[\"Kalianpur 1975 / UTM zone 46N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
+        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70");
+        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",34.41666666666666]");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]],P");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",33.86666666666667],PA");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",34.13333333333333],PARAME");
+        "of_origin\",0],PARAMETER[\"central_meridian\",93],PARAME");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-118.3333333333333],PARAMETER[\"");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "false_easting\",4186692.58],PARAMETER[\"false_northing\"");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",4160926.74],UNIT[\"US survey foot\",0.3048006096012192,");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
-    add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"26799\"]]");
-    p = add_epsg_def (filter, first, last, 26801, "epsg", 26801,
-        "NAD Michigan / Michigan East (deprecated)");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24346\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24347, "epsg", 24347,
+        "Kalianpur 1975 / UTM zone 47N", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.9");
+        "+proj=utm +zone=47 +a=6377299.151 +b=6356098.145120132 +");
     add_proj4text (p, 1,
-        "99942857 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548");
-    add_proj4text (p, 2,
-        "896 +b=6356826.621488444 +units=us-ft +no_defs");
+        "towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD Michigan / Michigan East (deprecated)\",GEO");
+        "PROJCS[\"Kalianpur 1975 / UTM zone 47N\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "GCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROID");
+        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        "[\"Clarke 1866 Michigan\",6378450.047548896,294.97869716");
+        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        "46739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",\"");
+        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        "6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTION[");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]],P");
     add_srs_wkt (p, 8,
-        ",41.5],PARAMETER[\"central_meridian\",-83.66666666666667");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",0.999942857],PARAMETER[\"fa");
+        "of_origin\",0],PARAMETER[\"central_meridian\",99],PARAME");
     add_srs_wkt (p, 10,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "TER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],A");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"26801\"]]");
-    p = add_epsg_def (filter, first, last, 26802, "epsg", 26802,
-        "NAD Michigan / Michigan Old Central (deprecated)");
+        "XIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"24347\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24370, "epsg", 24370,
+        "Kalianpur 1880 / India zone 0", 0, 0,
+        "Everest (1830 Definition)", "Greenwich",
+        "Kalianpur_1880", "Lambert_Conformal_Conic_1SP", "Indian yard",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_");
+        "+proj=lcc +lat_1=39.5 +lat_0=39.5 +lon_0=68 +k_0=0.99846");
     add_proj4text (p, 1,
-        "0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=63568");
+        "154 +x_0=2153865.73916853 +y_0=2368292.194628102 +a=6377");
     add_proj4text (p, 2,
-        "26.621488444 +units=us-ft +no_defs");
+        "299.36559538 +b=6356098.359005156 +to_meter=0.9143985307");
+    add_proj4text (p, 3,
+        "444408 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD Michigan / Michigan Old Central (deprecated");
+        "PROJCS[\"Kalianpur 1880 / India zone 0\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        ")\",GEOGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",S");
+        "pur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest (");
     add_srs_wkt (p, 2,
-        "PHEROID[\"Clarke 1866 Michigan\",6378450.047548896,294.9");
+        "1830 Definition)\",6377299.36559538,300.8017255433549,AU");
     add_srs_wkt (p, 3,
-        "786971646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"E");
+        "THORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"]");
     add_srs_wkt (p, 4,
-        "PSG\",\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4268\"]],PRO");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "JECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of");
+        "],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "_origin\",41.5],PARAMETER[\"central_meridian\",-85.75],P");
+        "formal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",39.");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.999909091],PARAMETER[\"false");
+        "5],PARAMETER[\"central_meridian\",68],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "factor\",0.99846154],PARAMETER[\"false_easting\",2355500");
     add_srs_wkt (p, 11,
-        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        "],PARAMETER[\"false_northing\",2590000],UNIT[\"Indian ya");
     add_srs_wkt (p, 12,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "rd\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"]],AX");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"26802\"]]");
-    p = add_epsg_def (filter, first, last, 26803, "epsg", 26803,
-        "NAD Michigan / Michigan West (deprecated)");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"24370\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24371, "epsg", 24371,
+        "Kalianpur 1880 / India zone I", 0, 0,
+        "Everest (1830 Definition)", "Greenwich",
+        "Kalianpur_1880", "Lambert_Conformal_Conic_1SP", "Indian yard",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_");
+        "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878");
     add_proj4text (p, 1,
-        "0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=63568");
+        "641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=637");
     add_proj4text (p, 2,
-        "26.621488444 +units=us-ft +no_defs");
+        "7299.36559538 +b=6356098.359005156 +to_meter=0.914398530");
+    add_proj4text (p, 3,
+        "7444408 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD Michigan / Michigan West (deprecated)\",GEO");
+        "PROJCS[\"Kalianpur 1880 / India zone I\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "GCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROID");
+        "pur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest (");
     add_srs_wkt (p, 2,
-        "[\"Clarke 1866 Michigan\",6378450.047548896,294.97869716");
+        "1830 Definition)\",6377299.36559538,300.8017255433549,AU");
     add_srs_wkt (p, 3,
-        "46739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",\"");
+        "THORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"]");
     add_srs_wkt (p, 4,
-        "6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTION[");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        ",41.5],PARAMETER[\"central_meridian\",-88.75],PARAMETER[");
+        "formal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",32.");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.999909091],PARAMETER[\"false_easting\"");
+        "5],PARAMETER[\"central_meridian\",68],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"US surve");
+        "factor\",0.99878641],PARAMETER[\"false_easting\",3000000");
     add_srs_wkt (p, 11,
-        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
+        "],PARAMETER[\"false_northing\",1000000],UNIT[\"Indian ya");
     add_srs_wkt (p, 12,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+        "rd\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"]],AX");
     add_srs_wkt (p, 13,
-        "\"26803\"]]");
-    p = add_epsg_def (filter, first, last, 26811, "epsg", 26811,
-        "NAD Michigan / Michigan North (deprecated)");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"24371\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24372, "epsg", 24372,
+        "Kalianpur 1880 / India zone IIa", 0, 0,
+        "Everest (1830 Definition)", "Greenwich",
+        "Kalianpur_1880", "Lambert_Conformal_Conic_1SP", "Indian yard",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333");
+        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 ");
     add_proj4text (p, 1,
-        "334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=609601.2192");
+        "+x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299");
     add_proj4text (p, 2,
-        "024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 ");
+        ".36559538 +b=6356098.359005156 +to_meter=0.9143985307444");
     add_proj4text (p, 3,
-        "+units=us-ft +no_defs");
+        "408 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD Michigan / Michigan North (deprecated)\",GE");
+        "PROJCS[\"Kalianpur 1880 / India zone IIa\",GEOGCS[\"Kali");
     add_srs_wkt (p, 1,
-        "OGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROI");
+        "anpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866 Michigan\",6378450.047548896,294.9786971");
+        " (1830 Definition)\",6377299.36559538,300.8017255433549,");
     add_srs_wkt (p, 3,
-        "646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",");
+        "AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"");
     add_srs_wkt (p, 4,
-        "\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTIO");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "T],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "parallel_1\",45.48333333333333],PARAMETER[\"standard_par");
+        "nformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",26");
     add_srs_wkt (p, 9,
-        "allel_2\",47.08333333333334],PARAMETER[\"latitude_of_ori");
+        "],PARAMETER[\"central_meridian\",74],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "gin\",44.78333333333333],PARAMETER[\"central_meridian\",");
+        "actor\",0.99878641],PARAMETER[\"false_easting\",3000000]");
     add_srs_wkt (p, 11,
-        "-87],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fa");
+        ",PARAMETER[\"false_northing\",1000000],UNIT[\"Indian yar");
     add_srs_wkt (p, 12,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "d\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"]],AXI");
     add_srs_wkt (p, 13,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26811\"]]");
-    p = add_epsg_def (filter, first, last, 26812, "epsg", 26812,
-        "NAD Michigan / Michigan Central (deprecated)");
+        "EPSG\",\"24372\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24373, "epsg", 24373,
+        "Kalianpur 1880 / India zone IIIa", 0, 0,
+        "Everest (1830 Definition)", "Greenwich",
+        "Kalianpur_1880", "Lambert_Conformal_Conic_1SP", "Indian yard",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43");
+        "+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 ");
     add_proj4text (p, 1,
-        ".31666666666667 +lon_0=-84.33333333333333 +x_0=609601.21");
+        "+x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299");
     add_proj4text (p, 2,
-        "92024384 +y_0=0 +a=6378450.047548896 +b=6356826.62148844");
+        ".36559538 +b=6356098.359005156 +to_meter=0.9143985307444");
     add_proj4text (p, 3,
-        "4 +units=us-ft +no_defs");
+        "408 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD Michigan / Michigan Central (deprecated)\",");
+        "PROJCS[\"Kalianpur 1880 / India zone IIIa\",GEOGCS[\"Kal");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHER");
+        "ianpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everes");
     add_srs_wkt (p, 2,
-        "OID[\"Clarke 1866 Michigan\",6378450.047548896,294.97869");
+        "t (1830 Definition)\",6377299.36559538,300.8017255433549");
     add_srs_wkt (p, 3,
-        "71646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\"");
+        ",AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243");
     add_srs_wkt (p, 4,
-        ",\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTI");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "AST],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lambert_");
     add_srs_wkt (p, 8,
-        "_parallel_1\",44.18333333333333],PARAMETER[\"standard_pa");
+        "Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "rallel_2\",45.7],PARAMETER[\"latitude_of_origin\",43.316");
+        "19],PARAMETER[\"central_meridian\",80],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "66666666667],PARAMETER[\"central_meridian\",-84.33333333");
+        "_factor\",0.99878641],PARAMETER[\"false_easting\",300000");
     add_srs_wkt (p, 11,
-        "333333],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
+        "0],PARAMETER[\"false_northing\",1000000],UNIT[\"Indian y");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "ard\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"]],A");
     add_srs_wkt (p, 13,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
     add_srs_wkt (p, 14,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26812\"]]");
-    p = add_epsg_def (filter, first, last, 26813, "epsg", 26813,
-        "NAD Michigan / Michigan South (deprecated)");
+        "[\"EPSG\",\"24373\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24374, "epsg", 24374,
+        "Kalianpur 1880 / India zone IVa", 0, 0,
+        "Everest (1830 Definition)", "Greenwich",
+        "Kalianpur_1880", "Lambert_Conformal_Conic_1SP", "Indian yard",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41");
+        "+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 ");
     add_proj4text (p, 1,
-        ".5 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0");
+        "+x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299");
     add_proj4text (p, 2,
-        "=0 +a=6378450.047548896 +b=6356826.621488444 +units=us-f");
+        ".36559538 +b=6356098.359005156 +to_meter=0.9143985307444");
     add_proj4text (p, 3,
-        "t +no_defs");
+        "408 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD Michigan / Michigan South (deprecated)\",GE");
+        "PROJCS[\"Kalianpur 1880 / India zone IVa\",GEOGCS[\"Kali");
     add_srs_wkt (p, 1,
-        "OGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROI");
+        "anpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest");
     add_srs_wkt (p, 2,
-        "D[\"Clarke 1866 Michigan\",6378450.047548896,294.9786971");
+        " (1830 Definition)\",6377299.36559538,300.8017255433549,");
     add_srs_wkt (p, 3,
-        "646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",");
+        "AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"");
     add_srs_wkt (p, 4,
-        "\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTIO");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "T],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "parallel_1\",42.1],PARAMETER[\"standard_parallel_2\",43.");
+        "nformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",12");
     add_srs_wkt (p, 9,
-        "66666666666666],PARAMETER[\"latitude_of_origin\",41.5],P");
+        "],PARAMETER[\"central_meridian\",80],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"central_meridian\",-84.33333333333333],PARAME");
+        "actor\",0.99878641],PARAMETER[\"false_easting\",3000000]");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",2000000],PARAMETER[\"false_northin");
+        ",PARAMETER[\"false_northing\",1000000],UNIT[\"Indian yar");
     add_srs_wkt (p, 12,
-        "g\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+        "d\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"]],AXI");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "H],AUTHORITY[\"EPSG\",\"26813\"]]");
-    p = add_epsg_def (filter, first, last, 26814, "epsg", 26814,
-        "NAD83 / Maine East (ftUS) (deprecated)");
+        "EPSG\",\"24374\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24375, "epsg", 24375,
+        "Kalianpur 1937 / India zone IIb", 0, 0,
+        "Everest 1830 (1937 Adjustment)", "Greenwich",
+        "Kalianpur_1937", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
+        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 ");
     add_proj4text (p, 1,
-        "999 +x_0=300000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+x_0=2743185.69 +y_0=914395.23 +a=6377276.345 +b=6356075");
+    add_proj4text (p, 2,
+        ".413140239 +towgs84=214,804,268,0,0,0,0 +units=m +no_def");
+    add_proj4text (p, 3,
+        "s");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Maine East (ftUS) (deprecated)\",GEOGCS");
+        "PROJCS[\"Kalianpur 1937 / India zone IIb\",GEOGCS[\"Kali");
     add_srs_wkt (p, 1,
-        "[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[");
+        "anpur 1937\",DATUM[\"Kalianpur_1937\",SPHEROID[\"Everest");
     add_srs_wkt (p, 2,
-        "\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        " 1830 (1937 Adjustment)\",6377276.345,300.8017,AUTHORITY");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"626");
+        "[\"EPSG\",\"7015\"]],TOWGS84[214,804,268,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "9\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "ITY[\"EPSG\",\"6144\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"T");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4144\"]],PR");
     add_srs_wkt (p, 8,
-        "3.66666666666666],PARAMETER[\"central_meridian\",-68.5],");
+        "OJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
+        "titude_of_origin\",26],PARAMETER[\"central_meridian\",90");
     add_srs_wkt (p, 10,
-        "ting\",300000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "],PARAMETER[\"scale_factor\",0.99878641],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "se_easting\",2743185.69],PARAMETER[\"false_northing\",91");
     add_srs_wkt (p, 12,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26814\"]]");
-    p = add_epsg_def (filter, first, last, 26815, "epsg", 26815,
-        "NAD83 / Maine West (ftUS) (deprecated)");
+        "4395.23],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+    add_srs_wkt (p, 13,
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 14,
+        "Y[\"EPSG\",\"24375\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24376, "epsg", 24376,
+        "Kalianpur 1962 / India zone I", 0, 0,
+        "Everest 1830 (1962 Definition)", "Greenwich",
+        "Kalianpur_1962", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
+        "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +datum=NAD83 +u");
+        "641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=63561");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "00.230165385 +towgs84=283,682,231,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 3,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Maine West (ftUS) (deprecated)\",GEOGCS");
+        "PROJCS[\"Kalianpur 1962 / India zone I\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        "[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[");
+        "pur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        "\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
+        "830 (1962 Definition)\",6377301.243,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"626");
+        "Y[\"EPSG\",\"7044\"]],TOWGS84[283,682,231,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        "9\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "RITY[\"EPSG\",\"6145\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"T");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4145\"]],P");
     add_srs_wkt (p, 8,
-        "2.83333333333334],PARAMETER[\"central_meridian\",-70.166");
+        "ROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "66666666667],PARAMETER[\"scale_factor\",0.999966667],PAR");
+        "atitude_of_origin\",32.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",900000],PARAMETER[\"false_north");
+        ",68],PARAMETER[\"scale_factor\",0.99878641],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "false_easting\",2743196.4],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "914398.8],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 13,
-        "26815\"]]");
-    p = add_epsg_def (filter, first, last, 26819, "epsg", 26819,
-        "NAD83 / Minnesota North (ftUS) (deprecated)");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"24376\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24377, "epsg", 24377,
+        "Kalianpur 1962 / India zone IIa", 0, 0,
+        "Everest 1830 (1962 Definition)", "Greenwich",
+        "Kalianpur_1962", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
+        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 ");
     add_proj4text (p, 1,
-        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
+        "+x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.2");
     add_proj4text (p, 2,
-        "00101601 +y_0=99999.99998984 +datum=NAD83 +units=m +no_d");
-    add_proj4text (p, 3,
-        "efs");
+        "30165385 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Minnesota North (ftUS) (deprecated)\",G");
+        "PROJCS[\"Kalianpur 1962 / India zone IIa\",GEOGCS[\"Kali");
     add_srs_wkt (p, 1,
-        "EOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPHE");
+        "anpur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest");
     add_srs_wkt (p, 2,
-        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
+        " 1830 (1962 Definition)\",6377301.243,300.8017255,AUTHOR");
     add_srs_wkt (p, 3,
-        "\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",");
+        "ITY[\"EPSG\",\"7044\"]],TOWGS84[283,682,231,0,0,0,0],AUT");
     add_srs_wkt (p, 4,
-        "\"6269\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "HORITY[\"EPSG\",\"6145\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTIO");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4145\"]]");
     add_srs_wkt (p, 8,
-        "parallel_1\",48.63333333333333],PARAMETER[\"standard_par");
+        ",PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "allel_2\",47.03333333333333],PARAMETER[\"latitude_of_ori");
+        "latitude_of_origin\",26],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 10,
-        "gin\",46.5],PARAMETER[\"central_meridian\",-93.1],PARAME");
+        "74],PARAMETER[\"scale_factor\",0.99878641],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",800000.0000101601],PARAMETER[\"fal");
+        "alse_easting\",2743196.4],PARAMETER[\"false_northing\",9");
     add_srs_wkt (p, 12,
-        "se_northing\",99999.99998984],UNIT[\"metre\",1,AUTHORITY");
+        "14398.8],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
     add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"26819\"]]");
-    p = add_epsg_def (filter, first, last, 26820, "epsg", 26820,
-        "NAD83 / Minnesota Central (ftUS) (deprecated)");
+        "Y[\"EPSG\",\"24377\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24378, "epsg", 24378,
+        "Kalianpur 1975 / India zone I", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
+        "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878");
     add_proj4text (p, 1,
-        "5 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.999989");
+        "641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=63560");
     add_proj4text (p, 2,
-        "84 +datum=NAD83 +units=m +no_defs");
+        "98.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 3,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Minnesota Central (ftUS) (deprecated)\"");
+        "PROJCS[\"Kalianpur 1975 / India zone I\",GEOGCS[\"Kalian");
     add_srs_wkt (p, 1,
-        ",GEOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",SP");
+        "pur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "830 (1975 Definition)\",6377299.151,300.8017255,AUTHORIT");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "Y[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        ",\"6269\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "RITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTI");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "ON[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]],P");
     add_srs_wkt (p, 8,
-        "_parallel_1\",47.05],PARAMETER[\"standard_parallel_2\",4");
+        "ROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "5.61666666666667],PARAMETER[\"latitude_of_origin\",45],P");
+        "atitude_of_origin\",32.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"central_meridian\",-94.25],PARAMETER[\"false_");
+        ",68],PARAMETER[\"scale_factor\",0.99878641],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "easting\",800000.0000101601],PARAMETER[\"false_northing\"");
+        "false_easting\",2743195.5],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        ",99999.99998984],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "914398.5],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 13,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
     add_srs_wkt (p, 14,
-        "PSG\",\"26820\"]]");
-    p = add_epsg_def (filter, first, last, 26821, "epsg", 26821,
-        "NAD83 / Minnesota South (ftUS) (deprecated)");
+        "TY[\"EPSG\",\"24378\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24379, "epsg", 24379,
+        "Kalianpur 1975 / India zone IIa", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
+        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 ");
     add_proj4text (p, 1,
-        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=999");
+        "+x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.1");
     add_proj4text (p, 2,
-        "99.99998984 +datum=NAD83 +units=m +no_defs");
+        "45120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Minnesota South (ftUS) (deprecated)\",G");
+        "PROJCS[\"Kalianpur 1975 / India zone IIa\",GEOGCS[\"Kali");
     add_srs_wkt (p, 1,
-        "EOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPHE");
+        "anpur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest");
     add_srs_wkt (p, 2,
-        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
+        " 1830 (1975 Definition)\",6377299.151,300.8017255,AUTHOR");
     add_srs_wkt (p, 3,
-        "\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",");
+        "ITY[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUT");
     add_srs_wkt (p, 4,
-        "\"6269\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "HORITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTIO");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "N[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]]");
     add_srs_wkt (p, 8,
-        "parallel_1\",45.21666666666667],PARAMETER[\"standard_par");
+        ",PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "allel_2\",43.78333333333333],PARAMETER[\"latitude_of_ori");
+        "latitude_of_origin\",26],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 10,
-        "gin\",43],PARAMETER[\"central_meridian\",-94],PARAMETER[");
+        "74],PARAMETER[\"scale_factor\",0.99878641],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\"false_easting\",800000.0000101601],PARAMETER[\"false_n");
+        "alse_easting\",2743195.5],PARAMETER[\"false_northing\",9");
     add_srs_wkt (p, 12,
-        "orthing\",99999.99998984],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "14398.5],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
     add_srs_wkt (p, 14,
-        "ORITY[\"EPSG\",\"26821\"]]");
-    p = add_epsg_def (filter, first, last, 26822, "epsg", 26822,
-        "NAD83 / Nebraska (ftUS) (deprecated)");
+        "Y[\"EPSG\",\"24379\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24380, "epsg", 24380,
+        "Kalianpur 1975 / India zone IIb", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
+        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 ");
     add_proj4text (p, 1,
-        "lon_0=-100 +x_0=500000.0000101601 +y_0=0 +datum=NAD83 +u");
+        "+x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.1");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "45120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Nebraska (ftUS) (deprecated)\",GEOGCS[\"");
+        "PROJCS[\"Kalianpur 1975 / India zone IIb\",GEOGCS[\"Kali");
     add_srs_wkt (p, 1,
-        "NAD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"G");
+        "anpur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest");
     add_srs_wkt (p, 2,
-        "RS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"701");
+        " 1830 (1975 Definition)\",6377299.151,300.8017255,AUTHOR");
     add_srs_wkt (p, 3,
-        "9\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"");
+        "ITY[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUT");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "HORITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lamb");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]]");
     add_srs_wkt (p, 8,
-        "_1\",43],PARAMETER[\"standard_parallel_2\",40],PARAMETER");
+        ",PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",39.83333333333334],PARAMETER[\"c");
+        "latitude_of_origin\",26],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 10,
-        "entral_meridian\",-100],PARAMETER[\"false_easting\",5000");
+        "90],PARAMETER[\"scale_factor\",0.99878641],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "00.0000101601],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "alse_easting\",2743195.5],PARAMETER[\"false_northing\",9");
     add_srs_wkt (p, 12,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "14398.5],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26822\"]]");
-    p = add_epsg_def (filter, first, last, 26823, "epsg", 26823,
-        "NAD83 / West Virginia North (ftUS) (deprecated)");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 14,
+        "Y[\"EPSG\",\"24380\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24381, "epsg", 24381,
+        "Kalianpur 1975 / India zone IIIa", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
+        "+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 ");
     add_proj4text (p, 1,
-        "5 +x_0=1968500 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.1");
+    add_proj4text (p, 2,
+        "45120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / West Virginia North (ftUS) (deprecated)");
+        "PROJCS[\"Kalianpur 1975 / India zone IIIa\",GEOGCS[\"Kal");
     add_srs_wkt (p, 1,
-        "\",GEOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",");
+        "ianpur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everes");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "t 1830 (1975 Definition)\",6377299.151,300.8017255,AUTHO");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "RITY[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AU");
     add_srs_wkt (p, 4,
-        "G\",\"6269\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "THORITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJE");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",40.25],PARAMETER[\"standard_parallel_2\"");
+        "],PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[");
     add_srs_wkt (p, 9,
-        ",39],PARAMETER[\"latitude_of_origin\",38.5],PARAMETER[\"");
+        "\"latitude_of_origin\",19],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "central_meridian\",-79.5],PARAMETER[\"false_easting\",19");
+        ",80],PARAMETER[\"scale_factor\",0.99878641],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "68500],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "false_easting\",2743195.5],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "914398.5],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"26823\"]]");
-    p = add_epsg_def (filter, first, last, 26824, "epsg", 26824,
-        "NAD83 / West Virginia South (ftUS) (deprecated)");
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"24381\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24382, "epsg", 24382,
+        "Kalianpur 1880 / India zone IIb", 0, 0,
+        "Everest (1830 Definition)", "Greenwich",
+        "Kalianpur_1880", "Lambert_Conformal_Conic_1SP", "Indian yard",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
+        "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 ");
     add_proj4text (p, 1,
-        "333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +datum=NAD8");
+        "+x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299");
     add_proj4text (p, 2,
-        "3 +units=m +no_defs");
+        ".36559538 +b=6356098.359005156 +to_meter=0.9143985307444");
+    add_proj4text (p, 3,
+        "408 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / West Virginia South (ftUS) (deprecated)");
+        "PROJCS[\"Kalianpur 1880 / India zone IIb\",GEOGCS[\"Kali");
     add_srs_wkt (p, 1,
-        "\",GEOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",");
+        "anpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        " (1830 Definition)\",6377299.36559538,300.8017255433549,");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        "AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"");
     add_srs_wkt (p, 4,
-        "G\",\"6269\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJE");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "T],AUTHORITY[\"EPSG\",\"4243\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",38.88333333333333],PARAMETER[\"standard");
+        "nformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",26");
     add_srs_wkt (p, 9,
-        "_parallel_2\",37.48333333333333],PARAMETER[\"latitude_of");
+        "],PARAMETER[\"central_meridian\",90],PARAMETER[\"scale_f");
     add_srs_wkt (p, 10,
-        "_origin\",37],PARAMETER[\"central_meridian\",-81],PARAME");
+        "actor\",0.99878641],PARAMETER[\"false_easting\",3000000]");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",1968500],PARAMETER[\"false_northin");
+        ",PARAMETER[\"false_northing\",1000000],UNIT[\"Indian yar");
     add_srs_wkt (p, 12,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "d\",0.9143985307444408,AUTHORITY[\"EPSG\",\"9084\"]],AXI");
     add_srs_wkt (p, 13,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26");
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
     add_srs_wkt (p, 14,
-        "824\"]]");
-    p = add_epsg_def (filter, first, last, 26825, "epsg", 26825,
-        "NAD83(HARN) / Maine East (ftUS) (deprecated)");
+        "EPSG\",\"24382\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24383, "epsg", 24383,
+        "Kalianpur 1975 / India zone IVa", 0, 0,
+        "Everest 1830 (1975 Definition)", "Greenwich",
+        "Kalianpur_1975", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
+        "+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 ");
     add_proj4text (p, 1,
-        "999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
+        "+x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.1");
     add_proj4text (p, 2,
-        ",0 +units=m +no_defs");
+        "45120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Maine East (ftUS) (deprecated)\",");
+        "PROJCS[\"Kalianpur 1975 / India zone IVa\",GEOGCS[\"Kali");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Refer");
+        "anpur 1975\",DATUM[\"Kalianpur_1975\",SPHEROID[\"Everest");
     add_srs_wkt (p, 2,
-        "ence_Network\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+        " 1830 (1975 Definition)\",6377299.151,300.8017255,AUTHOR");
     add_srs_wkt (p, 3,
-        "01,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],");
+        "ITY[\"EPSG\",\"7045\"]],TOWGS84[295,736,257,0,0,0,0],AUT");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "HORITY[\"EPSG\",\"6146\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "4152\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4146\"]]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",43.66666666666666],PARAMETER[\"cent");
+        ",PROJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-68.5],PARAMETER[\"scale_factor\",0.9999]");
+        "latitude_of_origin\",12],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",300000],PARAMETER[\"false_n");
+        "80],PARAMETER[\"scale_factor\",0.99878641],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "alse_easting\",2743195.5],PARAMETER[\"false_northing\",9");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "14398.5],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 13,
-        ",\"26825\"]]");
-    p = add_epsg_def (filter, first, last, 26826, "epsg", 26826,
-        "NAD83(HARN) / Maine West (ftUS) (deprecated)");
+        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+    add_srs_wkt (p, 14,
+        "Y[\"EPSG\",\"24383\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24500, "epsg", 24500,
+        "Kertau 1968 / Singapore Grid", 0, 0,
+        "Everest 1830 Modified", "Greenwich",
+        "Kertau_1968", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
+        "+proj=cass +lat_0=1.287646666666667 +lon_0=103.853002222");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
+        "2222 +x_0=30000 +y_0=30000 +a=6377304.063 +b=6356103.038");
     add_proj4text (p, 2,
-        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Maine West (ftUS) (deprecated)\",");
+        "PROJCS[\"Kertau 1968 / Singapore Grid\",GEOGCS[\"Kertau ");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Refer");
+        "1968\",DATUM[\"Kertau_1968\",SPHEROID[\"Everest 1830 Mod");
     add_srs_wkt (p, 2,
-        "ence_Network\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+        "ified\",6377304.063,300.8017,AUTHORITY[\"EPSG\",\"7018\"");
     add_srs_wkt (p, 3,
-        "01,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],");
+        "]],TOWGS84[-11,851,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6245\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "4152\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "T],AUTHORITY[\"EPSG\",\"4245\"]],PROJECTION[\"Cassini_So");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",42.83333333333334],PARAMETER[\"cent");
+        "ldner\"],PARAMETER[\"latitude_of_origin\",1.287646666666");
     add_srs_wkt (p, 9,
-        "ral_meridian\",-70.16666666666667],PARAMETER[\"scale_fac");
+        "667],PARAMETER[\"central_meridian\",103.8530022222222],P");
     add_srs_wkt (p, 10,
-        "tor\",0.999966667],PARAMETER[\"false_easting\",900000],P");
+        "ARAMETER[\"false_easting\",30000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "hing\",30000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"26826\"]]");
-    p = add_epsg_def (filter, first, last, 26830, "epsg", 26830,
-        "NAD83(HARN) / Minnesota North (ftUS) (deprecated)");
+        "HORITY[\"EPSG\",\"24500\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24547, "epsg", 24547,
+        "Kertau 1968 / UTM zone 47N", 0, 0,
+        "Everest 1830 Modified", "Greenwich",
+        "Kertau_1968", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
+        "+proj=utm +zone=47 +a=6377304.063 +b=6356103.038993155 +");
     add_proj4text (p, 1,
-        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
-    add_proj4text (p, 2,
-        "00101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0");
-    add_proj4text (p, 3,
-        ",0,0,0,0 +units=m +no_defs");
+        "towgs84=-11,851,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Minnesota North (ftUS) (deprecate");
+        "PROJCS[\"Kertau 1968 / UTM zone 47N\",GEOGCS[\"Kertau 19");
     add_srs_wkt (p, 1,
-        "d)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_");
+        "68\",DATUM[\"Kertau_1968\",SPHEROID[\"Everest 1830 Modif");
     add_srs_wkt (p, 2,
-        "Reference_Network\",SPHEROID[\"GRS 1980\",6378137,298.25");
+        "ied\",6377304.063,300.8017,AUTHORITY[\"EPSG\",\"7018\"]]");
     add_srs_wkt (p, 3,
-        "7222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,");
+        ",TOWGS84[-11,851,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6245\"]");
     add_srs_wkt (p, 4,
-        "0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "G\",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "],AUTHORITY[\"EPSG\",\"4245\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",48.63333333333333],P");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",47.03333333333333],PARA");
+        "R[\"central_meridian\",99],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",46.5],PARAMETER[\"central_m");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "eridian\",-93.1],PARAMETER[\"false_easting\",800000.0000");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "101601],PARAMETER[\"false_northing\",99999.99998984],UNI");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
     add_srs_wkt (p, 13,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
-    add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26830\"]]");
-    p = add_epsg_def (filter, first, last, 26831, "epsg", 26831,
-        "NAD83(HARN) / Minnesota Central (ftUS) (deprecated)");
+        ",AUTHORITY[\"EPSG\",\"24547\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24548, "epsg", 24548,
+        "Kertau 1968 / UTM zone 48N", 0, 0,
+        "Everest 1830 Modified", "Greenwich",
+        "Kertau_1968", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
+        "+proj=utm +zone=48 +a=6377304.063 +b=6356103.038993155 +");
     add_proj4text (p, 1,
-        "5 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.999989");
-    add_proj4text (p, 2,
-        "84 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "towgs84=-11,851,5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Minnesota Central (ftUS) (depreca");
+        "PROJCS[\"Kertau 1968 / UTM zone 48N\",GEOGCS[\"Kertau 19");
     add_srs_wkt (p, 1,
-        "ted)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accurac");
+        "68\",DATUM[\"Kertau_1968\",SPHEROID[\"Everest 1830 Modif");
     add_srs_wkt (p, 2,
-        "y_Reference_Network\",SPHEROID[\"GRS 1980\",6378137,298.");
+        "ied\",6377304.063,300.8017,AUTHORITY[\"EPSG\",\"7018\"]]");
     add_srs_wkt (p, 3,
-        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,");
+        ",TOWGS84[-11,851,5,0,0,0,0],AUTHORITY[\"EPSG\",\"6245\"]");
     add_srs_wkt (p, 4,
-        "0,0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\"");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "SG\",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "],AUTHORITY[\"EPSG\",\"4245\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",47.05],PARAMETER[\"");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "standard_parallel_2\",45.61666666666667],PARAMETER[\"lat");
+        "R[\"central_meridian\",105],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "itude_of_origin\",45],PARAMETER[\"central_meridian\",-94");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        ".25],PARAMETER[\"false_easting\",800000.0000101601],PARA");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "METER[\"false_northing\",99999.99998984],UNIT[\"metre\",");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
     add_srs_wkt (p, 13,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
-    add_srs_wkt (p, 14,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26831\"]]");
-    p = add_epsg_def (filter, first, last, 26832, "epsg", 26832,
-        "NAD83(HARN) / Minnesota South (ftUS) (deprecated)");
+        ",AUTHORITY[\"EPSG\",\"24548\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24571, "epsg", 24571,
+        "Kertau / R.S.O. Malaya (ch) (deprecated)", 0, 0,
+        "Everest 1830 Modified", "Greenwich",
+        "Kertau_1968", "Hotine_Oblique_Mercator", "British chain (Benoit 1895 B)",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
+        "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=");
     add_proj4text (p, 1,
-        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=999");
+        "0.99984 +x_0=804671.2997750348 +y_0=0 +no_uoff +gamma=32");
     add_proj4text (p, 2,
-        "99.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+        "3.1301023611111 +a=6377304.063 +b=6356103.038993155 +tow");
     add_proj4text (p, 3,
-        " +no_defs");
+        "gs84=-11,851,5,0,0,0,0 +to_meter=20.11678249437587 +no_d");
+    add_proj4text (p, 4,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Minnesota South (ftUS) (deprecate");
+        "PROJCS[\"Kertau / R.S.O. Malaya (ch) (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
-        "d)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_");
+        "CS[\"Kertau 1968\",DATUM[\"Kertau_1968\",SPHEROID[\"Ever");
     add_srs_wkt (p, 2,
-        "Reference_Network\",SPHEROID[\"GRS 1980\",6378137,298.25");
+        "est 1830 Modified\",6377304.063,300.8017,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "7222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,");
+        "G\",\"7018\"]],TOWGS84[-11,851,5,0,0,0,0],AUTHORITY[\"EP");
     add_srs_wkt (p, 4,
-        "0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",");
+        "SG\",\"6245\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "G\",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4245\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_1\",45.21666666666667],P");
+        "\"Hotine_Oblique_Mercator\"],PARAMETER[\"latitude_of_cen");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"standard_parallel_2\",43.78333333333333],PARA");
+        "ter\",4],PARAMETER[\"longitude_of_center\",102.25],PARAM");
     add_srs_wkt (p, 10,
-        "METER[\"latitude_of_origin\",43],PARAMETER[\"central_mer");
+        "ETER[\"azimuth\",323.0257905],PARAMETER[\"rectified_grid");
     add_srs_wkt (p, 11,
-        "idian\",-94],PARAMETER[\"false_easting\",800000.00001016");
+        "_angle\",323.1301023611111],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 12,
-        "01],PARAMETER[\"false_northing\",99999.99998984],UNIT[\"");
+        ".99984],PARAMETER[\"false_easting\",40000],PARAMETER[\"f");
     add_srs_wkt (p, 13,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "alse_northing\",0],UNIT[\"British chain (Benoit 1895 B)\"");
     add_srs_wkt (p, 14,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26832\"]]");
-    p = add_epsg_def (filter, first, last, 26833, "epsg", 26833,
-        "NAD83(HARN) / Nebraska (ftUS) (deprecated)");
+        ",20.11678249437587,AUTHORITY[\"EPSG\",\"9062\"]],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 16,
+        "G\",\"24571\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24600, "epsg", 24600,
+        "KOC Lambert", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Kuwait_Oil_Company", "Lambert_Conformal_Conic_1SP", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
+        "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.99878");
     add_proj4text (p, 1,
-        "lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +t");
+        "64078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +tow");
     add_proj4text (p, 2,
-        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "gs84=-294.7,-200.1,525.5,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Nebraska (ftUS) (deprecated)\",GE");
+        "PROJCS[\"KOC Lambert\",GEOGCS[\"KOC\",DATUM[\"Kuwait_Oil");
     add_srs_wkt (p, 1,
-        "OGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Referen");
+        "_Company\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,29");
     add_srs_wkt (p, 2,
-        "ce_Network\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
+        "3.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-294.7,-200.");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AU");
+        "1,525.5,0,0,0,0],AUTHORITY[\"EPSG\",\"6246\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        "[\"EPSG\",\"4246\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_1\",43],PARAMETER[\"standard_p");
+        "c_1SP\"],PARAMETER[\"latitude_of_origin\",32.5],PARAMETE");
     add_srs_wkt (p, 9,
-        "arallel_2\",40],PARAMETER[\"latitude_of_origin\",39.8333");
+        "R[\"central_meridian\",45],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "3333333334],PARAMETER[\"central_meridian\",-100],PARAMET");
+        "9987864078],PARAMETER[\"false_easting\",1500000],PARAMET");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",500000.0000101601],PARAMETER[\"fals");
+        "ER[\"false_northing\",1166200],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
     add_srs_wkt (p, 13,
-        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
-    add_srs_wkt (p, 14,
-        "SG\",\"26833\"]]");
-    p = add_epsg_def (filter, first, last, 26834, "epsg", 26834,
-        "NAD83(HARN) / West Virginia North (ftUS) (deprecated)");
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"24600\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24718, "epsg", 24718,
+        "La Canoa / UTM zone 18N", 0, 0,
+        "International 1924", "Greenwich",
+        "La_Canoa", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
+        "+proj=utm +zone=18 +ellps=intl +towgs84=-273.5,110.6,-35");
     add_proj4text (p, 1,
-        "5 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,");
-    add_proj4text (p, 2,
-        "0 +units=m +no_defs");
+        "7.9,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / West Virginia North (ftUS) (depre");
+        "PROJCS[\"La Canoa / UTM zone 18N\",GEOGCS[\"La Canoa\",D");
     add_srs_wkt (p, 1,
-        "cated)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accur");
+        "ATUM[\"La_Canoa\",SPHEROID[\"International 1924\",637838");
     add_srs_wkt (p, 2,
-        "acy_Reference_Network\",SPHEROID[\"GRS 1980\",6378137,29");
+        "8,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-273.5,110.6");
     add_srs_wkt (p, 3,
-        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
+        ",-357.9,0,0,0,0],AUTHORITY[\"EPSG\",\"6247\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "0,0,0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwic");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "[\"EPSG\",\"4247\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",40.25],PARAMETER");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",39],PARAMETER[\"latitude_of_ori");
+        "_meridian\",-75],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "gin\",38.5],PARAMETER[\"central_meridian\",-79.5],PARAME");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",1968500],PARAMETER[\"false_northin");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
     add_srs_wkt (p, 13,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26");
-    add_srs_wkt (p, 14,
-        "834\"]]");
-    p = add_epsg_def (filter, first, last, 26835, "epsg", 26835,
-        "NAD83(HARN) / West Virginia South (ftUS) (deprecated)");
+        "[\"EPSG\",\"24718\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24719, "epsg", 24719,
+        "La Canoa / UTM zone 19N", 0, 0,
+        "International 1924", "Greenwich",
+        "La_Canoa", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
+        "+proj=utm +zone=19 +ellps=intl +towgs84=-273.5,110.6,-35");
     add_proj4text (p, 1,
-        "333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS8");
-    add_proj4text (p, 2,
-        "0 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "7.9,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / West Virginia South (ftUS) (depre");
+        "PROJCS[\"La Canoa / UTM zone 19N\",GEOGCS[\"La Canoa\",D");
     add_srs_wkt (p, 1,
-        "cated)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accur");
+        "ATUM[\"La_Canoa\",SPHEROID[\"International 1924\",637838");
     add_srs_wkt (p, 2,
-        "acy_Reference_Network\",SPHEROID[\"GRS 1980\",6378137,29");
+        "8,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-273.5,110.6");
     add_srs_wkt (p, 3,
-        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
+        ",-357.9,0,0,0,0],AUTHORITY[\"EPSG\",\"6247\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "0,0,0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwic");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "[\"EPSG\",\"4247\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",38.8833333333333");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"standard_parallel_2\",37.48333333333333],");
+        "_meridian\",-69],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"latitude_of_origin\",37],PARAMETER[\"central");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "_meridian\",-81],PARAMETER[\"false_easting\",1968500],PA");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
-    add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"26835\"]]");
-    p = add_epsg_def (filter, first, last, 26836, "epsg", 26836,
-        "NAD83(NSRS2007) / Maine East (ftUS) (deprecated)");
+        "[\"EPSG\",\"24719\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24720, "epsg", 24720,
+        "La Canoa / UTM zone 20N", 0, 0,
+        "International 1924", "Greenwich",
+        "La_Canoa", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
+        "+proj=utm +zone=20 +ellps=intl +towgs84=-273.5,110.6,-35");
     add_proj4text (p, 1,
-        "999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
-    add_proj4text (p, 2,
-        ",0 +units=m +no_defs");
+        "7.9,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Maine East (ftUS) (deprecated");
+        "PROJCS[\"La Canoa / UTM zone 20N\",GEOGCS[\"La Canoa\",D");
     add_srs_wkt (p, 1,
-        ")\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Sp");
+        "ATUM[\"La_Canoa\",SPHEROID[\"International 1924\",637838");
     add_srs_wkt (p, 2,
-        "atial_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378");
+        "8,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-273.5,110.6");
     add_srs_wkt (p, 3,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        ",-357.9,0,0,0,0],AUTHORITY[\"EPSG\",\"6247\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Gr");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator");
+        "[\"EPSG\",\"4247\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",43.66666666666666],");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"central_meridian\",-68.5],PARAMETER[\"scale_");
+        "_meridian\",-63],PARAMETER[\"scale_factor\",0.9996],PARA");
     add_srs_wkt (p, 10,
-        "factor\",0.9999],PARAMETER[\"false_easting\",300000],PAR");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"26836\"]]");
-    p = add_epsg_def (filter, first, last, 26837, "epsg", 26837,
-        "NAD83(NSRS2007) / Maine West (ftUS) (deprecated)");
+        "[\"EPSG\",\"24720\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24817, "epsg", 24817,
+        "PSAD56 / UTM zone 17N", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
+        "+proj=utm +zone=17 +ellps=intl +towgs84=-288,175,-376,0,");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
-    add_proj4text (p, 2,
-        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Maine West (ftUS) (deprecated");
+        "PROJCS[\"PSAD56 / UTM zone 17N\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        ")\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Sp");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "atial_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Gr");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",42.83333333333334],");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"central_meridian\",-70.16666666666667],PARAM");
+        "ARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "ETER[\"scale_factor\",0.999966667],PARAMETER[\"false_eas");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "ting\",900000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26837\"]]");
-    p = add_epsg_def (filter, first, last, 26841, "epsg", 26841,
-        "NAD83(NSRS2007) / Minnesota North (ftUS) (deprecated)");
+        ",NORTH],AUTHORITY[\"EPSG\",\"24817\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24818, "epsg", 24818,
+        "PSAD56 / UTM zone 18N", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
+        "+proj=utm +zone=18 +ellps=intl +towgs84=-288,175,-376,0,");
     add_proj4text (p, 1,
-        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
-    add_proj4text (p, 2,
-        "00101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0");
-    add_proj4text (p, 3,
-        ",0,0,0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Minnesota North (ftUS) (depre");
+        "PROJCS[\"PSAD56 / UTM zone 18N\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        "cated)\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_Nation");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "al_Spatial_Reference_System_2007\",SPHEROID[\"GRS 1980\"");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "AUTHORITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Confo");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",48.6");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "3333333333333],PARAMETER[\"standard_parallel_2\",47.0333");
+        "ARAMETER[\"central_meridian\",-75],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "3333333333],PARAMETER[\"latitude_of_origin\",46.5],PARAM");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "ETER[\"central_meridian\",-93.1],PARAMETER[\"false_easti");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "ng\",800000.0000101601],PARAMETER[\"false_northing\",999");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "99.99998984],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
-    add_srs_wkt (p, 14,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 15,
-        ",\"26841\"]]");
-    p = add_epsg_def (filter, first, last, 26842, "epsg", 26842,
-        "NAD83(NSRS2007) / Minnesota Central (ftUS) (deprecated)");
+        ",NORTH],AUTHORITY[\"EPSG\",\"24818\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24819, "epsg", 24819,
+        "PSAD56 / UTM zone 19N", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
+        "+proj=utm +zone=19 +ellps=intl +towgs84=-288,175,-376,0,");
     add_proj4text (p, 1,
-        "5 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.999989");
-    add_proj4text (p, 2,
-        "84 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Minnesota Central (ftUS) (dep");
+        "PROJCS[\"PSAD56 / UTM zone 19N\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        "recated)\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_Nati");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "onal_Spatial_Reference_System_2007\",SPHEROID[\"GRS 1980");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIM");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "],AUTHORITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Con");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        ".05],PARAMETER[\"standard_parallel_2\",45.61666666666667");
+        "ARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"latitude_of_origin\",45],PARAMETER[\"centr");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "al_meridian\",-94.25],PARAMETER[\"false_easting\",800000");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        ".0000101601],PARAMETER[\"false_northing\",99999.99998984");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
-    add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26842\"");
-    add_srs_wkt (p, 15,
-        "]]");
-    p = add_epsg_def (filter, first, last, 26843, "epsg", 26843,
-        "NAD83(NSRS2007) / Minnesota South (ftUS) (deprecated)");
+        ",NORTH],AUTHORITY[\"EPSG\",\"24819\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24820, "epsg", 24820,
+        "PSAD56 / UTM zone 20N", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
+        "+proj=utm +zone=20 +ellps=intl +towgs84=-288,175,-376,0,");
     add_proj4text (p, 1,
-        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=999");
-    add_proj4text (p, 2,
-        "99.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
-    add_proj4text (p, 3,
-        " +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Minnesota South (ftUS) (depre");
+        "PROJCS[\"PSAD56 / UTM zone 20N\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        "cated)\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_Nation");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "al_Spatial_Reference_System_2007\",SPHEROID[\"GRS 1980\"");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "AUTHORITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Confo");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.2");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "1666666666667],PARAMETER[\"standard_parallel_2\",43.7833");
+        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "3333333333],PARAMETER[\"latitude_of_origin\",43],PARAMET");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "ER[\"central_meridian\",-94],PARAMETER[\"false_easting\"");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        ",800000.0000101601],PARAMETER[\"false_northing\",99999.9");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "9998984],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
-    add_srs_wkt (p, 14,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 15,
-        "26843\"]]");
-    p = add_epsg_def (filter, first, last, 26844, "epsg", 26844,
-        "NAD83(NSRS2007) / Nebraska (ftUS) (deprecated)");
+        ",NORTH],AUTHORITY[\"EPSG\",\"24820\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24821, "epsg", 24821,
+        "PSAD56 / UTM zone 21N", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
+        "+proj=utm +zone=21 +ellps=intl +towgs84=-288,175,-376,0,");
     add_proj4text (p, 1,
-        "lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +t");
-    add_proj4text (p, 2,
-        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Nebraska (ftUS) (deprecated)\"");
+        "PROJCS[\"PSAD56 / UTM zone 21N\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        ",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spati");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "al_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378137");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Green");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",43],PARAMETE");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "R[\"standard_parallel_2\",40],PARAMETER[\"latitude_of_or");
+        "ARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "igin\",39.83333333333334],PARAMETER[\"central_meridian\"");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        ",-100],PARAMETER[\"false_easting\",500000.0000101601],PA");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
-    add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"26844\"]]");
-    p = add_epsg_def (filter, first, last, 26845, "epsg", 26845,
-        "NAD83(NSRS2007) / West Virginia North (ftUS) (deprecated)");
+        ",NORTH],AUTHORITY[\"EPSG\",\"24821\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24877, "epsg", 24877,
+        "PSAD56 / UTM zone 17S", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
+        "+proj=utm +zone=17 +south +ellps=intl +towgs84=-288,175,");
     add_proj4text (p, 1,
-        "5 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,");
-    add_proj4text (p, 2,
-        "0 +units=m +no_defs");
+        "-376,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / West Virginia North (ftUS) (d");
+        "PROJCS[\"PSAD56 / UTM zone 17S\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        "eprecated)\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_Na");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "tional_Spatial_Reference_System_2007\",SPHEROID[\"GRS 19");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PR");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "]],AUTHORITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Co");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "0.25],PARAMETER[\"standard_parallel_2\",39],PARAMETER[\"");
+        "ARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",38.5],PARAMETER[\"central_meridian\"");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        ",-79.5],PARAMETER[\"false_easting\",1968500],PARAMETER[\"");
+        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 13,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
-    add_srs_wkt (p, 14,
-        "\"EPSG\",\"26845\"]]");
-    p = add_epsg_def (filter, first, last, 26846, "epsg", 26846,
-        "NAD83(NSRS2007) / West Virginia South (ftUS) (deprecated)");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"24877\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24878, "epsg", 24878,
+        "PSAD56 / UTM zone 18S", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
+        "+proj=utm +zone=18 +south +ellps=intl +towgs84=-288,175,");
     add_proj4text (p, 1,
-        "333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS8");
-    add_proj4text (p, 2,
-        "0 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
+        "-376,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / West Virginia South (ftUS) (d");
+        "PROJCS[\"PSAD56 / UTM zone 18S\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        "eprecated)\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_Na");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "tional_Spatial_Reference_System_2007\",SPHEROID[\"GRS 19");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PR");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "]],AUTHORITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Co");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "8.88333333333333],PARAMETER[\"standard_parallel_2\",37.4");
+        "ARAMETER[\"central_meridian\",-75],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "8333333333333],PARAMETER[\"latitude_of_origin\",37],PARA");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "METER[\"central_meridian\",-81],PARAMETER[\"false_eastin");
+        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "g\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 13,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
-    add_srs_wkt (p, 14,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26846\"]]");
-    p = add_epsg_def (filter, first, last, 26847, "epsg", 26847,
-        "NAD83 / Maine East (ftUS)");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"24878\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24879, "epsg", 24879,
+        "PSAD56 / UTM zone 19S", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
+        "+proj=utm +zone=19 +south +ellps=intl +towgs84=-288,175,");
     add_proj4text (p, 1,
-        "999 +x_0=300000.0000000001 +y_0=0 +datum=NAD83 +units=us");
-    add_proj4text (p, 2,
-        "-ft +no_defs");
+        "-376,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Maine East (ftUS)\",GEOGCS[\"NAD83\",DA");
+        "PROJCS[\"PSAD56 / UTM zone 19S\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",43.66666666666");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "666],PARAMETER[\"central_meridian\",-68.5],PARAMETER[\"s");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9999],PARAMETER[\"false_easting\",984250");
+        "ARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        ".0000000002],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 13,
-        "G\",\"26847\"]]");
-    p = add_epsg_def (filter, first, last, 26848, "epsg", 26848,
-        "NAD83 / Maine West (ftUS)");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"24879\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24880, "epsg", 24880,
+        "PSAD56 / UTM zone 20S", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
+        "+proj=utm +zone=20 +south +ellps=intl +towgs84=-288,175,");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +datum=NAD83 +u");
-    add_proj4text (p, 2,
-        "nits=us-ft +no_defs");
+        "-376,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Maine West (ftUS)\",GEOGCS[\"NAD83\",DA");
+        "PROJCS[\"PSAD56 / UTM zone 20S\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mer");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",42.83333333333");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "334],PARAMETER[\"central_meridian\",-70.16666666666667],");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.999966667],PARAMETER[\"fals");
+        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "e_easting\",2952750],PARAMETER[\"false_northing\",0],UNI");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 13,
-        "TY[\"EPSG\",\"26848\"]]");
-    p = add_epsg_def (filter, first, last, 26849, "epsg", 26849,
-        "NAD83 / Minnesota North (ftUS)");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"24880\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24881, "epsg", 24881,
+        "PSAD56 / UTM zone 21S", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
+        "+proj=utm +zone=21 +south +ellps=intl +towgs84=-288,175,");
     add_proj4text (p, 1,
-        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
-    add_proj4text (p, 2,
-        "00101599 +y_0=99999.99998983997 +datum=NAD83 +units=us-f");
-    add_proj4text (p, 3,
-        "t +no_defs");
+        "-376,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Minnesota North (ftUS)\",GEOGCS[\"NAD83");
+        "PROJCS[\"PSAD56 / UTM zone 21S\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 19");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PR");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "8.63333333333333],PARAMETER[\"standard_parallel_2\",47.0");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "3333333333333],PARAMETER[\"latitude_of_origin\",46.5],PA");
+        "ARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "RAMETER[\"central_meridian\",-93.1],PARAMETER[\"false_ea");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "sting\",2624666.6667],PARAMETER[\"false_northing\",32808");
+        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "3.3333],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
-    add_srs_wkt (p, 14,
-        "TH],AUTHORITY[\"EPSG\",\"26849\"]]");
-    p = add_epsg_def (filter, first, last, 26850, "epsg", 26850,
-        "NAD83 / Minnesota Central (ftUS)");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"24881\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24882, "epsg", 24882,
+        "PSAD56 / UTM zone 22S", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
+        "+proj=utm +zone=22 +south +ellps=intl +towgs84=-288,175,");
     add_proj4text (p, 1,
-        "5 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.999989");
-    add_proj4text (p, 2,
-        "83997 +datum=NAD83 +units=us-ft +no_defs");
+        "-376,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Minnesota Central (ftUS)\",GEOGCS[\"NAD");
+        "PROJCS[\"PSAD56 / UTM zone 22S\",GEOGCS[\"PSAD56\",DATUM");
     add_srs_wkt (p, 1,
-        "83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS ");
+        "[\"Provisional_South_American_Datum_1956\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],");
+        "\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",47.05],PARAMETER[\"standard_parallel_2\",45.61666666666");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "667],PARAMETER[\"latitude_of_origin\",45],PARAMETER[\"ce");
+        "ARAMETER[\"central_meridian\",-51],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "ntral_meridian\",-94.25],PARAMETER[\"false_easting\",262");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "4666.6667],PARAMETER[\"false_northing\",328083.3333],UNI");
+        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
     add_srs_wkt (p, 13,
-        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
-    add_srs_wkt (p, 14,
-        "TY[\"EPSG\",\"26850\"]]");
-    p = add_epsg_def (filter, first, last, 26851, "epsg", 26851,
-        "NAD83 / Minnesota South (ftUS)");
+        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"24882\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24891, "epsg", 24891,
+        "PSAD56 / Peru west zone", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
+        "+proj=tmerc +lat_0=-6 +lon_0=-80.5 +k=0.99983008 +x_0=22");
     add_proj4text (p, 1,
-        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=999");
+        "2000 +y_0=1426834.743 +ellps=intl +towgs84=-288,175,-376");
     add_proj4text (p, 2,
-        "99.99998983997 +datum=NAD83 +units=us-ft +no_defs");
+        ",0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Minnesota South (ftUS)\",GEOGCS[\"NAD83");
+        "PROJCS[\"PSAD56 / Peru west zone\",GEOGCS[\"PSAD56\",DAT");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 19");
+        "UM[\"Provisional_South_American_Datum_1956\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PR");
+        "22\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        ",\"6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "5.21666666666667],PARAMETER[\"standard_parallel_2\",43.7");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
     add_srs_wkt (p, 9,
-        "8333333333333],PARAMETER[\"latitude_of_origin\",43],PARA");
+        "6],PARAMETER[\"central_meridian\",-80.5],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-94],PARAMETER[\"false_eastin");
+        "le_factor\",0.99983008],PARAMETER[\"false_easting\",2220");
     add_srs_wkt (p, 11,
-        "g\",2624666.6667],PARAMETER[\"false_northing\",328083.33");
+        "00],PARAMETER[\"false_northing\",1426834.743],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "33],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
-    add_srs_wkt (p, 14,
-        "AUTHORITY[\"EPSG\",\"26851\"]]");
-    p = add_epsg_def (filter, first, last, 26852, "epsg", 26852,
-        "NAD83 / Nebraska (ftUS)");
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"24891\"]]");
+    p = add_epsg_def_ex (filter, first, last, 24892, "epsg", 24892,
+        "PSAD56 / Peru central zone", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
+        "+proj=tmerc +lat_0=-9.5 +lon_0=-76 +k=0.99932994 +x_0=72");
     add_proj4text (p, 1,
-        "lon_0=-100 +x_0=500000.00001016 +y_0=0 +datum=NAD83 +uni");
+        "0000 +y_0=1039979.159 +ellps=intl +towgs84=-288,175,-376");
     add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        ",0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Nebraska (ftUS)\",GEOGCS[\"NAD83\",DATU");
+        "PROJCS[\"PSAD56 / Peru central zone\",GEOGCS[\"PSAD56\",");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+        "DATUM[\"Provisional_South_American_Datum_1956\",SPHEROID");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "7022\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "\",\"6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43],PAR");
+        "itude\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",40],PARAMETER[\"latitude_");
+        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 9,
-        "of_origin\",39.83333333333334],PARAMETER[\"central_merid");
+        "-9.5],PARAMETER[\"central_meridian\",-76],PARAMETER[\"sc");
     add_srs_wkt (p, 10,
-        "ian\",-100],PARAMETER[\"false_easting\",1640416.6667],PA");
+        "ale_factor\",0.99932994],PARAMETER[\"false_easting\",720");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
+        "000],PARAMETER[\"false_northing\",1039979.159],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26852\"]]");
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"24892\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_37.c b/src/srsinit/epsg_inlined_37.c
index e5b52b3..6a5c245 100644
--- a/src/srsinit/epsg_inlined_37.c
+++ b/src/srsinit/epsg_inlined_37.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3446 +54,3855 @@ initialize_epsg_37 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 26853, "epsg", 26853,
-        "NAD83 / West Virginia North (ftUS)");
+    p = add_epsg_def_ex (filter, first, last, 24893, "epsg", 24893,
+        "PSAD56 / Peru east zone", 0, 0,
+        "International 1924", "Greenwich",
+        "Provisional_South_American_Datum_1956", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
+        "+proj=tmerc +lat_0=-9.5 +lon_0=-70.5 +k=0.99952992 +x_0=");
     add_proj4text (p, 1,
-        "5 +x_0=600000 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "1324000 +y_0=1040084.558 +ellps=intl +towgs84=-288,175,-");
+    add_proj4text (p, 2,
+        "376,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / West Virginia North (ftUS)\",GEOGCS[\"N");
+        "PROJCS[\"PSAD56 / Peru east zone\",GEOGCS[\"PSAD56\",DAT");
     add_srs_wkt (p, 1,
-        "AD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GR");
+        "UM[\"Provisional_South_American_Datum_1956\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "S 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019");
+        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]");
+        "22\"]],TOWGS84[-288,175,-376,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        ",\"6248\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambe");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4248\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "1\",40.25],PARAMETER[\"standard_parallel_2\",39],PARAMET");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",-");
     add_srs_wkt (p, 9,
-        "ER[\"latitude_of_origin\",38.5],PARAMETER[\"central_meri");
+        "9.5],PARAMETER[\"central_meridian\",-70.5],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "dian\",-79.5],PARAMETER[\"false_easting\",1968500],PARAM");
+        "cale_factor\",0.99952992],PARAMETER[\"false_easting\",13");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
+        "24000],PARAMETER[\"false_northing\",1040084.558],UNIT[\"");
     add_srs_wkt (p, 12,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
     add_srs_wkt (p, 13,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26853\"]]");
-    p = add_epsg_def (filter, first, last, 26854, "epsg", 26854,
-        "NAD83 / West Virginia South (ftUS)");
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"24893\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25000, "epsg", 25000,
+        "Leigon / Ghana Metre Grid", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Leigon", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
+        "+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.9997");
     add_proj4text (p, 1,
-        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +datum=NAD83");
+        "5 +x_0=274319.51 +y_0=0 +ellps=clrk80 +towgs84=-130,29,3");
     add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        "64,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / West Virginia South (ftUS)\",GEOGCS[\"N");
+        "PROJCS[\"Leigon / Ghana Metre Grid\",GEOGCS[\"Leigon\",D");
     add_srs_wkt (p, 1,
-        "AD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GR");
+        "ATUM[\"Leigon\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.1");
     add_srs_wkt (p, 2,
-        "S 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019");
+        "45,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-130,29");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]");
+        ",364,0,0,0,0],AUTHORITY[\"EPSG\",\"6250\"]],PRIMEM[\"Gre");
     add_srs_wkt (p, 4,
-        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambe");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "rt_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_");
+        "PSG\",\"4250\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "1\",38.88333333333333],PARAMETER[\"standard_parallel_2\"");
+        "AMETER[\"latitude_of_origin\",4.666666666666667],PARAMET");
     add_srs_wkt (p, 9,
-        ",37.48333333333333],PARAMETER[\"latitude_of_origin\",37]");
+        "ER[\"central_meridian\",-1],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-81],PARAMETER[\"false_e");
+        ".99975],PARAMETER[\"false_easting\",274319.51],PARAMETER");
     add_srs_wkt (p, 11,
-        "asting\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
     add_srs_wkt (p, 13,
-        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
-    add_srs_wkt (p, 14,
-        "EPSG\",\"26854\"]]");
-    p = add_epsg_def (filter, first, last, 26855, "epsg", 26855,
-        "NAD83(HARN) / Maine East (ftUS)");
+        "ORTH],AUTHORITY[\"EPSG\",\"25000\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25231, "epsg", 25231,
+        "Lome / UTM zone 31N", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Lome", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
+        "+proj=utm +zone=31 +a=6378249.2 +b=6356515 +units=m +no_");
     add_proj4text (p, 1,
-        "999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=");
-    add_proj4text (p, 2,
-        "0,0,0,0,0,0,0 +units=us-ft +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Maine East (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"Lome / UTM zone 31N\",GEOGCS[\"Lome\",DATUM[\"L");
     add_srs_wkt (p, 1,
-        "3(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\"");
+        "ome\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "12936269,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        ",\"6252\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "G\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4252\"]],PROJECTION[\"T");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 8,
-        "rigin\",43.66666666666666],PARAMETER[\"central_meridian\"");
+        "],PARAMETER[\"central_meridian\",3],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 9,
-        ",-68.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"f");
+        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
     add_srs_wkt (p, 10,
-        "alse_easting\",984250.0000000002],PARAMETER[\"false_nort");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
-    add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"26855\"]]");
-    p = add_epsg_def (filter, first, last, 26856, "epsg", 26856,
-        "NAD83(HARN) / Maine West (ftUS)");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"25231\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25391, "epsg", 25391,
+        "Luzon 1911 / Philippines zone I", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Luzon_1911", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
+        "+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
+        "y_0=0 +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,0 +units");
     add_proj4text (p, 2,
-        "owgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Maine West (ftUS)\",GEOGCS[\"NAD8");
+        "PROJCS[\"Luzon 1911 / Philippines zone I\",GEOGCS[\"Luzo");
     add_srs_wkt (p, 1,
-        "3(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\"");
+        "n 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        ",TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"6253");
     add_srs_wkt (p, 4,
-        "G\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "AST],AUTHORITY[\"EPSG\",\"4253\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "rigin\",42.83333333333334],PARAMETER[\"central_meridian\"");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        ",-70.16666666666667],PARAMETER[\"scale_factor\",0.999966");
+        "ETER[\"central_meridian\",117],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "667],PARAMETER[\"false_easting\",2952750],PARAMETER[\"fa");
+        ",0.99995],PARAMETER[\"false_easting\",500000],PARAMETER[");
     add_srs_wkt (p, 11,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26856\"]]");
-    p = add_epsg_def (filter, first, last, 26857, "epsg", 26857,
-        "NAD83(HARN) / Minnesota North (ftUS)");
+        "[\"EPSG\",\"25391\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25392, "epsg", 25392,
+        "Luzon 1911 / Philippines zone II", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Luzon_1911", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +");
     add_proj4text (p, 1,
-        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
+        "y_0=0 +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,0 +units");
     add_proj4text (p, 2,
-        "00101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,");
-    add_proj4text (p, 3,
-        "0,0,0,0,0,0 +units=us-ft +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Minnesota North (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"Luzon 1911 / Philippines zone II\",GEOGCS[\"Luz");
     add_srs_wkt (p, 1,
-        "NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Netw");
+        "on 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "ork\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY");
+        "],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "3\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4253\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",48.63333333333333],PARAMETER[\"sta");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",47.03333333333333],PARAMETER[\"latitu");
+        "METER[\"central_meridian\",119],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "de_of_origin\",46.5],PARAMETER[\"central_meridian\",-93.");
+        "\",0.99995],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 11,
-        "1],PARAMETER[\"false_easting\",2624666.6667],PARAMETER[\"");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "false_northing\",328083.3333],UNIT[\"US survey foot\",0.");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
     add_srs_wkt (p, 13,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
-    add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26857\"]]");
-    p = add_epsg_def (filter, first, last, 26858, "epsg", 26858,
-        "NAD83(HARN) / Minnesota Central (ftUS)");
+        "ITY[\"EPSG\",\"25392\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25393, "epsg", 25393,
+        "Luzon 1911 / Philippines zone III", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Luzon_1911", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
+        "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +");
     add_proj4text (p, 1,
-        "5 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.999989");
+        "y_0=0 +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,0 +units");
     add_proj4text (p, 2,
-        "83997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +");
-    add_proj4text (p, 3,
-        "no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Minnesota Central (ftUS)\",GEOGCS");
+        "PROJCS[\"Luzon 1911 / Philippines zone III\",GEOGCS[\"Lu");
     add_srs_wkt (p, 1,
-        "[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_N");
+        "zon 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "etwork\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHOR");
+        "]],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
+        "53\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
+        "EAST],AUTHORITY[\"EPSG\",\"4253\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_1\",47.05],PARAMETER[\"standard_par");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "allel_2\",45.61666666666667],PARAMETER[\"latitude_of_ori");
+        "METER[\"central_meridian\",121],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "gin\",45],PARAMETER[\"central_meridian\",-94.25],PARAMET");
+        "\",0.99995],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 11,
-        "ER[\"false_easting\",2624666.6667],PARAMETER[\"false_nor");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "thing\",328083.3333],UNIT[\"US survey foot\",0.304800609");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
     add_srs_wkt (p, 13,
-        "6012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],A");
-    add_srs_wkt (p, 14,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26858\"]]");
-    p = add_epsg_def (filter, first, last, 26859, "epsg", 26859,
-        "NAD83(HARN) / Minnesota South (ftUS)");
+        "ITY[\"EPSG\",\"25393\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25394, "epsg", 25394,
+        "Luzon 1911 / Philippines zone IV", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Luzon_1911", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +");
     add_proj4text (p, 1,
-        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=999");
+        "y_0=0 +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,0 +units");
     add_proj4text (p, 2,
-        "99.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
-    add_proj4text (p, 3,
-        "s=us-ft +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Minnesota South (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"Luzon 1911 / Philippines zone IV\",GEOGCS[\"Luz");
     add_srs_wkt (p, 1,
-        "NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Netw");
+        "on 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "ork\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY");
+        "],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "3\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]]");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4253\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "standard_parallel_1\",45.21666666666667],PARAMETER[\"sta");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "ndard_parallel_2\",43.78333333333333],PARAMETER[\"latitu");
+        "METER[\"central_meridian\",123],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "de_of_origin\",43],PARAMETER[\"central_meridian\",-94],P");
+        "\",0.99995],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_easting\",2624666.6667],PARAMETER[\"fal");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "se_northing\",328083.3333],UNIT[\"US survey foot\",0.304");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
     add_srs_wkt (p, 13,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
-    add_srs_wkt (p, 14,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26859\"]]");
-    p = add_epsg_def (filter, first, last, 26860, "epsg", 26860,
-        "NAD83(HARN) / Nebraska (ftUS)");
+        "ITY[\"EPSG\",\"25394\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25395, "epsg", 25395,
+        "Luzon 1911 / Philippines zone V", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "Luzon_1911", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
+        "+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +");
     add_proj4text (p, 1,
-        "lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +tow");
+        "y_0=0 +ellps=clrk66 +towgs84=-133,-77,-51,0,0,0,0 +units");
     add_proj4text (p, 2,
-        "gs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / Nebraska (ftUS)\",GEOGCS[\"NAD83(");
+        "PROJCS[\"Luzon 1911 / Philippines zone V\",GEOGCS[\"Luzo");
     add_srs_wkt (p, 1,
-        "HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\",");
+        "n 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
+        ",TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"6253");
     add_srs_wkt (p, 4,
-        "G\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
+        "AST],AUTHORITY[\"EPSG\",\"4253\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "ard_parallel_1\",43],PARAMETER[\"standard_parallel_2\",4");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"latitude_of_origin\",39.83333333333334],P");
+        "ETER[\"central_meridian\",125],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"central_meridian\",-100],PARAMETER[\"false_ea");
+        ",0.99995],PARAMETER[\"false_easting\",500000],PARAMETER[");
     add_srs_wkt (p, 11,
-        "sting\",1640416.6667],PARAMETER[\"false_northing\",0],UN");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
     add_srs_wkt (p, 13,
-        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
-    add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"26860\"]]");
-    p = add_epsg_def (filter, first, last, 26861, "epsg", 26861,
-        "NAD83(HARN) / West Virginia North (ftUS)");
+        "[\"EPSG\",\"25395\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25700, "epsg", 25700,
+        "Makassar (Jakarta) / NEIEZ (deprecated)", 0, 0,
+        "Bessel 1841", "Jakarta",
+        "Makassar_Jakarta", "Mercator_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
+        "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 ");
     add_proj4text (p, 1,
-        "5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+        "+ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=");
     add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        "jakarta +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / West Virginia North (ftUS)\",GEOG");
+        "PROJCS[\"Makassar (Jakarta) / NEIEZ (deprecated)\",GEOGC");
     add_srs_wkt (p, 1,
-        "CS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference");
+        "S[\"Makassar (Jakarta)\",DATUM[\"Makassar_Jakarta\",SPHE");
     add_srs_wkt (p, 2,
-        "_Network\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "ROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTH");
+        "EPSG\",\"7004\"]],TOWGS84[-587.8,519.75,145.76,0,0,0,0],");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        "AUTHORITY[\"EPSG\",\"6804\"]],PRIMEM[\"Jakarta\",106.807");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "7194444444,AUTHORITY[\"EPSG\",\"8908\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"415");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "2\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_1\",40.25],PARAMETER[\"standard_");
+        "PSG\",\"4804\"]],PROJECTION[\"Mercator_1SP\"],PARAMETER[");
     add_srs_wkt (p, 9,
-        "parallel_2\",39],PARAMETER[\"latitude_of_origin\",38.5],");
+        "\"central_meridian\",110],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-79.5],PARAMETER[\"false_");
+        "97],PARAMETER[\"false_easting\",3900000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "easting\",1968500],PARAMETER[\"false_northing\",0],UNIT[");
+        "se_northing\",900000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
     add_srs_wkt (p, 13,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
-    add_srs_wkt (p, 14,
-        "[\"EPSG\",\"26861\"]]");
-    p = add_epsg_def (filter, first, last, 26862, "epsg", 26862,
-        "NAD83(HARN) / West Virginia South (ftUS)");
+        "[\"EPSG\",\"25700\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25828, "epsg", 25828,
+        "ETRS89 / UTM zone 28N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
+        "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80");
-    add_proj4text (p, 2,
-        " +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(HARN) / West Virginia South (ftUS)\",GEOG");
+        "PROJCS[\"ETRS89 / UTM zone 28N\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        "CS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "_Network\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTH");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"415");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "2\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_1\",38.88333333333333],PARAMETER");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",37.48333333333333],PARAMETER[\"");
+        "METER[\"central_meridian\",-15],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",37],PARAMETER[\"central_meridian\",");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "-81],PARAMETER[\"false_easting\",1968500],PARAMETER[\"fa");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
     add_srs_wkt (p, 13,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
-    add_srs_wkt (p, 14,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26862\"]]");
-    p = add_epsg_def (filter, first, last, 26863, "epsg", 26863,
-        "NAD83(NSRS2007) / Maine East (ftUS)");
+        "ORTH],AUTHORITY[\"EPSG\",\"25828\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25829, "epsg", 25829,
+        "ETRS89 / UTM zone 29N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
+        "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=");
-    add_proj4text (p, 2,
-        "0,0,0,0,0,0,0 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Maine East (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"ETRS89 / UTM zone 29N\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        "NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Referen");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ce_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.25722");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "2101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,A");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",43.66666666666666],PARAMETER[\"");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "central_meridian\",-68.5],PARAMETER[\"scale_factor\",0.9");
+        "METER[\"central_meridian\",-9],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "999],PARAMETER[\"false_easting\",984250.0000000002],PARA");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26863\"]]");
-    p = add_epsg_def (filter, first, last, 26864, "epsg", 26864,
-        "NAD83(NSRS2007) / Maine West (ftUS)");
+        "H],AUTHORITY[\"EPSG\",\"25829\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25830, "epsg", 25830,
+        "ETRS89 / UTM zone 30N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
+        "+proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
-    add_proj4text (p, 2,
-        "owgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Maine West (ftUS)\",GEOGCS[\"");
+        "PROJCS[\"ETRS89 / UTM zone 30N\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        "NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Referen");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ce_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.25722");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "2101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,A");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        ",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",42.83333333333334],PARAMETER[\"");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "central_meridian\",-70.16666666666667],PARAMETER[\"scale");
+        "METER[\"central_meridian\",-3],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "_factor\",0.999966667],PARAMETER[\"false_easting\",29527");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "50],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"268");
-    add_srs_wkt (p, 14,
-        "64\"]]");
-    p = add_epsg_def (filter, first, last, 26865, "epsg", 26865,
-        "NAD83(NSRS2007) / Minnesota North (ftUS)");
+        "H],AUTHORITY[\"EPSG\",\"25830\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25831, "epsg", 25831,
+        "ETRS89 / UTM zone 31N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
+        "+proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
-    add_proj4text (p, 2,
-        "00101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,");
-    add_proj4text (p, 3,
-        "0,0,0,0,0,0 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Minnesota North (ftUS)\",GEOG");
+        "PROJCS[\"ETRS89 / UTM zone 31N\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        "CS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Re");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ference_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",48.63333333333333]");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",47.03333333333333],PA");
+        "METER[\"central_meridian\",3],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",46.5],PARAMETER[\"central");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "_meridian\",-93.1],PARAMETER[\"false_easting\",2624666.6");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "667],PARAMETER[\"false_northing\",328083.3333],UNIT[\"US");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 14,
-        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
-    add_srs_wkt (p, 15,
-        "PSG\",\"26865\"]]");
-    p = add_epsg_def (filter, first, last, 26866, "epsg", 26866,
-        "NAD83(NSRS2007) / Minnesota Central (ftUS)");
+        "H],AUTHORITY[\"EPSG\",\"25831\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25832, "epsg", 25832,
+        "ETRS89 / UTM zone 32N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
+        "+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "5 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.999989");
-    add_proj4text (p, 2,
-        "83997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +");
-    add_proj4text (p, 3,
-        "no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Minnesota Central (ftUS)\",GE");
+        "PROJCS[\"ETRS89 / UTM zone 32N\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        "OGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "Reference_System_2007\",SPHEROID[\"GRS 1980\",6378137,29");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwic");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "SP\"],PARAMETER[\"standard_parallel_1\",47.05],PARAMETER");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "[\"standard_parallel_2\",45.61666666666667],PARAMETER[\"");
+        "METER[\"central_meridian\",9],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "latitude_of_origin\",45],PARAMETER[\"central_meridian\",");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "-94.25],PARAMETER[\"false_easting\",2624666.6667],PARAME");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "TER[\"false_northing\",328083.3333],UNIT[\"US survey foo");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
-    add_srs_wkt (p, 14,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"268");
-    add_srs_wkt (p, 15,
-        "66\"]]");
-    p = add_epsg_def (filter, first, last, 26867, "epsg", 26867,
-        "NAD83(NSRS2007) / Minnesota South (ftUS)");
+        "H],AUTHORITY[\"EPSG\",\"25832\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25833, "epsg", 25833,
+        "ETRS89 / UTM zone 33N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
+        "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=999");
-    add_proj4text (p, 2,
-        "99.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
-    add_proj4text (p, 3,
-        "s=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Minnesota South (ftUS)\",GEOG");
+        "PROJCS[\"ETRS89 / UTM zone 33N\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        "CS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Re");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ference_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"standard_parallel_1\",45.21666666666667]");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"standard_parallel_2\",43.78333333333333],PA");
+        "METER[\"central_meridian\",15],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "RAMETER[\"latitude_of_origin\",43],PARAMETER[\"central_m");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "eridian\",-94],PARAMETER[\"false_easting\",2624666.6667]");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",PARAMETER[\"false_northing\",328083.3333],UNIT[\"US sur");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "vey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
-    add_srs_wkt (p, 14,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 15,
-        ",\"26867\"]]");
-    p = add_epsg_def (filter, first, last, 26868, "epsg", 26868,
-        "NAD83(NSRS2007) / Nebraska (ftUS)");
+        "H],AUTHORITY[\"EPSG\",\"25833\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25834, "epsg", 25834,
+        "ETRS89 / UTM zone 34N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
+        "+proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +tow");
-    add_proj4text (p, 2,
-        "gs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / Nebraska (ftUS)\",GEOGCS[\"NA");
+        "PROJCS[\"ETRS89 / UTM zone 34N\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        "D83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Reference");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "01,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_1\",43],PARAMETER[\"standard_");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "parallel_2\",40],PARAMETER[\"latitude_of_origin\",39.833");
+        "METER[\"central_meridian\",21],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "33333333334],PARAMETER[\"central_meridian\",-100],PARAME");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "TER[\"false_easting\",1640416.6667],PARAMETER[\"false_no");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
-    add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"26868\"]]");
-    p = add_epsg_def (filter, first, last, 26869, "epsg", 26869,
-        "NAD83(NSRS2007) / West Virginia North (ftUS)");
+        "H],AUTHORITY[\"EPSG\",\"25834\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25835, "epsg", 25835,
+        "ETRS89 / UTM zone 35N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
+        "+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
-    add_proj4text (p, 2,
-        " +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / West Virginia North (ftUS)\",");
+        "PROJCS[\"ETRS89 / UTM zone 35N\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatia");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "l_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378137,");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenw");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Coni");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "c_2SP\"],PARAMETER[\"standard_parallel_1\",40.25],PARAME");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",39],PARAMETER[\"latitude_of_");
+        "METER[\"central_meridian\",27],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "origin\",38.5],PARAMETER[\"central_meridian\",-79.5],PAR");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",1968500],PARAMETER[\"false_nort");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
-    add_srs_wkt (p, 14,
-        "ORTH],AUTHORITY[\"EPSG\",\"26869\"]]");
-    p = add_epsg_def (filter, first, last, 26870, "epsg", 26870,
-        "NAD83(NSRS2007) / West Virginia South (ftUS)");
+        "H],AUTHORITY[\"EPSG\",\"25835\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25836, "epsg", 25836,
+        "ETRS89 / UTM zone 36N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
+        "+proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80");
-    add_proj4text (p, 2,
-        " +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(NSRS2007) / West Virginia South (ftUS)\",");
+        "PROJCS[\"ETRS89 / UTM zone 36N\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatia");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "l_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378137,");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenw");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Coni");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "c_2SP\"],PARAMETER[\"standard_parallel_1\",38.8833333333");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "3333],PARAMETER[\"standard_parallel_2\",37.4833333333333");
+        "METER[\"central_meridian\",33],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "3],PARAMETER[\"latitude_of_origin\",37],PARAMETER[\"cent");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ral_meridian\",-81],PARAMETER[\"false_easting\",1968500]");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
-    add_srs_wkt (p, 14,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26870\"");
-    add_srs_wkt (p, 15,
-        "]]");
-    p = add_epsg_def (filter, first, last, 26891, "epsg", 26891,
-        "NAD83(CSRS) / MTM zone 11");
+        "H],AUTHORITY[\"EPSG\",\"25836\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25837, "epsg", 25837,
+        "ETRS89 / UTM zone 37N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=37 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
-    add_proj4text (p, 2,
-        "defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / MTM zone 11\",GEOGCS[\"NAD83(CSRS");
+        "PROJCS[\"ETRS89 / UTM zone 37N\",GEOGCS[\"ETRS89\",DATUM");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
+        "[\"European_Terrestrial_Reference_System_1989\",SPHEROID");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-82.5],PARAMETER[");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",304");
+        "METER[\"central_meridian\",39],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "800],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26891\"]]");
-    p = add_epsg_def (filter, first, last, 26892, "epsg", 26892,
-        "NAD83(CSRS) / MTM zone 12");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"25837\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25838, "epsg", 25838,
+        "ETRS89 / UTM zone 38N (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y");
+        "+proj=utm +zone=38 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
-    add_proj4text (p, 2,
-        "fs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / MTM zone 12\",GEOGCS[\"NAD83(CSRS");
+        "PROJCS[\"ETRS89 / UTM zone 38N (deprecated)\",GEOGCS[\"E");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
+        "TRS89\",DATUM[\"European_Terrestrial_Reference_System_19");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "89\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORI");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "TY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"EPSG\",\"6258\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-81],PARAMETER[\"");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",30480");
+        "igin\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"26892\"]]");
-    p = add_epsg_def (filter, first, last, 26893, "epsg", 26893,
-        "NAD83(CSRS) / MTM zone 13");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"25838\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25884, "epsg", 25884,
+        "ETRS89 / TM Baltic93", 0, 1,
+        "GRS 1980", "Greenwich",
+        "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y");
+        "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+        "0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_def");
     add_proj4text (p, 2,
-        "fs");
+        "s");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / MTM zone 13\",GEOGCS[\"NAD83(CSRS");
+        "PROJCS[\"ETRS89 / TM Baltic93\",GEOGCS[\"ETRS89\",DATUM[");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
+        "\"European_Terrestrial_Reference_System_1989\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"625");
     add_srs_wkt (p, 4,
-        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "EAST],AUTHORITY[\"EPSG\",\"4258\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-84],PARAMETER[\"");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",30480");
+        "METER[\"central_meridian\",24],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"26893\"]]");
-    p = add_epsg_def (filter, first, last, 26894, "epsg", 26894,
-        "NAD83(CSRS) / MTM zone 14");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"25884\"]]");
+    p = add_epsg_def_ex (filter, first, last, 25932, "epsg", 25932,
+        "Malongo 1987 / UTM zone 32S", 0, 0,
+        "International 1924", "Greenwich",
+        "Malongo_1987", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y");
+        "+proj=utm +zone=32 +south +ellps=intl +towgs84=-254.1,-5");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
-    add_proj4text (p, 2,
-        "fs");
+        ".36,-100.29,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / MTM zone 14\",GEOGCS[\"NAD83(CSRS");
+        "PROJCS[\"Malongo 1987 / UTM zone 32S\",GEOGCS[\"Malongo ");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
+        "1987\",DATUM[\"Malongo_1987\",SPHEROID[\"International 1");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "-254.1,-5.36,-100.29,0,0,0,0],AUTHORITY[\"EPSG\",\"6259\"");
     add_srs_wkt (p, 4,
-        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "T],AUTHORITY[\"EPSG\",\"4259\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-87],PARAMETER[\"");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",30480");
+        "ER[\"central_meridian\",9],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"26894\"]]");
-    p = add_epsg_def (filter, first, last, 26895, "epsg", 26895,
-        "NAD83(CSRS) / MTM zone 15");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"25932\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26191, "epsg", 26191,
+        "Merchich / Nord Maroc", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Merchich", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y");
+        "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+        "625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +");
     add_proj4text (p, 2,
-        "fs");
+        "towgs84=31,146,47,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / MTM zone 15\",GEOGCS[\"NAD83(CSRS");
+        "PROJCS[\"Merchich / Nord Maroc\",GEOGCS[\"Merchich\",DAT");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
+        "UM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        ",293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ITY[\"EPSG\",\"4261\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-90],PARAMETER[\"");
+        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",33.3],PARAM");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",30480");
+        "ETER[\"central_meridian\",-5.4],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "\",0.999625769],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "METER[\"false_northing\",300000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"26895\"]]");
-    p = add_epsg_def (filter, first, last, 26896, "epsg", 26896,
-        "NAD83(CSRS) / MTM zone 16");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"26191\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26192, "epsg", 26192,
+        "Merchich / Sud Maroc", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Merchich", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y");
+        "+proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.999");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+        "6155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=63");
     add_proj4text (p, 2,
-        "fs");
+        "56515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / MTM zone 16\",GEOGCS[\"NAD83(CSRS");
+        "PROJCS[\"Merchich / Sud Maroc\",GEOGCS[\"Merchich\",DATU");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
+        "M[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "TY[\"EPSG\",\"4261\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-93],PARAMETER[\"");
+        "nic_1SP\"],PARAMETER[\"latitude_of_origin\",29.7],PARAME");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",30480");
+        "TER[\"central_meridian\",-5.4],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        ",0.999615596],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "TER[\"false_northing\",300000],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"26896\"]]");
-    p = add_epsg_def (filter, first, last, 26897, "epsg", 26897,
-        "NAD83(CSRS) / MTM zone 17");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"26192\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26193, "epsg", 26193,
+        "Merchich / Sahara (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Merchich", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y");
+        "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.999");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+        "6 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towg");
     add_proj4text (p, 2,
-        "fs");
+        "s84=31,146,47,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / MTM zone 17\",GEOGCS[\"NAD83(CSRS");
+        "PROJCS[\"Merchich / Sahara (deprecated)\",GEOGCS[\"Merch");
     add_srs_wkt (p, 1,
-        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
+        "ich\",DATUM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",");
     add_srs_wkt (p, 2,
-        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
+        "6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]");
     add_srs_wkt (p, 3,
-        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "],TOWGS84[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"");
     add_srs_wkt (p, 4,
-        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "T],AUTHORITY[\"EPSG\",\"4261\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-96],PARAMETER[\"");
+        "nformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",26");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",30480");
+        ".1],PARAMETER[\"central_meridian\",-5.4],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "le_factor\",0.9996],PARAMETER[\"false_easting\",1200000]");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        ",PARAMETER[\"false_northing\",400000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"26897\"]]");
-    p = add_epsg_def (filter, first, last, 26898, "epsg", 26898,
-        "NAD83(CSRS) / MTM zone 1");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26193\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26194, "epsg", 26194,
+        "Merchich / Sahara Nord", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Merchich", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y");
+        "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.999");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+        "616304 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 ");
     add_proj4text (p, 2,
-        "fs");
+        "+towgs84=31,146,47,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / MTM zone 1\",GEOGCS[\"NAD83(CSRS)");
+        "PROJCS[\"Merchich / Sahara Nord\",GEOGCS[\"Merchich\",DA");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SPH");
+        "TUM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.");
     add_srs_wkt (p, 2,
-        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
+        "2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "4[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIME");
     add_srs_wkt (p, 4,
-        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "RITY[\"EPSG\",\"4261\"]],PROJECTION[\"Lambert_Conformal_");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-53],PARAMETER[\"");
+        "Conic_1SP\"],PARAMETER[\"latitude_of_origin\",26.1],PARA");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",30480");
+        "METER[\"central_meridian\",-5.4],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "r\",0.999616304],PARAMETER[\"false_easting\",1200000],PA");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y");
+        "RAMETER[\"false_northing\",400000],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        ")\",NORTH],AUTHORITY[\"EPSG\",\"26898\"]]");
-    p = add_epsg_def (filter, first, last, 26899, "epsg", 26899,
-        "NAD83(CSRS) / MTM zone 2");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"26194\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26195, "epsg", 26195,
+        "Merchich / Sahara Sud", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Merchich", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y");
+        "+proj=lcc +lat_1=22.5 +lat_0=22.5 +lon_0=-5.4 +k_0=0.999");
     add_proj4text (p, 1,
-        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+        "616437 +x_0=1500000 +y_0=400000 +a=6378249.2 +b=6356515 ");
     add_proj4text (p, 2,
-        "fs");
+        "+towgs84=31,146,47,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83(CSRS) / MTM zone 2\",GEOGCS[\"NAD83(CSRS)");
+        "PROJCS[\"Merchich / Sahara Sud\",GEOGCS[\"Merchich\",DAT");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SPH");
+        "UM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2");
     add_srs_wkt (p, 2,
-        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
+        ",293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTI");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "ITY[\"EPSG\",\"4261\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "in\",0],PARAMETER[\"central_meridian\",-56],PARAMETER[\"");
+        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",22.5],PARAM");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",30480");
+        "ETER[\"central_meridian\",-5.4],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "\",0.999616437],PARAMETER[\"false_easting\",1500000],PAR");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y");
+        "AMETER[\"false_northing\",400000],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        ")\",NORTH],AUTHORITY[\"EPSG\",\"26899\"]]");
-    p = add_epsg_def (filter, first, last, 26901, "epsg", 26901,
-        "NAD83 / UTM zone 1N");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"26195\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26237, "epsg", 26237,
+        "Massawa / UTM zone 37N", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Massawa", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=1 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=37 +ellps=bessel +towgs84=639,405,60,0,0");
+    add_proj4text (p, 1,
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 1N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Massawa / UTM zone 37N\",GEOGCS[\"Massawa\",DAT");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "UM[\"Massawa\",SPHEROID[\"Bessel 1841\",6377397.155,299.");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[639,405,60");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6262\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "\",\"4262\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 8,
-        "l_meridian\",-177],PARAMETER[\"scale_factor\",0.9996],PA");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "an\",39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26901\"]]");
-    p = add_epsg_def (filter, first, last, 26902, "epsg", 26902,
-        "NAD83 / UTM zone 2N");
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"26237\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26331, "epsg", 26331,
+        "Minna / UTM zone 31N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Minna", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=2 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=31 +ellps=clrk80 +towgs84=-92,-93,122,0,");
+    add_proj4text (p, 1,
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 2N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Minna / UTM zone 31N\",GEOGCS[\"Minna\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "Minna\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.4");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "65,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-92,-93,122,0,0");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ",0,0],AUTHORITY[\"EPSG\",\"6263\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "4263\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "l_meridian\",-171],PARAMETER[\"scale_factor\",0.9996],PA");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26902\"]]");
-    p = add_epsg_def (filter, first, last, 26903, "epsg", 26903,
-        "NAD83 / UTM zone 3N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"263");
+    add_srs_wkt (p, 13,
+        "31\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26332, "epsg", 26332,
+        "Minna / UTM zone 32N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Minna", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=3 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=32 +ellps=clrk80 +towgs84=-92,-93,122,0,");
+    add_proj4text (p, 1,
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 3N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Minna / UTM zone 32N\",GEOGCS[\"Minna\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "Minna\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.4");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "65,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-92,-93,122,0,0");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ",0,0],AUTHORITY[\"EPSG\",\"6263\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "4263\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "l_meridian\",-165],PARAMETER[\"scale_factor\",0.9996],PA");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26903\"]]");
-    p = add_epsg_def (filter, first, last, 26904, "epsg", 26904,
-        "NAD83 / UTM zone 4N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"263");
+    add_srs_wkt (p, 13,
+        "32\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26391, "epsg", 26391,
+        "Minna / Nigeria West Belt", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Minna", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=4 +datum=NAD83 +units=m +no_defs");
+        "+proj=tmerc +lat_0=4 +lon_0=4.5 +k=0.99975 +x_0=230738.2");
+    add_proj4text (p, 1,
+        "6 +y_0=0 +ellps=clrk80 +towgs84=-92,-93,122,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 4N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Minna / Nigeria West Belt\",GEOGCS[\"Minna\",DA");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "TUM[\"Minna\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        ",293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-92,-93,1");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "22,0,0,0,0],AUTHORITY[\"EPSG\",\"6263\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4263\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-159],PARAMETER[\"scale_factor\",0.9996],PA");
+        "METER[\"latitude_of_origin\",4],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "dian\",4.5],PARAMETER[\"scale_factor\",0.99975],PARAMETE");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "R[\"false_easting\",230738.26],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26904\"]]");
-    p = add_epsg_def (filter, first, last, 26905, "epsg", 26905,
-        "NAD83 / UTM zone 5N");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"26391\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26392, "epsg", 26392,
+        "Minna / Nigeria Mid Belt", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Minna", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=5 +datum=NAD83 +units=m +no_defs");
+        "+proj=tmerc +lat_0=4 +lon_0=8.5 +k=0.99975 +x_0=670553.9");
+    add_proj4text (p, 1,
+        "8 +y_0=0 +ellps=clrk80 +towgs84=-92,-93,122,0,0,0,0 +uni");
+    add_proj4text (p, 2,
+        "ts=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 5N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Minna / Nigeria Mid Belt\",GEOGCS[\"Minna\",DAT");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "UM[\"Minna\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-92,-93,12");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "2,0,0,0,0],AUTHORITY[\"EPSG\",\"6263\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "G\",\"4263\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 8,
-        "l_meridian\",-153],PARAMETER[\"scale_factor\",0.9996],PA");
+        "ETER[\"latitude_of_origin\",4],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "ian\",8.5],PARAMETER[\"scale_factor\",0.99975],PARAMETER");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "[\"false_easting\",670553.98],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26905\"]]");
-    p = add_epsg_def (filter, first, last, 26906, "epsg", 26906,
-        "NAD83 / UTM zone 6N");
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"26392\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26393, "epsg", 26393,
+        "Minna / Nigeria East Belt", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Minna", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=6 +datum=NAD83 +units=m +no_defs");
+        "+proj=tmerc +lat_0=4 +lon_0=12.5 +k=0.99975 +x_0=1110369");
+    add_proj4text (p, 1,
+        ".7 +y_0=0 +ellps=clrk80 +towgs84=-92,-93,122,0,0,0,0 +un");
+    add_proj4text (p, 2,
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 6N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Minna / Nigeria East Belt\",GEOGCS[\"Minna\",DA");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "TUM[\"Minna\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        ",293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-92,-93,1");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "22,0,0,0,0],AUTHORITY[\"EPSG\",\"6263\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "SG\",\"4263\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "l_meridian\",-147],PARAMETER[\"scale_factor\",0.9996],PA");
+        "METER[\"latitude_of_origin\",4],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "dian\",12.5],PARAMETER[\"scale_factor\",0.99975],PARAMET");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "ER[\"false_easting\",1110369.7],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26906\"]]");
-    p = add_epsg_def (filter, first, last, 26907, "epsg", 26907,
-        "NAD83 / UTM zone 7N");
+        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"26393\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26432, "epsg", 26432,
+        "Mhast / UTM zone 32S (deprecated)", 0, 0,
+        "International 1924", "Greenwich",
+        "Mhast", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=7 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=32 +south +ellps=intl +towgs84=-252.95,-");
+    add_proj4text (p, 1,
+        "4.11,-96.38,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 7N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Mhast / UTM zone 32S (deprecated)\",GEOGCS[\"Mh");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "ast\",DATUM[\"Mhast\",SPHEROID[\"International 1924\",63");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "78388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-252.95,");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "-4.11,-96.38,0,0,0,0],AUTHORITY[\"EPSG\",\"6264\"]],PRIM");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORITY[\"EPSG\",\"4264\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "l_meridian\",-141],PARAMETER[\"scale_factor\",0.9996],PA");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "ntral_meridian\",9],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "thing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26907\"]]");
-    p = add_epsg_def (filter, first, last, 26908, "epsg", 26908,
-        "NAD83 / UTM zone 8N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"26432\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26591, "epsg", 26591,
+        "Monte Mario (Rome) / Italy zone 1 (deprecated)", 0, 0,
+        "International 1924", "Rome",
+        "Monte_Mario_Rome", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=8 +datum=NAD83 +units=m +no_defs");
+        "+proj=tmerc +lat_0=0 +lon_0=-3.45233333333333 +k=0.9996 ");
+    add_proj4text (p, 1,
+        "+x_0=1500000 +y_0=0 +ellps=intl +towgs84=-104.1,-49.1,-9");
+    add_proj4text (p, 2,
+        ".9,0.971,-2.917,0.714,-11.68 +pm=rome +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 8N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Monte Mario (Rome) / Italy zone 1 (deprecated)\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        ",GEOGCS[\"Monte Mario (Rome)\",DATUM[\"Monte_Mario_Rome\"");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        ",SPHEROID[\"International 1924\",6378388,297,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "EPSG\",\"7022\"]],TOWGS84[-104.1,-49.1,-9.9,0.971,-2.917");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",0.714,-11.68],AUTHORITY[\"EPSG\",\"6806\"]],PRIMEM[\"Ro");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "me\",12.45233333333333,AUTHORITY[\"EPSG\",\"8906\"]],UNI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "l_meridian\",-135],PARAMETER[\"scale_factor\",0.9996],PA");
+        "AUTHORITY[\"EPSG\",\"4806\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\"central_meridian\",-3.45233333333333],PARAMETER[\"scal");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "e_factor\",0.9996],PARAMETER[\"false_easting\",1500000],");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26908\"]]");
-    p = add_epsg_def (filter, first, last, 26909, "epsg", 26909,
-        "NAD83 / UTM zone 9N");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"26591\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26592, "epsg", 26592,
+        "Monte Mario (Rome) / Italy zone 2 (deprecated)", 0, 0,
+        "International 1924", "Rome",
+        "Monte_Mario_Rome", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=9 +datum=NAD83 +units=m +no_defs");
+        "+proj=tmerc +lat_0=0 +lon_0=2.54766666666666 +k=0.9996 +");
+    add_proj4text (p, 1,
+        "x_0=2520000 +y_0=0 +ellps=intl +towgs84=-104.1,-49.1,-9.");
+    add_proj4text (p, 2,
+        "9,0.971,-2.917,0.714,-11.68 +pm=rome +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 9N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Monte Mario (Rome) / Italy zone 2 (deprecated)\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        ",GEOGCS[\"Monte Mario (Rome)\",DATUM[\"Monte_Mario_Rome\"");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        ",SPHEROID[\"International 1924\",6378388,297,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "EPSG\",\"7022\"]],TOWGS84[-104.1,-49.1,-9.9,0.971,-2.917");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",0.714,-11.68],AUTHORITY[\"EPSG\",\"6806\"]],PRIMEM[\"Ro");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "me\",12.45233333333333,AUTHORITY[\"EPSG\",\"8906\"]],UNI");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "l_meridian\",-129],PARAMETER[\"scale_factor\",0.9996],PA");
+        "AUTHORITY[\"EPSG\",\"4806\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\"central_meridian\",2.54766666666666],PARAMETER[\"scale");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",2520000],P");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26909\"]]");
-    p = add_epsg_def (filter, first, last, 26910, "epsg", 26910,
-        "NAD83 / UTM zone 10N");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"26592\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26632, "epsg", 26632,
+        "M'poraloko / UTM zone 32N", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "M_poraloko", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=10 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-74,");
+    add_proj4text (p, 1,
+        "-130,42,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 10N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"M'poraloko / UTM zone 32N\",GEOGCS[\"M'poraloko");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "\",DATUM[\"M_poraloko\",SPHEROID[\"Clarke 1880 (IGN)\",6");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ",TOWGS84[-74,-130,42,0,0,0,0],AUTHORITY[\"EPSG\",\"6266\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "T],AUTHORITY[\"EPSG\",\"4266\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "l_meridian\",-123],PARAMETER[\"scale_factor\",0.9996],PA");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "ER[\"central_meridian\",9],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26910\"]]");
-    p = add_epsg_def (filter, first, last, 26911, "epsg", 26911,
-        "NAD83 / UTM zone 11N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"26632\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26692, "epsg", 26692,
+        "M'poraloko / UTM zone 32S", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "M_poraloko", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=11 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs");
+    add_proj4text (p, 1,
+        "84=-74,-130,42,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 11N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"M'poraloko / UTM zone 32S\",GEOGCS[\"M'poraloko");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "\",DATUM[\"M_poraloko\",SPHEROID[\"Clarke 1880 (IGN)\",6");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ",TOWGS84[-74,-130,42,0,0,0,0],AUTHORITY[\"EPSG\",\"6266\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "T],AUTHORITY[\"EPSG\",\"4266\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "l_meridian\",-117],PARAMETER[\"scale_factor\",0.9996],PA");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "ER[\"central_meridian\",9],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26911\"]]");
-    p = add_epsg_def (filter, first, last, 26912, "epsg", 26912,
-        "NAD83 / UTM zone 12N");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26692\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26701, "epsg", 26701,
+        "NAD27 / UTM zone 1N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=12 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=1 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 12N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 1N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-111],PARAMETER[\"scale_factor\",0.9996],PA");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26912\"]]");
-    p = add_epsg_def (filter, first, last, 26913, "epsg", 26913,
-        "NAD83 / UTM zone 13N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26701");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26702, "epsg", 26702,
+        "NAD27 / UTM zone 2N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=13 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=2 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 13N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 2N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-105],PARAMETER[\"scale_factor\",0.9996],PA");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],");
     add_srs_wkt (p, 9,
-        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"26913\"]]");
-    p = add_epsg_def (filter, first, last, 26914, "epsg", 26914,
-        "NAD83 / UTM zone 14N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26702");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26703, "epsg", 26703,
+        "NAD27 / UTM zone 3N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=14 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=3 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 14N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 3N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-99],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-165],");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"26914\"]]");
-    p = add_epsg_def (filter, first, last, 26915, "epsg", 26915,
-        "NAD83 / UTM zone 15N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26703");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26704, "epsg", 26704,
+        "NAD27 / UTM zone 4N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=15 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=4 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 15N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 4N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-93],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-159],");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"26915\"]]");
-    p = add_epsg_def (filter, first, last, 26916, "epsg", 26916,
-        "NAD83 / UTM zone 16N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26704");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26705, "epsg", 26705,
+        "NAD27 / UTM zone 5N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=16 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=5 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 16N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 5N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-87],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-153],");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"26916\"]]");
-    p = add_epsg_def (filter, first, last, 26917, "epsg", 26917,
-        "NAD83 / UTM zone 17N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26705");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26706, "epsg", 26706,
+        "NAD27 / UTM zone 6N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=6 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 17N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 6N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-81],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-147],");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"26917\"]]");
-    p = add_epsg_def (filter, first, last, 26918, "epsg", 26918,
-        "NAD83 / UTM zone 18N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26706");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26707, "epsg", 26707,
+        "NAD27 / UTM zone 7N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=7 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 18N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 7N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-75],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-141],");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"26918\"]]");
-    p = add_epsg_def (filter, first, last, 26919, "epsg", 26919,
-        "NAD83 / UTM zone 19N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26707");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26708, "epsg", 26708,
+        "NAD27 / UTM zone 8N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=8 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 19N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 8N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-69],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-135],");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"26919\"]]");
-    p = add_epsg_def (filter, first, last, 26920, "epsg", 26920,
-        "NAD83 / UTM zone 20N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26708");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26709, "epsg", 26709,
+        "NAD27 / UTM zone 9N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=9 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 20N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 9N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-63],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-129],");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"26920\"]]");
-    p = add_epsg_def (filter, first, last, 26921, "epsg", 26921,
-        "NAD83 / UTM zone 21N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26709");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26710, "epsg", 26710,
+        "NAD27 / UTM zone 10N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=10 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 21N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 10N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-57],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-123],");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"26921\"]]");
-    p = add_epsg_def (filter, first, last, 26922, "epsg", 26922,
-        "NAD83 / UTM zone 22N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26710");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26711, "epsg", 26711,
+        "NAD27 / UTM zone 11N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=11 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 22N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 11N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-51],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-117],");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"26922\"]]");
-    p = add_epsg_def (filter, first, last, 26923, "epsg", 26923,
-        "NAD83 / UTM zone 23N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26711");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26712, "epsg", 26712,
+        "NAD27 / UTM zone 12N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=12 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / UTM zone 23N\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 12N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "l_meridian\",-45],PARAMETER[\"scale_factor\",0.9996],PAR");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-111],");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"26923\"]]");
-    p = add_epsg_def (filter, first, last, 26929, "epsg", 26929,
-        "NAD83 / Alabama East");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26712");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26713, "epsg", 26713,
+        "NAD27 / UTM zone 13N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.9");
-    add_proj4text (p, 1,
-        "9996 +x_0=200000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=13 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alabama East\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 13N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",30.5],PARAMETER[\"cen");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-85.83333333333333],PARAMETER[\"scale_fa");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-105],");
     add_srs_wkt (p, 9,
-        "ctor\",0.99996],PARAMETER[\"false_easting\",200000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"26929\"]]");
-    p = add_epsg_def (filter, first, last, 26930, "epsg", 26930,
-        "NAD83 / Alabama West");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26713");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26714, "epsg", 26714,
+        "NAD27 / UTM zone 14N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=6");
-    add_proj4text (p, 1,
-        "00000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=14 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alabama West\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / UTM zone 14N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"centr");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "al_meridian\",-87.5],PARAMETER[\"scale_factor\",0.999933");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-99],P");
     add_srs_wkt (p, 9,
-        "333],PARAMETER[\"false_easting\",600000],PARAMETER[\"fal");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        "PSG\",\"26930\"]]");
-    p = add_epsg_def (filter, first, last, 26931, "epsg", 26931,
-        "NAD83 / Alaska zone 1");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26714\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26715, "epsg", 26715,
+        "NAD27 / UTM zone 15N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=32");
-    add_proj4text (p, 1,
-        "3.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +no");
-    add_proj4text (p, 2,
-        "_uoff +gamma=323.1301023611111 +datum=NAD83 +units=m +no");
-    add_proj4text (p, 3,
-        "_defs");
+        "+proj=utm +zone=15 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alaska zone 1\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / UTM zone 15N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Hotine_Oblique_Merc");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "ator\"],PARAMETER[\"latitude_of_center\",57],PARAMETER[\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "longitude_of_center\",-133.6666666666667],PARAMETER[\"az");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-93],P");
     add_srs_wkt (p, 9,
-        "imuth\",323.1301023611111],PARAMETER[\"rectified_grid_an");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "gle\",323.1301023611111],PARAMETER[\"scale_factor\",0.99");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "99],PARAMETER[\"false_easting\",5000000],PARAMETER[\"fal");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        "se_northing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26715\"");
     add_srs_wkt (p, 13,
-        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
-    add_srs_wkt (p, 14,
-        "ITY[\"EPSG\",\"26931\"]]");
-    p = add_epsg_def (filter, first, last, 26932, "epsg", 26932,
-        "NAD83 / Alaska zone 2");
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26716, "epsg", 26716,
+        "NAD27 / UTM zone 16N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 ");
-    add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=16 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alaska zone 2\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / UTM zone 16N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"cen");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-142],PARAMETER[\"scale_factor\",0.9999]");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-87],P");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        ",\"26932\"]]");
-    p = add_epsg_def (filter, first, last, 26933, "epsg", 26933,
-        "NAD83 / Alaska zone 3");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26716\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26717, "epsg", 26717,
+        "NAD27 / UTM zone 17N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 ");
-    add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=17 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alaska zone 3\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / UTM zone 17N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"cen");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-146],PARAMETER[\"scale_factor\",0.9999]");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-81],P");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        ",\"26933\"]]");
-    p = add_epsg_def (filter, first, last, 26934, "epsg", 26934,
-        "NAD83 / Alaska zone 4");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26717\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26718, "epsg", 26718,
+        "NAD27 / UTM zone 18N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 ");
-    add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=18 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alaska zone 4\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / UTM zone 18N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"cen");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-150],PARAMETER[\"scale_factor\",0.9999]");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-75],P");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        ",\"26934\"]]");
-    p = add_epsg_def (filter, first, last, 26935, "epsg", 26935,
-        "NAD83 / Alaska zone 5");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26718\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26719, "epsg", 26719,
+        "NAD27 / UTM zone 19N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 ");
-    add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=19 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alaska zone 5\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / UTM zone 19N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"cen");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-154],PARAMETER[\"scale_factor\",0.9999]");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-69],P");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        ",\"26935\"]]");
-    p = add_epsg_def (filter, first, last, 26936, "epsg", 26936,
-        "NAD83 / Alaska zone 6");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26719\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26720, "epsg", 26720,
+        "NAD27 / UTM zone 20N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 ");
-    add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=20 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alaska zone 6\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / UTM zone 20N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"cen");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-158],PARAMETER[\"scale_factor\",0.9999]");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-63],P");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        ",\"26936\"]]");
-    p = add_epsg_def (filter, first, last, 26937, "epsg", 26937,
-        "NAD83 / Alaska zone 7");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26720\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26721, "epsg", 26721,
+        "NAD27 / UTM zone 21N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 ");
-    add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=21 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alaska zone 7\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / UTM zone 21N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"cen");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-162],PARAMETER[\"scale_factor\",0.9999]");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-57],P");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        ",\"26937\"]]");
-    p = add_epsg_def (filter, first, last, 26938, "epsg", 26938,
-        "NAD83 / Alaska zone 8");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26721\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26722, "epsg", 26722,
+        "NAD27 / UTM zone 22N", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 ");
-    add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+proj=utm +zone=22 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alaska zone 8\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / UTM zone 22N\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"cen");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-166],PARAMETER[\"scale_factor\",0.9999]");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-51],P");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        ",\"26938\"]]");
-    p = add_epsg_def (filter, first, last, 26939, "epsg", 26939,
-        "NAD83 / Alaska zone 9");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"26722\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26729, "epsg", 26729,
+        "NAD27 / Alabama East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 ");
+        "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "9996 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
+    add_proj4text (p, 2,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alaska zone 9\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Alabama East\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",54],PARAMETER[\"cen");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-170],PARAMETER[\"scale_factor\",0.9999]");
+        "ude_of_origin\",30.5],PARAMETER[\"central_meridian\",-85");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        ".83333333333333],PARAMETER[\"scale_factor\",0.99996],PAR");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        ",\"26939\"]]");
-    p = add_epsg_def (filter, first, last, 26940, "epsg", 26940,
-        "NAD83 / Alaska zone 10");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"26729\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26730, "epsg", 26730,
+        "NAD27 / Alabama West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333");
+        "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=1");
     add_proj4text (p, 1,
-        "334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +datum=NAD");
+        "52400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_de");
     add_proj4text (p, 2,
-        "83 +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Alaska zone 10\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"NAD27 / Alabama West\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",53.83333");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "333333334],PARAMETER[\"standard_parallel_2\",51.83333333");
+        "ude_of_origin\",30],PARAMETER[\"central_meridian\",-87.5");
     add_srs_wkt (p, 9,
-        "333334],PARAMETER[\"latitude_of_origin\",51],PARAMETER[\"");
+        "],PARAMETER[\"scale_factor\",0.999933333],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "central_meridian\",-176],PARAMETER[\"false_easting\",100");
+        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"26940\"]]");
-    p = add_epsg_def (filter, first, last, 26941, "epsg", 26941,
-        "NAD83 / California zone 1");
+        "ITY[\"EPSG\",\"26730\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26731, "epsg", 26731,
+        "NAD27 / Alaska zone 1", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Hotine_Oblique_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
+        "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=32");
     add_proj4text (p, 1,
-        "3333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +datu");
+        "3.1301023611111 +k=0.9999 +x_0=5000000.001016002 +y_0=-5");
     add_proj4text (p, 2,
-        "m=NAD83 +units=m +no_defs");
+        "000000.001016002 +no_uoff +gamma=323.1301023611111 +datu");
+    add_proj4text (p, 3,
+        "m=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / California zone 1\",GEOGCS[\"NAD83\",DA");
+        "PROJCS[\"NAD27 / Alaska zone 1\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.66");
+        "\"]],PROJECTION[\"Hotine_Oblique_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "666666666666],PARAMETER[\"standard_parallel_2\",40],PARA");
+        "latitude_of_center\",57],PARAMETER[\"longitude_of_center");
     add_srs_wkt (p, 9,
-        "METER[\"latitude_of_origin\",39.33333333333334],PARAMETE");
+        "\",-133.6666666666667],PARAMETER[\"azimuth\",323.1301023");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-122],PARAMETER[\"false_easting\"");
+        "611111],PARAMETER[\"rectified_grid_angle\",323.130102361");
     add_srs_wkt (p, 11,
-        ",2000000],PARAMETER[\"false_northing\",500000],UNIT[\"me");
+        "1111],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "se_easting\",16404166.67],PARAMETER[\"false_northing\",-");
     add_srs_wkt (p, 13,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26941\"]]");
-    p = add_epsg_def (filter, first, last, 26942, "epsg", 26942,
-        "NAD83 / California zone 2");
+        "16404166.67],UNIT[\"US survey foot\",0.3048006096012192,");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26731\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26732, "epsg", 26732,
+        "NAD27 / Alaska zone 2", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
+        "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=152400.");
     add_proj4text (p, 1,
-        "334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y");
-    add_proj4text (p, 2,
-        "_0=500000 +datum=NAD83 +units=m +no_defs");
+        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / California zone 2\",GEOGCS[\"NAD83\",DA");
+        "PROJCS[\"NAD27 / Alaska zone 2\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.83");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "333333333334],PARAMETER[\"standard_parallel_2\",38.33333");
+        "itude_of_origin\",54],PARAMETER[\"central_meridian\",-14");
     add_srs_wkt (p, 9,
-        "333333334],PARAMETER[\"latitude_of_origin\",37.666666666");
+        "2],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "66666],PARAMETER[\"central_meridian\",-122],PARAMETER[\"");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "false_easting\",2000000],PARAMETER[\"false_northing\",50");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"269");
-    add_srs_wkt (p, 14,
-        "42\"]]");
-    p = add_epsg_def (filter, first, last, 26943, "epsg", 26943,
-        "NAD83 / California zone 3");
+        "EPSG\",\"26732\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26733, "epsg", 26733,
+        "NAD27 / Alaska zone 3", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
+        "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=152400.");
     add_proj4text (p, 1,
-        "667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +");
-    add_proj4text (p, 2,
-        "datum=NAD83 +units=m +no_defs");
+        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / California zone 3\",GEOGCS[\"NAD83\",DA");
+        "PROJCS[\"NAD27 / Alaska zone 3\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.43");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "333333333333],PARAMETER[\"standard_parallel_2\",37.06666");
+        "itude_of_origin\",54],PARAMETER[\"central_meridian\",-14");
     add_srs_wkt (p, 9,
-        "666666667],PARAMETER[\"latitude_of_origin\",36.5],PARAME");
+        "6],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-120.5],PARAMETER[\"false_easti");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "ng\",2000000],PARAMETER[\"false_northing\",500000],UNIT[");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26943\"]]");
-    p = add_epsg_def (filter, first, last, 26944, "epsg", 26944,
-        "NAD83 / California zone 4");
+        "EPSG\",\"26733\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26734, "epsg", 26734,
+        "NAD27 / Alaska zone 4", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
+        "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=152400.");
     add_proj4text (p, 1,
-        "4 +lon_0=-119 +x_0=2000000 +y_0=500000 +datum=NAD83 +uni");
-    add_proj4text (p, 2,
-        "ts=m +no_defs");
+        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / California zone 4\",GEOGCS[\"NAD83\",DA");
+        "PROJCS[\"NAD27 / Alaska zone 4\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.25");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",36],PARAMETER[\"lati");
+        "itude_of_origin\",54],PARAMETER[\"central_meridian\",-15");
     add_srs_wkt (p, 9,
-        "tude_of_origin\",35.33333333333334],PARAMETER[\"central_");
+        "0],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "meridian\",-119],PARAMETER[\"false_easting\",2000000],PA");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",500000],UNIT[\"metre\",1,AUTH");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "RTH],AUTHORITY[\"EPSG\",\"26944\"]]");
-    p = add_epsg_def (filter, first, last, 26945, "epsg", 26945,
-        "NAD83 / California zone 5");
+        "EPSG\",\"26734\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26735, "epsg", 26735,
+        "NAD27 / Alaska zone 5", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
+        "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=152400.");
     add_proj4text (p, 1,
-        "333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +da");
-    add_proj4text (p, 2,
-        "tum=NAD83 +units=m +no_defs");
+        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / California zone 5\",GEOGCS[\"NAD83\",DA");
+        "PROJCS[\"NAD27 / Alaska zone 5\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35.46");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "666666666667],PARAMETER[\"standard_parallel_2\",34.03333");
+        "itude_of_origin\",54],PARAMETER[\"central_meridian\",-15");
     add_srs_wkt (p, 9,
-        "333333333],PARAMETER[\"latitude_of_origin\",33.5],PARAME");
+        "4],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-118],PARAMETER[\"false_easting");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "\",2000000],PARAMETER[\"false_northing\",500000],UNIT[\"");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26945\"]]");
-    p = add_epsg_def (filter, first, last, 26946, "epsg", 26946,
-        "NAD83 / California zone 6");
+        "EPSG\",\"26735\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26736, "epsg", 26736,
+        "NAD27 / Alaska zone 6", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
+        "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=152400.");
     add_proj4text (p, 1,
-        "333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000");
-    add_proj4text (p, 2,
-        " +y_0=500000 +datum=NAD83 +units=m +no_defs");
+        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / California zone 6\",GEOGCS[\"NAD83\",DA");
+        "PROJCS[\"NAD27 / Alaska zone 6\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",33.88");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "333333333333],PARAMETER[\"standard_parallel_2\",32.78333");
+        "itude_of_origin\",54],PARAMETER[\"central_meridian\",-15");
     add_srs_wkt (p, 9,
-        "333333333],PARAMETER[\"latitude_of_origin\",32.166666666");
+        "8],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "66666],PARAMETER[\"central_meridian\",-116.25],PARAMETER");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",2000000],PARAMETER[\"false_northing\"");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        ",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 14,
-        "26946\"]]");
-    p = add_epsg_def (filter, first, last, 26948, "epsg", 26948,
-        "NAD83 / Arizona East");
+        "EPSG\",\"26736\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26737, "epsg", 26737,
+        "NAD27 / Alaska zone 7", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
+        "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=213360.");
     add_proj4text (p, 1,
-        "9 +x_0=213360 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "4267208534 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Arizona East\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / Alaska zone 7\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"centr");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "al_meridian\",-110.1666666666667],PARAMETER[\"scale_fact");
+        "itude_of_origin\",54],PARAMETER[\"central_meridian\",-16");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",213360],PARAMET");
+        "2],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "easting\",700000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"26948\"]]");
-    p = add_epsg_def (filter, first, last, 26949, "epsg", 26949,
-        "NAD83 / Arizona Central");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"26737\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26738, "epsg", 26738,
+        "NAD27 / Alaska zone 8", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
+        "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=152400.");
     add_proj4text (p, 1,
-        "9 +x_0=213360 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Arizona Central\",GEOGCS[\"NAD83\",DATU");
+        "PROJCS[\"NAD27 / Alaska zone 8\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "central_meridian\",-111.9166666666667],PARAMETER[\"scale");
+        "itude_of_origin\",54],PARAMETER[\"central_meridian\",-16");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999],PARAMETER[\"false_easting\",213360],PA");
+        "6],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"26949\"]]");
-    p = add_epsg_def (filter, first, last, 26950, "epsg", 26950,
-        "NAD83 / Arizona West");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"26738\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26739, "epsg", 26739,
+        "NAD27 / Alaska zone 9", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
+        "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=182880.");
     add_proj4text (p, 1,
-        "=213360 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "3657607315 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Arizona West\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / Alaska zone 9\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"centr");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "al_meridian\",-113.75],PARAMETER[\"scale_factor\",0.9999");
+        "itude_of_origin\",54],PARAMETER[\"central_meridian\",-17");
     add_srs_wkt (p, 9,
-        "33333],PARAMETER[\"false_easting\",213360],PARAMETER[\"f");
+        "0],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "easting\",600000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"26950\"]]");
-    p = add_epsg_def (filter, first, last, 26951, "epsg", 26951,
-        "NAD83 / Arkansas North");
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"26739\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26740, "epsg", 26740,
+        "NAD27 / Alaska zone 10", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
+        "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0");
+        "334 +lat_0=51 +lon_0=-176 +x_0=914401.8288036576 +y_0=0 ");
     add_proj4text (p, 2,
-        "=0 +datum=NAD83 +units=m +no_defs");
+        "+datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Arkansas North\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"NAD27 / Alaska zone 10\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.23333");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        "333333333],PARAMETER[\"standard_parallel_2\",34.93333333");
+        "TER[\"standard_parallel_1\",53.83333333333334],PARAMETER");
     add_srs_wkt (p, 9,
-        "333333],PARAMETER[\"latitude_of_origin\",34.333333333333");
+        "[\"standard_parallel_2\",51.83333333333334],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "34],PARAMETER[\"central_meridian\",-92],PARAMETER[\"fals");
+        "latitude_of_origin\",51],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 11,
-        "e_easting\",400000],PARAMETER[\"false_northing\",0],UNIT");
+        "-176],PARAMETER[\"false_easting\",3000000],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26951\"]]");
-    p = add_epsg_def (filter, first, last, 26952, "epsg", 26952,
-        "NAD83 / Arkansas South");
+        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26740\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26741, "epsg", 26741,
+        "NAD27 / California zone I", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
+        "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +datu");
+        "3333333333334 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 ");
     add_proj4text (p, 2,
-        "m=NAD83 +units=m +no_defs");
+        "+datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Arkansas South\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"NAD27 / California zone I\",GEOGCS[\"NAD27\",DA");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",34.76666");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "666666667],PARAMETER[\"standard_parallel_2\",33.3],PARAM");
+        "AMETER[\"standard_parallel_1\",41.66666666666666],PARAME");
     add_srs_wkt (p, 9,
-        "ETER[\"latitude_of_origin\",32.66666666666666],PARAMETER");
+        "TER[\"standard_parallel_2\",40],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 10,
-        "[\"central_meridian\",-92],PARAMETER[\"false_easting\",4");
+        "origin\",39.33333333333334],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 11,
-        "00000],PARAMETER[\"false_northing\",400000],UNIT[\"metre");
+        "\",-122],PARAMETER[\"false_easting\",2000000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26952\"]]");
-    p = add_epsg_def (filter, first, last, 26953, "epsg", 26953,
-        "NAD83 / Colorado North");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26741\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26742, "epsg", 26742,
+        "NAD27 / California zone II", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
+        "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
     add_proj4text (p, 1,
-        "667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8");
+        "334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=609601.219");
     add_proj4text (p, 2,
-        "289 +y_0=304800.6096 +datum=NAD83 +units=m +no_defs");
+        "2024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Colorado North\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"NAD27 / California zone II\",GEOGCS[\"NAD27\",D");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.78333");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "333333333],PARAMETER[\"standard_parallel_2\",39.71666666");
+        "AMETER[\"standard_parallel_1\",39.83333333333334],PARAME");
     add_srs_wkt (p, 9,
-        "666667],PARAMETER[\"latitude_of_origin\",39.333333333333");
+        "TER[\"standard_parallel_2\",38.33333333333334],PARAMETER");
     add_srs_wkt (p, 10,
-        "34],PARAMETER[\"central_meridian\",-105.5],PARAMETER[\"f");
+        "[\"latitude_of_origin\",37.66666666666666],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "alse_easting\",914401.8289],PARAMETER[\"false_northing\"");
+        "entral_meridian\",-122],PARAMETER[\"false_easting\",2000");
     add_srs_wkt (p, 12,
-        ",304800.6096],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
     add_srs_wkt (p, 14,
-        "\",\"26953\"]]");
-    p = add_epsg_def (filter, first, last, 26954, "epsg", 26954,
-        "NAD83 / Colorado Central");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26");
+    add_srs_wkt (p, 15,
+        "742\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26743, "epsg", 26743,
+        "NAD27 / California zone III", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
+        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
     add_proj4text (p, 1,
-        "3334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +da");
+        "667 +lat_0=36.5 +lon_0=-120.5 +x_0=609601.2192024384 +y_");
     add_proj4text (p, 2,
-        "tum=NAD83 +units=m +no_defs");
+        "0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Colorado Central\",GEOGCS[\"NAD83\",DAT");
+        "PROJCS[\"NAD27 / California zone III\",GEOGCS[\"NAD27\",");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
+        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
     add_srs_wkt (p, 2,
-        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
+        "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.75],");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_2\",38.45],PARAMETER[\"lat");
+        "AMETER[\"standard_parallel_1\",38.43333333333333],PARAME");
     add_srs_wkt (p, 9,
-        "itude_of_origin\",37.83333333333334],PARAMETER[\"central");
+        "TER[\"standard_parallel_2\",37.06666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "_meridian\",-105.5],PARAMETER[\"false_easting\",914401.8");
+        "[\"latitude_of_origin\",36.5],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 11,
-        "289],PARAMETER[\"false_northing\",304800.6096],UNIT[\"me");
+        "an\",-120.5],PARAMETER[\"false_easting\",2000000],PARAME");
     add_srs_wkt (p, 12,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
     add_srs_wkt (p, 13,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26954\"]]");
-    p = add_epsg_def (filter, first, last, 26955, "epsg", 26955,
-        "NAD83 / Colorado South");
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 14,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26743\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26744, "epsg", 26744,
+        "NAD27 / California zone IV", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
+        "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8");
+        "4 +lon_0=-119 +x_0=609601.2192024384 +y_0=0 +datum=NAD27");
     add_proj4text (p, 2,
-        "289 +y_0=304800.6096 +datum=NAD83 +units=m +no_defs");
+        " +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Colorado South\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"NAD27 / California zone IV\",GEOGCS[\"NAD27\",D");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.43333");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "333333333],PARAMETER[\"standard_parallel_2\",37.23333333");
+        "AMETER[\"standard_parallel_1\",37.25],PARAMETER[\"standa");
     add_srs_wkt (p, 9,
-        "333333],PARAMETER[\"latitude_of_origin\",36.666666666666");
+        "rd_parallel_2\",36],PARAMETER[\"latitude_of_origin\",35.");
     add_srs_wkt (p, 10,
-        "66],PARAMETER[\"central_meridian\",-105.5],PARAMETER[\"f");
+        "33333333333334],PARAMETER[\"central_meridian\",-119],PAR");
     add_srs_wkt (p, 11,
-        "alse_easting\",914401.8289],PARAMETER[\"false_northing\"");
+        "AMETER[\"false_easting\",2000000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        ",304800.6096],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
     add_srs_wkt (p, 14,
-        "\",\"26955\"]]");
-    p = add_epsg_def (filter, first, last, 26956, "epsg", 26956,
-        "NAD83 / Connecticut");
+        "ORTH],AUTHORITY[\"EPSG\",\"26744\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26745, "epsg", 26745,
+        "NAD27 / California zone V", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
+        "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
     add_proj4text (p, 1,
-        ".83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=1524");
+        "333 +lat_0=33.5 +lon_0=-118 +x_0=609601.2192024384 +y_0=");
     add_proj4text (p, 2,
-        "00.3048 +datum=NAD83 +units=m +no_defs");
+        "0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Connecticut\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / California zone V\",GEOGCS[\"NAD27\",DA");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",41.86666666");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "666667],PARAMETER[\"standard_parallel_2\",41.2],PARAMETE");
+        "AMETER[\"standard_parallel_1\",35.46666666666667],PARAME");
     add_srs_wkt (p, 9,
-        "R[\"latitude_of_origin\",40.83333333333334],PARAMETER[\"");
+        "TER[\"standard_parallel_2\",34.03333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "central_meridian\",-72.75],PARAMETER[\"false_easting\",3");
+        "[\"latitude_of_origin\",33.5],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 11,
-        "04800.6096],PARAMETER[\"false_northing\",152400.3048],UN");
+        "an\",-118],PARAMETER[\"false_easting\",2000000],PARAMETE");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26956\"]]");
-    p = add_epsg_def (filter, first, last, 26957, "epsg", 26957,
-        "NAD83 / Delaware");
+        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 14,
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26745\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26746, "epsg", 26746,
+        "NAD27 / California zone VI", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
+        "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
     add_proj4text (p, 1,
-        "995 +x_0=200000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=609601.");
+    add_proj4text (p, 2,
+        "2192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Delaware\",GEOGCS[\"NAD83\",DATUM[\"Nor");
+        "PROJCS[\"NAD27 / California zone VI\",GEOGCS[\"NAD27\",D");
     add_srs_wkt (p, 1,
-        "th_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,2");
+        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenwi");
+        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"central");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "_meridian\",-75.41666666666667],PARAMETER[\"scale_factor");
+        "AMETER[\"standard_parallel_1\",33.88333333333333],PARAME");
     add_srs_wkt (p, 9,
-        "\",0.999995],PARAMETER[\"false_easting\",200000],PARAMET");
+        "TER[\"standard_parallel_2\",32.78333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "[\"latitude_of_origin\",32.16666666666666],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "entral_meridian\",-116.25],PARAMETER[\"false_easting\",2");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"26957\"]]");
-    p = add_epsg_def (filter, first, last, 26958, "epsg", 26958,
-        "NAD83 / Florida East");
+        "000000],PARAMETER[\"false_northing\",0],UNIT[\"US survey");
+    add_srs_wkt (p, 13,
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "26746\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26747, "epsg", 26747,
+        "NAD27 / California zone VII (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
+        "+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666");
     add_proj4text (p, 1,
-        "941177 +x_0=200000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +");
+    add_proj4text (p, 2,
+        "x_0=1276106.450596901 +y_0=127079.524511049 +datum=NAD27");
+    add_proj4text (p, 3,
+        " +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Florida East\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / California zone VII (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "CS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROI");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",24.33333333333333],PA");
+        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-81],PARAMETER[\"scale_fact");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",34.4166666");
     add_srs_wkt (p, 9,
-        "or\",0.999941177],PARAMETER[\"false_easting\",200000],PA");
+        "6666666],PARAMETER[\"standard_parallel_2\",33.8666666666");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "6667],PARAMETER[\"latitude_of_origin\",34.13333333333333");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "],PARAMETER[\"central_meridian\",-118.3333333333333],PAR");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"26958\"]]");
-    p = add_epsg_def (filter, first, last, 26959, "epsg", 26959,
-        "NAD83 / Florida West");
+        "AMETER[\"false_easting\",4186692.58],PARAMETER[\"false_n");
+    add_srs_wkt (p, 13,
+        "orthing\",416926.74],UNIT[\"US survey foot\",0.304800609");
+    add_srs_wkt (p, 14,
+        "6012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 15,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26747\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26748, "epsg", 26748,
+        "NAD27 / Arizona East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
+        "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "941177 +x_0=200000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "9 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-f");
+    add_proj4text (p, 2,
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Florida West\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / Arizona East\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",24.33333333333333],PA");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-82],PARAMETER[\"scale_fact");
+        "ude_of_origin\",31],PARAMETER[\"central_meridian\",-110.");
     add_srs_wkt (p, 9,
-        "or\",0.999941177],PARAMETER[\"false_easting\",200000],PA");
+        "1666666666667],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"26959\"]]");
-    p = add_epsg_def (filter, first, last, 26960, "epsg", 26960,
-        "NAD83 / Florida North");
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"26748\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26749, "epsg", 26749,
+        "NAD27 / Arizona Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
+        "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
     add_proj4text (p, 1,
-        "9 +lon_0=-84.5 +x_0=600000 +y_0=0 +datum=NAD83 +units=m ");
+        "9 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-f");
     add_proj4text (p, 2,
-        "+no_defs");
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Florida North\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Arizona Central\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",30.75],PAR");
+        "67\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",29.58333333333333],PARAME");
+        "atitude_of_origin\",31],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",29],PARAMETER[\"central_merid");
+        "111.9166666666667],PARAMETER[\"scale_factor\",0.9999],PA");
     add_srs_wkt (p, 10,
-        "ian\",-84.5],PARAMETER[\"false_easting\",600000],PARAMET");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "hing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUT");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "HORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"26960\"]]");
-    p = add_epsg_def (filter, first, last, 26961, "epsg", 26961,
-        "NAD83 / Hawaii zone 1");
+        "ORTH],AUTHORITY[\"EPSG\",\"26749\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26750, "epsg", 26750,
+        "NAD27 / Arizona West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.");
+        "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
     add_proj4text (p, 1,
-        "999966667 +x_0=500000 +y_0=0 +datum=NAD83 +units=m +no_d");
+        "=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_");
     add_proj4text (p, 2,
-        "efs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Hawaii zone 1\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Arizona West\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",18.83333333333333],");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-155.5],PARAMETER[\"scale");
+        "ude_of_origin\",31],PARAMETER[\"central_meridian\",-113.");
     add_srs_wkt (p, 9,
-        "_factor\",0.999966667],PARAMETER[\"false_easting\",50000");
+        "75],PARAMETER[\"scale_factor\",0.999933333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "RTH],AUTHORITY[\"EPSG\",\"26961\"]]");
-    p = add_epsg_def (filter, first, last, 26962, "epsg", 26962,
-        "NAD83 / Hawaii zone 2");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"26750\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26751, "epsg", 26751,
+        "NAD27 / Arkansas North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666");
+        "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=500000 +y_0=0 +datum=NAD83 +u");
+        "333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=609601.2192");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Hawaii zone 2\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Arkansas North\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",20.33333333333333],");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-156.6666666666667],PARAM");
+        "TER[\"standard_parallel_1\",36.23333333333333],PARAMETER");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.999966667],PARAMETER[\"false_eas");
+        "[\"standard_parallel_2\",34.93333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "latitude_of_origin\",34.33333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "ral_meridian\",-92],PARAMETER[\"false_easting\",2000000]");
     add_srs_wkt (p, 12,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26962\"]]");
-    p = add_epsg_def (filter, first, last, 26963, "epsg", 26963,
-        "NAD83 / Hawaii zone 3");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+    add_srs_wkt (p, 13,
+        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26751\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26752, "epsg", 26752,
+        "NAD27 / Arkansas South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99");
+        "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
     add_proj4text (p, 1,
-        "999 +x_0=500000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        ".66666666666666 +lon_0=-92 +x_0=609601.2192024384 +y_0=0");
+    add_proj4text (p, 2,
+        " +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Hawaii zone 3\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Arkansas South\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",21.16666666666667],");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-158],PARAMETER[\"scale_f");
+        "TER[\"standard_parallel_1\",34.76666666666667],PARAMETER");
     add_srs_wkt (p, 9,
-        "actor\",0.99999],PARAMETER[\"false_easting\",500000],PAR");
+        "[\"standard_parallel_2\",33.3],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "rigin\",32.66666666666666],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        ",-92],PARAMETER[\"false_easting\",2000000],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"26963\"]]");
-    p = add_epsg_def (filter, first, last, 26964, "epsg", 26964,
-        "NAD83 / Hawaii zone 4");
+        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
+    add_srs_wkt (p, 13,
+        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26752\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26753, "epsg", 26753,
+        "NAD27 / Colorado North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.");
+        "+proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333");
     add_proj4text (p, 1,
-        "99999 +x_0=500000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=609601.2");
+    add_proj4text (p, 2,
+        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Hawaii zone 4\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Colorado North\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",21.83333333333333],");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-159.5],PARAMETER[\"scale");
+        "TER[\"standard_parallel_1\",39.71666666666667],PARAMETER");
     add_srs_wkt (p, 9,
-        "_factor\",0.99999],PARAMETER[\"false_easting\",500000],P");
+        "[\"standard_parallel_2\",40.78333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "latitude_of_origin\",39.33333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "ral_meridian\",-105.5],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"26964\"]]");
-    p = add_epsg_def (filter, first, last, 26965, "epsg", 26965,
-        "NAD83 / Hawaii zone 5");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+    add_srs_wkt (p, 13,
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"267");
+    add_srs_wkt (p, 15,
+        "53\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26754, "epsg", 26754,
+        "NAD27 / Colorado Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666");
+        "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
     add_proj4text (p, 1,
-        "666667 +k=1 +x_0=500000 +y_0=0 +datum=NAD83 +units=m +no");
+        "3334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +datum=");
     add_proj4text (p, 2,
-        "_defs");
+        "NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Hawaii zone 5\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Colorado Central\",GEOGCS[\"NAD27\",DAT");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",21.66666666666667],");
+        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-160.1666666666667],PARAM");
+        "ETER[\"standard_parallel_1\",39.75],PARAMETER[\"standard");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
+        "_parallel_2\",38.45],PARAMETER[\"latitude_of_origin\",37");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        ".83333333333334],PARAMETER[\"central_meridian\",-105.5],");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "PARAMETER[\"false_easting\",2000000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"26965\"]]");
-    p = add_epsg_def (filter, first, last, 26966, "epsg", 26966,
-        "NAD83 / Georgia East");
+        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26754\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26755, "epsg", 26755,
+        "NAD27 / Colorado South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
+        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
     add_proj4text (p, 1,
-        "9 +x_0=200000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=609601.2");
+    add_proj4text (p, 2,
+        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Georgia East\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / Colorado South\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"centr");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        "al_meridian\",-82.16666666666667],PARAMETER[\"scale_fact");
+        "TER[\"standard_parallel_1\",38.43333333333333],PARAMETER");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET");
+        "[\"standard_parallel_2\",37.23333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "latitude_of_origin\",36.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "ral_meridian\",-105.5],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"26966\"]]");
-    p = add_epsg_def (filter, first, last, 26967, "epsg", 26967,
-        "NAD83 / Georgia West");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+    add_srs_wkt (p, 13,
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"267");
+    add_srs_wkt (p, 15,
+        "55\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26756, "epsg", 26756,
+        "NAD27 / Connecticut", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
+        "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
     add_proj4text (p, 1,
-        "9 +x_0=700000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        ".83333333333334 +lon_0=-72.75 +x_0=182880.3657607315 +y_");
+    add_proj4text (p, 2,
+        "0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Georgia West\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / Connecticut\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",30],PARAMETER[\"centr");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 8,
-        "al_meridian\",-84.16666666666667],PARAMETER[\"scale_fact");
+        "[\"standard_parallel_1\",41.86666666666667],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",700000],PARAMET");
+        "standard_parallel_2\",41.2],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "in\",40.83333333333334],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "72.75],PARAMETER[\"false_easting\",600000],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"26967\"]]");
-    p = add_epsg_def (filter, first, last, 26968, "epsg", 26968,
-        "NAD83 / Idaho East");
+        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
+    add_srs_wkt (p, 13,
+        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26756\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26757, "epsg", 26757,
+        "NAD27 / Delaware", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
+        "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +datum=N");
+        "995 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us");
     add_proj4text (p, 2,
-        "AD83 +units=m +no_defs");
+        "-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Idaho East\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"NAD27 / Delaware\",GEOGCS[\"NAD27\",DATUM[\"Nor");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "th_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637820");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "6.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTH");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "ORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]],");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",41.66666666666666],PA");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-112.1666666666667],PARAMET");
+        "_of_origin\",38],PARAMETER[\"central_meridian\",-75.4166");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.999947368],PARAMETER[\"false_easti");
+        "6666666667],PARAMETER[\"scale_factor\",0.999995],PARAMET");
     add_srs_wkt (p, 10,
-        "ng\",200000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26968\"]]");
-    p = add_epsg_def (filter, first, last, 26969, "epsg", 26969,
-        "NAD83 / Idaho Central");
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"26757\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26758, "epsg", 26758,
+        "NAD27 / Florida East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
+        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
     add_proj4text (p, 1,
-        "99473679999999 +x_0=500000 +y_0=0 +datum=NAD83 +units=m ");
+        "941177 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
     add_proj4text (p, 2,
-        "+no_defs");
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Idaho Central\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Florida East\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",41.66666666666666],");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-114],PARAMETER[\"scale_f");
+        "ude_of_origin\",24.33333333333333],PARAMETER[\"central_m");
     add_srs_wkt (p, 9,
-        "actor\",0.999947368],PARAMETER[\"false_easting\",500000]");
+        "eridian\",-81],PARAMETER[\"scale_factor\",0.999941177],P");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"26969\"]]");
-    p = add_epsg_def (filter, first, last, 26970, "epsg", 26970,
-        "NAD83 / Idaho West");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"26758\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26759, "epsg", 26759,
+        "NAD27 / Florida West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
+        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
     add_proj4text (p, 1,
-        ".999933333 +x_0=800000 +y_0=0 +datum=NAD83 +units=m +no_");
+        "941177 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
     add_proj4text (p, 2,
-        "defs");
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Idaho West\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"NAD27 / Florida West\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",41.66666666666666],PA");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-115.75],PARAMETER[\"scale_");
+        "ude_of_origin\",24.33333333333333],PARAMETER[\"central_m");
     add_srs_wkt (p, 9,
-        "factor\",0.999933333],PARAMETER[\"false_easting\",800000");
+        "eridian\",-82],PARAMETER[\"scale_factor\",0.999941177],P");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"26970\"]]");
-    p = add_epsg_def (filter, first, last, 26971, "epsg", 26971,
-        "NAD83 / Illinois East");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"26759\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26760, "epsg", 26760,
+        "NAD27 / Florida North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
+        "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
     add_proj4text (p, 1,
-        "333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +datum=N");
+        "9 +lon_0=-84.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD2");
     add_proj4text (p, 2,
-        "AD83 +units=m +no_defs");
+        "7 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Illinois East\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Florida North\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",36.66666666666666],");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-88.33333333333333],PARAM");
+        "ER[\"standard_parallel_1\",30.75],PARAMETER[\"standard_p");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.999975],PARAMETER[\"false_eastin");
+        "arallel_2\",29.58333333333333],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 10,
-        "g\",300000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "rigin\",29],PARAMETER[\"central_meridian\",-84.5],PARAME");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "TER[\"false_easting\",2000000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26971\"]]");
-    p = add_epsg_def (filter, first, last, 26972, "epsg", 26972,
-        "NAD83 / Illinois West");
+        "g\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"26760\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26766, "epsg", 26766,
+        "NAD27 / Georgia East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
+        "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "666667 +k=0.999941177 +x_0=700000 +y_0=0 +datum=NAD83 +u");
+        "9 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-f");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Illinois West\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Georgia East\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",36.66666666666666],");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-90.16666666666667],PARAM");
+        "ude_of_origin\",30],PARAMETER[\"central_meridian\",-82.1");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.999941177],PARAMETER[\"false_eas");
+        "6666666666667],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "ting\",700000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
     add_srs_wkt (p, 12,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26972\"]]");
-    p = add_epsg_def (filter, first, last, 26973, "epsg", 26973,
-        "NAD83 / Indiana East");
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"26766\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26767, "epsg", 26767,
+        "NAD27 / Georgia West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
+        "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "99966667 +x_0=100000 +y_0=250000 +datum=NAD83 +units=m +");
+        "9 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-f");
     add_proj4text (p, 2,
-        "no_defs");
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Indiana East\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / Georgia West\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",37.5],PARAMETER[\"cen");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-85.66666666666667],PARAMETER[\"scale_fa");
+        "ude_of_origin\",30],PARAMETER[\"central_meridian\",-84.1");
     add_srs_wkt (p, 9,
-        "ctor\",0.999966667],PARAMETER[\"false_easting\",100000],");
+        "6666666666667],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",250000],UNIT[\"metre\",1,AU");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"26973\"]]");
-    p = add_epsg_def (filter, first, last, 26974, "epsg", 26974,
-        "NAD83 / Indiana West");
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"26767\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26768, "epsg", 26768,
+        "NAD27 / Idaho East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
     add_proj4text (p, 1,
-        "99966667 +x_0=900000 +y_0=250000 +datum=NAD83 +units=m +");
+        "666667 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0");
     add_proj4text (p, 2,
-        "no_defs");
+        "=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Indiana West\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / Idaho East\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",37.5],PARAMETER[\"cen");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-87.08333333333333],PARAMETER[\"scale_fa");
+        "de_of_origin\",41.66666666666666],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "ctor\",0.999966667],PARAMETER[\"false_easting\",900000],");
+        "ridian\",-112.1666666666667],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",250000],UNIT[\"metre\",1,AU");
+        "0.999947368],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "ER[\"false_northing\",0],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"26974\"]]");
-    p = add_epsg_def (filter, first, last, 26975, "epsg", 26975,
-        "NAD83 / Iowa North");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 13,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26768\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26769, "epsg", 26769,
+        "NAD27 / Idaho Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
     add_proj4text (p, 1,
-        "667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +");
+        "99473679999999 +x_0=152400.3048006096 +y_0=0 +datum=NAD2");
     add_proj4text (p, 2,
-        "datum=NAD83 +units=m +no_defs");
+        "7 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Iowa North\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"NAD27 / Idaho Central\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",43.266666666");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "66667],PARAMETER[\"standard_parallel_2\",42.066666666666");
+        "itude_of_origin\",41.66666666666666],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "67],PARAMETER[\"latitude_of_origin\",41.5],PARAMETER[\"c");
+        "_meridian\",-114],PARAMETER[\"scale_factor\",0.999947368");
     add_srs_wkt (p, 10,
-        "entral_meridian\",-93.5],PARAMETER[\"false_easting\",150");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",1000000],UNIT[\"metre");
+        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 12,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26975\"]]");
-    p = add_epsg_def (filter, first, last, 26976, "epsg", 26976,
-        "NAD83 / Iowa South");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"26769\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26770, "epsg", 26770,
+        "NAD27 / Idaho West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
     add_proj4text (p, 1,
-        "667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +datum=NAD");
+        ".999933333 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +u");
     add_proj4text (p, 2,
-        "83 +units=m +no_defs");
+        "nits=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Iowa South\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"NAD27 / Idaho West\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",41.783333333");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        "33333],PARAMETER[\"standard_parallel_2\",40.616666666666");
+        "de_of_origin\",41.66666666666666],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "67],PARAMETER[\"latitude_of_origin\",40],PARAMETER[\"cen");
+        "ridian\",-115.75],PARAMETER[\"scale_factor\",0.999933333");
     add_srs_wkt (p, 10,
-        "tral_meridian\",-93.5],PARAMETER[\"false_easting\",50000");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
     add_srs_wkt (p, 13,
-        "RTH],AUTHORITY[\"EPSG\",\"26976\"]]");
-    p = add_epsg_def (filter, first, last, 26977, "epsg", 26977,
-        "NAD83 / Kansas North");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"26770\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26771, "epsg", 26771,
+        "NAD27 / Illinois East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
+        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
     add_proj4text (p, 1,
-        "667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0");
+        "333333 +k=0.9999749999999999 +x_0=152400.3048006096 +y_0");
     add_proj4text (p, 2,
-        "=0 +datum=NAD83 +units=m +no_defs");
+        "=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Kansas North\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / Illinois East\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",39.78333333");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "333333],PARAMETER[\"standard_parallel_2\",38.71666666666");
+        "itude_of_origin\",36.66666666666666],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "667],PARAMETER[\"latitude_of_origin\",38.33333333333334]");
+        "_meridian\",-88.33333333333333],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-98],PARAMETER[\"false_e");
+        "\",0.999975],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "asting\",400000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "ER[\"false_northing\",0],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 12,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
     add_srs_wkt (p, 13,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26977\"]]");
-    p = add_epsg_def (filter, first, last, 26978, "epsg", 26978,
-        "NAD83 / Kansas South");
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26771\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26772, "epsg", 26772,
+        "NAD27 / Illinois West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
+        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
     add_proj4text (p, 1,
-        "667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y");
+        "666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +dat");
     add_proj4text (p, 2,
-        "_0=400000 +datum=NAD83 +units=m +no_defs");
+        "um=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Kansas South\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NAD27 / Illinois West\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",38.56666666");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        "666667],PARAMETER[\"standard_parallel_2\",37.26666666666");
+        "itude_of_origin\",36.66666666666666],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "667],PARAMETER[\"latitude_of_origin\",36.66666666666666]");
+        "_meridian\",-90.16666666666667],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-98.5],PARAMETER[\"false");
+        "\",0.999941177],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "_easting\",400000],PARAMETER[\"false_northing\",400000],");
+        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
     add_srs_wkt (p, 12,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26978\"]]");
-    p = add_epsg_def (filter, first, last, 26979, "epsg", 26979,
-        "NAD83 / Kentucky North (deprecated)");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26772\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26773, "epsg", 26773,
+        "NAD27 / Indiana East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.96666666666667 +lat_2=37.96666666666");
+        "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +datum=");
+        "99966667 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
     add_proj4text (p, 2,
-        "NAD83 +units=m +no_defs");
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Kentucky North (deprecated)\",GEOGCS[\"");
+        "PROJCS[\"NAD27 / Indiana East\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "NAD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"G");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "RS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"701");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "9\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lamb");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "_1\",37.96666666666667],PARAMETER[\"standard_parallel_2\"");
+        "ude_of_origin\",37.5],PARAMETER[\"central_meridian\",-85");
     add_srs_wkt (p, 9,
-        ",37.96666666666667],PARAMETER[\"latitude_of_origin\",37.");
+        ".66666666666667],PARAMETER[\"scale_factor\",0.999966667]");
     add_srs_wkt (p, 10,
-        "5],PARAMETER[\"central_meridian\",-84.25],PARAMETER[\"fa");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
     add_srs_wkt (p, 12,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26979\"]]");
-    p = add_epsg_def (filter, first, last, 26980, "epsg", 26980,
-        "NAD83 / Kentucky South");
+        ",NORTH],AUTHORITY[\"EPSG\",\"26773\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26774, "epsg", 26774,
+        "NAD27 / Indiana West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
+        "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +");
+        "99966667 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
     add_proj4text (p, 2,
-        "y_0=500000 +datum=NAD83 +units=m +no_defs");
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Kentucky South\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"NAD27 / Indiana West\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.93333");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "333333333],PARAMETER[\"standard_parallel_2\",36.73333333");
+        "ude_of_origin\",37.5],PARAMETER[\"central_meridian\",-87");
     add_srs_wkt (p, 9,
-        "333333],PARAMETER[\"latitude_of_origin\",36.333333333333");
+        ".08333333333333],PARAMETER[\"scale_factor\",0.999966667]");
     add_srs_wkt (p, 10,
-        "34],PARAMETER[\"central_meridian\",-85.75],PARAMETER[\"f");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "alse_easting\",500000],PARAMETER[\"false_northing\",5000");
+        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
     add_srs_wkt (p, 12,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26980");
-    add_srs_wkt (p, 14,
-        "\"]]");
+        ",NORTH],AUTHORITY[\"EPSG\",\"26774\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_38.c b/src/srsinit/epsg_inlined_38.c
index 431a1b4..ca1af57 100644
--- a/src/srsinit/epsg_inlined_38.c
+++ b/src/srsinit/epsg_inlined_38.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3516 +54,4173 @@ initialize_epsg_38 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 26981, "epsg", 26981,
-        "NAD83 / Louisiana North");
+    p = add_epsg_def_ex (filter, first, last, 26775, "epsg", 26775,
+        "NAD27 / Iowa North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
+        "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
     add_proj4text (p, 1,
-        "667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +datum=");
+        "667 +lat_0=41.5 +lon_0=-93.5 +x_0=609601.2192024384 +y_0");
     add_proj4text (p, 2,
-        "NAD83 +units=m +no_defs");
+        "=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Louisiana North\",GEOGCS[\"NAD83\",DATU");
+        "PROJCS[\"NAD27 / Iowa North\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",32.6666");
+        "],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[");
     add_srs_wkt (p, 8,
-        "6666666666],PARAMETER[\"standard_parallel_2\",31.1666666");
+        "\"standard_parallel_1\",43.26666666666667],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "6666667],PARAMETER[\"latitude_of_origin\",30.5],PARAMETE");
+        "tandard_parallel_2\",42.06666666666667],PARAMETER[\"lati");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-92.5],PARAMETER[\"false_easting\"");
+        "tude_of_origin\",41.5],PARAMETER[\"central_meridian\",-9");
     add_srs_wkt (p, 11,
-        ",1000000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "3.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26981\"]]");
-    p = add_epsg_def (filter, first, last, 26982, "epsg", 26982,
-        "NAD83 / Louisiana South");
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26775\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26776, "epsg", 26776,
+        "NAD27 / Iowa South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
+        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
     add_proj4text (p, 1,
-        ".33333333333333 +x_0=1000000 +y_0=0 +datum=NAD83 +units=");
+        "667 +lat_0=40 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0");
     add_proj4text (p, 2,
-        "m +no_defs");
+        " +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Louisiana South\",GEOGCS[\"NAD83\",DATU");
+        "PROJCS[\"NAD27 / Iowa South\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",30.7],P");
+        "],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_2\",29.3],PARAMETER[\"latit");
+        "\"standard_parallel_1\",41.78333333333333],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "ude_of_origin\",28.5],PARAMETER[\"central_meridian\",-91");
+        "tandard_parallel_2\",40.61666666666667],PARAMETER[\"lati");
     add_srs_wkt (p, 10,
-        ".33333333333333],PARAMETER[\"false_easting\",1000000],PA");
+        "tude_of_origin\",40],PARAMETER[\"central_meridian\",-93.");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"26982\"]]");
-    p = add_epsg_def (filter, first, last, 26983, "epsg", 26983,
-        "NAD83 / Maine East");
+        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26776\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26777, "epsg", 26777,
+        "NAD27 / Kansas North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
+        "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
     add_proj4text (p, 1,
-        "999 +x_0=300000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=609601.2192");
+    add_proj4text (p, 2,
+        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Maine East\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"NAD27 / Kansas North\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",43.66666666666666],PA");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-68.5],PARAMETER[\"scale_fa");
+        "[\"standard_parallel_1\",39.78333333333333],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ctor\",0.9999],PARAMETER[\"false_easting\",300000],PARAM");
+        "standard_parallel_2\",38.71666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "itude_of_origin\",38.33333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "_meridian\",-98],PARAMETER[\"false_easting\",2000000],PA");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"26983\"]]");
-    p = add_epsg_def (filter, first, last, 26984, "epsg", 26984,
-        "NAD83 / Maine West");
+        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
+    add_srs_wkt (p, 13,
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26777\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26778, "epsg", 26778,
+        "NAD27 / Kansas South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
+        "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
     add_proj4text (p, 1,
-        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +datum=NAD83 +u");
+        "667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=609601.21");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Maine West\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"NAD27 / Kansas South\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",42.83333333333334],PA");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-70.16666666666667],PARAMET");
+        "[\"standard_parallel_1\",38.56666666666667],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ER[\"scale_factor\",0.999966667],PARAMETER[\"false_easti");
+        "standard_parallel_2\",37.26666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "ng\",900000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "itude_of_origin\",36.66666666666666],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "_meridian\",-98.5],PARAMETER[\"false_easting\",2000000],");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26984\"]]");
-    p = add_epsg_def (filter, first, last, 26985, "epsg", 26985,
-        "NAD83 / Maryland");
+        "PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",");
+    add_srs_wkt (p, 13,
+        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26778\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26779, "epsg", 26779,
+        "NAD27 / Kentucky North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
+        "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666");
     add_proj4text (p, 1,
-        "666 +lon_0=-77 +x_0=400000 +y_0=0 +datum=NAD83 +units=m ");
+        "667 +lat_0=37.5 +lon_0=-84.25 +x_0=609601.2192024384 +y_");
     add_proj4text (p, 2,
-        "+no_defs");
+        "0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Maryland\",GEOGCS[\"NAD83\",DATUM[\"Nor");
+        "PROJCS[\"NAD27 / Kentucky North\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "th_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,2");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenwi");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",39.45],PARAMET");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",38.3],PARAMETER[\"latitude_of");
+        "TER[\"standard_parallel_1\",37.96666666666667],PARAMETER");
     add_srs_wkt (p, 9,
-        "_origin\",37.66666666666666],PARAMETER[\"central_meridia");
+        "[\"standard_parallel_2\",38.96666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "n\",-77],PARAMETER[\"false_easting\",400000],PARAMETER[\"");
+        "latitude_of_origin\",37.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",-84.25],PARAMETER[\"false_easting\",2000000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"26985\"]]");
-    p = add_epsg_def (filter, first, last, 26986, "epsg", 26986,
-        "NAD83 / Massachusetts Mainland");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26779\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26780, "epsg", 26780,
+        "NAD27 / Kentucky South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
+        "+proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333");
     add_proj4text (p, 1,
-        "667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +datu");
+        "333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=609601.2");
     add_proj4text (p, 2,
-        "m=NAD83 +units=m +no_defs");
+        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Massachusetts Mainland\",GEOGCS[\"NAD83");
+        "PROJCS[\"NAD27 / Kentucky South\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 19");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PR");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        "2.68333333333333],PARAMETER[\"standard_parallel_2\",41.7");
+        "TER[\"standard_parallel_1\",36.73333333333333],PARAMETER");
     add_srs_wkt (p, 9,
-        "1666666666667],PARAMETER[\"latitude_of_origin\",41],PARA");
+        "[\"standard_parallel_2\",37.93333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-71.5],PARAMETER[\"false_east");
+        "latitude_of_origin\",36.33333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "ing\",200000],PARAMETER[\"false_northing\",750000],UNIT[");
+        "ral_meridian\",-85.75],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 12,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
     add_srs_wkt (p, 13,
-        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26986\"]]");
-    p = add_epsg_def (filter, first, last, 26987, "epsg", 26987,
-        "NAD83 / Massachusetts Island");
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"267");
+    add_srs_wkt (p, 15,
+        "80\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26781, "epsg", 26781,
+        "NAD27 / Louisiana North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
+        "+proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666");
     add_proj4text (p, 1,
-        "333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +datum=NAD");
+        "666 +lat_0=30.66666666666667 +lon_0=-92.5 +x_0=609601.21");
     add_proj4text (p, 2,
-        "83 +units=m +no_defs");
+        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Massachusetts Island\",GEOGCS[\"NAD83\"");
+        "PROJCS[\"NAD27 / Louisiana North\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        ",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIM");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41");
+        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        ".48333333333333],PARAMETER[\"standard_parallel_2\",41.28");
+        "ETER[\"standard_parallel_1\",31.16666666666667],PARAMETE");
     add_srs_wkt (p, 9,
-        "333333333333],PARAMETER[\"latitude_of_origin\",41],PARAM");
+        "R[\"standard_parallel_2\",32.66666666666666],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-70.5],PARAMETER[\"false_easti");
+        "latitude_of_origin\",30.66666666666667],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "ral_meridian\",-92.5],PARAMETER[\"false_easting\",200000");
     add_srs_wkt (p, 12,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
     add_srs_wkt (p, 13,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26987\"]]");
-    p = add_epsg_def (filter, first, last, 26988, "epsg", 26988,
-        "NAD83 / Michigan North");
+        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2678");
+    add_srs_wkt (p, 15,
+        "1\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26782, "epsg", 26782,
+        "NAD27 / Louisiana South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
+        "+proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.666666666666");
     add_proj4text (p, 1,
-        "333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_");
+        "67 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0");
     add_proj4text (p, 2,
-        "0=0 +datum=NAD83 +units=m +no_defs");
+        "=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Michigan North\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"NAD27 / Louisiana South\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.08333");
+        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        "333333334],PARAMETER[\"standard_parallel_2\",45.48333333");
+        "ETER[\"standard_parallel_1\",29.3],PARAMETER[\"standard_");
     add_srs_wkt (p, 9,
-        "333333],PARAMETER[\"latitude_of_origin\",44.783333333333");
+        "parallel_2\",30.7],PARAMETER[\"latitude_of_origin\",28.6");
     add_srs_wkt (p, 10,
-        "33],PARAMETER[\"central_meridian\",-87],PARAMETER[\"fals");
+        "6666666666667],PARAMETER[\"central_meridian\",-91.333333");
     add_srs_wkt (p, 11,
-        "e_easting\",8000000],PARAMETER[\"false_northing\",0],UNI");
+        "33333333],PARAMETER[\"false_easting\",2000000],PARAMETER");
     add_srs_wkt (p, 12,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+        "[\"false_northing\",0],UNIT[\"US survey foot\",0.3048006");
     add_srs_wkt (p, 13,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26988\"]]");
-    p = add_epsg_def (filter, first, last, 26989, "epsg", 26989,
-        "NAD83 / Michigan Central");
+        "096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26782\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26783, "epsg", 26783,
+        "NAD27 / Maine East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
+        "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
-        ".31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +");
+        "999 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us");
     add_proj4text (p, 2,
-        "y_0=0 +datum=NAD83 +units=m +no_defs");
+        "-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Michigan Central\",GEOGCS[\"NAD83\",DAT");
+        "PROJCS[\"NAD27 / Maine East\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.7],P");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"standard_parallel_2\",44.18333333333333],PARA");
+        "de_of_origin\",43.83333333333334],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "METER[\"latitude_of_origin\",43.31666666666667],PARAMETE");
+        "ridian\",-68.5],PARAMETER[\"scale_factor\",0.9999],PARAM");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-84.36666666666666],PARAMETER[\"f");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "alse_easting\",6000000],PARAMETER[\"false_northing\",0],");
+        "g\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
     add_srs_wkt (p, 12,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26989\"]]");
-    p = add_epsg_def (filter, first, last, 26990, "epsg", 26990,
-        "NAD83 / Michigan South");
+        "H],AUTHORITY[\"EPSG\",\"26783\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26784, "epsg", 26784,
+        "NAD27 / Maine West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
-        ".5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +datum=");
+        "666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +dat");
     add_proj4text (p, 2,
-        "NAD83 +units=m +no_defs");
+        "um=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Michigan South\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"NAD27 / Maine West\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",43.66666");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        "666666666],PARAMETER[\"standard_parallel_2\",42.1],PARAM");
+        "de_of_origin\",42.83333333333334],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "ETER[\"latitude_of_origin\",41.5],PARAMETER[\"central_me");
+        "ridian\",-70.16666666666667],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "ridian\",-84.36666666666666],PARAMETER[\"false_easting\"");
+        "0.999966667],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        ",4000000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ER[\"false_northing\",0],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26990\"]]");
-    p = add_epsg_def (filter, first, last, 26991, "epsg", 26991,
-        "NAD83 / Minnesota North");
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26784\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26785, "epsg", 26785,
+        "NAD27 / Maryland", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
+        "+proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.83333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y");
+        "334 +lon_0=-77 +x_0=243840.4876809754 +y_0=0 +datum=NAD2");
     add_proj4text (p, 2,
-        "_0=100000 +datum=NAD83 +units=m +no_defs");
+        "7 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Minnesota North\",GEOGCS[\"NAD83\",DATU");
+        "PROJCS[\"NAD27 / Maryland\",GEOGCS[\"NAD27\",DATUM[\"Nor");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+        "th_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637820");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "6.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTH");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "ORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]],");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",48.6333");
+        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "3333333333],PARAMETER[\"standard_parallel_2\",47.0333333");
+        "standard_parallel_1\",38.3],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 9,
-        "3333333],PARAMETER[\"latitude_of_origin\",46.5],PARAMETE");
+        "l_2\",39.45],PARAMETER[\"latitude_of_origin\",37.8333333");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-93.1],PARAMETER[\"false_easting\"");
+        "3333334],PARAMETER[\"central_meridian\",-77],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        ",800000],PARAMETER[\"false_northing\",100000],UNIT[\"met");
+        "false_easting\",800000.0000000002],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26991\"]]");
-    p = add_epsg_def (filter, first, last, 26992, "epsg", 26992,
-        "NAD83 / Minnesota Central");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 14,
+        "NORTH],AUTHORITY[\"EPSG\",\"26785\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26786, "epsg", 26786,
+        "NAD27 / Massachusetts Mainland", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
+        "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333");
     add_proj4text (p, 1,
-        "5 +lon_0=-94.25 +x_0=800000 +y_0=100000 +datum=NAD83 +un");
+        "333 +lat_0=41 +lon_0=-71.5 +x_0=182880.3657607315 +y_0=0");
     add_proj4text (p, 2,
-        "its=m +no_defs");
+        " +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Minnesota Central\",GEOGCS[\"NAD83\",DA");
+        "PROJCS[\"NAD27 / Massachusetts Mainland\",GEOGCS[\"NAD27");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
+        "\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        " 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
+        "7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.05");
+        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",45.61666666666667],P");
+        "PARAMETER[\"standard_parallel_1\",41.71666666666667],PAR");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"latitude_of_origin\",45],PARAMETER[\"central_");
+        "AMETER[\"standard_parallel_2\",42.68333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "meridian\",-94.25],PARAMETER[\"false_easting\",800000],P");
+        "TER[\"latitude_of_origin\",41],PARAMETER[\"central_merid");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_northing\",100000],UNIT[\"metre\",1,AUT");
+        "ian\",-71.5],PARAMETER[\"false_easting\",600000],PARAMET");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "ER[\"false_northing\",0],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"26992\"]]");
-    p = add_epsg_def (filter, first, last, 26993, "epsg", 26993,
-        "NAD83 / Minnesota South");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26786\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26787, "epsg", 26787,
+        "NAD27 / Massachusetts Island", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
+        "+proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333");
     add_proj4text (p, 1,
-        "333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +datum=");
+        "333 +lat_0=41 +lon_0=-70.5 +x_0=60960.12192024384 +y_0=0");
     add_proj4text (p, 2,
-        "NAD83 +units=m +no_defs");
+        " +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Minnesota South\",GEOGCS[\"NAD83\",DATU");
+        "PROJCS[\"NAD27 / Massachusetts Island\",GEOGCS[\"NAD27\"");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.2166");
+        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 8,
-        "6666666667],PARAMETER[\"standard_parallel_2\",43.7833333");
+        "PARAMETER[\"standard_parallel_1\",41.28333333333333],PAR");
     add_srs_wkt (p, 9,
-        "3333333],PARAMETER[\"latitude_of_origin\",43],PARAMETER[");
+        "AMETER[\"standard_parallel_2\",41.48333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-94],PARAMETER[\"false_easting\",80");
+        "TER[\"latitude_of_origin\",41],PARAMETER[\"central_merid");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",100000],UNIT[\"metre\"");
+        "ian\",-70.5],PARAMETER[\"false_easting\",200000],PARAMET");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "ER[\"false_northing\",0],UNIT[\"US survey foot\",0.30480");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26993\"]]");
-    p = add_epsg_def (filter, first, last, 26994, "epsg", 26994,
-        "NAD83 / Mississippi East");
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26787\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26791, "epsg", 26791,
+        "NAD27 / Minnesota North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
+        "+proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333");
     add_proj4text (p, 1,
-        "9995 +x_0=300000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=609601.21");
+    add_proj4text (p, 2,
+        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Mississippi East\",GEOGCS[\"NAD83\",DAT");
+        "PROJCS[\"NAD27 / Minnesota North\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",29.5],PARAMETER[");
+        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-88.83333333333333],PARAMETER[\"sca");
+        "ETER[\"standard_parallel_1\",47.03333333333333],PARAMETE");
     add_srs_wkt (p, 9,
-        "le_factor\",0.99995],PARAMETER[\"false_easting\",300000]");
+        "R[\"standard_parallel_2\",48.63333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "latitude_of_origin\",46.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        ",-93.1],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"26994\"]]");
-    p = add_epsg_def (filter, first, last, 26995, "epsg", 26995,
-        "NAD83 / Mississippi West");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+    add_srs_wkt (p, 13,
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26791\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26792, "epsg", 26792,
+        "NAD27 / Minnesota Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
+        "+proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=4");
     add_proj4text (p, 1,
-        "9995 +x_0=700000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "5 +lon_0=-94.25 +x_0=609601.2192024384 +y_0=0 +datum=NAD");
+    add_proj4text (p, 2,
+        "27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Mississippi West\",GEOGCS[\"NAD83\",DAT");
+        "PROJCS[\"NAD27 / Minnesota Central\",GEOGCS[\"NAD27\",DA");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
+        "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866");
     add_srs_wkt (p, 2,
-        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
+        "\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008");
     add_srs_wkt (p, 3,
-        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",29.5],PARAMETER[");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-90.33333333333333],PARAMETER[\"sca");
+        "AMETER[\"standard_parallel_1\",45.61666666666667],PARAME");
     add_srs_wkt (p, 9,
-        "le_factor\",0.99995],PARAMETER[\"false_easting\",700000]");
+        "TER[\"standard_parallel_2\",47.05],PARAMETER[\"latitude_");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "of_origin\",45],PARAMETER[\"central_meridian\",-94.25],P");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "ARAMETER[\"false_easting\",2000000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"26995\"]]");
-    p = add_epsg_def (filter, first, last, 26996, "epsg", 26996,
-        "NAD83 / Missouri East");
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26792\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26793, "epsg", 26793,
+        "NAD27 / Minnesota South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9");
+        "+proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666");
     add_proj4text (p, 1,
-        "99933333 +x_0=250000 +y_0=0 +datum=NAD83 +units=m +no_de");
+        "667 +lat_0=43 +lon_0=-94 +x_0=609601.2192024384 +y_0=0 +");
     add_proj4text (p, 2,
-        "fs");
+        "datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Missouri East\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Minnesota South\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",35.83333333333334],");
+        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-90.5],PARAMETER[\"scale_");
+        "ETER[\"standard_parallel_1\",43.78333333333333],PARAMETE");
     add_srs_wkt (p, 9,
-        "factor\",0.999933333],PARAMETER[\"false_easting\",250000");
+        "R[\"standard_parallel_2\",45.21666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "latitude_of_origin\",43],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "-94],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"26996\"]]");
-    p = add_epsg_def (filter, first, last, 26997, "epsg", 26997,
-        "NAD83 / Missouri Central");
+        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+    add_srs_wkt (p, 13,
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26793\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26794, "epsg", 26794,
+        "NAD27 / Mississippi East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9");
+        "+proj=tmerc +lat_0=29.66666666666667 +lon_0=-88.83333333");
     add_proj4text (p, 1,
-        "99933333 +x_0=500000 +y_0=0 +datum=NAD83 +units=m +no_de");
+        "333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +datum=N");
     add_proj4text (p, 2,
-        "fs");
+        "AD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Missouri Central\",GEOGCS[\"NAD83\",DAT");
+        "PROJCS[\"NAD27 / Mississippi East\",GEOGCS[\"NAD27\",DAT");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
+        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",35.8333333333333");
+        "67\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "4],PARAMETER[\"central_meridian\",-92.5],PARAMETER[\"sca");
+        "atitude_of_origin\",29.66666666666667],PARAMETER[\"centr");
     add_srs_wkt (p, 9,
-        "le_factor\",0.999933333],PARAMETER[\"false_easting\",500");
+        "al_meridian\",-88.83333333333333],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "or\",0.99996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"26997\"]]");
-    p = add_epsg_def (filter, first, last, 26998, "epsg", 26998,
-        "NAD83 / Missouri West");
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26794\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26795, "epsg", 26795,
+        "NAD27 / Mississippi West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9");
+        "+proj=tmerc +lat_0=30.5 +lon_0=-90.33333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "99941177 +x_0=850000 +y_0=0 +datum=NAD83 +units=m +no_de");
+        "99941177 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
     add_proj4text (p, 2,
-        "fs");
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Missouri West\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"NAD27 / Mississippi West\",GEOGCS[\"NAD27\",DAT");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",36.16666666666666],");
+        "67\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-94.5],PARAMETER[\"scale_");
+        "atitude_of_origin\",30.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 9,
-        "factor\",0.999941177],PARAMETER[\"false_easting\",850000");
+        ",-90.33333333333333],PARAMETER[\"scale_factor\",0.999941");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "177],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"26998\"]]");
-    p = add_epsg_def (filter, first, last, 27037, "epsg", 27037,
-        "Nahrwan 1967 / UTM zone 37N");
+        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26795\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26796, "epsg", 26796,
+        "NAD27 / Missouri East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +ellps=clrk80 +towgs84=-242.2,-144.9,");
+        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9");
     add_proj4text (p, 1,
-        "370.3,0,0,0,0 +units=m +no_defs");
+        "99933333 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Nahrwan 1967 / UTM zone 37N\",GEOGCS[\"Nahrwan ");
+        "PROJCS[\"NAD27 / Missouri East\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "1967\",DATUM[\"Nahrwan_1967\",SPHEROID[\"Clarke 1880 (RG");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "S)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],T");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "OWGS84[-242.2,-144.9,370.3,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "6270\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4270\"]],PROJECTION[");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"scale");
+        "itude_of_origin\",35.83333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        "_meridian\",-90.5],PARAMETER[\"scale_factor\",0.99993333");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "3],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"27037\"]]");
-    p = add_epsg_def (filter, first, last, 27038, "epsg", 27038,
-        "Nahrwan 1967 / UTM zone 38N");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26796\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26797, "epsg", 26797,
+        "NAD27 / Missouri Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +ellps=clrk80 +towgs84=-242.2,-144.9,");
+        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9");
     add_proj4text (p, 1,
-        "370.3,0,0,0,0 +units=m +no_defs");
+        "99933333 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Nahrwan 1967 / UTM zone 38N\",GEOGCS[\"Nahrwan ");
+        "PROJCS[\"NAD27 / Missouri Central\",GEOGCS[\"NAD27\",DAT");
     add_srs_wkt (p, 1,
-        "1967\",DATUM[\"Nahrwan_1967\",SPHEROID[\"Clarke 1880 (RG");
+        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "S)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],T");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "OWGS84[-242.2,-144.9,370.3,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "6270\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4270\"]],PROJECTION[");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "67\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"scale");
+        "atitude_of_origin\",35.83333333333334],PARAMETER[\"centr");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        "al_meridian\",-92.5],PARAMETER[\"scale_factor\",0.999933");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "333],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"27038\"]]");
-    p = add_epsg_def (filter, first, last, 27039, "epsg", 27039,
-        "Nahrwan 1967 / UTM zone 39N");
+        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26797\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26798, "epsg", 26798,
+        "NAD27 / Missouri West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +ellps=clrk80 +towgs84=-242.2,-144.9,");
+        "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9");
     add_proj4text (p, 1,
-        "370.3,0,0,0,0 +units=m +no_defs");
+        "99941177 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Nahrwan 1967 / UTM zone 39N\",GEOGCS[\"Nahrwan ");
+        "PROJCS[\"NAD27 / Missouri West\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "1967\",DATUM[\"Nahrwan_1967\",SPHEROID[\"Clarke 1880 (RG");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "S)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],T");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        "OWGS84[-242.2,-144.9,370.3,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "6270\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4270\"]],PROJECTION[");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"scale");
+        "itude_of_origin\",36.16666666666666],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        "_meridian\",-94.5],PARAMETER[\"scale_factor\",0.99994117");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "7],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"27039\"]]");
-    p = add_epsg_def (filter, first, last, 27040, "epsg", 27040,
-        "Nahrwan 1967 / UTM zone 40N");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26798\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26799, "epsg", 26799,
+        "NAD27 / California zone VII", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=40 +ellps=clrk80 +towgs84=-242.2,-144.9,");
+        "+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666");
     add_proj4text (p, 1,
-        "370.3,0,0,0,0 +units=m +no_defs");
+        "667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +");
+    add_proj4text (p, 2,
+        "x_0=1276106.450596901 +y_0=1268253.006858014 +datum=NAD2");
+    add_proj4text (p, 3,
+        "7 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Nahrwan 1967 / UTM zone 40N\",GEOGCS[\"Nahrwan ");
+        "PROJCS[\"NAD27 / California zone VII\",GEOGCS[\"NAD27\",");
     add_srs_wkt (p, 1,
-        "1967\",DATUM[\"Nahrwan_1967\",SPHEROID[\"Clarke 1880 (RG");
+        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
     add_srs_wkt (p, 2,
-        "S)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],T");
+        "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "OWGS84[-242.2,-144.9,370.3,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "6270\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4270\"]],PROJECTION[");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"scale");
+        "AMETER[\"standard_parallel_1\",34.41666666666666],PARAME");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        "TER[\"standard_parallel_2\",33.86666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "[\"latitude_of_origin\",34.13333333333333],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "entral_meridian\",-118.3333333333333],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"27040\"]]");
-    p = add_epsg_def (filter, first, last, 27120, "epsg", 27120,
-        "Naparima 1972 / UTM zone 20N");
+        "easting\",4186692.58],PARAMETER[\"false_northing\",41609");
+    add_srs_wkt (p, 13,
+        "26.74],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 15,
+        "H],AUTHORITY[\"EPSG\",\"26799\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26801, "epsg", 26801,
+        "NAD Michigan / Michigan East (deprecated)", 0, 0,
+        "Clarke 1866 Michigan", "Greenwich",
+        "NAD27_Michigan", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +ellps=intl +towgs84=-10,375,165,0,0,");
+        "+proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "0,0 +units=m +no_defs");
+        "99942857 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548");
+    add_proj4text (p, 2,
+        "896 +b=6356826.621488444 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Naparima 1972 / UTM zone 20N\",GEOGCS[\"Naparim");
+        "PROJCS[\"NAD Michigan / Michigan East (deprecated)\",GEO");
     add_srs_wkt (p, 1,
-        "a 1972\",DATUM[\"Naparima_1972\",SPHEROID[\"Internationa");
+        "GCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROID");
     add_srs_wkt (p, 2,
-        "l 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS");
+        "[\"Clarke 1866 Michigan\",6378450.047548896,294.97869716");
     add_srs_wkt (p, 3,
-        "84[-10,375,165,0,0,0,0],AUTHORITY[\"EPSG\",\"6271\"]],PR");
+        "46772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4271\"]],PROJECTION[\"Transverse");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-63],PARAMETER[\"scale_factor\",");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",41.5");
     add_srs_wkt (p, 9,
-        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "],PARAMETER[\"central_meridian\",-83.66666666666667],PAR");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "AMETER[\"scale_factor\",0.999942857],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"27120\"]]");
-    p = add_epsg_def (filter, first, last, 27200, "epsg", 27200,
-        "NZGD49 / New Zealand Map Grid");
+        "US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"26801\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26802, "epsg", 26802,
+        "NAD Michigan / Michigan Old Central (deprecated)", 0, 0,
+        "Clarke 1866 Michigan", "Greenwich",
+        "NAD27_Michigan", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=60231");
+        "+proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_");
     add_proj4text (p, 1,
-        "50 +datum=nzgd49 +units=m +no_defs");
+        "0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=63568");
+    add_proj4text (p, 2,
+        "26.621488444 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / New Zealand Map Grid\",GEOGCS[\"NZGD49");
+        "PROJCS[\"NAD Michigan / Michigan Old Central (deprecated");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"");
+        ")\",GEOGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",S");
     add_srs_wkt (p, 2,
-        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
+        "PHEROID[\"Clarke 1866 Michigan\",6378450.047548896,294.9");
     add_srs_wkt (p, 3,
-        "22\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.599");
+        "786971646772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"E");
     add_srs_wkt (p, 4,
-        "3],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,");
+        "PSG\",\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
     add_srs_wkt (p, 7,
-        ",\"4272\"]],PROJECTION[\"New_Zealand_Map_Grid\"],PARAMET");
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTIO");
     add_srs_wkt (p, 8,
-        "ER[\"latitude_of_origin\",-41],PARAMETER[\"central_merid");
+        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 9,
-        "ian\",173],PARAMETER[\"false_easting\",2510000],PARAMETE");
+        "n\",41.5],PARAMETER[\"central_meridian\",-85.75],PARAMET");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",6023150],UNIT[\"metre\",1,AUTHORITY");
+        "ER[\"scale_factor\",0.999909091],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"US s");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"27200\"]]");
-    p = add_epsg_def (filter, first, last, 27205, "epsg", 27205,
-        "NZGD49 / Mount Eden Circuit");
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 13,
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"26802\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26803, "epsg", 26803,
+        "NAD Michigan / Michigan West (deprecated)", 0, 0,
+        "Clarke 1866 Michigan", "Greenwich",
+        "NAD27_Michigan", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-36.87986527777778 +lon_0=174.7643393");
+        "+proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_");
     add_proj4text (p, 1,
-        "611111 +k=0.9999 +x_0=300000 +y_0=700000 +datum=nzgd49 +");
+        "0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=63568");
     add_proj4text (p, 2,
-        "units=m +no_defs");
+        "26.621488444 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Mount Eden Circuit\",GEOGCS[\"NZGD49\"");
+        "PROJCS[\"NAD Michigan / Michigan West (deprecated)\",GEO");
     add_srs_wkt (p, 1,
-        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
+        "GCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROID");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "[\"Clarke 1866 Michigan\",6378450.047548896,294.97869716");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
+        "46772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
+        "6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",-36.87986527777778],PARAMETER[\"");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",41.5");
     add_srs_wkt (p, 9,
-        "central_meridian\",174.7643393611111],PARAMETER[\"scale_");
+        "],PARAMETER[\"central_meridian\",-88.75],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "factor\",0.9999],PARAMETER[\"false_easting\",300000],PAR");
+        "le_factor\",0.999909091],PARAMETER[\"false_easting\",500");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",700000],UNIT[\"metre\",1,AUTHO");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27205\"]]");
-    p = add_epsg_def (filter, first, last, 27206, "epsg", 27206,
-        "NZGD49 / Bay of Plenty Circuit");
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26");
+    add_srs_wkt (p, 14,
+        "803\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26811, "epsg", 26811,
+        "NAD Michigan / Michigan North (deprecated)", 0, 0,
+        "Clarke 1866 Michigan", "Greenwich",
+        "NAD27_Michigan", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-37.76124980555556 +lon_0=176.4661972");
+        "+proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333");
     add_proj4text (p, 1,
-        "5 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units=m +n");
+        "334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=609601.2192");
     add_proj4text (p, 2,
-        "o_defs");
+        "024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 ");
+    add_proj4text (p, 3,
+        "+units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Bay of Plenty Circuit\",GEOGCS[\"NZGD4");
+        "PROJCS[\"NAD Michigan / Michigan North (deprecated)\",GE");
     add_srs_wkt (p, 1,
-        "9\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"");
+        "OGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROI");
     add_srs_wkt (p, 2,
-        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
+        "D[\"Clarke 1866 Michigan\",6378450.047548896,294.9786971");
     add_srs_wkt (p, 3,
-        "22\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.599");
+        "646772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "3],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,");
+        "\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        ",\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",-37.76124980555556],PARAMETER[\"");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "central_meridian\",176.46619725],PARAMETER[\"scale_facto");
+        "el_1\",45.48333333333333],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "r\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"f");
+        "2\",47.08333333333334],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        "alse_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "44.78333333333333],PARAMETER[\"central_meridian\",-87],P");
     add_srs_wkt (p, 12,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"27206\"]]");
-    p = add_epsg_def (filter, first, last, 27207, "epsg", 27207,
-        "NZGD49 / Poverty Bay Circuit");
+        "ARAMETER[\"false_easting\",2000000],PARAMETER[\"false_no");
+    add_srs_wkt (p, 13,
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26811\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26812, "epsg", 26812,
+        "NAD Michigan / Michigan Central (deprecated)", 0, 0,
+        "Clarke 1866 Michigan", "Greenwich",
+        "NAD27_Michigan", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-38.62470277777778 +lon_0=177.8856362");
+        "+proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43");
     add_proj4text (p, 1,
-        "777778 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        ".31666666666667 +lon_0=-84.33333333333333 +x_0=609601.21");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "92024384 +y_0=0 +a=6378450.047548896 +b=6356826.62148844");
+    add_proj4text (p, 3,
+        "4 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Poverty Bay Circuit\",GEOGCS[\"NZGD49\"");
+        "PROJCS[\"NAD Michigan / Michigan Central (deprecated)\",");
     add_srs_wkt (p, 1,
-        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
+        "GEOGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHER");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "OID[\"Clarke 1866 Michigan\",6378450.047548896,294.97869");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
+        "71646772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",-38.62470277777778],PARAMETER[\"");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "central_meridian\",177.8856362777778],PARAMETER[\"scale_");
+        "lel_1\",44.18333333333333],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "factor\",1],PARAMETER[\"false_easting\",300000],PARAMETE");
+        "_2\",45.7],PARAMETER[\"latitude_of_origin\",43.316666666");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[");
+        "66667],PARAMETER[\"central_meridian\",-84.33333333333333");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27207\"]]");
-    p = add_epsg_def (filter, first, last, 27208, "epsg", 27208,
-        "NZGD49 / Hawkes Bay Circuit");
+        "],PARAMETER[\"false_easting\",2000000],PARAMETER[\"false");
+    add_srs_wkt (p, 13,
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
+    add_srs_wkt (p, 14,
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26812\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26813, "epsg", 26813,
+        "NAD Michigan / Michigan South (deprecated)", 0, 0,
+        "Clarke 1866 Michigan", "Greenwich",
+        "NAD27_Michigan", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-39.65092930555556 +lon_0=176.6736805");
+        "+proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41");
     add_proj4text (p, 1,
-        "277778 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        ".5 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "=0 +a=6378450.047548896 +b=6356826.621488444 +units=us-f");
+    add_proj4text (p, 3,
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Hawkes Bay Circuit\",GEOGCS[\"NZGD49\"");
+        "PROJCS[\"NAD Michigan / Michigan South (deprecated)\",GE");
     add_srs_wkt (p, 1,
-        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
+        "OGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROI");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "D[\"Clarke 1866 Michigan\",6378450.047548896,294.9786971");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
+        "646772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
+        "\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4268\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",-39.65092930555556],PARAMETER[\"");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "central_meridian\",176.6736805277778],PARAMETER[\"scale_");
+        "el_1\",42.1],PARAMETER[\"standard_parallel_2\",43.666666");
     add_srs_wkt (p, 10,
-        "factor\",1],PARAMETER[\"false_easting\",300000],PARAMETE");
+        "66666666],PARAMETER[\"latitude_of_origin\",41.5],PARAMET");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[");
+        "ER[\"central_meridian\",-84.33333333333333],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27208\"]]");
-    p = add_epsg_def (filter, first, last, 27209, "epsg", 27209,
-        "NZGD49 / Taranaki Circuit");
+        "false_easting\",2000000],PARAMETER[\"false_northing\",0]");
+    add_srs_wkt (p, 13,
+        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"26813\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26814, "epsg", 26814,
+        "NAD83 / Maine East (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-39.13575830555556 +lon_0=174.2280117");
+        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
-        "5 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units=m +n");
+        "999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
     add_proj4text (p, 2,
-        "o_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Taranaki Circuit\",GEOGCS[\"NZGD49\",D");
+        "PROJCS[\"NAD83 / Maine East (ftUS) (deprecated)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "ATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Inte");
+        "[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "rnational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"626");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "9\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",-39.13575830555556],PARAMETER[\"cen");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",43.6666");
     add_srs_wkt (p, 9,
-        "tral_meridian\",174.22801175],PARAMETER[\"scale_factor\"");
+        "6666666666],PARAMETER[\"central_meridian\",-68.5],PARAME");
     add_srs_wkt (p, 10,
-        ",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fals");
+        "TER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "e_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        ",300000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"27209\"]]");
-    p = add_epsg_def (filter, first, last, 27210, "epsg", 27210,
-        "NZGD49 / Tuhirangi Circuit");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26814\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26815, "epsg", 26815,
+        "NAD83 / Maine West (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-39.51247038888889 +lon_0=175.6400368");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
-        "055556 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Tuhirangi Circuit\",GEOGCS[\"NZGD49\",");
+        "PROJCS[\"NAD83 / Maine West (ftUS) (deprecated)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Int");
+        "[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
+        "7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"626");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "9\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",-39.51247038888889],PARAMETER[\"cen");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",42.8333");
     add_srs_wkt (p, 9,
-        "tral_meridian\",175.6400368055556],PARAMETER[\"scale_fac");
+        "3333333334],PARAMETER[\"central_meridian\",-70.166666666");
     add_srs_wkt (p, 10,
-        "tor\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
+        "66667],PARAMETER[\"scale_factor\",0.999966667],PARAMETER");
     add_srs_wkt (p, 11,
-        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "[\"false_easting\",900000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27210\"]]");
-    p = add_epsg_def (filter, first, last, 27211, "epsg", 27211,
-        "NZGD49 / Wanganui Circuit");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26815\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26819, "epsg", 26819,
+        "NAD83 / Minnesota North (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-40.24194713888889 +lon_0=175.4880996");
+        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
-        "111111 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "00101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0");
+    add_proj4text (p, 3,
+        ",0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Wanganui Circuit\",GEOGCS[\"NZGD49\",D");
+        "PROJCS[\"NAD83 / Minnesota North (ftUS) (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "ATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Inte");
+        "EOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPHE");
     add_srs_wkt (p, 2,
-        "rnational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
+        "\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "\"6269\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",-40.24194713888889],PARAMETER[\"cen");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "tral_meridian\",175.4880996111111],PARAMETER[\"scale_fac");
+        "el_1\",48.63333333333333],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "tor\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
+        "2\",47.03333333333333],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "46.5],PARAMETER[\"central_meridian\",-93.1],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27211\"]]");
-    p = add_epsg_def (filter, first, last, 27212, "epsg", 27212,
-        "NZGD49 / Wairarapa Circuit");
+        "false_easting\",800000.0000101601],PARAMETER[\"false_nor");
+    add_srs_wkt (p, 13,
+        "thing\",99999.99998984],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"26819\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26820, "epsg", 26820,
+        "NAD83 / Minnesota Central (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-40.92553263888889 +lon_0=175.6473496");
+        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
-        "666667 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "5 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.999989");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "84 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Wairarapa Circuit\",GEOGCS[\"NZGD49\",");
+        "PROJCS[\"NAD83 / Minnesota Central (ftUS) (deprecated)\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Int");
+        ",GEOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",SP");
     add_srs_wkt (p, 2,
-        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        ",\"6269\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"L");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",-40.92553263888889],PARAMETER[\"cen");
+        "ambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 9,
-        "tral_meridian\",175.6473496666667],PARAMETER[\"scale_fac");
+        "lel_1\",47.05],PARAMETER[\"standard_parallel_2\",45.6166");
     add_srs_wkt (p, 10,
-        "tor\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
+        "6666666667],PARAMETER[\"latitude_of_origin\",45],PARAMET");
     add_srs_wkt (p, 11,
-        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "ER[\"central_meridian\",-94.25],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27212\"]]");
-    p = add_epsg_def (filter, first, last, 27213, "epsg", 27213,
-        "NZGD49 / Wellington Circuit");
+        "g\",800000.0000101601],PARAMETER[\"false_northing\",9999");
+    add_srs_wkt (p, 13,
+        "9.99998984],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 14,
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 15,
+        ",\"26820\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26821, "epsg", 26821,
+        "NAD83 / Minnesota South (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-41.30131963888888 +lon_0=174.7766231");
+        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
-        "111111 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=999");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "99.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Wellington Circuit\",GEOGCS[\"NZGD49\"");
+        "PROJCS[\"NAD83 / Minnesota South (ftUS) (deprecated)\",G");
     add_srs_wkt (p, 1,
-        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
+        "EOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPHE");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "ROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
+        "\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
+        "\"6269\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"La");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",-41.30131963888888],PARAMETER[\"");
+        "mbert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 9,
-        "central_meridian\",174.7766231111111],PARAMETER[\"scale_");
+        "el_1\",45.21666666666667],PARAMETER[\"standard_parallel_");
     add_srs_wkt (p, 10,
-        "factor\",1],PARAMETER[\"false_easting\",300000],PARAMETE");
+        "2\",43.78333333333333],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[");
+        "43],PARAMETER[\"central_meridian\",-94],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27213\"]]");
-    p = add_epsg_def (filter, first, last, 27214, "epsg", 27214,
-        "NZGD49 / Collingwood Circuit");
+        "e_easting\",800000.0000101601],PARAMETER[\"false_northin");
+    add_srs_wkt (p, 13,
+        "g\",99999.99998984],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"26821\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26822, "epsg", 26822,
+        "NAD83 / Nebraska (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-40.71475905555556 +lon_0=172.6720465");
+        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
-        " +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units=m +no");
+        "lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Collingwood Circuit\",GEOGCS[\"NZGD49\"");
+        "PROJCS[\"NAD83 / Nebraska (ftUS) (deprecated)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
+        "NAD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"G");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "RS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"701");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
+        "9\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",-40.71475905555556],PARAMETER[\"");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",4");
     add_srs_wkt (p, 9,
-        "central_meridian\",172.6720465],PARAMETER[\"scale_factor");
+        "3],PARAMETER[\"standard_parallel_2\",40],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
+        "itude_of_origin\",39.83333333333334],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "lse_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "_meridian\",-100],PARAMETER[\"false_easting\",500000.000");
     add_srs_wkt (p, 12,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"27214\"]]");
-    p = add_epsg_def (filter, first, last, 27215, "epsg", 27215,
-        "NZGD49 / Nelson Circuit");
+        "0101601],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+    add_srs_wkt (p, 13,
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26822\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26823, "epsg", 26823,
+        "NAD83 / West Virginia North (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-41.27454472222222 +lon_0=173.2993168");
+        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
-        "055555 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "5 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Nelson Circuit\",GEOGCS[\"NZGD49\",DAT");
+        "PROJCS[\"NAD83 / West Virginia North (ftUS) (deprecated)");
     add_srs_wkt (p, 1,
-        "UM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Intern");
+        "\",GEOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",");
     add_srs_wkt (p, 2,
-        "ational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]]");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        ",TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUT");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "G\",\"6269\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "72\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",-41.27454472222222],PARAMETER[\"cent");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "ral_meridian\",173.2993168055555],PARAMETER[\"scale_fact");
+        "rallel_1\",40.25],PARAMETER[\"standard_parallel_2\",39],");
     add_srs_wkt (p, 10,
-        "or\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
+        "PARAMETER[\"latitude_of_origin\",38.5],PARAMETER[\"centr");
     add_srs_wkt (p, 11,
-        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "al_meridian\",-79.5],PARAMETER[\"false_easting\",1968500");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27215\"]]");
-    p = add_epsg_def (filter, first, last, 27216, "epsg", 27216,
-        "NZGD49 / Karamea Circuit");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"26823\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26824, "epsg", 26824,
+        "NAD83 / West Virginia South (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-41.28991152777778 +lon_0=172.1090281");
+        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
-        "944444 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS8");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "0 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Karamea Circuit\",GEOGCS[\"NZGD49\",DA");
+        "PROJCS[\"NAD83 / West Virginia South (ftUS) (deprecated)");
     add_srs_wkt (p, 1,
-        "TUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Inter");
+        "\",GEOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",");
     add_srs_wkt (p, 2,
-        "national 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AU");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "G\",\"6269\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",-41.28991152777778],PARAMETER[\"cen");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "tral_meridian\",172.1090281944444],PARAMETER[\"scale_fac");
+        "rallel_1\",38.88333333333333],PARAMETER[\"standard_paral");
     add_srs_wkt (p, 10,
-        "tor\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
+        "lel_2\",37.48333333333333],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 11,
-        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "n\",37],PARAMETER[\"central_meridian\",-81],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27216\"]]");
-    p = add_epsg_def (filter, first, last, 27217, "epsg", 27217,
-        "NZGD49 / Buller Circuit");
+        "false_easting\",1968500],PARAMETER[\"false_northing\",0]");
+    add_srs_wkt (p, 13,
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+    add_srs_wkt (p, 14,
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26824\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 26825, "epsg", 26825,
+        "NAD83(HARN) / Maine East (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-41.81080286111111 +lon_0=171.5812600");
+        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
-        "555556 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Buller Circuit\",GEOGCS[\"NZGD49\",DAT");
+        "PROJCS[\"NAD83(HARN) / Maine East (ftUS) (deprecated)\",");
     add_srs_wkt (p, 1,
-        "UM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Intern");
+        "GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Refer");
     add_srs_wkt (p, 2,
-        "ational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]]");
+        "ence_Network\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        ",TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUT");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "72\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",-41.81080286111111],PARAMETER[\"cent");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "ral_meridian\",171.5812600555556],PARAMETER[\"scale_fact");
+        "ude_of_origin\",43.66666666666666],PARAMETER[\"central_m");
     add_srs_wkt (p, 10,
-        "or\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
+        "eridian\",-68.5],PARAMETER[\"scale_factor\",0.9999],PARA");
     add_srs_wkt (p, 11,
-        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "METER[\"false_easting\",300000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27217\"]]");
-    p = add_epsg_def (filter, first, last, 27218, "epsg", 27218,
-        "NZGD49 / Grey Circuit");
+        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 13,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 14,
+        "6825\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26826, "epsg", 26826,
+        "NAD83(HARN) / Maine West (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-42.33369427777778 +lon_0=171.5497713");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
-        "055556 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Grey Circuit\",GEOGCS[\"NZGD49\",DATUM");
+        "PROJCS[\"NAD83(HARN) / Maine West (ftUS) (deprecated)\",");
     add_srs_wkt (p, 1,
-        "[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Internat");
+        "GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Refer");
     add_srs_wkt (p, 2,
-        "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
+        "ence_Network\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "OWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTHO");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4272");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",-42.33369427777778],PARAMETER[\"centra");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "l_meridian\",171.5497713055556],PARAMETER[\"scale_factor");
+        "ude_of_origin\",42.83333333333334],PARAMETER[\"central_m");
     add_srs_wkt (p, 10,
-        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
+        "eridian\",-70.16666666666667],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "lse_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        ",0.999966667],PARAMETER[\"false_easting\",900000],PARAME");
     add_srs_wkt (p, 12,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"27218\"]]");
-    p = add_epsg_def (filter, first, last, 27219, "epsg", 27219,
-        "NZGD49 / Amuri Circuit");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 14,
+        "ORITY[\"EPSG\",\"26826\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26830, "epsg", 26830,
+        "NAD83(HARN) / Minnesota North (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-42.68911658333333 +lon_0=173.0101333");
+        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
-        "888889 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "00101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0");
+    add_proj4text (p, 3,
+        ",0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Amuri Circuit\",GEOGCS[\"NZGD49\",DATU");
+        "PROJCS[\"NAD83(HARN) / Minnesota North (ftUS) (deprecate");
     add_srs_wkt (p, 1,
-        "M[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Interna");
+        "d)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_");
     add_srs_wkt (p, 2,
-        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
+        "Reference_Network\",SPHEROID[\"GRS 1980\",6378137,298.25");
     add_srs_wkt (p, 3,
-        "TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTH");
+        "7222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        "0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"427");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "2\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",-42.68911658333333],PARAMETER[\"centr");
+        "4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "al_meridian\",173.0101333888889],PARAMETER[\"scale_facto");
+        "AMETER[\"standard_parallel_1\",48.63333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "r\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"f");
+        "TER[\"standard_parallel_2\",47.03333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "alse_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "[\"latitude_of_origin\",46.5],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 12,
-        "G\",\"9001\"]],AUTHORITY[\"EPSG\",\"27219\"]]");
-    p = add_epsg_def (filter, first, last, 27220, "epsg", 27220,
-        "NZGD49 / Marlborough Circuit");
+        "an\",-93.1],PARAMETER[\"false_easting\",800000.000010160");
+    add_srs_wkt (p, 13,
+        "1],PARAMETER[\"false_northing\",99999.99998984],UNIT[\"m");
+    add_srs_wkt (p, 14,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26830\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26831, "epsg", 26831,
+        "NAD83(HARN) / Minnesota Central (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-41.54448666666666 +lon_0=173.8020741");
+        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
-        "111111 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "5 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.999989");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "84 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Marlborough Circuit\",GEOGCS[\"NZGD49\"");
+        "PROJCS[\"NAD83(HARN) / Minnesota Central (ftUS) (depreca");
     add_srs_wkt (p, 1,
-        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
+        "ted)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accurac");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "y_Reference_Network\",SPHEROID[\"GRS 1980\",6378137,298.");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
+        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",-41.54448666666666],PARAMETER[\"");
+        "4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "central_meridian\",173.8020741111111],PARAMETER[\"scale_");
+        "AMETER[\"standard_parallel_1\",47.05],PARAMETER[\"standa");
     add_srs_wkt (p, 10,
-        "factor\",1],PARAMETER[\"false_easting\",300000],PARAMETE");
+        "rd_parallel_2\",45.61666666666667],PARAMETER[\"latitude_");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[");
+        "of_origin\",45],PARAMETER[\"central_meridian\",-94.25],P");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27220\"]]");
-    p = add_epsg_def (filter, first, last, 27221, "epsg", 27221,
-        "NZGD49 / Hokitika Circuit");
+        "ARAMETER[\"false_easting\",800000.0000101601],PARAMETER[");
+    add_srs_wkt (p, 13,
+        "\"false_northing\",99999.99998984],UNIT[\"metre\",1,AUTH");
+    add_srs_wkt (p, 14,
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 15,
+        "RTH],AUTHORITY[\"EPSG\",\"26831\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26832, "epsg", 26832,
+        "NAD83(HARN) / Minnesota South (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-42.88632236111111 +lon_0=170.9799935");
+        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
-        " +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units=m +no");
+        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=999");
     add_proj4text (p, 2,
-        "_defs");
+        "99.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Hokitika Circuit\",GEOGCS[\"NZGD49\",D");
+        "PROJCS[\"NAD83(HARN) / Minnesota South (ftUS) (deprecate");
     add_srs_wkt (p, 1,
-        "ATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Inte");
+        "d)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_");
     add_srs_wkt (p, 2,
-        "rnational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "Reference_Network\",SPHEROID[\"GRS 1980\",6378137,298.25");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
+        "7222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",-42.88632236111111],PARAMETER[\"cen");
+        "4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "tral_meridian\",170.9799935],PARAMETER[\"scale_factor\",");
+        "AMETER[\"standard_parallel_1\",45.21666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "1],PARAMETER[\"false_easting\",300000],PARAMETER[\"false");
+        "TER[\"standard_parallel_2\",43.78333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "[\"latitude_of_origin\",43],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "\"9001\"]],AUTHORITY[\"EPSG\",\"27221\"]]");
-    p = add_epsg_def (filter, first, last, 27222, "epsg", 27222,
-        "NZGD49 / Okarito Circuit");
+        "\",-94],PARAMETER[\"false_easting\",800000.0000101601],P");
+    add_srs_wkt (p, 13,
+        "ARAMETER[\"false_northing\",99999.99998984],UNIT[\"metre");
+    add_srs_wkt (p, 14,
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 15,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26832\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26833, "epsg", 26833,
+        "NAD83(HARN) / Nebraska (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-43.11012813888889 +lon_0=170.2609258");
+        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
-        "333333 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Okarito Circuit\",GEOGCS[\"NZGD49\",DA");
+        "PROJCS[\"NAD83(HARN) / Nebraska (ftUS) (deprecated)\",GE");
     add_srs_wkt (p, 1,
-        "TUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Inter");
+        "OGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Referen");
     add_srs_wkt (p, 2,
-        "national 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]");
+        "ce_Network\",SPHEROID[\"GRS 1980\",6378137,298.257222101");
     add_srs_wkt (p, 3,
-        "],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AU");
+        ",AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AU");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "THORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 5,
         "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",-43.11012813888889],PARAMETER[\"cen");
+        "],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[");
     add_srs_wkt (p, 9,
-        "tral_meridian\",170.2609258333333],PARAMETER[\"scale_fac");
+        "\"standard_parallel_1\",43],PARAMETER[\"standard_paralle");
     add_srs_wkt (p, 10,
-        "tor\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
+        "l_2\",40],PARAMETER[\"latitude_of_origin\",39.8333333333");
     add_srs_wkt (p, 11,
-        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "3334],PARAMETER[\"central_meridian\",-100],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27222\"]]");
-    p = add_epsg_def (filter, first, last, 27223, "epsg", 27223,
-        "NZGD49 / Jacksons Bay Circuit");
+        "alse_easting\",500000.0000101601],PARAMETER[\"false_nort");
+    add_srs_wkt (p, 13,
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "26833\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26834, "epsg", 26834,
+        "NAD83(HARN) / West Virginia North (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-43.97780288888889 +lon_0=168.606267 ");
+        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
-        "+k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units=m +no_");
+        "5 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,");
     add_proj4text (p, 2,
-        "defs");
+        "0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Jacksons Bay Circuit\",GEOGCS[\"NZGD49");
+        "PROJCS[\"NAD83(HARN) / West Virginia North (ftUS) (depre");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"");
+        "cated)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accur");
     add_srs_wkt (p, 2,
-        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
+        "acy_Reference_Network\",SPHEROID[\"GRS 1980\",6378137,29");
     add_srs_wkt (p, 3,
-        "22\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.599");
+        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
     add_srs_wkt (p, 4,
-        "3],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,");
+        "0,0,0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        ",\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",-43.97780288888889],PARAMETER[\"");
+        ",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "central_meridian\",168.606267],PARAMETER[\"scale_factor\"");
+        "PARAMETER[\"standard_parallel_1\",40.25],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        ",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fals");
+        "ndard_parallel_2\",39],PARAMETER[\"latitude_of_origin\",");
     add_srs_wkt (p, 11,
-        "e_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "38.5],PARAMETER[\"central_meridian\",-79.5],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AUTHORITY[\"EPSG\",\"27223\"]]");
-    p = add_epsg_def (filter, first, last, 27224, "epsg", 27224,
-        "NZGD49 / Mount Pleasant Circuit");
+        "false_easting\",1968500],PARAMETER[\"false_northing\",0]");
+    add_srs_wkt (p, 13,
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+    add_srs_wkt (p, 14,
+        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26834\"]");
+    add_srs_wkt (p, 15,
+        "]");
+    p = add_epsg_def_ex (filter, first, last, 26835, "epsg", 26835,
+        "NAD83(HARN) / West Virginia South (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-43.59063758333333 +lon_0=172.7271935");
+        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
-        "833333 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS8");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "0 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Mount Pleasant Circuit\",GEOGCS[\"NZGD");
+        "PROJCS[\"NAD83(HARN) / West Virginia South (ftUS) (depre");
     add_srs_wkt (p, 1,
-        "49\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[");
+        "cated)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accur");
     add_srs_wkt (p, 2,
-        "\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"");
+        "acy_Reference_Network\",SPHEROID[\"GRS 1980\",6378137,29");
     add_srs_wkt (p, 3,
-        "7022\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5");
+        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
     add_srs_wkt (p, 4,
-        "993],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",");
+        "0,0,0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 5,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "G\",\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",-43.59063758333333],PARAMETE");
+        ",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "R[\"central_meridian\",172.7271935833333],PARAMETER[\"sc");
+        "PARAMETER[\"standard_parallel_1\",38.88333333333333],PAR");
     add_srs_wkt (p, 10,
-        "ale_factor\",1],PARAMETER[\"false_easting\",300000],PARA");
+        "AMETER[\"standard_parallel_2\",37.48333333333333],PARAME");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",700000],UNIT[\"metre\",1,AUTHOR");
+        "TER[\"latitude_of_origin\",37],PARAMETER[\"central_merid");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27224\"]]");
-    p = add_epsg_def (filter, first, last, 27225, "epsg", 27225,
-        "NZGD49 / Gawler Circuit");
+        "ian\",-81],PARAMETER[\"false_easting\",1968500],PARAMETE");
+    add_srs_wkt (p, 13,
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"26835\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26836, "epsg", 26836,
+        "NAD83(NSRS2007) / Maine East (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-43.74871155555556 +lon_0=171.3607484");
+        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
-        "722222 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Gawler Circuit\",GEOGCS[\"NZGD49\",DAT");
+        "PROJCS[\"NAD83(NSRS2007) / Maine East (ftUS) (deprecated");
     add_srs_wkt (p, 1,
-        "UM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Intern");
+        ")\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Sp");
     add_srs_wkt (p, 2,
-        "ational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]]");
+        "atial_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 3,
-        ",TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUT");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "72\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",-43.74871155555556],PARAMETER[\"cent");
+        "PSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",171.3607484722222],PARAMETER[\"scale_fact");
+        "AMETER[\"latitude_of_origin\",43.66666666666666],PARAMET");
     add_srs_wkt (p, 10,
-        "or\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
+        "ER[\"central_meridian\",-68.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ",0.9999],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27225\"]]");
-    p = add_epsg_def (filter, first, last, 27226, "epsg", 27226,
-        "NZGD49 / Timaru Circuit");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"26836\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26837, "epsg", 26837,
+        "NAD83(NSRS2007) / Maine West (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-44.40222036111111 +lon_0=171.0572508");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
-        "333333 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Timaru Circuit\",GEOGCS[\"NZGD49\",DAT");
+        "PROJCS[\"NAD83(NSRS2007) / Maine West (ftUS) (deprecated");
     add_srs_wkt (p, 1,
-        "UM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Intern");
+        ")\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Sp");
     add_srs_wkt (p, 2,
-        "ational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]]");
+        "atial_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 3,
-        ",TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUT");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "72\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",-44.40222036111111],PARAMETER[\"cent");
+        "PSG\",\"4759\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ral_meridian\",171.0572508333333],PARAMETER[\"scale_fact");
+        "AMETER[\"latitude_of_origin\",42.83333333333334],PARAMET");
     add_srs_wkt (p, 10,
-        "or\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
+        "ER[\"central_meridian\",-70.16666666666667],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "scale_factor\",0.999966667],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        "SG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27226\"]]");
-    p = add_epsg_def (filter, first, last, 27227, "epsg", 27227,
-        "NZGD49 / Lindis Peak Circuit");
+        "900000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"26837\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26841, "epsg", 26841,
+        "NAD83(NSRS2007) / Minnesota North (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-44.73526797222222 +lon_0=169.4677550");
+        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
-        "833333 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "00101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0");
+    add_proj4text (p, 3,
+        ",0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Lindis Peak Circuit\",GEOGCS[\"NZGD49\"");
+        "PROJCS[\"NAD83(NSRS2007) / Minnesota North (ftUS) (depre");
     add_srs_wkt (p, 1,
-        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
+        "cated)\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_Nation");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "al_Spatial_Reference_System_2007\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 7,
-        "\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",-44.73526797222222],PARAMETER[\"");
+        "ITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 9,
-        "central_meridian\",169.4677550833333],PARAMETER[\"scale_");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",48.6333333");
     add_srs_wkt (p, 10,
-        "factor\",1],PARAMETER[\"false_easting\",300000],PARAMETE");
+        "3333333],PARAMETER[\"standard_parallel_2\",47.0333333333");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[");
+        "3333],PARAMETER[\"latitude_of_origin\",46.5],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27227\"]]");
-    p = add_epsg_def (filter, first, last, 27228, "epsg", 27228,
-        "NZGD49 / Mount Nicholas Circuit");
+        "central_meridian\",-93.1],PARAMETER[\"false_easting\",80");
+    add_srs_wkt (p, 13,
+        "0000.0000101601],PARAMETER[\"false_northing\",99999.9999");
+    add_srs_wkt (p, 14,
+        "8984],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 15,
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"268");
+    add_srs_wkt (p, 16,
+        "41\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26842, "epsg", 26842,
+        "NAD83(NSRS2007) / Minnesota Central (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-45.13290258333333 +lon_0=168.3986411");
+        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
-        "944444 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "5 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.999989");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "84 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Mount Nicholas Circuit\",GEOGCS[\"NZGD");
+        "PROJCS[\"NAD83(NSRS2007) / Minnesota Central (ftUS) (dep");
     add_srs_wkt (p, 1,
-        "49\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[");
+        "recated)\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_Nati");
     add_srs_wkt (p, 2,
-        "\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"");
+        "onal_Spatial_Reference_System_2007\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 3,
-        "7022\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 4,
-        "993],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIM");
     add_srs_wkt (p, 5,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "G\",\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",-45.13290258333333],PARAMETE");
+        "ORITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 9,
-        "R[\"central_meridian\",168.3986411944444],PARAMETER[\"sc");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.05],P");
     add_srs_wkt (p, 10,
-        "ale_factor\",1],PARAMETER[\"false_easting\",300000],PARA");
+        "ARAMETER[\"standard_parallel_2\",45.61666666666667],PARA");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",700000],UNIT[\"metre\",1,AUTHOR");
+        "METER[\"latitude_of_origin\",45],PARAMETER[\"central_mer");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27228\"]]");
-    p = add_epsg_def (filter, first, last, 27229, "epsg", 27229,
-        "NZGD49 / Mount York Circuit");
+        "idian\",-94.25],PARAMETER[\"false_easting\",800000.00001");
+    add_srs_wkt (p, 13,
+        "01601],PARAMETER[\"false_northing\",99999.99998984],UNIT");
+    add_srs_wkt (p, 14,
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 15,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26842\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26843, "epsg", 26843,
+        "NAD83(NSRS2007) / Minnesota South (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-45.56372616666666 +lon_0=167.7388617");
+        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
-        "777778 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=999");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "99.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Mount York Circuit\",GEOGCS[\"NZGD49\"");
+        "PROJCS[\"NAD83(NSRS2007) / Minnesota South (ftUS) (depre");
     add_srs_wkt (p, 1,
-        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
+        "cated)\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_Nation");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "al_Spatial_Reference_System_2007\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 7,
-        "\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",-45.56372616666666],PARAMETER[\"");
+        "ITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 9,
-        "central_meridian\",167.7388617777778],PARAMETER[\"scale_");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",45.2166666");
     add_srs_wkt (p, 10,
-        "factor\",1],PARAMETER[\"false_easting\",300000],PARAMETE");
+        "6666667],PARAMETER[\"standard_parallel_2\",43.7833333333");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[");
+        "3333],PARAMETER[\"latitude_of_origin\",43],PARAMETER[\"c");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27229\"]]");
-    p = add_epsg_def (filter, first, last, 27230, "epsg", 27230,
-        "NZGD49 / Observation Point Circuit");
+        "entral_meridian\",-94],PARAMETER[\"false_easting\",80000");
+    add_srs_wkt (p, 13,
+        "0.0000101601],PARAMETER[\"false_northing\",99999.9999898");
+    add_srs_wkt (p, 14,
+        "4],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26843\"");
+    add_srs_wkt (p, 16,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26844, "epsg", 26844,
+        "NAD83(NSRS2007) / Nebraska (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-45.81619661111111 +lon_0=170.6285951");
+        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
-        "666667 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units");
+        "lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Observation Point Circuit\",GEOGCS[\"N");
+        "PROJCS[\"NAD83(NSRS2007) / Nebraska (ftUS) (deprecated)\"");
     add_srs_wkt (p, 1,
-        "ZGD49\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHERO");
+        ",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spati");
     add_srs_wkt (p, 2,
-        "ID[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\"");
+        "al_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 3,
-        ",\"7022\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 4,
-        "4.5993],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 5,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",-45.81619661111111],PARAM");
+        "SG\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 9,
-        "ETER[\"central_meridian\",170.6285951666667],PARAMETER[\"");
+        "\"],PARAMETER[\"standard_parallel_1\",43],PARAMETER[\"st");
     add_srs_wkt (p, 10,
-        "scale_factor\",1],PARAMETER[\"false_easting\",300000],PA");
+        "andard_parallel_2\",40],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",700000],UNIT[\"metre\",1,AUTH");
+        ",39.83333333333334],PARAMETER[\"central_meridian\",-100]");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27230\"]]");
-    p = add_epsg_def (filter, first, last, 27231, "epsg", 27231,
-        "NZGD49 / North Taieri Circuit");
+        ",PARAMETER[\"false_easting\",500000.0000101601],PARAMETE");
+    add_srs_wkt (p, 13,
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"26844\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26845, "epsg", 26845,
+        "NAD83(NSRS2007) / West Virginia North (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-45.86151336111111 +lon_0=170.2825891");
+        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
-        "111111 +k=0.99996 +x_0=300000 +y_0=700000 +datum=nzgd49 ");
+        "5 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,");
     add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / North Taieri Circuit\",GEOGCS[\"NZGD49");
+        "PROJCS[\"NAD83(NSRS2007) / West Virginia North (ftUS) (d");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"");
+        "eprecated)\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_Na");
     add_srs_wkt (p, 2,
-        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
+        "tional_Spatial_Reference_System_2007\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        "22\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.599");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "3],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PR");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        ",\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",-45.86151336111111],PARAMETER[\"");
+        "HORITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 9,
-        "central_meridian\",170.2825891111111],PARAMETER[\"scale_");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.25],");
     add_srs_wkt (p, 10,
-        "factor\",0.99996],PARAMETER[\"false_easting\",300000],PA");
+        "PARAMETER[\"standard_parallel_2\",39],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",700000],UNIT[\"metre\",1,AUTH");
+        "de_of_origin\",38.5],PARAMETER[\"central_meridian\",-79.");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"27231\"]]");
-    p = add_epsg_def (filter, first, last, 27232, "epsg", 27232,
-        "NZGD49 / Bluff Circuit");
+        "5],PARAMETER[\"false_easting\",1968500],PARAMETER[\"fals");
+    add_srs_wkt (p, 13,
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 14,
+        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 15,
+        "SG\",\"26845\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26846, "epsg", 26846,
+        "NAD83(NSRS2007) / West Virginia South (ftUS) (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-46.60000961111111 +lon_0=168.342872 ");
+        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
-        "+k=1 +x_0=300002.66 +y_0=699999.58 +datum=nzgd49 +units=");
+        "333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS8");
     add_proj4text (p, 2,
-        "m +no_defs");
+        "0 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / Bluff Circuit\",GEOGCS[\"NZGD49\",DATU");
+        "PROJCS[\"NAD83(NSRS2007) / West Virginia South (ftUS) (d");
     add_srs_wkt (p, 1,
-        "M[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Interna");
+        "eprecated)\",GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_Na");
     add_srs_wkt (p, 2,
-        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
+        "tional_Spatial_Reference_System_2007\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 3,
-        "TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTH");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PR");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"427");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "2\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",-46.60000961111111],PARAMETER[\"centr");
+        "HORITY[\"EPSG\",\"4759\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 9,
-        "al_meridian\",168.342872],PARAMETER[\"scale_factor\",1],");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.8833");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",300002.66],PARAMETER[\"false");
+        "3333333333],PARAMETER[\"standard_parallel_2\",37.4833333");
     add_srs_wkt (p, 11,
-        "_northing\",699999.58],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+        "3333333],PARAMETER[\"latitude_of_origin\",37],PARAMETER[");
     add_srs_wkt (p, 12,
-        "\",\"9001\"]],AUTHORITY[\"EPSG\",\"27232\"]]");
-    p = add_epsg_def (filter, first, last, 27258, "epsg", 27258,
-        "NZGD49 / UTM zone 58S");
+        "\"central_meridian\",-81],PARAMETER[\"false_easting\",19");
+    add_srs_wkt (p, 13,
+        "68500],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26846\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26847, "epsg", 26847,
+        "NAD83 / Maine East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=58 +south +datum=nzgd49 +units=m +no_def");
+        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
-        "s");
+        "999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=");
+    add_proj4text (p, 2,
+        "0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / UTM zone 58S\",GEOGCS[\"NZGD49\",DATUM");
+        "PROJCS[\"NAD83 / Maine East (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
-        "[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Internat");
+        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "OWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTHO");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4272");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",165]");
+        "],PARAMETER[\"latitude_of_origin\",43.66666666666666],PA");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "RAMETER[\"central_meridian\",-68.5],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",984250.000000");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "0002],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
     add_srs_wkt (p, 13,
-        ",\"27258\"]]");
-    p = add_epsg_def (filter, first, last, 27259, "epsg", 27259,
-        "NZGD49 / UTM zone 59S");
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 14,
+        "6847\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26848, "epsg", 26848,
+        "NAD83 / Maine West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=59 +south +datum=nzgd49 +units=m +no_def");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
-        "s");
+        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
+    add_proj4text (p, 2,
+        "owgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / UTM zone 59S\",GEOGCS[\"NZGD49\",DATUM");
+        "PROJCS[\"NAD83 / Maine West (ftUS)\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
-        "[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Internat");
+        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "OWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTHO");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4272");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",171]");
+        "],PARAMETER[\"latitude_of_origin\",42.83333333333334],PA");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "RAMETER[\"central_meridian\",-70.16666666666667],PARAMET");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "ER[\"scale_factor\",0.999966667],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "ng\",2952750],PARAMETER[\"false_northing\",0],UNIT[\"US ");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 13,
-        ",\"27259\"]]");
-    p = add_epsg_def (filter, first, last, 27260, "epsg", 27260,
-        "NZGD49 / UTM zone 60S");
+        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 14,
+        "SG\",\"26848\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26849, "epsg", 26849,
+        "NAD83 / Minnesota North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=60 +south +datum=nzgd49 +units=m +no_def");
+        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
-        "s");
+        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
+    add_proj4text (p, 2,
+        "00101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,");
+    add_proj4text (p, 3,
+        "0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / UTM zone 60S\",GEOGCS[\"NZGD49\",DATUM");
+        "PROJCS[\"NAD83 / Minnesota North (ftUS)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Internat");
+        "\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 2,
-        "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 3,
-        "OWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTHO");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PR");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4272");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",177]");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",48.6333");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+        "3333333333],PARAMETER[\"standard_parallel_2\",47.0333333");
     add_srs_wkt (p, 10,
-        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+        "3333333],PARAMETER[\"latitude_of_origin\",46.5],PARAMETE");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "R[\"central_meridian\",-93.1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        ",2624666.6667],PARAMETER[\"false_northing\",328083.3333]");
     add_srs_wkt (p, 13,
-        ",\"27260\"]]");
-    p = add_epsg_def (filter, first, last, 27291, "epsg", 27291,
-        "NZGD49 / North Island Grid");
+        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"26849\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26850, "epsg", 26850,
+        "NAD83 / Minnesota Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-39 +lon_0=175.5 +k=1 +x_0=274319.524");
+        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
-        "3848086 +y_0=365759.3658464114 +datum=nzgd49 +to_meter=0");
+        "5 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.999989");
     add_proj4text (p, 2,
-        ".9143984146160287 +no_defs");
+        "83997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / North Island Grid\",GEOGCS[\"NZGD49\",");
+        "PROJCS[\"NAD83 / Minnesota Central (ftUS)\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Int");
+        "83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 2,
-        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",-39],PARAMETER[\"central_meridian\"");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.0");
     add_srs_wkt (p, 9,
-        ",175.5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
+        "5],PARAMETER[\"standard_parallel_2\",45.61666666666667],");
     add_srs_wkt (p, 10,
-        "easting\",300000],PARAMETER[\"false_northing\",400000],U");
+        "PARAMETER[\"latitude_of_origin\",45],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "NIT[\"British yard (Sears 1922)\",0.9143984146160287,AUT");
+        "_meridian\",-94.25],PARAMETER[\"false_easting\",2624666.");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9040\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "6667],PARAMETER[\"false_northing\",328083.3333],UNIT[\"U");
     add_srs_wkt (p, 13,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"27291\"]]");
-    p = add_epsg_def (filter, first, last, 27292, "epsg", 27292,
-        "NZGD49 / South Island Grid");
+        "S survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"26850\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26851, "epsg", 26851,
+        "NAD83 / Minnesota South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-44 +lon_0=171.5 +k=1 +x_0=457199.207");
+        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
-        "3080143 +y_0=457199.2073080143 +datum=nzgd49 +to_meter=0");
+        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=999");
     add_proj4text (p, 2,
-        ".9143984146160287 +no_defs");
+        "99.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 3,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NZGD49 / South Island Grid\",GEOGCS[\"NZGD49\",");
+        "PROJCS[\"NAD83 / Minnesota South (ftUS)\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Int");
+        "\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 2,
-        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PR");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",-44],PARAMETER[\"central_meridian\"");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.2166");
     add_srs_wkt (p, 9,
-        ",171.5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_");
+        "6666666667],PARAMETER[\"standard_parallel_2\",43.7833333");
     add_srs_wkt (p, 10,
-        "easting\",500000],PARAMETER[\"false_northing\",500000],U");
+        "3333333],PARAMETER[\"latitude_of_origin\",43],PARAMETER[");
     add_srs_wkt (p, 11,
-        "NIT[\"British yard (Sears 1922)\",0.9143984146160287,AUT");
+        "\"central_meridian\",-94],PARAMETER[\"false_easting\",26");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9040\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "24666.6667],PARAMETER[\"false_northing\",328083.3333],UN");
     add_srs_wkt (p, 13,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"27292\"]]");
-    p = add_epsg_def (filter, first, last, 27391, "epsg", 27391,
-        "NGO 1948 (Oslo) / NGO zone I");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 15,
+        "ITY[\"EPSG\",\"26851\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26852, "epsg", 26852,
+        "NAD83 / Nebraska (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=58 +lon_0=-4.666666666666667 +k=1 +x_");
+        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
-        "0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=");
+        "lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +tow");
     add_proj4text (p, 2,
-        "278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +");
-    add_proj4text (p, 3,
-        "no_defs");
+        "gs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NGO 1948 (Oslo) / NGO zone I\",GEOGCS[\"NGO 194");
+        "PROJCS[\"NAD83 / Nebraska (ftUS)\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
-        "8 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel Mod");
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        "ified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"700");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "5\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AUTH");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.72291666666");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.0174");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"E");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "PSG\",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "AMETER[\"latitude_of_origin\",58],PARAMETER[\"central_me");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",43],PARAMETER");
     add_srs_wkt (p, 9,
-        "ridian\",-4.666666666666667],PARAMETER[\"scale_factor\",");
+        "[\"standard_parallel_2\",40],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nort");
+        "gin\",39.83333333333334],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "-100],PARAMETER[\"false_easting\",1640416.6667],PARAMETE");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"27391\"]]");
-    p = add_epsg_def (filter, first, last, 27392, "epsg", 27392,
-        "NGO 1948 (Oslo) / NGO zone II");
+        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+    add_srs_wkt (p, 13,
+        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 14,
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26852\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26853, "epsg", 26853,
+        "NAD83 / West Virginia North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=58 +lon_0=-2.333333333333333 +k=1 +x_");
+        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
-        "0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=");
+        "5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
     add_proj4text (p, 2,
-        "278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +");
-    add_proj4text (p, 3,
-        "no_defs");
+        " +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NGO 1948 (Oslo) / NGO zone II\",GEOGCS[\"NGO 19");
+        "PROJCS[\"NAD83 / West Virginia North (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "48 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel Mo");
+        "AD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GR");
     add_srs_wkt (p, 2,
-        "dified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"70");
+        "S 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019");
     add_srs_wkt (p, 3,
-        "05\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AUT");
+        "\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.7229166666");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "6667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.017");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",58],PARAMETER[\"central_m");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40");
     add_srs_wkt (p, 9,
-        "eridian\",-2.333333333333333],PARAMETER[\"scale_factor\"");
+        ".25],PARAMETER[\"standard_parallel_2\",39],PARAMETER[\"l");
     add_srs_wkt (p, 10,
-        ",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nor");
+        "atitude_of_origin\",38.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",-79.5],PARAMETER[\"false_easting\",1968500],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"27392\"]]");
-    p = add_epsg_def (filter, first, last, 27393, "epsg", 27393,
-        "NGO 1948 (Oslo) / NGO zone III");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+    add_srs_wkt (p, 13,
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26853\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26854, "epsg", 26854,
+        "NAD83 / West Virginia South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=58 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=637");
+        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
-        "7492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.");
+        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80");
     add_proj4text (p, 2,
-        "889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs");
+        " +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NGO 1948 (Oslo) / NGO zone III\",GEOGCS[\"NGO 1");
+        "PROJCS[\"NAD83 / West Virginia South (ftUS)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "948 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel M");
+        "AD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GR");
     add_srs_wkt (p, 2,
-        "odified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"7");
+        "S 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019");
     add_srs_wkt (p, 3,
-        "005\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AU");
+        "\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.722916666");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "66667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.01");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",58],PARAMETER[\"central_m");
+        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38");
     add_srs_wkt (p, 9,
-        "eridian\",0],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
+        ".88333333333333],PARAMETER[\"standard_parallel_2\",37.48");
     add_srs_wkt (p, 10,
-        "alse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "333333333333],PARAMETER[\"latitude_of_origin\",37],PARAM");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        "ETER[\"central_meridian\",-81],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "\",\"27393\"]]");
-    p = add_epsg_def (filter, first, last, 27394, "epsg", 27394,
-        "NGO 1948 (Oslo) / NGO zone IV");
+        "\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US su");
+    add_srs_wkt (p, 13,
+        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+    add_srs_wkt (p, 14,
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 15,
+        "\",\"26854\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26855, "epsg", 26855,
+        "NAD83(HARN) / Maine East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=58 +lon_0=2.5 +k=1 +x_0=0 +y_0=0 +a=6");
+        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
-        "377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,");
+        "999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=");
     add_proj4text (p, 2,
-        "7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs");
+        "0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NGO 1948 (Oslo) / NGO zone IV\",GEOGCS[\"NGO 19");
+        "PROJCS[\"NAD83(HARN) / Maine East (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "48 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel Mo");
+        "3(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\"");
     add_srs_wkt (p, 2,
-        "dified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"70");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "05\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AUT");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.7229166666");
+        "G\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "6667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.017");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",58],PARAMETER[\"central_m");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "eridian\",2.5],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        ",43.66666666666666],PARAMETER[\"central_meridian\",-68.5");
     add_srs_wkt (p, 10,
-        "false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[");
+        "],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EP");
+        "asting\",984250.0000000002],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "SG\",\"27394\"]]");
-    p = add_epsg_def (filter, first, last, 27395, "epsg", 27395,
-        "NGO 1948 (Oslo) / NGO zone V");
+        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"26855\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26856, "epsg", 26856,
+        "NAD83(HARN) / Maine West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=58 +lon_0=6.166666666666667 +k=1 +x_0");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
-        "=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=2");
+        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "78.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +n");
-    add_proj4text (p, 3,
-        "o_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NGO 1948 (Oslo) / NGO zone V\",GEOGCS[\"NGO 194");
+        "PROJCS[\"NAD83(HARN) / Maine West (ftUS)\",GEOGCS[\"NAD8");
     add_srs_wkt (p, 1,
-        "8 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel Mod");
+        "3(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\"");
     add_srs_wkt (p, 2,
-        "ified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"700");
+        ",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "5\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AUTH");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.72291666666");
+        "G\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.0174");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"E");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "PSG\",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "AMETER[\"latitude_of_origin\",58],PARAMETER[\"central_me");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 9,
-        "ridian\",6.166666666666667],PARAMETER[\"scale_factor\",1");
+        ",42.83333333333334],PARAMETER[\"central_meridian\",-70.1");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",0],PARAMETER[\"false_north");
+        "6666666666667],PARAMETER[\"scale_factor\",0.999966667],P");
     add_srs_wkt (p, 11,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "ARAMETER[\"false_easting\",2952750],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"27395\"]]");
-    p = add_epsg_def (filter, first, last, 27396, "epsg", 27396,
-        "NGO 1948 (Oslo) / NGO zone VI");
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26856\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26857, "epsg", 26857,
+        "NAD83(HARN) / Minnesota North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=58 +lon_0=10.16666666666667 +k=1 +x_0");
+        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
-        "=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=2");
+        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
     add_proj4text (p, 2,
-        "78.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +n");
+        "00101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,");
     add_proj4text (p, 3,
-        "o_defs");
+        "0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NGO 1948 (Oslo) / NGO zone VI\",GEOGCS[\"NGO 19");
+        "PROJCS[\"NAD83(HARN) / Minnesota North (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "48 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel Mo");
+        "NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Netw");
     add_srs_wkt (p, 2,
-        "dified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"70");
+        "ork\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "05\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AUT");
+        "ITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.7229166666");
+        "[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "6667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.017");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",58],PARAMETER[\"central_m");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "eridian\",10.16666666666667],PARAMETER[\"scale_factor\",");
+        "ard_parallel_1\",48.63333333333333],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        "1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nort");
+        "_parallel_2\",47.03333333333333],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "_origin\",46.5],PARAMETER[\"central_meridian\",-93.1],PA");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"27396\"]]");
-    p = add_epsg_def (filter, first, last, 27397, "epsg", 27397,
-        "NGO 1948 (Oslo) / NGO zone VII");
+        "RAMETER[\"false_easting\",2624666.6667],PARAMETER[\"fals");
+    add_srs_wkt (p, 13,
+        "e_northing\",328083.3333],UNIT[\"US survey foot\",0.3048");
+    add_srs_wkt (p, 14,
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 15,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26857\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26858, "epsg", 26858,
+        "NAD83(HARN) / Minnesota Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=58 +lon_0=14.16666666666667 +k=1 +x_0");
+        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
-        "=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=2");
+        "5 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.999989");
     add_proj4text (p, 2,
-        "78.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +n");
+        "83997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +");
     add_proj4text (p, 3,
-        "o_defs");
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NGO 1948 (Oslo) / NGO zone VII\",GEOGCS[\"NGO 1");
+        "PROJCS[\"NAD83(HARN) / Minnesota Central (ftUS)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "948 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel M");
+        "[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_N");
     add_srs_wkt (p, 2,
-        "odified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"7");
+        "etwork\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUT");
     add_srs_wkt (p, 3,
-        "005\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AU");
+        "HORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHOR");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.722916666");
+        "ITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "66667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.01");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "EPSG\",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PR");
     add_srs_wkt (p, 8,
-        "RAMETER[\"latitude_of_origin\",58],PARAMETER[\"central_m");
+        "OJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"st");
     add_srs_wkt (p, 9,
-        "eridian\",14.16666666666667],PARAMETER[\"scale_factor\",");
+        "andard_parallel_1\",47.05],PARAMETER[\"standard_parallel");
     add_srs_wkt (p, 10,
-        "1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nort");
+        "_2\",45.61666666666667],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        ",45],PARAMETER[\"central_meridian\",-94.25],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"27397\"]]");
-    p = add_epsg_def (filter, first, last, 27398, "epsg", 27398,
-        "NGO 1948 (Oslo) / NGO zone VIII");
+        "false_easting\",2624666.6667],PARAMETER[\"false_northing");
+    add_srs_wkt (p, 13,
+        "\",328083.3333],UNIT[\"US survey foot\",0.30480060960121");
+    add_srs_wkt (p, 14,
+        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 15,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26858\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26859, "epsg", 26859,
+        "NAD83(HARN) / Minnesota South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=58 +lon_0=18.33333333333333 +k=1 +x_0");
+        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
-        "=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=2");
+        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=999");
     add_proj4text (p, 2,
-        "78.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +n");
+        "99.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
     add_proj4text (p, 3,
-        "o_defs");
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NGO 1948 (Oslo) / NGO zone VIII\",GEOGCS[\"NGO ");
+        "PROJCS[\"NAD83(HARN) / Minnesota South (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "1948 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel ");
+        "NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Netw");
     add_srs_wkt (p, 2,
-        "Modified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"");
+        "ork\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHOR");
     add_srs_wkt (p, 3,
-        "7005\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],A");
+        "ITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.72291666");
+        "[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "666667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.0");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJE");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_origin\",58],PARAMETER[\"central");
+        "CTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"stand");
     add_srs_wkt (p, 9,
-        "_meridian\",18.33333333333333],PARAMETER[\"scale_factor\"");
+        "ard_parallel_1\",45.21666666666667],PARAMETER[\"standard");
     add_srs_wkt (p, 10,
-        ",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_nor");
+        "_parallel_2\",43.78333333333333],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 11,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "_origin\",43],PARAMETER[\"central_meridian\",-94],PARAME");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"27398\"]]");
-    p = add_epsg_def (filter, first, last, 27429, "epsg", 27429,
-        "Datum 73 / UTM zone 29N");
+        "TER[\"false_easting\",2624666.6667],PARAMETER[\"false_no");
+    add_srs_wkt (p, 13,
+        "rthing\",328083.3333],UNIT[\"US survey foot\",0.30480060");
+    add_srs_wkt (p, 14,
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 15,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26859\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26860, "epsg", 26860,
+        "NAD83(HARN) / Nebraska (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=29 +ellps=intl +towgs84=-223.237,110.193");
+        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
-        ",36.649,0,0,0,0 +units=m +no_defs");
+        "lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +tow");
+    add_proj4text (p, 2,
+        "gs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Datum 73 / UTM zone 29N\",GEOGCS[\"Datum 73\",D");
+        "PROJCS[\"NAD83(HARN) / Nebraska (ftUS)\",GEOGCS[\"NAD83(");
     add_srs_wkt (p, 1,
-        "ATUM[\"Datum_73\",SPHEROID[\"International 1924\",637838");
+        "HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\",");
     add_srs_wkt (p, 2,
-        "8,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-223.237,110");
+        "SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        ".193,36.649,0,0,0,0],AUTHORITY[\"EPSG\",\"6274\"]],PRIME");
+        "EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPS");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "G\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4274\"]],PROJECTION[\"Transverse_M");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-9],PARAMETER[\"scale_factor\",0.9");
+        "\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "rallel_1\",43],PARAMETER[\"standard_parallel_2\",40],PAR");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "AMETER[\"latitude_of_origin\",39.83333333333334],PARAMET");
     add_srs_wkt (p, 11,
-        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+        "ER[\"central_meridian\",-100],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"27429\"]]");
-    p = add_epsg_def (filter, first, last, 27492, "epsg", 27492,
-        "Datum 73 / Modified Portuguese Grid (deprecated)");
+        ",1640416.6667],PARAMETER[\"false_northing\",0],UNIT[\"US");
+    add_srs_wkt (p, 13,
+        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"26860\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26861, "epsg", 26861,
+        "NAD83(HARN) / West Virginia North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111");
+        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
-        "111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=");
+        "5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
     add_proj4text (p, 2,
-        "intl +towgs84=-223.237,110.193,36.649,0,0,0,0 +units=m +");
-    add_proj4text (p, 3,
-        "no_defs");
+        " +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Datum 73 / Modified Portuguese Grid (deprecated");
+        "PROJCS[\"NAD83(HARN) / West Virginia North (ftUS)\",GEOG");
     add_srs_wkt (p, 1,
-        ")\",GEOGCS[\"Datum 73\",DATUM[\"Datum_73\",SPHEROID[\"In");
+        "CS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference");
     add_srs_wkt (p, 2,
-        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
+        "_Network\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[-223.237,110.193,36.649,0,0,0,0],AUTHORITY[");
+        "UTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTH");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6274\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "ORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4274\"]],");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],");
     add_srs_wkt (p, 8,
-        "_of_origin\",39.66666666666666],PARAMETER[\"central_meri");
+        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "dian\",-8.131906111111112],PARAMETER[\"scale_factor\",1]");
+        "standard_parallel_1\",40.25],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",180.598],PARAMETER[\"false_");
+        "el_2\",39],PARAMETER[\"latitude_of_origin\",38.5],PARAME");
     add_srs_wkt (p, 11,
-        "northing\",-86.99],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        "TER[\"central_meridian\",-79.5],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 12,
-        "9001\"]],AUTHORITY[\"EPSG\",\"27492\"]]");
-    p = add_epsg_def (filter, first, last, 27493, "epsg", 27493,
-        "Datum 73 / Modified Portuguese Grid");
+        "g\",1968500],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+    add_srs_wkt (p, 13,
+        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+    add_srs_wkt (p, 14,
+        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 15,
+        "G\",\"26861\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26862, "epsg", 26862,
+        "NAD83(HARN) / West Virginia South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_High_Accuracy_Reference_Network", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111");
+        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
-        "111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=");
+        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80");
     add_proj4text (p, 2,
-        "intl +towgs84=-223.237,110.193,36.649,0,0,0,0 +units=m +");
-    add_proj4text (p, 3,
-        "no_defs");
+        " +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Datum 73 / Modified Portuguese Grid\",GEOGCS[\"");
+        "PROJCS[\"NAD83(HARN) / West Virginia South (ftUS)\",GEOG");
     add_srs_wkt (p, 1,
-        "Datum 73\",DATUM[\"Datum_73\",SPHEROID[\"International 1");
+        "CS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference");
     add_srs_wkt (p, 2,
-        "924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[");
+        "_Network\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 3,
-        "-223.237,110.193,36.649,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
+        "UTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTH");
     add_srs_wkt (p, 4,
-        "74\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "ORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4274\"]],PROJECTION[\"T");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4152\"]],");
     add_srs_wkt (p, 8,
-        "9.66666666666666],PARAMETER[\"central_meridian\",-8.1319");
+        "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "06111111112],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
+        "standard_parallel_1\",38.88333333333333],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "alse_easting\",180.598],PARAMETER[\"false_northing\",-86");
+        "ndard_parallel_2\",37.48333333333333],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        ".99],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "de_of_origin\",37],PARAMETER[\"central_meridian\",-81],P");
     add_srs_wkt (p, 12,
-        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2749");
+        "ARAMETER[\"false_easting\",1968500],PARAMETER[\"false_no");
     add_srs_wkt (p, 13,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 27500, "epsg", 27500,
-        "ATF (Paris) / Nord de Guerre");
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 15,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26862\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26863, "epsg", 26863,
+        "NAD83(NSRS2007) / Maine East (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
+        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
-        "001 +lon_0=5.399999999999999 +k_0=0.99950908 +x_0=500000");
+        "999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=");
     add_proj4text (p, 2,
-        " +y_0=300000 +a=6376523 +b=6355862.933255573 +pm=2.33720");
-    add_proj4text (p, 3,
-        "8333333333 +units=m +no_defs");
+        "0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"ATF (Paris) / Nord de Guerre\",GEOGCS[\"ATF (Pa");
+        "PROJCS[\"NAD83(NSRS2007) / Maine East (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ris)\",DATUM[\"Ancienne_Triangulation_Francaise_Paris\",");
+        "NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Referen");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"Plessis 1817\",6376523,308.64,AUTHORITY[\"EPS");
+        "ce_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.25722");
     add_srs_wkt (p, 3,
-        "G\",\"7027\"]],AUTHORITY[\"EPSG\",\"6901\"]],PRIMEM[\"Pa");
+        "2101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "ris RGS\",2.337208333333333,AUTHORITY[\"EPSG\",\"8914\"]");
+        "],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "],UNIT[\"grad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "9105\"]],AUTHORITY[\"EPSG\",\"4901\"]],PROJECTION[\"Lamb");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        "ert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of_origi");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "n\",55],PARAMETER[\"central_meridian\",5.999999999999998");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",0.99950908],PARAMETER[\"fal");
+        "titude_of_origin\",43.66666666666666],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",300000");
+        "l_meridian\",-68.5],PARAMETER[\"scale_factor\",0.9999],P");
     add_srs_wkt (p, 11,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "ARAMETER[\"false_easting\",984250.0000000002],PARAMETER[");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"27500\"");
+        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 27561, "epsg", 27561,
-        "NTF (Paris) / Lambert Nord France");
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26863\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26864, "epsg", 26864,
+        "NAD83(NSRS2007) / Maine West (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a");
+        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=");
-    add_proj4text (p, 3,
-        "paris +units=m +no_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Lambert Nord France\",GEOGCS[\"NT");
+        "PROJCS[\"NAD83(NSRS2007) / Maine West (ftUS)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "F (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Par");
+        "NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Referen");
     add_srs_wkt (p, 2,
-        "is\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.466021");
+        "ce_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.25722");
     add_srs_wkt (p, 3,
-        "2936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,3");
+        "2101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "20,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris");
+        "],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\"");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        ",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHO");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        "RITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"475");
     add_srs_wkt (p, 8,
-        "Conic_1SP\"],PARAMETER[\"latitude_of_origin\",55],PARAME");
+        "9\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "TER[\"central_meridian\",0],PARAMETER[\"scale_factor\",0");
+        "titude_of_origin\",42.83333333333334],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        ".999877341],PARAMETER[\"false_easting\",600000],PARAMETE");
+        "l_meridian\",-70.16666666666667],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",200000],UNIT[\"metre\",1,AUTHORITY[");
+        "r\",0.999966667],PARAMETER[\"false_easting\",2952750],PA");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"27561\"]]");
-    p = add_epsg_def (filter, first, last, 27562, "epsg", 27562,
-        "NTF (Paris) / Lambert Centre France");
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26864\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26865, "epsg", 26865,
+        "NAD83(NSRS2007) / Minnesota North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
+        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
-        "42 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towg");
+        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.00");
     add_proj4text (p, 2,
-        "s84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs");
+        "00101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,");
+    add_proj4text (p, 3,
+        "0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Lambert Centre France\",GEOGCS[\"");
+        "PROJCS[\"NAD83(NSRS2007) / Minnesota North (ftUS)\",GEOG");
     add_srs_wkt (p, 1,
-        "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P");
+        "CS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Re");
     add_srs_wkt (p, 2,
-        "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660");
+        "ference_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.");
     add_srs_wkt (p, 3,
-        "212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60");
+        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,");
     add_srs_wkt (p, 4,
-        ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par");
+        "0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 5,
-        "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "d\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AU");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "THORITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conform");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "al_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",52],PAR");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "AMETER[\"central_meridian\",0],PARAMETER[\"scale_factor\"");
+        "AMETER[\"standard_parallel_1\",48.63333333333333],PARAME");
     add_srs_wkt (p, 10,
-        ",0.99987742],PARAMETER[\"false_easting\",600000],PARAMET");
+        "TER[\"standard_parallel_2\",47.03333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",200000],UNIT[\"metre\",1,AUTHORITY");
+        "[\"latitude_of_origin\",46.5],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "an\",-93.1],PARAMETER[\"false_easting\",2624666.6667],PA");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"27562\"]]");
-    p = add_epsg_def (filter, first, last, 27563, "epsg", 27563,
-        "NTF (Paris) / Lambert Sud France");
+        "RAMETER[\"false_northing\",328083.3333],UNIT[\"US survey");
+    add_srs_wkt (p, 14,
+        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
+    add_srs_wkt (p, 15,
+        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 16,
+        "26865\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26866, "epsg", 26866,
+        "NAD83(NSRS2007) / Minnesota Central (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
+        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a");
+        "5 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.999989");
     add_proj4text (p, 2,
-        "=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=");
+        "83997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +");
     add_proj4text (p, 3,
-        "paris +units=m +no_defs");
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Lambert Sud France\",GEOGCS[\"NTF");
+        "PROJCS[\"NAD83(NSRS2007) / Minnesota Central (ftUS)\",GE");
     add_srs_wkt (p, 1,
-        " (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Pari");
+        "OGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_");
     add_srs_wkt (p, 2,
-        "s\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212");
+        "Reference_System_2007\",SPHEROID[\"GRS 1980\",6378137,29");
     add_srs_wkt (p, 3,
-        "936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32");
+        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
     add_srs_wkt (p, 4,
-        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\"");
+        "0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 5,
-        ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHOR");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_C");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",49],PARAMET");
+        ",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 9,
-        "ER[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.");
+        "PARAMETER[\"standard_parallel_1\",47.05],PARAMETER[\"sta");
     add_srs_wkt (p, 10,
-        "999877499],PARAMETER[\"false_easting\",600000],PARAMETER");
+        "ndard_parallel_2\",45.61666666666667],PARAMETER[\"latitu");
     add_srs_wkt (p, 11,
-        "[\"false_northing\",200000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "de_of_origin\",45],PARAMETER[\"central_meridian\",-94.25");
     add_srs_wkt (p, 12,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "],PARAMETER[\"false_easting\",2624666.6667],PARAMETER[\"");
     add_srs_wkt (p, 13,
-        "HORITY[\"EPSG\",\"27563\"]]");
-    p = add_epsg_def (filter, first, last, 27564, "epsg", 27564,
-        "NTF (Paris) / Lambert Corse");
+        "false_northing\",328083.3333],UNIT[\"US survey foot\",0.");
+    add_srs_wkt (p, 14,
+        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 15,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26866\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26867, "epsg", 26867,
+        "NAD83(NSRS2007) / Minnesota South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000");
+        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.36");
+        "333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=999");
     add_proj4text (p, 2,
-        "9 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 ");
+        "99.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
     add_proj4text (p, 3,
-        "+pm=paris +units=m +no_defs");
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Lambert Corse\",GEOGCS[\"NTF (Par");
+        "PROJCS[\"NAD83(NSRS2007) / Minnesota South (ftUS)\",GEOG");
     add_srs_wkt (p, 1,
-        "is)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\",S");
+        "CS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Re");
     add_srs_wkt (p, 2,
-        "PHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.466021293626");
+        "ference_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.");
     add_srs_wkt (p, 3,
-        "5,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,0");
+        "257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,");
     add_srs_wkt (p, 4,
-        ",0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2.3");
+        "0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 5,
-        "3722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.01");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 6,
-        "570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHORITY[");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "_1SP\"],PARAMETER[\"latitude_of_origin\",46.85],PARAMETE");
+        "4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 9,
-        "R[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.9");
+        "AMETER[\"standard_parallel_1\",45.21666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "9994471],PARAMETER[\"false_easting\",234.358],PARAMETER[");
+        "TER[\"standard_parallel_2\",43.78333333333333],PARAMETER");
     add_srs_wkt (p, 11,
-        "\"false_northing\",185861.369],UNIT[\"metre\",1,AUTHORIT");
+        "[\"latitude_of_origin\",43],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "\",-94],PARAMETER[\"false_easting\",2624666.6667],PARAME");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"27564\"]]");
-    p = add_epsg_def (filter, first, last, 27571, "epsg", 27571,
-        "NTF (Paris) / Lambert zone I");
+        "TER[\"false_northing\",328083.3333],UNIT[\"US survey foo");
+    add_srs_wkt (p, 14,
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+    add_srs_wkt (p, 15,
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"268");
+    add_srs_wkt (p, 16,
+        "67\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26868, "epsg", 26868,
+        "NAD83(NSRS2007) / Nebraska (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
+        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +");
+        "lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +tow");
     add_proj4text (p, 2,
-        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
-    add_proj4text (p, 3,
-        "=paris +units=m +no_defs");
+        "gs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Lambert zone I\",GEOGCS[\"NTF (Pa");
+        "PROJCS[\"NAD83(NSRS2007) / Nebraska (ftUS)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "ris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\",");
+        "D83(NSRS2007)\",DATUM[\"NAD83_National_Spatial_Reference");
     add_srs_wkt (p, 2,
-        "SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129362");
+        "_System_2007\",SPHEROID[\"GRS 1980\",6378137,298.2572221");
     add_srs_wkt (p, 3,
-        "65,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,");
+        "01,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],");
     add_srs_wkt (p, 4,
-        "0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2.");
+        "AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 5,
-        "33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.0");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "1570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHORITY");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Coni");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4759\"");
     add_srs_wkt (p, 8,
-        "c_1SP\"],PARAMETER[\"latitude_of_origin\",55],PARAMETER[");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "\"central_meridian\",0],PARAMETER[\"scale_factor\",0.999");
+        "[\"standard_parallel_1\",43],PARAMETER[\"standard_parall");
     add_srs_wkt (p, 10,
-        "877341],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+        "el_2\",40],PARAMETER[\"latitude_of_origin\",39.833333333");
     add_srs_wkt (p, 11,
-        "false_northing\",1200000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "33334],PARAMETER[\"central_meridian\",-100],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "false_easting\",1640416.6667],PARAMETER[\"false_northing");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"27571\"]]");
-    p = add_epsg_def (filter, first, last, 27572, "epsg", 27572,
-        "NTF (Paris) / Lambert zone II");
+        "\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 15,
+        "],AUTHORITY[\"EPSG\",\"26868\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26869, "epsg", 26869,
+        "NAD83(NSRS2007) / West Virginia North (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
+        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
-        "42 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +tow");
+        "5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
     add_proj4text (p, 2,
-        "gs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs");
+        " +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Lambert zone II\",GEOGCS[\"NTF (P");
+        "PROJCS[\"NAD83(NSRS2007) / West Virginia North (ftUS)\",");
     add_srs_wkt (p, 1,
-        "aris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\"");
+        "GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatia");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936");
+        "l_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378137,");
     add_srs_wkt (p, 3,
-        "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0");
+        "298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,");
     add_srs_wkt (p, 4,
-        ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2");
+        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHORIT");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "ic_1SP\"],PARAMETER[\"latitude_of_origin\",52],PARAMETER");
+        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.99");
+        "],PARAMETER[\"standard_parallel_1\",40.25],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "987742],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+        "tandard_parallel_2\",39],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "false_northing\",2200000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        ",38.5],PARAMETER[\"central_meridian\",-79.5],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "false_easting\",1968500],PARAMETER[\"false_northing\",0]");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"27572\"]]");
-    p = add_epsg_def (filter, first, last, 27573, "epsg", 27573,
-        "NTF (Paris) / Lambert zone III");
+        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 15,
+        "HORITY[\"EPSG\",\"26869\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26870, "epsg", 26870,
+        "NAD83(NSRS2007) / West Virginia South (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
+        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +");
+        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80");
     add_proj4text (p, 2,
-        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
-    add_proj4text (p, 3,
-        "=paris +units=m +no_defs");
+        " +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Lambert zone III\",GEOGCS[\"NTF (");
+        "PROJCS[\"NAD83(NSRS2007) / West Virginia South (ftUS)\",");
     add_srs_wkt (p, 1,
-        "Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\"");
+        "GEOGCS[\"NAD83(NSRS2007)\",DATUM[\"NAD83_National_Spatia");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936");
+        "l_Reference_System_2007\",SPHEROID[\"GRS 1980\",6378137,");
     add_srs_wkt (p, 3,
-        "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0");
+        "298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,");
     add_srs_wkt (p, 4,
-        ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2");
+        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6759\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHORIT");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "ic_1SP\"],PARAMETER[\"latitude_of_origin\",49],PARAMETER");
+        "G\",\"4759\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.99");
+        "],PARAMETER[\"standard_parallel_1\",38.88333333333333],P");
     add_srs_wkt (p, 10,
-        "9877499],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+        "ARAMETER[\"standard_parallel_2\",37.48333333333333],PARA");
     add_srs_wkt (p, 11,
-        "false_northing\",3200000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "METER[\"latitude_of_origin\",37],PARAMETER[\"central_mer");
     add_srs_wkt (p, 12,
-        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+        "idian\",-81],PARAMETER[\"false_easting\",1968500],PARAME");
     add_srs_wkt (p, 13,
-        "ORITY[\"EPSG\",\"27573\"]]");
-    p = add_epsg_def (filter, first, last, 27574, "epsg", 27574,
-        "NTF (Paris) / Lambert zone IV");
+        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+    add_srs_wkt (p, 14,
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 15,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26870\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26891, "epsg", 26891,
+        "NAD83(CSRS) / MTM zone 11", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000");
+        "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.3");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
     add_proj4text (p, 2,
-        "69 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0");
-    add_proj4text (p, 3,
-        " +pm=paris +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Lambert zone IV\",GEOGCS[\"NTF (P");
+        "PROJCS[\"NAD83(CSRS) / MTM zone 11\",GEOGCS[\"NAD83(CSRS");
     add_srs_wkt (p, 1,
-        "aris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\"");
+        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2");
+        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHORIT");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "Y[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "ic_1SP\"],PARAMETER[\"latitude_of_origin\",46.85],PARAME");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "TER[\"central_meridian\",0],PARAMETER[\"scale_factor\",0");
+        "],PARAMETER[\"central_meridian\",-82.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        ".99994471],PARAMETER[\"false_easting\",234.358],PARAMETE");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",304800],P");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",4185861.369],UNIT[\"metre\",1,AUTHO");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
     add_srs_wkt (p, 13,
-        "TH],AUTHORITY[\"EPSG\",\"27574\"]]");
-    p = add_epsg_def (filter, first, last, 27581, "epsg", 27581,
-        "NTF (Paris) / France I (deprecated)");
+        "hing\",NORTH],AUTHORITY[\"EPSG\",\"26891\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26892, "epsg", 26892,
+        "NAD83(CSRS) / MTM zone 12", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
+        "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
-        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
-    add_proj4text (p, 3,
-        "=paris +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / France I (deprecated)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(CSRS) / MTM zone 12\",GEOGCS[\"NAD83(CSRS");
     add_srs_wkt (p, 1,
-        "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P");
+        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
     add_srs_wkt (p, 2,
-        "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par");
+        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "d\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AU");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "THORITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conform");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "al_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",55],PAR");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "AMETER[\"central_meridian\",0],PARAMETER[\"scale_factor\"");
+        "],PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        ",0.999877341],PARAMETER[\"false_easting\",600000],PARAME");
+        "factor\",0.9999],PARAMETER[\"false_easting\",304800],PAR");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",1200000],UNIT[\"metre\",1,AUTHORI");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 13,
-        "],AUTHORITY[\"EPSG\",\"27581\"]]");
-    p = add_epsg_def (filter, first, last, 27582, "epsg", 27582,
-        "NTF (Paris) / France II (deprecated)");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"26892\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26893, "epsg", 26893,
+        "NAD83(CSRS) / MTM zone 13", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
+        "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "42 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +tow");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
-        "gs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / France II (deprecated)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(CSRS) / MTM zone 13\",GEOGCS[\"NAD83(CSRS");
     add_srs_wkt (p, 1,
-        "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P");
+        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
     add_srs_wkt (p, 2,
-        "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par");
+        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "d\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AU");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "THORITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conform");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "al_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",52],PAR");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "AMETER[\"central_meridian\",0],PARAMETER[\"scale_factor\"");
+        "],PARAMETER[\"central_meridian\",-84],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        ",0.99987742],PARAMETER[\"false_easting\",600000],PARAMET");
+        "factor\",0.9999],PARAMETER[\"false_easting\",304800],PAR");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",2200000],UNIT[\"metre\",1,AUTHORIT");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"27582\"]]");
-    p = add_epsg_def (filter, first, last, 27583, "epsg", 27583,
-        "NTF (Paris) / France III (deprecated)");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"26893\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26894, "epsg", 26894,
+        "NAD83(CSRS) / MTM zone 14", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
+        "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
-        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
-    add_proj4text (p, 3,
-        "=paris +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / France III (deprecated)\",GEOGCS[");
+        "PROJCS[\"NAD83(CSRS) / MTM zone 14\",GEOGCS[\"NAD83(CSRS");
     add_srs_wkt (p, 1,
-        "\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise");
+        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
     add_srs_wkt (p, 2,
-        "_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "60212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"P");
+        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "aris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"g");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "rad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "AUTHORITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Confo");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "rmal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",49],P");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"central_meridian\",0],PARAMETER[\"scale_facto");
+        "],PARAMETER[\"central_meridian\",-87],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "r\",0.999877499],PARAMETER[\"false_easting\",600000],PAR");
+        "factor\",0.9999],PARAMETER[\"false_easting\",304800],PAR");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",3200000],UNIT[\"metre\",1,AUTH");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 13,
-        "RTH],AUTHORITY[\"EPSG\",\"27583\"]]");
-    p = add_epsg_def (filter, first, last, 27584, "epsg", 27584,
-        "NTF (Paris) / France IV (deprecated)");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"26894\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26895, "epsg", 26895,
+        "NAD83(CSRS) / MTM zone 15", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000");
+        "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.3");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
-        "69 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0");
-    add_proj4text (p, 3,
-        " +pm=paris +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / France IV (deprecated)\",GEOGCS[\"");
+        "PROJCS[\"NAD83(CSRS) / MTM zone 15\",GEOGCS[\"NAD83(CSRS");
     add_srs_wkt (p, 1,
-        "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P");
+        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
     add_srs_wkt (p, 2,
-        "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par");
+        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "d\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AU");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "THORITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conform");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "al_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",46.85],");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"central_meridian\",0],PARAMETER[\"scale_fact");
+        "],PARAMETER[\"central_meridian\",-90],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "or\",0.99994471],PARAMETER[\"false_easting\",234.358],PA");
+        "factor\",0.9999],PARAMETER[\"false_easting\",304800],PAR");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",4185861.369],UNIT[\"metre\",1");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"27584\"]]");
-    p = add_epsg_def (filter, first, last, 27591, "epsg", 27591,
-        "NTF (Paris) / Nord France (deprecated)");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"26895\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26896, "epsg", 26896,
+        "NAD83(CSRS) / MTM zone 16", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
+        "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
-        "=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=");
-    add_proj4text (p, 3,
-        "paris +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Nord France (deprecated)\",GEOGCS");
+        "PROJCS[\"NAD83(CSRS) / MTM zone 16\",GEOGCS[\"NAD83(CSRS");
     add_srs_wkt (p, 1,
-        "[\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francais");
+        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
     add_srs_wkt (p, 2,
-        "e_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "-60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"");
+        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "Paris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "grad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]]");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conf");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "ormal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",55],");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"central_meridian\",0],PARAMETER[\"scale_fact");
+        "],PARAMETER[\"central_meridian\",-93],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "or\",0.999877341],PARAMETER[\"false_easting\",600000],PA");
+        "factor\",0.9999],PARAMETER[\"false_easting\",304800],PAR");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",200000],UNIT[\"metre\",1,AUTH");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 13,
-        "RTH],AUTHORITY[\"EPSG\",\"27591\"]]");
-    p = add_epsg_def (filter, first, last, 27592, "epsg", 27592,
-        "NTF (Paris) / Centre France (deprecated)");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"26896\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26897, "epsg", 26897,
+        "NAD83(CSRS) / MTM zone 17", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
+        "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "42 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towg");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
-        "s84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Centre France (deprecated)\",GEOG");
+        "PROJCS[\"NAD83(CSRS) / MTM zone 17\",GEOGCS[\"NAD83(CSRS");
     add_srs_wkt (p, 1,
-        "CS[\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Franca");
+        ")\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SP");
     add_srs_wkt (p, 2,
-        "ise_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293");
+        "HEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        ".4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-16");
+        "SG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "8,-60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[");
+        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "\"Paris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "\"grad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "]],AUTHORITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Co");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "nformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",52");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"central_meridian\",0],PARAMETER[\"scale_fa");
+        "],PARAMETER[\"central_meridian\",-96],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ctor\",0.99987742],PARAMETER[\"false_easting\",600000],P");
+        "factor\",0.9999],PARAMETER[\"false_easting\",304800],PAR");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_northing\",200000],UNIT[\"metre\",1,AUT");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"27592\"]]");
-    p = add_epsg_def (filter, first, last, 27593, "epsg", 27593,
-        "NTF (Paris) / Sud France (deprecated)");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"26897\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26898, "epsg", 26898,
+        "NAD83(CSRS) / MTM zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
+        "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
-        "=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=");
-    add_proj4text (p, 3,
-        "paris +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Sud France (deprecated)\",GEOGCS[");
+        "PROJCS[\"NAD83(CSRS) / MTM zone 1\",GEOGCS[\"NAD83(CSRS)");
     add_srs_wkt (p, 1,
-        "\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise");
+        "\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SPH");
     add_srs_wkt (p, 2,
-        "_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "60212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"P");
+        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "aris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"g");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "rad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "AUTHORITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Confo");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "rmal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",49],P");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"central_meridian\",0],PARAMETER[\"scale_facto");
+        "],PARAMETER[\"central_meridian\",-53],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "r\",0.999877499],PARAMETER[\"false_easting\",600000],PAR");
+        "factor\",0.9999],PARAMETER[\"false_easting\",304800],PAR");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",200000],UNIT[\"metre\",1,AUTHO");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NO");
     add_srs_wkt (p, 13,
-        "TH],AUTHORITY[\"EPSG\",\"27593\"]]");
-    p = add_epsg_def (filter, first, last, 27594, "epsg", 27594,
-        "NTF (Paris) / Corse (deprecated)");
+        "RTH],AUTHORITY[\"EPSG\",\"26898\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26899, "epsg", 26899,
+        "NAD83(CSRS) / MTM zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "NAD83_Canadian_Spatial_Reference_System", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000");
+        "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.36");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
     add_proj4text (p, 2,
-        "9 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 ");
-    add_proj4text (p, 3,
-        "+pm=paris +units=m +no_defs");
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NTF (Paris) / Corse (deprecated)\",GEOGCS[\"NTF");
+        "PROJCS[\"NAD83(CSRS) / MTM zone 2\",GEOGCS[\"NAD83(CSRS)");
     add_srs_wkt (p, 1,
-        " (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Pari");
+        "\",DATUM[\"NAD83_Canadian_Spatial_Reference_System\",SPH");
     add_srs_wkt (p, 2,
-        "s\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212");
+        "EROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32");
+        "G\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\"");
+        ",\"6140\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHOR");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_C");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4617\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",46.85],PARA");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 9,
-        "METER[\"central_meridian\",0],PARAMETER[\"scale_factor\"");
+        "],PARAMETER[\"central_meridian\",-56],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        ",0.99994471],PARAMETER[\"false_easting\",234.358],PARAME");
+        "factor\",0.9999],PARAMETER[\"false_easting\",304800],PAR");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",185861.369],UNIT[\"metre\",1,AUTH");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "\"EPSG\",\"9001\"]],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NO");
     add_srs_wkt (p, 13,
-        "RTH],AUTHORITY[\"EPSG\",\"27594\"]]");
-    p = add_epsg_def (filter, first, last, 27700, "epsg", 27700,
-        "OSGB 1936 / British National Grid");
+        "RTH],AUTHORITY[\"EPSG\",\"26899\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26901, "epsg", 26901,
+        "NAD83 / UTM zone 1N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400");
+        "+proj=utm +zone=1 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "000 +y_0=-100000 +datum=OSGB36 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"OSGB 1936 / British National Grid\",GEOGCS[\"OS");
+        "PROJCS[\"NAD83 / UTM zone 1N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "GB 1936\",DATUM[\"OSGB_1936\",SPHEROID[\"Airy 1830\",637");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "7563.396,299.3249646,AUTHORITY[\"EPSG\",\"7001\"]],TOWGS");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "84[446.448,-125.157,542.06,0.15,0.247,0.842,-20.489],AUT");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6277\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "77\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",49],PARAMETER[\"central_meridian\",-");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "2],PARAMETER[\"scale_factor\",0.9996012717],PARAMETER[\"");
+        "idian\",-177],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "false_easting\",400000],PARAMETER[\"false_northing\",-10");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "EPSG\",\"27700\"]]");
-    p = add_epsg_def (filter, first, last, 28191, "epsg", 28191,
-        "Palestine 1923 / Palestine Grid");
+        "PSG\",\"26901\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26902, "epsg", 26902,
+        "NAD83 / UTM zone 2N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=cass +lat_0=31.73409694444445 +lon_0=35.2120805555");
+        "+proj=utm +zone=2 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "5556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6");
-    add_proj4text (p, 2,
-        "356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.4");
-    add_proj4text (p, 3,
-        "2,-11.821,1 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Palestine 1923 / Palestine Grid\",GEOGCS[\"Pale");
+        "PROJCS[\"NAD83 / UTM zone 2N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "stine 1923\",DATUM[\"Palestine_1923\",SPHEROID[\"Clarke ");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "1880 (Benoit)\",6378300.789,293.4663155389802,AUTHORITY[");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7010\"]],TOWGS84[-275.722,94.7824,340.894,-8.");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PRIME");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4281\"]],PROJECTION[\"Cassini_Sold");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ner\"],PARAMETER[\"latitude_of_origin\",31.7340969444444");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"central_meridian\",35.21208055555556],PAR");
+        "idian\",-171],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",170251.555],PARAMETER[\"false_n");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "orthing\",126867.909],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "TH],AUTHORITY[\"EPSG\",\"28191\"]]");
-    p = add_epsg_def (filter, first, last, 28192, "epsg", 28192,
-        "Palestine 1923 / Palestine Belt");
+        "PSG\",\"26902\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26903, "epsg", 26903,
+        "NAD83 / UTM zone 3N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31.73409694444445 +lon_0=35.212080555");
+        "+proj=utm +zone=3 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "55556 +k=1 +x_0=170251.555 +y_0=1126867.909 +a=6378300.7");
-    add_proj4text (p, 2,
-        "89 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.0");
-    add_proj4text (p, 3,
-        "01,-4.42,-11.821,1 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Palestine 1923 / Palestine Belt\",GEOGCS[\"Pale");
+        "PROJCS[\"NAD83 / UTM zone 3N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "stine 1923\",DATUM[\"Palestine_1923\",SPHEROID[\"Clarke ");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "1880 (Benoit)\",6378300.789,293.4663155389802,AUTHORITY[");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7010\"]],TOWGS84[-275.722,94.7824,340.894,-8.");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PRIME");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4281\"]],PROJECTION[\"Transverse_M");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",31.734096944");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "44445],PARAMETER[\"central_meridian\",35.21208055555556]");
+        "idian\",-165],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "\",170251.555],PARAMETER[\"false_northing\",1126867.909]");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
-    add_srs_wkt (p, 14,
-        "\",\"28192\"]]");
-    p = add_epsg_def (filter, first, last, 28193, "epsg", 28193,
-        "Palestine 1923 / Israeli CS Grid");
+        "PSG\",\"26903\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26904, "epsg", 26904,
+        "NAD83 / UTM zone 4N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=cass +lat_0=31.73409694444445 +lon_0=35.2120805555");
+        "+proj=utm +zone=4 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "5556 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=");
-    add_proj4text (p, 2,
-        "6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.");
-    add_proj4text (p, 3,
-        "42,-11.821,1 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Palestine 1923 / Israeli CS Grid\",GEOGCS[\"Pal");
+        "PROJCS[\"NAD83 / UTM zone 4N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "estine 1923\",DATUM[\"Palestine_1923\",SPHEROID[\"Clarke");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        " 1880 (Benoit)\",6378300.789,293.4663155389802,AUTHORITY");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7010\"]],TOWGS84[-275.722,94.7824,340.894,-8");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        ".001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PRIM");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "],AUTHORITY[\"EPSG\",\"4281\"]],PROJECTION[\"Cassini_Sol");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "dner\"],PARAMETER[\"latitude_of_origin\",31.734096944444");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "45],PARAMETER[\"central_meridian\",35.21208055555556],PA");
+        "idian\",-159],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",170251.555],PARAMETER[\"false_");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "northing\",1126867.909],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "NORTH],AUTHORITY[\"EPSG\",\"28193\"]]");
-    p = add_epsg_def (filter, first, last, 28232, "epsg", 28232,
-        "Pointe Noire / UTM zone 32S");
+        "PSG\",\"26904\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26905, "epsg", 26905,
+        "NAD83 / UTM zone 5N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs");
+        "+proj=utm +zone=5 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "84=-148,51,-291,0,0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pointe Noire / UTM zone 32S\",GEOGCS[\"Pointe N");
+        "PROJCS[\"NAD83 / UTM zone 5N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "oire\",DATUM[\"Congo_1960_Pointe_Noire\",SPHEROID[\"Clar");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "ke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7011\"]],TOWGS84[-148,51,-291,0,0,0,0],AUTHORIT");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "Y[\"EPSG\",\"6282\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4282\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",9],PARAM");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
+        "idian\",-153],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"m");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2823");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
     add_srs_wkt (p, 13,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 28348, "epsg", 28348,
-        "GDA94 / MGA zone 48");
+        "PSG\",\"26905\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26906, "epsg", 26906,
+        "NAD83 / UTM zone 6N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=6 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 48\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 6N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",105],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-147],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28348\"]]");
-    p = add_epsg_def (filter, first, last, 28349, "epsg", 28349,
-        "GDA94 / MGA zone 49");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26906\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26907, "epsg", 26907,
+        "NAD83 / UTM zone 7N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 49\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 7N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",111],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-141],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28349\"]]");
-    p = add_epsg_def (filter, first, last, 28350, "epsg", 28350,
-        "GDA94 / MGA zone 50");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26907\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26908, "epsg", 26908,
+        "NAD83 / UTM zone 8N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 50\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 8N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",117],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-135],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28350\"]]");
-    p = add_epsg_def (filter, first, last, 28351, "epsg", 28351,
-        "GDA94 / MGA zone 51");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26908\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26909, "epsg", 26909,
+        "NAD83 / UTM zone 9N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +u");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 51\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 9N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",123],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-129],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28351\"]]");
-    p = add_epsg_def (filter, first, last, 28352, "epsg", 28352,
-        "GDA94 / MGA zone 52");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26909\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26910, "epsg", 26910,
+        "NAD83 / UTM zone 10N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 52\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 10N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",129],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-123],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28352\"]]");
-    p = add_epsg_def (filter, first, last, 28353, "epsg", 28353,
-        "GDA94 / MGA zone 53");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26910\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26911, "epsg", 26911,
+        "NAD83 / UTM zone 11N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 53\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 11N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",135],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-117],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28353\"]]");
-    p = add_epsg_def (filter, first, last, 28354, "epsg", 28354,
-        "GDA94 / MGA zone 54");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26911\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26912, "epsg", 26912,
+        "NAD83 / UTM zone 12N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 54\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 12N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",141],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-111],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28354\"]]");
-    p = add_epsg_def (filter, first, last, 28355, "epsg", 28355,
-        "GDA94 / MGA zone 55");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26912\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26913, "epsg", 26913,
+        "NAD83 / UTM zone 13N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 55\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 13N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",147],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-105],PARAMETER[\"scale_factor\",0.9996],PARAMET");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28355\"]]");
-    p = add_epsg_def (filter, first, last, 28356, "epsg", 28356,
-        "GDA94 / MGA zone 56");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26913\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26914, "epsg", 26914,
+        "NAD83 / UTM zone 14N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=56 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 56\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 14N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",153],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-99],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28356\"]]");
-    p = add_epsg_def (filter, first, last, 28357, "epsg", 28357,
-        "GDA94 / MGA zone 57");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26914\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26915, "epsg", 26915,
+        "NAD83 / UTM zone 15N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 57\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 15N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",159],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-93],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28357\"]]");
-    p = add_epsg_def (filter, first, last, 28358, "epsg", 28358,
-        "GDA94 / MGA zone 58");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26915\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26916, "epsg", 26916,
+        "NAD83 / UTM zone 16N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"GDA94 / MGA zone 58\",GEOGCS[\"GDA94\",DATUM[\"");
+        "PROJCS[\"NAD83 / UTM zone 16N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",165],PARAMETER[\"scale_factor\",0");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "idian\",-87],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"28358\"]]");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26916\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_39.c b/src/srsinit/epsg_inlined_39.c
index ee0c11c..6bd05bd 100644
--- a/src/srsinit/epsg_inlined_39.c
+++ b/src/srsinit/epsg_inlined_39.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3390 +54,4081 @@ initialize_epsg_39 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 28402, "epsg", 28402,
-        "Pulkovo 1942 / Gauss-Kruger zone 2 (deprecated)");
+    p = add_epsg_def_ex (filter, first, last, 26917, "epsg", 26917,
+        "NAD83 / UTM zone 17N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +");
+        "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
-    add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 2 (deprecated)");
+        "PROJCS[\"NAD83 / UTM zone 17N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHERO");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "ID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.1");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "2],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_ea");
+        "idian\",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "sting\",2500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",\"28402\"]]");
-    p = add_epsg_def (filter, first, last, 28403, "epsg", 28403,
-        "Pulkovo 1942 / Gauss-Kruger zone 3 (deprecated)");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26917\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26918, "epsg", 26918,
+        "NAD83 / UTM zone 18N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 ");
+        "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
-    add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 3 (deprecated)");
+        "PROJCS[\"NAD83 / UTM zone 18N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHERO");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "ID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.1");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "2],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
+        "idian\",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "asting\",3500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",\"28403\"]]");
-    p = add_epsg_def (filter, first, last, 28404, "epsg", 28404,
-        "Pulkovo 1942 / Gauss-Kruger zone 4");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26918\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26919, "epsg", 26919,
+        "NAD83 / UTM zone 19N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 ");
+        "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
-    add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 4\",GEOGCS[\"P");
+        "PROJCS[\"NAD83 / UTM zone 19N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",21],PARAM");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",450");
+        "idian\",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"28404\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 28405, "epsg", 28405,
-        "Pulkovo 1942 / Gauss-Kruger zone 5");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26919\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26920, "epsg", 26920,
+        "NAD83 / UTM zone 20N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 ");
+        "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
-    add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 5\",GEOGCS[\"P");
+        "PROJCS[\"NAD83 / UTM zone 20N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",27],PARAM");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",550");
+        "idian\",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"28405\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 28406, "epsg", 28406,
-        "Pulkovo 1942 / Gauss-Kruger zone 6");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26920\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26921, "epsg", 26921,
+        "NAD83 / UTM zone 21N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 ");
+        "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
-    add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 6\",GEOGCS[\"P");
+        "PROJCS[\"NAD83 / UTM zone 21N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",33],PARAM");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",650");
+        "idian\",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"28406\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 28407, "epsg", 28407,
-        "Pulkovo 1942 / Gauss-Kruger zone 7");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26921\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26922, "epsg", 26922,
+        "NAD83 / UTM zone 22N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 ");
+        "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
-    add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 7\",GEOGCS[\"P");
+        "PROJCS[\"NAD83 / UTM zone 22N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",39],PARAM");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",750");
+        "idian\",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"28407\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 28408, "epsg", 28408,
-        "Pulkovo 1942 / Gauss-Kruger zone 8");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26922\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26923, "epsg", 26923,
+        "NAD83 / UTM zone 23N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 ");
+        "+proj=utm +zone=23 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
-    add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 8\",GEOGCS[\"P");
+        "PROJCS[\"NAD83 / UTM zone 23N\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",45],PARAM");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",850");
+        "idian\",-45],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "R[\"false_easting\",500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"28408\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 28409, "epsg", 28409,
-        "Pulkovo 1942 / Gauss-Kruger zone 9");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"26923\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26929, "epsg", 26929,
+        "NAD83 / Alabama East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "9996 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 9\",GEOGCS[\"P");
+        "PROJCS[\"NAD83 / Alabama East\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",51],PARAM");
+        "AMETER[\"latitude_of_origin\",30.5],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",950");
+        "meridian\",-85.83333333333333],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        ",0.99996],PARAMETER[\"false_easting\",200000],PARAMETER[");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"28409\"");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 28410, "epsg", 28410,
-        "Pulkovo 1942 / Gauss-Kruger zone 10");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"26929\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26930, "epsg", 26930,
+        "NAD83 / Alabama West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0");
+        "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=6");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        "00000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 10\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alabama West\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",57],PARA");
+        "AMETER[\"latitude_of_origin\",30],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",10");
+        "ridian\",-87.5],PARAMETER[\"scale_factor\",0.999933333],");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "PARAMETER[\"false_easting\",600000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2841");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
     add_srs_wkt (p, 12,
-        "0\"]]");
-    p = add_epsg_def (filter, first, last, 28411, "epsg", 28411,
-        "Pulkovo 1942 / Gauss-Kruger zone 11");
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"26930\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26931, "epsg", 26931,
+        "NAD83 / Alaska zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Hotine_Oblique_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0");
+        "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=32");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        "3.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +no");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "_uoff +gamma=323.1301023611111 +ellps=GRS80 +towgs84=0,0");
+    add_proj4text (p, 3,
+        ",0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 11\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alaska zone 1\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Hotine_Oblique_Mercator\"]");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",63],PARA");
+        ",PARAMETER[\"latitude_of_center\",57],PARAMETER[\"longit");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",11");
+        "ude_of_center\",-133.6666666666667],PARAMETER[\"azimuth\"");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        ",323.1301023611111],PARAMETER[\"rectified_grid_angle\",3");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2841");
+        "23.1301023611111],PARAMETER[\"scale_factor\",0.9999],PAR");
     add_srs_wkt (p, 12,
-        "1\"]]");
-    p = add_epsg_def (filter, first, last, 28412, "epsg", 28412,
-        "Pulkovo 1942 / Gauss-Kruger zone 12");
+        "AMETER[\"false_easting\",5000000],PARAMETER[\"false_nort");
+    add_srs_wkt (p, 13,
+        "hing\",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"26931\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26932, "epsg", 26932,
+        "NAD83 / Alaska zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0");
+        "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 12\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alaska zone 2\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",69],PARA");
+        "AMETER[\"latitude_of_origin\",54],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",12");
+        "ridian\",-142],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2841");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 28413, "epsg", 28413,
-        "Pulkovo 1942 / Gauss-Kruger zone 13");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"269");
+    add_srs_wkt (p, 13,
+        "32\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26933, "epsg", 26933,
+        "NAD83 / Alaska zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0");
+        "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 13\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alaska zone 3\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",75],PARA");
+        "AMETER[\"latitude_of_origin\",54],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",13");
+        "ridian\",-146],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2841");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "3\"]]");
-    p = add_epsg_def (filter, first, last, 28414, "epsg", 28414,
-        "Pulkovo 1942 / Gauss-Kruger zone 14");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"269");
+    add_srs_wkt (p, 13,
+        "33\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26934, "epsg", 26934,
+        "NAD83 / Alaska zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0");
+        "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 14\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alaska zone 4\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",81],PARA");
+        "AMETER[\"latitude_of_origin\",54],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",14");
+        "ridian\",-150],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2841");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "4\"]]");
-    p = add_epsg_def (filter, first, last, 28415, "epsg", 28415,
-        "Pulkovo 1942 / Gauss-Kruger zone 15");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"269");
+    add_srs_wkt (p, 13,
+        "34\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26935, "epsg", 26935,
+        "NAD83 / Alaska zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0");
+        "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 15\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alaska zone 5\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",87],PARA");
+        "AMETER[\"latitude_of_origin\",54],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15");
+        "ridian\",-154],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2841");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "5\"]]");
-    p = add_epsg_def (filter, first, last, 28416, "epsg", 28416,
-        "Pulkovo 1942 / Gauss-Kruger zone 16");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"269");
+    add_srs_wkt (p, 13,
+        "35\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26936, "epsg", 26936,
+        "NAD83 / Alaska zone 6", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0");
+        "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 16\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alaska zone 6\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",93],PARA");
+        "AMETER[\"latitude_of_origin\",54],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",16");
+        "ridian\",-158],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2841");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "6\"]]");
-    p = add_epsg_def (filter, first, last, 28417, "epsg", 28417,
-        "Pulkovo 1942 / Gauss-Kruger zone 17");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"269");
+    add_srs_wkt (p, 13,
+        "36\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26937, "epsg", 26937,
+        "NAD83 / Alaska zone 7", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0");
+        "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 17\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alaska zone 7\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",99],PARA");
+        "AMETER[\"latitude_of_origin\",54],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",17");
+        "ridian\",-162],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2841");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "7\"]]");
-    p = add_epsg_def (filter, first, last, 28418, "epsg", 28418,
-        "Pulkovo 1942 / Gauss-Kruger zone 18");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"269");
+    add_srs_wkt (p, 13,
+        "37\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26938, "epsg", 26938,
+        "NAD83 / Alaska zone 8", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=");
+        "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 18\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alaska zone 8\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",105],PAR");
+        "AMETER[\"latitude_of_origin\",54],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",1");
+        "ridian\",-166],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "8500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "18\"]]");
-    p = add_epsg_def (filter, first, last, 28419, "epsg", 28419,
-        "Pulkovo 1942 / Gauss-Kruger zone 19");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"269");
+    add_srs_wkt (p, 13,
+        "38\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26939, "epsg", 26939,
+        "NAD83 / Alaska zone 9", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=");
+        "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 ");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 19\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alaska zone 9\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",111],PAR");
+        "AMETER[\"latitude_of_origin\",54],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",1");
+        "ridian\",-170],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "9500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "19\"]]");
-    p = add_epsg_def (filter, first, last, 28420, "epsg", 28420,
-        "Pulkovo 1942 / Gauss-Kruger zone 20");
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"269");
+    add_srs_wkt (p, 13,
+        "39\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26940, "epsg", 26940,
+        "NAD83 / Alaska zone 10", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=");
+        "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 20\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Alaska zone 10\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",117],PAR");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",53.83333333333");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
+        "334],PARAMETER[\"standard_parallel_2\",51.83333333333334");
     add_srs_wkt (p, 10,
-        "0500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "],PARAMETER[\"latitude_of_origin\",51],PARAMETER[\"centr");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "al_meridian\",-176],PARAMETER[\"false_easting\",1000000]");
     add_srs_wkt (p, 12,
-        "20\"]]");
-    p = add_epsg_def (filter, first, last, 28421, "epsg", 28421,
-        "Pulkovo 1942 / Gauss-Kruger zone 21");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"26940\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26941, "epsg", 26941,
+        "NAD83 / California zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=");
+        "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.3");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "3333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellp");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "s=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 21\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / California zone 1\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",123],PAR");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",41.66666666");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
+        "666666],PARAMETER[\"standard_parallel_2\",40],PARAMETER[");
     add_srs_wkt (p, 10,
-        "1500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "\"latitude_of_origin\",39.33333333333334],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "ntral_meridian\",-122],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 12,
-        "21\"]]");
-    p = add_epsg_def (filter, first, last, 28422, "epsg", 28422,
-        "Pulkovo 1942 / Gauss-Kruger zone 22");
+        "00],PARAMETER[\"false_northing\",500000],UNIT[\"metre\",");
+    add_srs_wkt (p, 13,
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26941\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26942, "epsg", 26942,
+        "NAD83 / California zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=");
+        "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 22\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / California zone 2\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",129],PAR");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",39.83333333");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
+        "333334],PARAMETER[\"standard_parallel_2\",38.33333333333");
     add_srs_wkt (p, 10,
-        "2500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "334],PARAMETER[\"latitude_of_origin\",37.66666666666666]");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        ",PARAMETER[\"central_meridian\",-122],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "22\"]]");
-    p = add_epsg_def (filter, first, last, 28423, "epsg", 28423,
-        "Pulkovo 1942 / Gauss-Kruger zone 23");
+        "easting\",2000000],PARAMETER[\"false_northing\",500000],");
+    add_srs_wkt (p, 13,
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26942\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26943, "epsg", 26943,
+        "NAD83 / California zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=");
+        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 23\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / California zone 3\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",135],PAR");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",38.43333333");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
+        "333333],PARAMETER[\"standard_parallel_2\",37.06666666666");
     add_srs_wkt (p, 10,
-        "3500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "667],PARAMETER[\"latitude_of_origin\",36.5],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "central_meridian\",-120.5],PARAMETER[\"false_easting\",2");
     add_srs_wkt (p, 12,
-        "23\"]]");
-    p = add_epsg_def (filter, first, last, 28424, "epsg", 28424,
-        "Pulkovo 1942 / Gauss-Kruger zone 24");
+        "000000],PARAMETER[\"false_northing\",500000],UNIT[\"metr");
+    add_srs_wkt (p, 13,
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26943\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26944, "epsg", 26944,
+        "NAD83 / California zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=");
+        "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.3333333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "4 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +tow");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "gs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 24\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / California zone 4\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",141],PAR");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",37.25],PARA");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
+        "METER[\"standard_parallel_2\",36],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        "4500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "f_origin\",35.33333333333334],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "an\",-119],PARAMETER[\"false_easting\",2000000],PARAMETE");
     add_srs_wkt (p, 12,
-        "24\"]]");
-    p = add_epsg_def (filter, first, last, 28425, "epsg", 28425,
-        "Pulkovo 1942 / Gauss-Kruger zone 25");
+        "R[\"false_northing\",500000],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"26944\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26945, "epsg", 26945,
+        "NAD83 / California zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=");
+        "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +el");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 25\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / California zone 5\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",147],PAR");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",35.46666666");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
+        "666667],PARAMETER[\"standard_parallel_2\",34.03333333333");
     add_srs_wkt (p, 10,
-        "5500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "333],PARAMETER[\"latitude_of_origin\",33.5],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "central_meridian\",-118],PARAMETER[\"false_easting\",200");
     add_srs_wkt (p, 12,
-        "25\"]]");
-    p = add_epsg_def (filter, first, last, 28426, "epsg", 28426,
-        "Pulkovo 1942 / Gauss-Kruger zone 26");
+        "0000],PARAMETER[\"false_northing\",500000],UNIT[\"metre\"");
+    add_srs_wkt (p, 13,
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26945\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26946, "epsg", 26946,
+        "NAD83 / California zone 6", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=");
+        "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        " +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=");
+    add_proj4text (p, 3,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 26\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / California zone 6\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",153],PAR");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",33.88333333");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
+        "333333],PARAMETER[\"standard_parallel_2\",32.78333333333");
     add_srs_wkt (p, 10,
-        "6500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "333],PARAMETER[\"latitude_of_origin\",32.16666666666666]");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        ",PARAMETER[\"central_meridian\",-116.25],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "26\"]]");
-    p = add_epsg_def (filter, first, last, 28427, "epsg", 28427,
-        "Pulkovo 1942 / Gauss-Kruger zone 27");
+        "se_easting\",2000000],PARAMETER[\"false_northing\",50000");
+    add_srs_wkt (p, 13,
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26946\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 26948, "epsg", 26948,
+        "NAD83 / Arizona East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=");
+        "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 27\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Arizona East\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",159],PAR");
+        "AMETER[\"latitude_of_origin\",31],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
+        "ridian\",-110.1666666666667],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "7500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "0.9999],PARAMETER[\"false_easting\",213360],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "27\"]]");
-    p = add_epsg_def (filter, first, last, 28428, "epsg", 28428,
-        "Pulkovo 1942 / Gauss-Kruger zone 28");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"26948\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26949, "epsg", 26949,
+        "NAD83 / Arizona Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=");
+        "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "9 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 28\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Arizona Central\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",165],PAR");
+        ",PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
+        "l_meridian\",-111.9166666666667],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "8500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "r\",0.9999],PARAMETER[\"false_easting\",213360],PARAMETE");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "28\"]]");
-    p = add_epsg_def (filter, first, last, 28429, "epsg", 28429,
-        "Pulkovo 1942 / Gauss-Kruger zone 29");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"26949\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26950, "epsg", 26950,
+        "NAD83 / Arizona West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=");
+        "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 29\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Arizona West\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",171],PAR");
+        "AMETER[\"latitude_of_origin\",31],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",2");
+        "ridian\",-113.75],PARAMETER[\"scale_factor\",0.999933333");
     add_srs_wkt (p, 10,
-        "9500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "],PARAMETER[\"false_easting\",213360],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "29\"]]");
-    p = add_epsg_def (filter, first, last, 28430, "epsg", 28430,
-        "Pulkovo 1942 / Gauss-Kruger zone 30");
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"26950\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26951, "epsg", 26951,
+        "NAD83 / Arkansas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=");
+        "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333");
     add_proj4text (p, 1,
-        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82");
+        "333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0");
     add_proj4text (p, 2,
-        ",-0.12 +units=m +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 30\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Arkansas North\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",177],PAR");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",36.23333333333");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3");
+        "333],PARAMETER[\"standard_parallel_2\",34.93333333333333");
     add_srs_wkt (p, 10,
-        "0500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "],PARAMETER[\"latitude_of_origin\",34.33333333333334],PA");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"284");
+        "RAMETER[\"central_meridian\",-92],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "30\"]]");
-    p = add_epsg_def (filter, first, last, 28431, "epsg", 28431,
-        "Pulkovo 1942 / Gauss-Kruger zone 31");
+        "ing\",400000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+    add_srs_wkt (p, 13,
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26951\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26952, "epsg", 26952,
+        "NAD83 / Arkansas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0");
+        "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8");
+        ".66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellp");
     add_proj4text (p, 2,
-        "2,-0.12 +units=m +no_defs");
+        "s=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 31\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Arkansas South\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",-177],PA");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",34.76666666666");
     add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "667],PARAMETER[\"standard_parallel_2\",33.3],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "31500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "latitude_of_origin\",32.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"28");
+        "ral_meridian\",-92],PARAMETER[\"false_easting\",400000],");
     add_srs_wkt (p, 12,
-        "431\"]]");
-    p = add_epsg_def (filter, first, last, 28432, "epsg", 28432,
-        "Pulkovo 1942 / Gauss-Kruger zone 32");
+        "PARAMETER[\"false_northing\",400000],UNIT[\"metre\",1,AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 14,
+        "NORTH],AUTHORITY[\"EPSG\",\"26952\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26953, "epsg", 26953,
+        "NAD83 / Colorado North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0");
+        "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666");
     add_proj4text (p, 1,
-        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8");
+        "667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8");
     add_proj4text (p, 2,
-        "2,-0.12 +units=m +no_defs");
+        "289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 3,
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 32\",GEOGCS[\"");
+        "PROJCS[\"NAD83 / Colorado North\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4284\"]]");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",-171],PA");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",40.78333333333");
     add_srs_wkt (p, 9,
-        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
+        "333],PARAMETER[\"standard_parallel_2\",39.71666666666667");
     add_srs_wkt (p, 10,
-        "32500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "],PARAMETER[\"latitude_of_origin\",39.33333333333334],PA");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"28");
+        "RAMETER[\"central_meridian\",-105.5],PARAMETER[\"false_e");
     add_srs_wkt (p, 12,
-        "432\"]]");
-    p = add_epsg_def (filter, first, last, 28462, "epsg", 28462,
-        "Pulkovo 1942 / Gauss-Kruger 2N (deprecated)");
+        "asting\",914401.8289],PARAMETER[\"false_northing\",30480");
+    add_srs_wkt (p, 13,
+        "0.6096],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 15,
+        "6953\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26954, "epsg", 26954,
+        "NAD83 / Colorado Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +e");
+        "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.8333333333");
     add_proj4text (p, 1,
-        "llps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.");
+        "3334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +el");
     add_proj4text (p, 2,
-        "12 +units=m +no_defs");
+        "lps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 2N (deprecated)\",G");
+        "PROJCS[\"NAD83 / Colorado Central\",GEOGCS[\"NAD83\",DAT");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
+        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",39.75],PARAME");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
+        "TER[\"standard_parallel_2\",38.45],PARAMETER[\"latitude_");
     add_srs_wkt (p, 10,
-        "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "of_origin\",37.83333333333334],PARAMETER[\"central_merid");
     add_srs_wkt (p, 11,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "ian\",-105.5],PARAMETER[\"false_easting\",914401.8289],P");
     add_srs_wkt (p, 12,
-        "28462\"]]");
-    p = add_epsg_def (filter, first, last, 28463, "epsg", 28463,
-        "Pulkovo 1942 / Gauss-Kruger 3N (deprecated)");
+        "ARAMETER[\"false_northing\",304800.6096],UNIT[\"metre\",");
+    add_srs_wkt (p, 13,
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26954\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26955, "epsg", 26955,
+        "NAD83 / Colorado South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 3,
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 3N (deprecated)\",G");
+        "PROJCS[\"NAD83 / Colorado South\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",38.43333333333");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "333],PARAMETER[\"standard_parallel_2\",37.23333333333333");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "],PARAMETER[\"latitude_of_origin\",36.66666666666666],PA");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "RAMETER[\"central_meridian\",-105.5],PARAMETER[\"false_e");
     add_srs_wkt (p, 12,
-        "28463\"]]");
-    p = add_epsg_def (filter, first, last, 28464, "epsg", 28464,
-        "Pulkovo 1942 / Gauss-Kruger 4N (deprecated)");
+        "asting\",914401.8289],PARAMETER[\"false_northing\",30480");
+    add_srs_wkt (p, 13,
+        "0.6096],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"2");
+    add_srs_wkt (p, 15,
+        "6955\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26956, "epsg", 26956,
+        "NAD83 / Connecticut", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        ".83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=1524");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "00.3048 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 4N (deprecated)\",G");
+        "PROJCS[\"NAD83 / Connecticut\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
+        "P\"],PARAMETER[\"standard_parallel_1\",41.86666666666667");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "],PARAMETER[\"standard_parallel_2\",41.2],PARAMETER[\"la");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "titude_of_origin\",40.83333333333334],PARAMETER[\"centra");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "l_meridian\",-72.75],PARAMETER[\"false_easting\",304800.");
     add_srs_wkt (p, 12,
-        "28464\"]]");
-    p = add_epsg_def (filter, first, last, 28465, "epsg", 28465,
-        "Pulkovo 1942 / Gauss-Kruger 5N (deprecated)");
+        "6096],PARAMETER[\"false_northing\",152400.3048],UNIT[\"m");
+    add_srs_wkt (p, 13,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26956\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26957, "epsg", 26957,
+        "NAD83 / Delaware", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "995 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 5N (deprecated)\",G");
+        "PROJCS[\"NAD83 / Delaware\",GEOGCS[\"NAD83\",DATUM[\"Nor");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
+        "th_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
+        "TER[\"latitude_of_origin\",38],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ian\",-75.41666666666667],PARAMETER[\"scale_factor\",0.9");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "99995],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "28465\"]]");
-    p = add_epsg_def (filter, first, last, 28466, "epsg", 28466,
-        "Pulkovo 1942 / Gauss-Kruger 6N (deprecated)");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"26957\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26958, "epsg", 26958,
+        "NAD83 / Florida East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "941177 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 6N (deprecated)\",G");
+        "PROJCS[\"NAD83 / Florida East\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        "AMETER[\"latitude_of_origin\",24.33333333333333],PARAMET");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ER[\"central_meridian\",-81],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "0.999941177],PARAMETER[\"false_easting\",200000],PARAMET");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "28466\"]]");
-    p = add_epsg_def (filter, first, last, 28467, "epsg", 28467,
-        "Pulkovo 1942 / Gauss-Kruger 7N (deprecated)");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"26958\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26959, "epsg", 26959,
+        "NAD83 / Florida West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "941177 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 7N (deprecated)\",G");
+        "PROJCS[\"NAD83 / Florida West\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        "AMETER[\"latitude_of_origin\",24.33333333333333],PARAMET");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ER[\"central_meridian\",-82],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "0.999941177],PARAMETER[\"false_easting\",200000],PARAMET");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "28467\"]]");
-    p = add_epsg_def (filter, first, last, 28468, "epsg", 28468,
-        "Pulkovo 1942 / Gauss-Kruger 8N (deprecated)");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"26959\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26960, "epsg", 26960,
+        "NAD83 / Florida North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=2");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "9 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 8N (deprecated)\",G");
+        "PROJCS[\"NAD83 / Florida North\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
+        "P\"],PARAMETER[\"standard_parallel_1\",30.75],PARAMETER[");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "\"standard_parallel_2\",29.58333333333333],PARAMETER[\"l");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "atitude_of_origin\",29],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "84.5],PARAMETER[\"false_easting\",600000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "28468\"]]");
-    p = add_epsg_def (filter, first, last, 28469, "epsg", 28469,
-        "Pulkovo 1942 / Gauss-Kruger 9N (deprecated)");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"26960\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26961, "epsg", 26961,
+        "NAD83 / Hawaii zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        ",0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 9N (deprecated)\",G");
+        "PROJCS[\"NAD83 / Hawaii zone 1\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        "AMETER[\"latitude_of_origin\",18.83333333333333],PARAMET");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ER[\"central_meridian\",-155.5],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "\",0.999966667],PARAMETER[\"false_easting\",500000],PARA");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "28469\"]]");
-    p = add_epsg_def (filter, first, last, 28470, "epsg", 28470,
-        "Pulkovo 1942 / Gauss-Kruger 10N (deprecated)");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"26961\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26962, "epsg", 26962,
+        "NAD83 / Hawaii zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 10N (deprecated)\",");
+        "PROJCS[\"NAD83 / Hawaii zone 2\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",5");
+        "AMETER[\"latitude_of_origin\",20.33333333333333],PARAMET");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ER[\"central_meridian\",-156.6666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "scale_factor\",0.999966667],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "28470\"]]");
-    p = add_epsg_def (filter, first, last, 28471, "epsg", 28471,
-        "Pulkovo 1942 / Gauss-Kruger 11N (deprecated)");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"26962\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26963, "epsg", 26963,
+        "NAD83 / Hawaii zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 11N (deprecated)\",");
+        "PROJCS[\"NAD83 / Hawaii zone 3\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        "AMETER[\"latitude_of_origin\",21.16666666666667],PARAMET");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ER[\"central_meridian\",-158],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        ",0.99999],PARAMETER[\"false_easting\",500000],PARAMETER[");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "28471\"]]");
-    p = add_epsg_def (filter, first, last, 28472, "epsg", 28472,
-        "Pulkovo 1942 / Gauss-Kruger 12N (deprecated)");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"26963\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26964, "epsg", 26964,
+        "NAD83 / Hawaii zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "99999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        ",0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 12N (deprecated)\",");
+        "PROJCS[\"NAD83 / Hawaii zone 4\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
+        "AMETER[\"latitude_of_origin\",21.83333333333333],PARAMET");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ER[\"central_meridian\",-159.5],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "\",0.99999],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "28472\"]]");
-    p = add_epsg_def (filter, first, last, 28473, "epsg", 28473,
-        "Pulkovo 1942 / Gauss-Kruger 13N (deprecated)");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"26964\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26965, "epsg", 26965,
+        "NAD83 / Hawaii zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        ",0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 13N (deprecated)\",");
+        "PROJCS[\"NAD83 / Hawaii zone 5\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",7");
+        "AMETER[\"latitude_of_origin\",21.66666666666667],PARAMET");
     add_srs_wkt (p, 9,
-        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ER[\"central_meridian\",-160.1666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "28473\"]]");
-    p = add_epsg_def (filter, first, last, 28474, "epsg", 28474,
-        "Pulkovo 1942 / Gauss-Kruger 14N (deprecated)");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"26965\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26966, "epsg", 26966,
+        "NAD83 / Georgia East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "9 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 14N (deprecated)\",");
+        "PROJCS[\"NAD83 / Georgia East\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        "AMETER[\"latitude_of_origin\",30],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "1],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ridian\",-82.16666666666667],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "0.9999],PARAMETER[\"false_easting\",200000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "28474\"]]");
-    p = add_epsg_def (filter, first, last, 28475, "epsg", 28475,
-        "Pulkovo 1942 / Gauss-Kruger 15N (deprecated)");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"26966\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26967, "epsg", 26967,
+        "NAD83 / Georgia West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "9 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 15N (deprecated)\",");
+        "PROJCS[\"NAD83 / Georgia West\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",8");
+        "AMETER[\"latitude_of_origin\",30],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ridian\",-84.16666666666667],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "0.9999],PARAMETER[\"false_easting\",700000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "28475\"]]");
-    p = add_epsg_def (filter, first, last, 28476, "epsg", 28476,
-        "Pulkovo 1942 / Gauss-Kruger 16N (deprecated)");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"26967\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26968, "epsg", 26968,
+        "NAD83 / Idaho East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=G");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "RS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 16N (deprecated)\",");
+        "PROJCS[\"NAD83 / Idaho East\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        "METER[\"latitude_of_origin\",41.66666666666666],PARAMETE");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "R[\"central_meridian\",-112.1666666666667],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        "cale_factor\",0.999947368],PARAMETER[\"false_easting\",2");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        "28476\"]]");
-    p = add_epsg_def (filter, first, last, 28477, "epsg", 28477,
-        "Pulkovo 1942 / Gauss-Kruger 17N (deprecated)");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26968\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26969, "epsg", 26969,
+        "NAD83 / Idaho Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.99");
     add_proj4text (p, 1,
-        "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0");
+        "99473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=");
     add_proj4text (p, 2,
-        ".12 +units=m +no_defs");
+        "0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 17N (deprecated)\",");
+        "PROJCS[\"NAD83 / Idaho Central\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
+        "AMETER[\"latitude_of_origin\",41.66666666666666],PARAMET");
     add_srs_wkt (p, 9,
-        "9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
+        "ER[\"central_meridian\",-114],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
+        ",0.999947368],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "28477\"]]");
-    p = add_epsg_def (filter, first, last, 28478, "epsg", 28478,
-        "Pulkovo 1942 / Gauss-Kruger 18N (deprecated)");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"26969\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26970, "epsg", 26970,
+        "NAD83 / Idaho West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        ".999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +towgs84=0,0,");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 18N (deprecated)\",");
+        "PROJCS[\"NAD83 / Idaho West\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "METER[\"latitude_of_origin\",41.66666666666666],PARAMETE");
     add_srs_wkt (p, 9,
-        "05],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "R[\"central_meridian\",-115.75],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "\",0.999933333],PARAMETER[\"false_easting\",800000],PARA");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "\"28478\"]]");
-    p = add_epsg_def (filter, first, last, 28479, "epsg", 28479,
-        "Pulkovo 1942 / Gauss-Kruger 19N (deprecated)");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"26970\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26971, "epsg", 26971,
+        "NAD83 / Illinois East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=G");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "RS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 19N (deprecated)\",");
+        "PROJCS[\"NAD83 / Illinois East\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "AMETER[\"latitude_of_origin\",36.66666666666666],PARAMET");
     add_srs_wkt (p, 9,
-        "11],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ER[\"central_meridian\",-88.33333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "scale_factor\",0.999975],PARAMETER[\"false_easting\",300");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "\"28479\"]]");
-    p = add_epsg_def (filter, first, last, 28480, "epsg", 28480,
-        "Pulkovo 1942 / Gauss-Kruger 20N (deprecated)");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"26971\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26972, "epsg", 26972,
+        "NAD83 / Illinois West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 20N (deprecated)\",");
+        "PROJCS[\"NAD83 / Illinois West\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "AMETER[\"latitude_of_origin\",36.66666666666666],PARAMET");
     add_srs_wkt (p, 9,
-        "17],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ER[\"central_meridian\",-90.16666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "scale_factor\",0.999941177],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "700000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "\"28480\"]]");
-    p = add_epsg_def (filter, first, last, 28481, "epsg", 28481,
-        "Pulkovo 1942 / Gauss-Kruger 21N (deprecated)");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"26972\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26973, "epsg", 26973,
+        "NAD83 / Indiana East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "99966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +towgs84=0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ",0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 21N (deprecated)\",");
+        "PROJCS[\"NAD83 / Indiana East\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "AMETER[\"latitude_of_origin\",37.5],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "23],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "meridian\",-85.66666666666667],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        ",0.999966667],PARAMETER[\"false_easting\",100000],PARAME");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "TER[\"false_northing\",250000],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "\"28481\"]]");
-    p = add_epsg_def (filter, first, last, 28482, "epsg", 28482,
-        "Pulkovo 1942 / Gauss-Kruger 22N (deprecated)");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"26973\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26974, "epsg", 26974,
+        "NAD83 / Indiana West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "99966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +towgs84=0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        ",0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 22N (deprecated)\",");
+        "PROJCS[\"NAD83 / Indiana West\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "AMETER[\"latitude_of_origin\",37.5],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "29],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "meridian\",-87.08333333333333],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        ",0.999966667],PARAMETER[\"false_easting\",900000],PARAME");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "TER[\"false_northing\",250000],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "\"28482\"]]");
-    p = add_epsg_def (filter, first, last, 28483, "epsg", 28483,
-        "Pulkovo 1942 / Gauss-Kruger 23N (deprecated)");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"26974\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26975, "epsg", 26975,
+        "NAD83 / Iowa North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 23N (deprecated)\",");
+        "PROJCS[\"NAD83 / Iowa North\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "SG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "\"],PARAMETER[\"standard_parallel_1\",43.26666666666667]");
     add_srs_wkt (p, 9,
-        "35],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        ",PARAMETER[\"standard_parallel_2\",42.06666666666667],PA");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "RAMETER[\"latitude_of_origin\",41.5],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "_meridian\",-93.5],PARAMETER[\"false_easting\",1500000],");
     add_srs_wkt (p, 12,
-        "\"28483\"]]");
-    p = add_epsg_def (filter, first, last, 28484, "epsg", 28484,
-        "Pulkovo 1942 / Gauss-Kruger 24N (deprecated)");
+        "PARAMETER[\"false_northing\",1000000],UNIT[\"metre\",1,A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26975\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26976, "epsg", 26976,
+        "NAD83 / Iowa South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 24N (deprecated)\",");
+        "PROJCS[\"NAD83 / Iowa South\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "SG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "\"],PARAMETER[\"standard_parallel_1\",41.78333333333333]");
     add_srs_wkt (p, 9,
-        "41],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        ",PARAMETER[\"standard_parallel_2\",40.61666666666667],PA");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "RAMETER[\"latitude_of_origin\",40],PARAMETER[\"central_m");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "eridian\",-93.5],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 12,
-        "\"28484\"]]");
-    p = add_epsg_def (filter, first, last, 28485, "epsg", 28485,
-        "Pulkovo 1942 / Gauss-Kruger 25N (deprecated)");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"26976\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26977, "epsg", 26977,
+        "NAD83 / Kansas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 25N (deprecated)\",");
+        "PROJCS[\"NAD83 / Kansas North\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "P\"],PARAMETER[\"standard_parallel_1\",39.78333333333333");
     add_srs_wkt (p, 9,
-        "47],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "],PARAMETER[\"standard_parallel_2\",38.71666666666667],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"latitude_of_origin\",38.33333333333334],PARAM");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "ETER[\"central_meridian\",-98],PARAMETER[\"false_easting");
     add_srs_wkt (p, 12,
-        "\"28485\"]]");
-    p = add_epsg_def (filter, first, last, 28486, "epsg", 28486,
-        "Pulkovo 1942 / Gauss-Kruger 26N (deprecated)");
+        "\",400000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+    add_srs_wkt (p, 13,
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26977\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26978, "epsg", 26978,
+        "NAD83 / Kansas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 26N (deprecated)\",");
+        "PROJCS[\"NAD83 / Kansas South\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "P\"],PARAMETER[\"standard_parallel_1\",38.56666666666667");
     add_srs_wkt (p, 9,
-        "53],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "],PARAMETER[\"standard_parallel_2\",37.26666666666667],P");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "ARAMETER[\"latitude_of_origin\",36.66666666666666],PARAM");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "ETER[\"central_meridian\",-98.5],PARAMETER[\"false_easti");
     add_srs_wkt (p, 12,
-        "\"28486\"]]");
-    p = add_epsg_def (filter, first, last, 28487, "epsg", 28487,
-        "Pulkovo 1942 / Gauss-Kruger 27N (deprecated)");
+        "ng\",400000],PARAMETER[\"false_northing\",400000],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26978\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26979, "epsg", 26979,
+        "NAD83 / Kentucky North (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=37.96666666666667 +lat_2=37.96666666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 27N (deprecated)\",");
+        "PROJCS[\"NAD83 / Kentucky North (deprecated)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "NAD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"G");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "RS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"701");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "9\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "T],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "nformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",3");
     add_srs_wkt (p, 9,
-        "59],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "7.96666666666667],PARAMETER[\"standard_parallel_2\",37.9");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "6666666666667],PARAMETER[\"latitude_of_origin\",37.5],PA");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "RAMETER[\"central_meridian\",-84.25],PARAMETER[\"false_e");
     add_srs_wkt (p, 12,
-        "\"28487\"]]");
-    p = add_epsg_def (filter, first, last, 28488, "epsg", 28488,
-        "Pulkovo 1942 / Gauss-Kruger 28N (deprecated)");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26979\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26980, "epsg", 26980,
+        "NAD83 / Kentucky South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 28N (deprecated)\",");
+        "PROJCS[\"NAD83 / Kentucky South\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",37.93333333333");
     add_srs_wkt (p, 9,
-        "65],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "333],PARAMETER[\"standard_parallel_2\",36.73333333333333");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "],PARAMETER[\"latitude_of_origin\",36.33333333333334],PA");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "RAMETER[\"central_meridian\",-85.75],PARAMETER[\"false_e");
     add_srs_wkt (p, 12,
-        "\"28488\"]]");
-    p = add_epsg_def (filter, first, last, 28489, "epsg", 28489,
-        "Pulkovo 1942 / Gauss-Kruger 29N (deprecated)");
+        "asting\",500000],PARAMETER[\"false_northing\",500000],UN");
+    add_srs_wkt (p, 13,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 14,
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26980\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26981, "epsg", 26981,
+        "NAD83 / Louisiana North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        "667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 29N (deprecated)\",");
+        "PROJCS[\"NAD83 / Louisiana North\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",32.6666666666");
     add_srs_wkt (p, 9,
-        "71],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "6666],PARAMETER[\"standard_parallel_2\",31.1666666666666");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "7],PARAMETER[\"latitude_of_origin\",30.5],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "ntral_meridian\",-92.5],PARAMETER[\"false_easting\",1000");
     add_srs_wkt (p, 12,
-        "\"28489\"]]");
-    p = add_epsg_def (filter, first, last, 28490, "epsg", 28490,
-        "Pulkovo 1942 / Gauss-Kruger 30N (deprecated)");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 14,
+        "NORTH],AUTHORITY[\"EPSG\",\"26981\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26982, "epsg", 26982,
+        "NAD83 / Louisiana South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 ");
+        "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91");
     add_proj4text (p, 1,
-        "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-");
+        ".33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs8");
     add_proj4text (p, 2,
-        "0.12 +units=m +no_defs");
+        "4=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 30N (deprecated)\",");
+        "PROJCS[\"NAD83 / Louisiana South\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",30.7],PARAMET");
     add_srs_wkt (p, 9,
-        "77],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_east");
+        "ER[\"standard_parallel_2\",29.3],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 10,
-        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "_origin\",28.5],PARAMETER[\"central_meridian\",-91.33333");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",");
+        "333333333],PARAMETER[\"false_easting\",1000000],PARAMETE");
     add_srs_wkt (p, 12,
-        "\"28490\"]]");
-    p = add_epsg_def (filter, first, last, 28491, "epsg", 28491,
-        "Pulkovo 1942 / Gauss-Kruger 31N (deprecated)");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"26982\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26983, "epsg", 26983,
+        "NAD83 / Maine East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0");
+        "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        "999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 31N (deprecated)\",");
+        "PROJCS[\"NAD83 / Maine East\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "METER[\"latitude_of_origin\",43.66666666666666],PARAMETE");
     add_srs_wkt (p, 9,
-        "177],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "R[\"central_meridian\",-68.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        ",0.9999],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        ",\"28491\"]]");
-    p = add_epsg_def (filter, first, last, 28492, "epsg", 28492,
-        "Pulkovo 1942 / Gauss-Kruger 32N (deprecated)");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"26983\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26984, "epsg", 26984,
+        "NAD83 / Maine West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0");
+        "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666");
     add_proj4text (p, 1,
-        " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,");
+        "666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +t");
     add_proj4text (p, 2,
-        "-0.12 +units=m +no_defs");
+        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 32N (deprecated)\",");
+        "PROJCS[\"NAD83 / Maine West\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "METER[\"latitude_of_origin\",42.83333333333334],PARAMETE");
     add_srs_wkt (p, 9,
-        "171],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
+        "R[\"central_meridian\",-70.16666666666667],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "cale_factor\",0.999966667],PARAMETER[\"false_easting\",9");
     add_srs_wkt (p, 11,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\"");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
     add_srs_wkt (p, 12,
-        ",\"28492\"]]");
-    p = add_epsg_def (filter, first, last, 28600, "epsg", 28600,
-        "Qatar 1974 / Qatar National Grid");
+        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26984\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26985, "epsg", 26985,
+        "NAD83 / Maryland", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.9");
+        "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666");
     add_proj4text (p, 1,
-        "9999 +x_0=200000 +y_0=300000 +ellps=intl +towgs84=-128.1");
+        "666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=");
     add_proj4text (p, 2,
-        "6,-282.42,21.93,0,0,0,0 +units=m +no_defs");
+        "0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Qatar 1974 / Qatar National Grid\",GEOGCS[\"Qat");
+        "PROJCS[\"NAD83 / Maryland\",GEOGCS[\"NAD83\",DATUM[\"Nor");
     add_srs_wkt (p, 1,
-        "ar 1974\",DATUM[\"Qatar_1974\",SPHEROID[\"International ");
+        "th_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        "[-128.16,-282.42,21.93,0,0,0,0],AUTHORITY[\"EPSG\",\"628");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "5\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4285\"]],PROJECTION[\"T");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
+        "\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        "4.45],PARAMETER[\"central_meridian\",51.21666666666667],");
+        "],PARAMETER[\"standard_parallel_1\",39.45],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",0.99999],PARAMETER[\"false_ea");
+        "tandard_parallel_2\",38.3],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 10,
-        "sting\",200000],PARAMETER[\"false_northing\",300000],UNI");
+        "n\",37.66666666666666],PARAMETER[\"central_meridian\",-7");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "7],PARAMETER[\"false_easting\",400000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "28600\"]]");
-    p = add_epsg_def (filter, first, last, 28991, "epsg", 28991,
-        "Amersfoort / RD Old");
+        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 14,
+        "G\",\"26985\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26986, "epsg", 26986,
+        "NAD83 / Massachusetts Mainland", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.387638888");
+        "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666");
     add_proj4text (p, 1,
-        "88889 +k=0.9999079 +x_0=0 +y_0=0 +ellps=bessel +towgs84=");
+        "667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellp");
     add_proj4text (p, 2,
-        "565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.072");
-    add_proj4text (p, 3,
-        "5 +units=m +no_defs");
+        "s=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Amersfoort / RD Old\",GEOGCS[\"Amersfoort\",DAT");
+        "PROJCS[\"NAD83 / Massachusetts Mainland\",GEOGCS[\"NAD83");
     add_srs_wkt (p, 1,
-        "UM[\"Amersfoort\",SPHEROID[\"Bessel 1841\",6377397.155,2");
+        "\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 19");
     add_srs_wkt (p, 2,
-        "99.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.417");
+        "80\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]]");
     add_srs_wkt (p, 3,
-        ",50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725],AUTH");
+        ",TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PR");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"6289\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"428");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"");
+        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",52.15616055555555],PARAMETER[\"cent");
+        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",42.6833");
     add_srs_wkt (p, 9,
-        "ral_meridian\",5.38763888888889],PARAMETER[\"scale_facto");
+        "3333333333],PARAMETER[\"standard_parallel_2\",41.7166666");
     add_srs_wkt (p, 10,
-        "r\",0.9999079],PARAMETER[\"false_easting\",0],PARAMETER[");
+        "6666667],PARAMETER[\"latitude_of_origin\",41],PARAMETER[");
     add_srs_wkt (p, 11,
-        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "\"central_meridian\",-71.5],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 12,
-        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+        "200000],PARAMETER[\"false_northing\",750000],UNIT[\"metr");
     add_srs_wkt (p, 13,
-        "[\"EPSG\",\"28991\"]]");
-    p = add_epsg_def (filter, first, last, 28992, "epsg", 28992,
-        "Amersfoort / RD New");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26986\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26987, "epsg", 26987,
+        "NAD83 / Massachusetts Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.387638888");
+        "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333");
     add_proj4text (p, 1,
-        "88889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel");
+        "333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS");
     add_proj4text (p, 2,
-        " +towgs84=565.417,50.3319,465.552,-0.398957,0.343988,-1.");
-    add_proj4text (p, 3,
-        "8774,4.0725 +units=m +no_defs");
+        "80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Amersfoort / RD New\",GEOGCS[\"Amersfoort\",DAT");
+        "PROJCS[\"NAD83 / Massachusetts Island\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
-        "UM[\"Amersfoort\",SPHEROID[\"Bessel 1841\",6377397.155,2");
+        ",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "99.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.417");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        ",50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725],AUTH");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIM");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"6289\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "3,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"428");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "9\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",52.15616055555555],PARAMETER[\"cent");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.48333");
     add_srs_wkt (p, 9,
-        "ral_meridian\",5.38763888888889],PARAMETER[\"scale_facto");
+        "333333333],PARAMETER[\"standard_parallel_2\",41.28333333");
     add_srs_wkt (p, 10,
-        "r\",0.9999079],PARAMETER[\"false_easting\",155000],PARAM");
+        "333333],PARAMETER[\"latitude_of_origin\",41],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",463000],UNIT[\"metre\",1,AUTHORI");
+        "central_meridian\",-70.5],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 12,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 13,
-        "],AUTHORITY[\"EPSG\",\"28992\"]]");
-    p = add_epsg_def (filter, first, last, 29100, "epsg", 29100,
-        "SAD69 / Brazil Polyconic (deprecated)");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"26987\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26988, "epsg", 26988,
+        "NAD83 / Michigan North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=1000000");
+        "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333");
     add_proj4text (p, 1,
-        "0 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_d");
+        "333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_");
     add_proj4text (p, 2,
-        "efs");
+        "0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_def");
+    add_proj4text (p, 3,
+        "s");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / Brazil Polyconic (deprecated)\",GEOGCS[");
+        "PROJCS[\"NAD83 / Michigan North\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "\"SAD69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "GRS 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"70");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "36\"]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "291\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\",\"9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "Polyconic\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",-54],PARAMETER[\"false_easting\"");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",47.08333333333");
     add_srs_wkt (p, 9,
-        ",5000000],PARAMETER[\"false_northing\",10000000],UNIT[\"");
+        "334],PARAMETER[\"standard_parallel_2\",45.48333333333333");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "],PARAMETER[\"latitude_of_origin\",44.78333333333333],PA");
     add_srs_wkt (p, 11,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"29100\"]]");
-    p = add_epsg_def (filter, first, last, 29101, "epsg", 29101,
-        "SAD69 / Brazil Polyconic");
+        "RAMETER[\"central_meridian\",-87],PARAMETER[\"false_east");
+    add_srs_wkt (p, 12,
+        "ing\",8000000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+    add_srs_wkt (p, 13,
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26988\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26989, "epsg", 26989,
+        "NAD83 / Michigan Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=1000000");
+        "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43");
     add_proj4text (p, 1,
-        "0 +ellps=aust_SA +towgs84=-57,1,-41,0,0,0,0 +units=m +no");
+        ".31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +");
     add_proj4text (p, 2,
-        "_defs");
+        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 3,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / Brazil Polyconic\",GEOGCS[\"SAD69\",DAT");
+        "PROJCS[\"NAD83 / Michigan Central\",GEOGCS[\"NAD83\",DAT");
     add_srs_wkt (p, 1,
-        "UM[\"South_American_Datum_1969\",SPHEROID[\"GRS 1967 Mod");
+        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
     add_srs_wkt (p, 2,
-        "ified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOW");
+        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "GS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PR");
+        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "]],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Polyconic\"");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "l_meridian\",-54],PARAMETER[\"false_easting\",5000000],P");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",45.7],PARAMET");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_northing\",10000000],UNIT[\"metre\",1,A");
+        "ER[\"standard_parallel_2\",44.18333333333333],PARAMETER[");
     add_srs_wkt (p, 10,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "\"latitude_of_origin\",43.31666666666667],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"29101\"]]");
-    p = add_epsg_def (filter, first, last, 29118, "epsg", 29118,
-        "SAD69 / UTM zone 18N (deprecated)");
+        "ntral_meridian\",-84.36666666666666],PARAMETER[\"false_e");
+    add_srs_wkt (p, 12,
+        "asting\",6000000],PARAMETER[\"false_northing\",0],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"26989\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26990, "epsg", 26990,
+        "NAD83 / Michigan South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0");
+        "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41");
     add_proj4text (p, 1,
-        ",0 +units=m +no_defs");
+        ".5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=");
+    add_proj4text (p, 2,
+        "GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 18N (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"NAD83 / Michigan South\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-75],PARAMETER[\"scale_fac");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",43.66666666666");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "666],PARAMETER[\"standard_parallel_2\",42.1],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "latitude_of_origin\",41.5],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",-84.36666666666666],PARAMETER[\"false_easting\",4000000");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"29118\"]]");
-    p = add_epsg_def (filter, first, last, 29119, "epsg", 29119,
-        "SAD69 / UTM zone 19N (deprecated)");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"26990\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26991, "epsg", 26991,
+        "NAD83 / Minnesota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0");
+        "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333");
     add_proj4text (p, 1,
-        ",0 +units=m +no_defs");
+        "333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y");
+    add_proj4text (p, 2,
+        "_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 19N (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"NAD83 / Minnesota North\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_fac");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",48.6333333333");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "3333],PARAMETER[\"standard_parallel_2\",47.0333333333333");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "3],PARAMETER[\"latitude_of_origin\",46.5],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "ntral_meridian\",-93.1],PARAMETER[\"false_easting\",8000");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"29119\"]]");
-    p = add_epsg_def (filter, first, last, 29120, "epsg", 29120,
-        "SAD69 / UTM zone 20N (deprecated)");
+        "00],PARAMETER[\"false_northing\",100000],UNIT[\"metre\",");
+    add_srs_wkt (p, 13,
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"26991\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26992, "epsg", 26992,
+        "NAD83 / Minnesota Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0");
+        "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=4");
     add_proj4text (p, 1,
-        ",0 +units=m +no_defs");
+        "5 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +to");
+    add_proj4text (p, 2,
+        "wgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 20N (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"NAD83 / Minnesota Central\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",47.05],PARA");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "METER[\"standard_parallel_2\",45.61666666666667],PARAMET");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"latitude_of_origin\",45],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "an\",-94.25],PARAMETER[\"false_easting\",800000],PARAMET");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"29120\"]]");
-    p = add_epsg_def (filter, first, last, 29121, "epsg", 29121,
-        "SAD69 / UTM zone 21N (deprecated)");
+        "ER[\"false_northing\",100000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"26992\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26993, "epsg", 26993,
+        "NAD83 / Minnesota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0");
+        "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333");
     add_proj4text (p, 1,
-        ",0 +units=m +no_defs");
+        "333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=");
+    add_proj4text (p, 2,
+        "GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 21N (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"NAD83 / Minnesota South\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_fac");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",45.2166666666");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "6667],PARAMETER[\"standard_parallel_2\",43.7833333333333");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "3],PARAMETER[\"latitude_of_origin\",43],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "ral_meridian\",-94],PARAMETER[\"false_easting\",800000],");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"29121\"]]");
-    p = add_epsg_def (filter, first, last, 29122, "epsg", 29122,
-        "SAD69 / UTM zone 22N (deprecated)");
+        "PARAMETER[\"false_northing\",100000],UNIT[\"metre\",1,AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 14,
+        "NORTH],AUTHORITY[\"EPSG\",\"26993\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26994, "epsg", 26994,
+        "NAD83 / Mississippi East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0");
+        "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.9");
     add_proj4text (p, 1,
-        ",0 +units=m +no_defs");
+        "9995 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 22N (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"NAD83 / Mississippi East\",GEOGCS[\"NAD83\",DAT");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-51],PARAMETER[\"scale_fac");
+        ",PARAMETER[\"latitude_of_origin\",29.5],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ral_meridian\",-88.83333333333333],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "tor\",0.99995],PARAMETER[\"false_easting\",300000],PARAM");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"29122\"]]");
-    p = add_epsg_def (filter, first, last, 29168, "epsg", 29168,
-        "SAD69 / UTM zone 18N");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"26994\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26995, "epsg", 26995,
+        "NAD83 / Mississippi West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +ellps=aust_SA +towgs84=-57,1,-41,0,0");
+        "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.9");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "9995 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 18N\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NAD83 / Mississippi West\",GEOGCS[\"NAD83\",DAT");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "central_meridian\",-75],PARAMETER[\"scale_factor\",0.999");
+        ",PARAMETER[\"latitude_of_origin\",29.5],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "ral_meridian\",-90.33333333333333],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "tor\",0.99995],PARAMETER[\"false_easting\",700000],PARAM");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"29168\"]]");
-    p = add_epsg_def (filter, first, last, 29169, "epsg", 29169,
-        "SAD69 / UTM zone 19N");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"26995\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26996, "epsg", 26996,
+        "NAD83 / Missouri East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +ellps=aust_SA +towgs84=-57,1,-41,0,0");
+        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "99933333 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,");
+    add_proj4text (p, 2,
+        "0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 19N\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NAD83 / Missouri East\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "central_meridian\",-69],PARAMETER[\"scale_factor\",0.999");
+        "AMETER[\"latitude_of_origin\",35.83333333333334],PARAMET");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "ER[\"central_meridian\",-90.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        ",0.999933333],PARAMETER[\"false_easting\",250000],PARAME");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"29169\"]]");
-    p = add_epsg_def (filter, first, last, 29170, "epsg", 29170,
-        "SAD69 / UTM zone 20N");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"26996\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26997, "epsg", 26997,
+        "NAD83 / Missouri Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +ellps=aust_SA +towgs84=-57,1,-41,0,0");
+        "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "99933333 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,");
+    add_proj4text (p, 2,
+        "0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 20N\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NAD83 / Missouri Central\",GEOGCS[\"NAD83\",DAT");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        "central_meridian\",-63],PARAMETER[\"scale_factor\",0.999");
+        ",PARAMETER[\"latitude_of_origin\",35.83333333333334],PAR");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "AMETER[\"central_meridian\",-92.5],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "tor\",0.999933333],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"29170\"]]");
-    p = add_epsg_def (filter, first, last, 29171, "epsg", 29171,
-        "SAD69 / UTM zone 21N");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"26997\"]]");
+    p = add_epsg_def_ex (filter, first, last, 26998, "epsg", 26998,
+        "NAD83 / Missouri West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +ellps=aust_SA +towgs84=-57,1,-41,0,0");
+        "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "99941177 +x_0=850000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,");
+    add_proj4text (p, 2,
+        "0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 21N\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NAD83 / Missouri West\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "central_meridian\",-57],PARAMETER[\"scale_factor\",0.999");
+        "AMETER[\"latitude_of_origin\",36.16666666666666],PARAMET");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "ER[\"central_meridian\",-94.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        ",0.999941177],PARAMETER[\"false_easting\",850000],PARAME");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"29171\"]]");
-    p = add_epsg_def (filter, first, last, 29172, "epsg", 29172,
-        "SAD69 / UTM zone 22N");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"26998\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27037, "epsg", 27037,
+        "Nahrwan 1967 / UTM zone 37N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nahrwan_1967", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +ellps=aust_SA +towgs84=-57,1,-41,0,0");
+        "+proj=utm +zone=37 +ellps=clrk80 +towgs84=-242.2,-144.9,");
     add_proj4text (p, 1,
-        ",0,0 +units=m +no_defs");
+        "370.3,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 22N\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"Nahrwan 1967 / UTM zone 37N\",GEOGCS[\"Nahrwan ");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "1967\",DATUM[\"Nahrwan_1967\",SPHEROID[\"Clarke 1880 (RG");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "S)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],T");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "OWGS84[-242.2,-144.9,370.3,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "6270\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4270\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "central_meridian\",-51],PARAMETER[\"scale_factor\",0.999");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "ARAMETER[\"central_meridian\",39],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AU");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"29172\"]]");
-    p = add_epsg_def (filter, first, last, 29177, "epsg", 29177,
-        "SAD69 / UTM zone 17S (deprecated)");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"27037\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27038, "epsg", 27038,
+        "Nahrwan 1967 / UTM zone 38N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nahrwan_1967", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +south +ellps=GRS67 +towgs84=-57,1,-4");
+        "+proj=utm +zone=38 +ellps=clrk80 +towgs84=-242.2,-144.9,");
     add_proj4text (p, 1,
-        "1,0,0,0,0 +units=m +no_defs");
+        "370.3,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 17S (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"Nahrwan 1967 / UTM zone 38N\",GEOGCS[\"Nahrwan ");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "1967\",DATUM[\"Nahrwan_1967\",SPHEROID[\"Clarke 1880 (RG");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "S)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],T");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "OWGS84[-242.2,-144.9,370.3,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "6270\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4270\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_fac");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ARAMETER[\"central_meridian\",45],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"29177\"]]");
-    p = add_epsg_def (filter, first, last, 29178, "epsg", 29178,
-        "SAD69 / UTM zone 18S (deprecated)");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"27038\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27039, "epsg", 27039,
+        "Nahrwan 1967 / UTM zone 39N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nahrwan_1967", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +south +ellps=GRS67 +towgs84=-57,1,-4");
+        "+proj=utm +zone=39 +ellps=clrk80 +towgs84=-242.2,-144.9,");
     add_proj4text (p, 1,
-        "1,0,0,0,0 +units=m +no_defs");
+        "370.3,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 18S (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"Nahrwan 1967 / UTM zone 39N\",GEOGCS[\"Nahrwan ");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "1967\",DATUM[\"Nahrwan_1967\",SPHEROID[\"Clarke 1880 (RG");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "S)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],T");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "OWGS84[-242.2,-144.9,370.3,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "6270\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4270\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-75],PARAMETER[\"scale_fac");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ARAMETER[\"central_meridian\",51],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"29178\"]]");
-    p = add_epsg_def (filter, first, last, 29179, "epsg", 29179,
-        "SAD69 / UTM zone 19S (deprecated)");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"27039\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27040, "epsg", 27040,
+        "Nahrwan 1967 / UTM zone 40N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nahrwan_1967", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +south +ellps=GRS67 +towgs84=-57,1,-4");
+        "+proj=utm +zone=40 +ellps=clrk80 +towgs84=-242.2,-144.9,");
     add_proj4text (p, 1,
-        "1,0,0,0,0 +units=m +no_defs");
+        "370.3,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 19S (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"Nahrwan 1967 / UTM zone 40N\",GEOGCS[\"Nahrwan ");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "1967\",DATUM[\"Nahrwan_1967\",SPHEROID[\"Clarke 1880 (RG");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "S)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],T");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "OWGS84[-242.2,-144.9,370.3,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "6270\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4270\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_fac");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ARAMETER[\"central_meridian\",57],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"29179\"]]");
-    p = add_epsg_def (filter, first, last, 29180, "epsg", 29180,
-        "SAD69 / UTM zone 20S (deprecated)");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"27040\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27120, "epsg", 27120,
+        "Naparima 1972 / UTM zone 20N", 0, 0,
+        "International 1924", "Greenwich",
+        "Naparima_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +south +ellps=GRS67 +towgs84=-57,1,-4");
+        "+proj=utm +zone=20 +ellps=intl +towgs84=-10,375,165,0,0,");
     add_proj4text (p, 1,
-        "1,0,0,0,0 +units=m +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 20S (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"Naparima 1972 / UTM zone 20N\",GEOGCS[\"Naparim");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "a 1972\",DATUM[\"Naparima_1972\",SPHEROID[\"Internationa");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "l 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "84[-10,375,165,0,0,0,0],AUTHORITY[\"EPSG\",\"6271\"]],PR");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "HORITY[\"EPSG\",\"4271\"]],PROJECTION[\"Transverse_Merca");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
+        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "entral_meridian\",-63],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"29180\"]]");
-    p = add_epsg_def (filter, first, last, 29181, "epsg", 29181,
-        "SAD69 / UTM zone 21S (deprecated)");
+        "\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"27120\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27200, "epsg", 27200,
+        "NZGD49 / New Zealand Map Grid", 0, 0,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "New_Zealand_Map_Grid", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +south +ellps=GRS67 +towgs84=-57,1,-4");
+        "+proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=60231");
     add_proj4text (p, 1,
-        "1,0,0,0,0 +units=m +no_defs");
+        "50 +ellps=intl +towgs84=59.47,-5.04,187.44,0.47,-0.1,1.0");
+    add_proj4text (p, 2,
+        "24,-4.5993 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 21S (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"NZGD49 / New Zealand Map Grid\",GEOGCS[\"NZGD49");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "22\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.599");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "3],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_fac");
+        "72\"]],PROJECTION[\"New_Zealand_Map_Grid\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "latitude_of_origin\",-41],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        ",173],PARAMETER[\"false_easting\",2510000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "alse_northing\",6023150],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"29181\"]]");
-    p = add_epsg_def (filter, first, last, 29182, "epsg", 29182,
-        "SAD69 / UTM zone 22S (deprecated)");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"27200\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27205, "epsg", 27205,
+        "NZGD49 / Mount Eden Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=GRS67 +towgs84=-57,1,-4");
+        "+proj=tmerc +lat_0=-36.87986527777778 +lon_0=174.7643393");
     add_proj4text (p, 1,
-        "1,0,0,0,0 +units=m +no_defs");
+        "611111 +k=0.9999 +x_0=300000 +y_0=700000 +ellps=intl +to");
+    add_proj4text (p, 2,
+        "wgs84=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=");
+    add_proj4text (p, 3,
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 22S (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"NZGD49 / Mount Eden Circuit\",GEOGCS[\"NZGD49\"");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-51],PARAMETER[\"scale_fac");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "itude_of_origin\",-36.87986527777778],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "l_meridian\",174.7643393611111],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "\",0.9999],PARAMETER[\"false_easting\",300000],PARAMETER");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"29182\"]]");
-    p = add_epsg_def (filter, first, last, 29183, "epsg", 29183,
-        "SAD69 / UTM zone 23S (deprecated)");
+        "[\"false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Eastin");
+    add_srs_wkt (p, 14,
+        "g\",EAST],AUTHORITY[\"EPSG\",\"27205\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27206, "epsg", 27206,
+        "NZGD49 / Bay of Plenty Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +south +ellps=GRS67 +towgs84=-57,1,-4");
+        "+proj=tmerc +lat_0=-37.76124980555556 +lon_0=176.4661972");
     add_proj4text (p, 1,
-        "1,0,0,0,0 +units=m +no_defs");
+        "5 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84=59.4");
+    add_proj4text (p, 2,
+        "7,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 23S (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"NZGD49 / Bay of Plenty Circuit\",GEOGCS[\"NZGD4");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        "9\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "22\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.599");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "3],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-45],PARAMETER[\"scale_fac");
+        "72\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "atitude_of_origin\",-37.76124980555556],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "ral_meridian\",176.46619725],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "1],PARAMETER[\"false_easting\",300000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"29183\"]]");
-    p = add_epsg_def (filter, first, last, 29184, "epsg", 29184,
-        "SAD69 / UTM zone 24S (deprecated)");
+        "_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AUTHORITY[\"EPSG\",\"27206\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27207, "epsg", 27207,
+        "NZGD49 / Poverty Bay Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +south +ellps=GRS67 +towgs84=-57,1,-4");
+        "+proj=tmerc +lat_0=-38.62470277777778 +lon_0=177.8856362");
     add_proj4text (p, 1,
-        "1,0,0,0,0 +units=m +no_defs");
+        "777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 24S (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"NZGD49 / Poverty Bay Circuit\",GEOGCS[\"NZGD49\"");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-39],PARAMETER[\"scale_fac");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "itude_of_origin\",-38.62470277777778],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "l_meridian\",177.8856362777778],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"29184\"]]");
-    p = add_epsg_def (filter, first, last, 29185, "epsg", 29185,
-        "SAD69 / UTM zone 25S (deprecated)");
+        "lse_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AUTHORITY[\"EPSG\",\"27207\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27208, "epsg", 27208,
+        "NZGD49 / Hawkes Bay Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=25 +south +ellps=GRS67 +towgs84=-57,1,-4");
+        "+proj=tmerc +lat_0=-39.65092930555556 +lon_0=176.6736805");
     add_proj4text (p, 1,
-        "1,0,0,0,0 +units=m +no_defs");
+        "277778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 25S (deprecated)\",GEOGCS[\"SA");
+        "PROJCS[\"NZGD49 / Hawkes Bay Circuit\",GEOGCS[\"NZGD49\"");
     add_srs_wkt (p, 1,
-        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
+        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
+        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "9108\"]],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Tran");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272");
     add_srs_wkt (p, 8,
-        "ARAMETER[\"central_meridian\",-33],PARAMETER[\"scale_fac");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "itude_of_origin\",-39.65092930555556],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "l_meridian\",176.6736805277778],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"29185\"]]");
-    p = add_epsg_def (filter, first, last, 29187, "epsg", 29187,
-        "SAD69 / UTM zone 17S");
+        "lse_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AUTHORITY[\"EPSG\",\"27208\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27209, "epsg", 27209,
+        "NZGD49 / Taranaki Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +south +ellps=aust_SA +towgs84=-57,1,");
+        "+proj=tmerc +lat_0=-39.13575830555556 +lon_0=174.2280117");
     add_proj4text (p, 1,
-        "-41,0,0,0,0 +units=m +no_defs");
+        "5 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84=59.4");
+    add_proj4text (p, 2,
+        "7,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 17S\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NZGD49 / Taranaki Circuit\",GEOGCS[\"NZGD49\",D");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "ATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Inte");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "rnational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"");
     add_srs_wkt (p, 8,
-        "central_meridian\",-81],PARAMETER[\"scale_factor\",0.999");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "ude_of_origin\",-39.13575830555556],PARAMETER[\"central_");
     add_srs_wkt (p, 10,
-        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "meridian\",174.22801175],PARAMETER[\"scale_factor\",1],P");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "ARAMETER[\"false_easting\",300000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"29187\"]]");
-    p = add_epsg_def (filter, first, last, 29188, "epsg", 29188,
-        "SAD69 / UTM zone 18S");
+        "thing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
+    add_srs_wkt (p, 13,
+        "01\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"27209\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27210, "epsg", 27210,
+        "NZGD49 / Tuhirangi Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +south +ellps=aust_SA +towgs84=-57,1,");
+        "+proj=tmerc +lat_0=-39.51247038888889 +lon_0=175.6400368");
     add_proj4text (p, 1,
-        "-41,0,0,0,0 +units=m +no_defs");
+        "055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 18S\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NZGD49 / Tuhirangi Circuit\",GEOGCS[\"NZGD49\",");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Int");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"");
     add_srs_wkt (p, 8,
-        "central_meridian\",-75],PARAMETER[\"scale_factor\",0.999");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "ude_of_origin\",-39.51247038888889],PARAMETER[\"central_");
     add_srs_wkt (p, 10,
-        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "meridian\",175.6400368055556],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        ",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"29188\"]]");
-    p = add_epsg_def (filter, first, last, 29189, "epsg", 29189,
-        "SAD69 / UTM zone 19S");
+        "e_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 14,
+        "ST],AUTHORITY[\"EPSG\",\"27210\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27211, "epsg", 27211,
+        "NZGD49 / Wanganui Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +south +ellps=aust_SA +towgs84=-57,1,");
+        "+proj=tmerc +lat_0=-40.24194713888889 +lon_0=175.4880996");
     add_proj4text (p, 1,
-        "-41,0,0,0,0 +units=m +no_defs");
+        "111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 19S\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NZGD49 / Wanganui Circuit\",GEOGCS[\"NZGD49\",D");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "ATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Inte");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "rnational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"");
     add_srs_wkt (p, 8,
-        "central_meridian\",-69],PARAMETER[\"scale_factor\",0.999");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "ude_of_origin\",-40.24194713888889],PARAMETER[\"central_");
     add_srs_wkt (p, 10,
-        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "meridian\",175.4880996111111],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        ",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"29189\"]]");
-    p = add_epsg_def (filter, first, last, 29190, "epsg", 29190,
-        "SAD69 / UTM zone 20S");
+        "e_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 14,
+        "ST],AUTHORITY[\"EPSG\",\"27211\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27212, "epsg", 27212,
+        "NZGD49 / Wairarapa Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +south +ellps=aust_SA +towgs84=-57,1,");
+        "+proj=tmerc +lat_0=-40.92553263888889 +lon_0=175.6473496");
     add_proj4text (p, 1,
-        "-41,0,0,0,0 +units=m +no_defs");
+        "666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 20S\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NZGD49 / Wairarapa Circuit\",GEOGCS[\"NZGD49\",");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Int");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"");
     add_srs_wkt (p, 8,
-        "central_meridian\",-63],PARAMETER[\"scale_factor\",0.999");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "ude_of_origin\",-40.92553263888889],PARAMETER[\"central_");
     add_srs_wkt (p, 10,
-        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "meridian\",175.6473496666667],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        ",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"29190\"]]");
-    p = add_epsg_def (filter, first, last, 29191, "epsg", 29191,
-        "SAD69 / UTM zone 21S");
+        "e_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EA");
+    add_srs_wkt (p, 14,
+        "ST],AUTHORITY[\"EPSG\",\"27212\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27213, "epsg", 27213,
+        "NZGD49 / Wellington Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +south +ellps=aust_SA +towgs84=-57,1,");
+        "+proj=tmerc +lat_0=-41.30131963888888 +lon_0=174.7766231");
     add_proj4text (p, 1,
-        "-41,0,0,0,0 +units=m +no_defs");
+        "111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 21S\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NZGD49 / Wellington Circuit\",GEOGCS[\"NZGD49\"");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272");
     add_srs_wkt (p, 8,
-        "central_meridian\",-57],PARAMETER[\"scale_factor\",0.999");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "itude_of_origin\",-41.30131963888888],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "l_meridian\",174.7766231111111],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"29191\"]]");
-    p = add_epsg_def (filter, first, last, 29192, "epsg", 29192,
-        "SAD69 / UTM zone 22S");
+        "lse_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AUTHORITY[\"EPSG\",\"27213\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27214, "epsg", 27214,
+        "NZGD49 / Collingwood Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=aust_SA +towgs84=-57,1,");
+        "+proj=tmerc +lat_0=-40.71475905555556 +lon_0=172.6720465");
     add_proj4text (p, 1,
-        "-41,0,0,0,0 +units=m +no_defs");
+        " +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84=59.47");
+    add_proj4text (p, 2,
+        ",-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 22S\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NZGD49 / Collingwood Circuit\",GEOGCS[\"NZGD49\"");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272");
     add_srs_wkt (p, 8,
-        "central_meridian\",-51],PARAMETER[\"scale_factor\",0.999");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "itude_of_origin\",-40.71475905555556],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "l_meridian\",172.6720465],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"29192\"]]");
-    p = add_epsg_def (filter, first, last, 29193, "epsg", 29193,
-        "SAD69 / UTM zone 23S");
+        "rthing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 13,
+        "001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"27214\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27215, "epsg", 27215,
+        "NZGD49 / Nelson Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +south +ellps=aust_SA +towgs84=-57,1,");
+        "+proj=tmerc +lat_0=-41.27454472222222 +lon_0=173.2993168");
     add_proj4text (p, 1,
-        "-41,0,0,0,0 +units=m +no_defs");
+        "055555 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 23S\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NZGD49 / Nelson Circuit\",GEOGCS[\"NZGD49\",DAT");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "UM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Intern");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "ational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]]");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        ",TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUT");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "HORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]]");
     add_srs_wkt (p, 8,
-        "central_meridian\",-45],PARAMETER[\"scale_factor\",0.999");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "e_of_origin\",-41.27454472222222],PARAMETER[\"central_me");
     add_srs_wkt (p, 10,
-        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "ridian\",173.2993168055555],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "],PARAMETER[\"false_easting\",300000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"29193\"]]");
-    p = add_epsg_def (filter, first, last, 29194, "epsg", 29194,
-        "SAD69 / UTM zone 24S");
+        "northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"27215\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27216, "epsg", 27216,
+        "NZGD49 / Karamea Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +south +ellps=aust_SA +towgs84=-57,1,");
+        "+proj=tmerc +lat_0=-41.28991152777778 +lon_0=172.1090281");
     add_proj4text (p, 1,
-        "-41,0,0,0,0 +units=m +no_defs");
+        "944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 24S\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NZGD49 / Karamea Circuit\",GEOGCS[\"NZGD49\",DA");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "TUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Inter");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "national 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        "],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AU");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "THORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]");
     add_srs_wkt (p, 8,
-        "central_meridian\",-39],PARAMETER[\"scale_factor\",0.999");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "de_of_origin\",-41.28991152777778],PARAMETER[\"central_m");
     add_srs_wkt (p, 10,
-        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "eridian\",172.1090281944444],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "1],PARAMETER[\"false_easting\",300000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"29194\"]]");
-    p = add_epsg_def (filter, first, last, 29195, "epsg", 29195,
-        "SAD69 / UTM zone 25S");
+        "_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AUTHORITY[\"EPSG\",\"27216\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27217, "epsg", 27217,
+        "NZGD49 / Buller Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=25 +south +ellps=aust_SA +towgs84=-57,1,");
+        "+proj=tmerc +lat_0=-41.81080286111111 +lon_0=171.5812600");
     add_proj4text (p, 1,
-        "-41,0,0,0,0 +units=m +no_defs");
+        "555556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SAD69 / UTM zone 25S\",GEOGCS[\"SAD69\",DATUM[\"");
+        "PROJCS[\"NZGD49 / Buller Circuit\",GEOGCS[\"NZGD49\",DAT");
     add_srs_wkt (p, 1,
-        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
+        "UM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Intern");
     add_srs_wkt (p, 2,
-        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
+        "ational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]]");
     add_srs_wkt (p, 3,
-        "-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]],PRIMEM[");
+        ",TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUT");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "HORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_Mer");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "cator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]]");
     add_srs_wkt (p, 8,
-        "central_meridian\",-33],PARAMETER[\"scale_factor\",0.999");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "e_of_origin\",-41.81080286111111],PARAMETER[\"central_me");
     add_srs_wkt (p, 10,
-        "_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+        "ridian\",171.5812600555556],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        ",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NOR");
+        "],PARAMETER[\"false_easting\",300000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"29195\"]]");
-    p = add_epsg_def (filter, first, last, 29220, "epsg", 29220,
-        "Sapper Hill 1943 / UTM zone 20S");
+        "northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"27217\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27218, "epsg", 27218,
+        "NZGD49 / Grey Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +south +ellps=intl +towgs84=-355,21,7");
+        "+proj=tmerc +lat_0=-42.33369427777778 +lon_0=171.5497713");
     add_proj4text (p, 1,
-        "2,0,0,0,0 +units=m +no_defs");
+        "055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Sapper Hill 1943 / UTM zone 20S\",GEOGCS[\"Sapp");
+        "PROJCS[\"NZGD49 / Grey Circuit\",GEOGCS[\"NZGD49\",DATUM");
     add_srs_wkt (p, 1,
-        "er Hill 1943\",DATUM[\"Sapper_Hill_1943\",SPHEROID[\"Int");
+        "[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Internat");
     add_srs_wkt (p, 2,
-        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-355,21,72,0,0,0,0],AUTHORITY[\"EPSG\",\"6292");
+        "OWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTHO");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "RITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4292\"]],PROJECTION[\"Tr");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]],P");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_f");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "of_origin\",-42.33369427777778],PARAMETER[\"central_meri");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "dian\",171.5497713055556],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"29220\"]]");
-    p = add_epsg_def (filter, first, last, 29221, "epsg", 29221,
-        "Sapper Hill 1943 / UTM zone 21S");
+        "rthing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 13,
+        "001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"27218\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27219, "epsg", 27219,
+        "NZGD49 / Amuri Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +south +ellps=intl +towgs84=-355,21,7");
+        "+proj=tmerc +lat_0=-42.68911658333333 +lon_0=173.0101333");
     add_proj4text (p, 1,
-        "2,0,0,0,0 +units=m +no_defs");
+        "888889 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Sapper Hill 1943 / UTM zone 21S\",GEOGCS[\"Sapp");
+        "PROJCS[\"NZGD49 / Amuri Circuit\",GEOGCS[\"NZGD49\",DATU");
     add_srs_wkt (p, 1,
-        "er Hill 1943\",DATUM[\"Sapper_Hill_1943\",SPHEROID[\"Int");
+        "M[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Interna");
     add_srs_wkt (p, 2,
-        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
+        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[-355,21,72,0,0,0,0],AUTHORITY[\"EPSG\",\"6292");
+        "TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTH");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "ORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4292\"]],PROJECTION[\"Tr");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]],");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_f");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "_of_origin\",-42.68911658333333],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "idian\",173.0101333888889],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        ",PARAMETER[\"false_easting\",300000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"29221\"]]");
-    p = add_epsg_def (filter, first, last, 29333, "epsg", 29333,
-        "Schwarzeck / UTM zone 33S");
+        "orthing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"27219\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27220, "epsg", 27220,
+        "NZGD49 / Marlborough Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +south +ellps=bess_nam +towgs84=616,9");
+        "+proj=tmerc +lat_0=-41.54448666666666 +lon_0=173.8020741");
     add_proj4text (p, 1,
-        "7,-251,0,0,0,0 +units=m +no_defs");
+        "111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Schwarzeck / UTM zone 33S\",GEOGCS[\"Schwarzeck");
+        "PROJCS[\"NZGD49 / Marlborough Circuit\",GEOGCS[\"NZGD49\"");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\"");
+        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        ",6377483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "\"]],TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
+        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
     add_srs_wkt (p, 4,
-        "293\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
+        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "\",\"9122\"]],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "itude_of_origin\",-41.54448666666666],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "l_meridian\",173.8020741111111],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"29333\"]]");
-    p = add_epsg_def (filter, first, last, 29371, "epsg", 29371,
-        "Schwarzeck / Lo22/11");
+        "lse_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AUTHORITY[\"EPSG\",\"27220\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27221, "epsg", 27221,
+        "NZGD49 / Hokitika Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-22 +lon_0=11 +k=1 +x_0=0 +y_0=0 +axi");
+        "+proj=tmerc +lat_0=-42.88632236111111 +lon_0=170.9799935");
     add_proj4text (p, 1,
-        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
+        " +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84=59.47");
     add_proj4text (p, 2,
-        "eter=1.0000135965 +no_defs");
+        ",-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Schwarzeck / Lo22/11\",GEOGCS[\"Schwarzeck\",DA");
+        "PROJCS[\"NZGD49 / Hokitika Circuit\",GEOGCS[\"NZGD49\",D");
     add_srs_wkt (p, 1,
-        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
+        "ATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Inte");
     add_srs_wkt (p, 2,
-        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
+        "rnational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
+        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Tran");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "sverse_Mercator_South_Orientated\"],PARAMETER[\"latitude");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"");
     add_srs_wkt (p, 8,
-        "_of_origin\",-22],PARAMETER[\"central_meridian\",11],PAR");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0");
+        "ude_of_origin\",-42.88632236111111],PARAMETER[\"central_");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"German legal me");
+        "meridian\",170.9799935],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "tre\",1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"");
+        "RAMETER[\"false_easting\",300000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29371\"");
+        "hing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 29373, "epsg", 29373,
-        "Schwarzeck / Lo22/13");
+        "1\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AU");
+    add_srs_wkt (p, 14,
+        "THORITY[\"EPSG\",\"27221\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27222, "epsg", 27222,
+        "NZGD49 / Okarito Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-22 +lon_0=13 +k=1 +x_0=0 +y_0=0 +axi");
+        "+proj=tmerc +lat_0=-43.11012813888889 +lon_0=170.2609258");
     add_proj4text (p, 1,
-        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
+        "333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
     add_proj4text (p, 2,
-        "eter=1.0000135965 +no_defs");
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Schwarzeck / Lo22/13\",GEOGCS[\"Schwarzeck\",DA");
+        "PROJCS[\"NZGD49 / Okarito Circuit\",GEOGCS[\"NZGD49\",DA");
     add_srs_wkt (p, 1,
-        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
+        "TUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Inter");
     add_srs_wkt (p, 2,
-        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
+        "national 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]");
     add_srs_wkt (p, 3,
-        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
+        "],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AU");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "THORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Tran");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "sverse_Mercator_South_Orientated\"],PARAMETER[\"latitude");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]");
     add_srs_wkt (p, 8,
-        "_of_origin\",-22],PARAMETER[\"central_meridian\",13],PAR");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0");
+        "de_of_origin\",-43.11012813888889],PARAMETER[\"central_m");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"German legal me");
+        "eridian\",170.2609258333333],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 11,
-        "tre\",1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"");
+        "1],PARAMETER[\"false_easting\",300000],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29373\"");
+        "_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 29375, "epsg", 29375,
-        "Schwarzeck / Lo22/15");
+        "\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AUTHORITY[\"EPSG\",\"27222\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27223, "epsg", 27223,
+        "NZGD49 / Jacksons Bay Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-22 +lon_0=15 +k=1 +x_0=0 +y_0=0 +axi");
+        "+proj=tmerc +lat_0=-43.97780288888889 +lon_0=168.606267 ");
     add_proj4text (p, 1,
-        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
+        "+k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84=59.47,");
     add_proj4text (p, 2,
-        "eter=1.0000135965 +no_defs");
+        "-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Schwarzeck / Lo22/15\",GEOGCS[\"Schwarzeck\",DA");
+        "PROJCS[\"NZGD49 / Jacksons Bay Circuit\",GEOGCS[\"NZGD49");
     add_srs_wkt (p, 1,
-        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
+        "\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
+        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
+        "22\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.599");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "3],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Tran");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "sverse_Mercator_South_Orientated\"],PARAMETER[\"latitude");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 8,
-        "_of_origin\",-22],PARAMETER[\"central_meridian\",15],PAR");
+        "72\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0");
+        "atitude_of_origin\",-43.97780288888889],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"German legal me");
+        "ral_meridian\",168.606267],PARAMETER[\"scale_factor\",1]");
     add_srs_wkt (p, 11,
-        "tre\",1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"");
+        ",PARAMETER[\"false_easting\",300000],PARAMETER[\"false_n");
     add_srs_wkt (p, 12,
-        "Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29375\"");
+        "orthing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "]]");
+        "9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"27223\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_40.c b/src/srsinit/epsg_inlined_40.c
index b3b41fc..efc74e7 100644
--- a/src/srsinit/epsg_inlined_40.c
+++ b/src/srsinit/epsg_inlined_40.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3456 +54,4067 @@ initialize_epsg_40 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 29377, "epsg", 29377,
-        "Schwarzeck / Lo22/17");
+    p = add_epsg_def_ex (filter, first, last, 27224, "epsg", 27224,
+        "NZGD49 / Mount Pleasant Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-22 +lon_0=17 +k=1 +x_0=0 +y_0=0 +axi");
+        "+proj=tmerc +lat_0=-43.59063758333333 +lon_0=172.7271935");
     add_proj4text (p, 1,
-        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
+        "833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
     add_proj4text (p, 2,
-        "eter=1.0000135965 +no_defs");
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Schwarzeck / Lo22/17\",GEOGCS[\"Schwarzeck\",DA");
+        "PROJCS[\"NZGD49 / Mount Pleasant Circuit\",GEOGCS[\"NZGD");
     add_srs_wkt (p, 1,
-        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
+        "49\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
+        "\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
+        "7022\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "993],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Tran");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "sverse_Mercator_South_Orientated\"],PARAMETER[\"latitude");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "_of_origin\",-22],PARAMETER[\"central_meridian\",17],PAR");
+        "4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0");
+        "latitude_of_origin\",-43.59063758333333],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"German legal me");
+        "tral_meridian\",172.7271935833333],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 11,
-        "tre\",1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"");
+        "tor\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29377\"");
+        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 29379, "epsg", 29379,
-        "Schwarzeck / Lo22/19");
+        "SG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AUTHORITY[\"EPSG\",\"27224\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27225, "epsg", 27225,
+        "NZGD49 / Gawler Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-22 +lon_0=19 +k=1 +x_0=0 +y_0=0 +axi");
+        "+proj=tmerc +lat_0=-43.74871155555556 +lon_0=171.3607484");
     add_proj4text (p, 1,
-        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
+        "722222 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
     add_proj4text (p, 2,
-        "eter=1.0000135965 +no_defs");
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Schwarzeck / Lo22/19\",GEOGCS[\"Schwarzeck\",DA");
+        "PROJCS[\"NZGD49 / Gawler Circuit\",GEOGCS[\"NZGD49\",DAT");
     add_srs_wkt (p, 1,
-        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
+        "UM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Intern");
     add_srs_wkt (p, 2,
-        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
+        "ational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]]");
     add_srs_wkt (p, 3,
-        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
+        ",TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUT");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "HORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Tran");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "sverse_Mercator_South_Orientated\"],PARAMETER[\"latitude");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]]");
     add_srs_wkt (p, 8,
-        "_of_origin\",-22],PARAMETER[\"central_meridian\",19],PAR");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0");
+        "e_of_origin\",-43.74871155555556],PARAMETER[\"central_me");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"German legal me");
+        "ridian\",171.3607484722222],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "tre\",1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"");
+        "],PARAMETER[\"false_easting\",300000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29379\"");
+        "northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 29381, "epsg", 29381,
-        "Schwarzeck / Lo22/21");
+        "9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"27225\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27226, "epsg", 27226,
+        "NZGD49 / Timaru Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-22 +lon_0=21 +k=1 +x_0=0 +y_0=0 +axi");
+        "+proj=tmerc +lat_0=-44.40222036111111 +lon_0=171.0572508");
     add_proj4text (p, 1,
-        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
+        "333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
     add_proj4text (p, 2,
-        "eter=1.0000135965 +no_defs");
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Schwarzeck / Lo22/21\",GEOGCS[\"Schwarzeck\",DA");
+        "PROJCS[\"NZGD49 / Timaru Circuit\",GEOGCS[\"NZGD49\",DAT");
     add_srs_wkt (p, 1,
-        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
+        "UM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Intern");
     add_srs_wkt (p, 2,
-        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
+        "ational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]]");
     add_srs_wkt (p, 3,
-        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
+        ",TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUT");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "HORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Tran");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "sverse_Mercator_South_Orientated\"],PARAMETER[\"latitude");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]]");
     add_srs_wkt (p, 8,
-        "_of_origin\",-22],PARAMETER[\"central_meridian\",21],PAR");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0");
+        "e_of_origin\",-44.40222036111111],PARAMETER[\"central_me");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"German legal me");
+        "ridian\",171.0572508333333],PARAMETER[\"scale_factor\",1");
     add_srs_wkt (p, 11,
-        "tre\",1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"");
+        "],PARAMETER[\"false_easting\",300000],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29381\"");
+        "northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 29383, "epsg", 29383,
-        "Schwarzeck / Lo22/23");
+        "9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"27226\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27227, "epsg", 27227,
+        "NZGD49 / Lindis Peak Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-22 +lon_0=23 +k=1 +x_0=0 +y_0=0 +axi");
+        "+proj=tmerc +lat_0=-44.73526797222222 +lon_0=169.4677550");
     add_proj4text (p, 1,
-        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
+        "833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
     add_proj4text (p, 2,
-        "eter=1.0000135965 +no_defs");
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Schwarzeck / Lo22/23\",GEOGCS[\"Schwarzeck\",DA");
+        "PROJCS[\"NZGD49 / Lindis Peak Circuit\",GEOGCS[\"NZGD49\"");
     add_srs_wkt (p, 1,
-        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
+        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
+        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Tran");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "sverse_Mercator_South_Orientated\"],PARAMETER[\"latitude");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272");
     add_srs_wkt (p, 8,
-        "_of_origin\",-22],PARAMETER[\"central_meridian\",23],PAR");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0");
+        "itude_of_origin\",-44.73526797222222],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"German legal me");
+        "l_meridian\",169.4677550833333],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 11,
-        "tre\",1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"");
+        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29383\"");
+        "lse_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 29385, "epsg", 29385,
-        "Schwarzeck / Lo22/25");
+        "\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AUTHORITY[\"EPSG\",\"27227\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27228, "epsg", 27228,
+        "NZGD49 / Mount Nicholas Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=-22 +lon_0=25 +k=1 +x_0=0 +y_0=0 +axi");
+        "+proj=tmerc +lat_0=-45.13290258333333 +lon_0=168.3986411");
     add_proj4text (p, 1,
-        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
+        "944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
     add_proj4text (p, 2,
-        "eter=1.0000135965 +no_defs");
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Schwarzeck / Lo22/25\",GEOGCS[\"Schwarzeck\",DA");
+        "PROJCS[\"NZGD49 / Mount Nicholas Circuit\",GEOGCS[\"NZGD");
     add_srs_wkt (p, 1,
-        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
+        "49\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
+        "\"International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
+        "7022\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5");
     add_srs_wkt (p, 4,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+        "993],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 5,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Tran");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "sverse_Mercator_South_Orientated\"],PARAMETER[\"latitude");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "_of_origin\",-22],PARAMETER[\"central_meridian\",25],PAR");
+        "4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0");
+        "latitude_of_origin\",-45.13290258333333],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"German legal me");
+        "tral_meridian\",168.3986411944444],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 11,
-        "tre\",1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"");
+        "tor\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "Y\",WEST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29385\"");
+        "false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 29635, "epsg", 29635,
-        "Sudan / UTM zone 35N (deprecated)");
+        "SG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AUTHORITY[\"EPSG\",\"27228\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27229, "epsg", 27229,
+        "NZGD49 / Mount York Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +a=6378249.2 +b=6356515 +units=m +no_");
+        "+proj=tmerc +lat_0=-45.56372616666666 +lon_0=167.7388617");
     add_proj4text (p, 1,
-        "defs");
+        "777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Sudan / UTM zone 35N (deprecated)\",GEOGCS[\"Su");
+        "PROJCS[\"NZGD49 / Mount York Circuit\",GEOGCS[\"NZGD49\"");
     add_srs_wkt (p, 1,
-        "dan\",DATUM[\"Sudan\",SPHEROID[\"Clarke 1880 (IGN)\",637");
+        ",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "8249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],A");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6296\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993]");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        ",AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "4296\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",2");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272");
     add_srs_wkt (p, 8,
-        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "itude_of_origin\",-45.56372616666666],PARAMETER[\"centra");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "l_meridian\",167.7388617777778],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 11,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"296");
+        "\",1],PARAMETER[\"false_easting\",300000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "35\"]]");
-    p = add_epsg_def (filter, first, last, 29636, "epsg", 29636,
-        "Sudan / UTM zone 36N (deprecated)");
+        "lse_northing\",700000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 13,
+        "\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",");
+    add_srs_wkt (p, 14,
+        "EAST],AUTHORITY[\"EPSG\",\"27229\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27230, "epsg", 27230,
+        "NZGD49 / Observation Point Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +a=6378249.2 +b=6356515 +units=m +no_");
+        "+proj=tmerc +lat_0=-45.81619661111111 +lon_0=170.6285951");
     add_proj4text (p, 1,
-        "defs");
+        "666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +towgs84");
+    add_proj4text (p, 2,
+        "=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no");
+    add_proj4text (p, 3,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Sudan / UTM zone 36N (deprecated)\",GEOGCS[\"Su");
+        "PROJCS[\"NZGD49 / Observation Point Circuit\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "dan\",DATUM[\"Sudan\",SPHEROID[\"Clarke 1880 (IGN)\",637");
+        "ZGD49\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHERO");
     add_srs_wkt (p, 2,
-        "8249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],A");
+        "ID[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6296\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        ",\"7022\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "4.5993],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "4296\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
+        ",\"4272\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "R[\"latitude_of_origin\",-45.81619661111111],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+        "central_meridian\",170.6285951666667],PARAMETER[\"scale_");
     add_srs_wkt (p, 11,
-        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"296");
+        "factor\",1],PARAMETER[\"false_easting\",300000],PARAMETE");
     add_srs_wkt (p, 12,
-        "36\"]]");
-    p = add_epsg_def (filter, first, last, 29700, "epsg", 29700,
-        "Tananarive (Paris) / Laborde Grid (deprecated)");
+        "R[\"false_northing\",700000],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"East");
+    add_srs_wkt (p, 14,
+        "ing\",EAST],AUTHORITY[\"EPSG\",\"27230\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27231, "epsg", 27231,
+        "NZGD49 / North Taieri Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=");
+        "+proj=tmerc +lat_0=-45.86151336111111 +lon_0=170.2825891");
     add_proj4text (p, 1,
-        "18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +gamm");
+        "111111 +k=0.99996 +x_0=300000 +y_0=700000 +ellps=intl +t");
     add_proj4text (p, 2,
-        "a=18.9 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=pa");
+        "owgs84=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units");
     add_proj4text (p, 3,
-        "ris +units=m +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tananarive (Paris) / Laborde Grid (deprecated)\"");
+        "PROJCS[\"NZGD49 / North Taieri Circuit\",GEOGCS[\"NZGD49");
     add_srs_wkt (p, 1,
-        ",GEOGCS[\"Tananarive (Paris)\",DATUM[\"Tananarive_1925_P");
+        "\",DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "aris\",SPHEROID[\"International 1924\",6378388,297,AUTHO");
+        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"7022\"]],TOWGS84[-189,-242,-91,0,0,0,0],");
+        "22\"]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.599");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6810\"]],PRIMEM[\"Paris\",2.3372291");
+        "3],AUTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 5,
-        "7,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.01570796");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 6,
-        "326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHORITY[\"EPSG");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\",\"4810\"]],PROJECTION[\"Hotine_Oblique_Mercator_Azimu");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 8,
-        "th_Center\"],PARAMETER[\"latitude_of_center\",-21],PARAM");
+        "72\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "ETER[\"longitude_of_center\",49],PARAMETER[\"azimuth\",2");
+        "atitude_of_origin\",-45.86151336111111],PARAMETER[\"cent");
     add_srs_wkt (p, 10,
-        "1],PARAMETER[\"rectified_grid_angle\",21],PARAMETER[\"sc");
+        "ral_meridian\",170.2825891111111],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 11,
-        "ale_factor\",0.9995],PARAMETER[\"false_easting\",400000]");
+        "or\",0.99996],PARAMETER[\"false_easting\",300000],PARAME");
     add_srs_wkt (p, 12,
-        ",PARAMETER[\"false_northing\",800000],UNIT[\"metre\",1,A");
+        "TER[\"false_northing\",700000],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 13,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Ea");
     add_srs_wkt (p, 14,
-        ",NORTH],AUTHORITY[\"EPSG\",\"29700\"]]");
-    p = add_epsg_def (filter, first, last, 29702, "epsg", 29702,
-        "Tananarive (Paris) / Laborde Grid approximation");
+        "sting\",EAST],AUTHORITY[\"EPSG\",\"27231\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27232, "epsg", 27232,
+        "NZGD49 / Bluff Circuit", 0, 1,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
-        "+proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=");
+        "+proj=tmerc +lat_0=-46.60000961111111 +lon_0=168.342872 ");
     add_proj4text (p, 1,
-        "18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +gamm");
+        "+k=1 +x_0=300002.66 +y_0=699999.58 +ellps=intl +towgs84=");
     add_proj4text (p, 2,
-        "a=18.9 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=pa");
+        "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no_");
     add_proj4text (p, 3,
-        "ris +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tananarive (Paris) / Laborde Grid approximation");
+        "PROJCS[\"NZGD49 / Bluff Circuit\",GEOGCS[\"NZGD49\",DATU");
     add_srs_wkt (p, 1,
-        "\",GEOGCS[\"Tananarive (Paris)\",DATUM[\"Tananarive_1925");
+        "M[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Interna");
     add_srs_wkt (p, 2,
-        "_Paris\",SPHEROID[\"International 1924\",6378388,297,AUT");
+        "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7022\"]],TOWGS84[-189,-242,-91,0,0,0,0");
+        "TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTH");
     add_srs_wkt (p, 4,
-        "],AUTHORITY[\"EPSG\",\"6810\"]],PRIMEM[\"Paris\",2.33722");
+        "ORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORI");
     add_srs_wkt (p, 5,
-        "917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.015707");
+        "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943");
     add_srs_wkt (p, 6,
-        "96326794897,AUTHORITY[\"EPSG\",\"9105\"]],AUTHORITY[\"EP");
+        "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]");
     add_srs_wkt (p, 7,
-        "SG\",\"4810\"]],PROJECTION[\"Hotine_Oblique_Mercator_Azi");
+        ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]],");
     add_srs_wkt (p, 8,
-        "muth_Center\"],PARAMETER[\"latitude_of_center\",-21],PAR");
+        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "AMETER[\"longitude_of_center\",49],PARAMETER[\"azimuth\"");
+        "_of_origin\",-46.60000961111111],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        ",21],PARAMETER[\"rectified_grid_angle\",21],PARAMETER[\"");
+        "idian\",168.342872],PARAMETER[\"scale_factor\",1],PARAME");
     add_srs_wkt (p, 11,
-        "scale_factor\",0.9995],PARAMETER[\"false_easting\",40000");
+        "TER[\"false_easting\",300002.66],PARAMETER[\"false_north");
     add_srs_wkt (p, 12,
-        "0],PARAMETER[\"false_northing\",800000],UNIT[\"metre\",1");
+        "ing\",699999.58],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"2970");
+        "001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 14,
-        "2\"]]");
-    p = add_epsg_def (filter, first, last, 29738, "epsg", 29738,
-        "Tananarive / UTM zone 38S");
+        "AUTHORITY[\"EPSG\",\"27232\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27258, "epsg", 27258,
+        "NZGD49 / UTM zone 58S", 0, 0,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +south +ellps=intl +towgs84=-189,-242");
+        "+proj=utm +zone=58 +south +ellps=intl +towgs84=59.47,-5.");
     add_proj4text (p, 1,
-        ",-91,0,0,0,0 +units=m +no_defs");
+        "04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tananarive / UTM zone 38S\",GEOGCS[\"Tananarive");
+        "PROJCS[\"NZGD49 / UTM zone 58S\",GEOGCS[\"NZGD49\",DATUM");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"Tananarive_1925\",SPHEROID[\"International 19");
+        "[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Internat");
     add_srs_wkt (p, 2,
-        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
+        "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
     add_srs_wkt (p, 3,
-        "189,-242,-91,0,0,0,0],AUTHORITY[\"EPSG\",\"6297\"]],PRIM");
+        "OWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTHO");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "RITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4297\"]],PROJECTION[\"Transverse_");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]],P");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",45],PARAMETER[\"scale_factor\",0.");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "of_origin\",0],PARAMETER[\"central_meridian\",165],PARAM");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"29738\"]]");
-    p = add_epsg_def (filter, first, last, 29739, "epsg", 29739,
-        "Tananarive / UTM zone 39S");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2725");
+    add_srs_wkt (p, 14,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27259, "epsg", 27259,
+        "NZGD49 / UTM zone 59S", 0, 0,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +south +ellps=intl +towgs84=-189,-242");
+        "+proj=utm +zone=59 +south +ellps=intl +towgs84=59.47,-5.");
     add_proj4text (p, 1,
-        ",-91,0,0,0,0 +units=m +no_defs");
+        "04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tananarive / UTM zone 39S\",GEOGCS[\"Tananarive");
+        "PROJCS[\"NZGD49 / UTM zone 59S\",GEOGCS[\"NZGD49\",DATUM");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"Tananarive_1925\",SPHEROID[\"International 19");
+        "[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Internat");
     add_srs_wkt (p, 2,
-        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
+        "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
     add_srs_wkt (p, 3,
-        "189,-242,-91,0,0,0,0],AUTHORITY[\"EPSG\",\"6297\"]],PRIM");
+        "OWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTHO");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "RITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4297\"]],PROJECTION[\"Transverse_");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]],P");
     add_srs_wkt (p, 8,
-        "R[\"central_meridian\",51],PARAMETER[\"scale_factor\",0.");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "of_origin\",0],PARAMETER[\"central_meridian\",171],PARAM");
     add_srs_wkt (p, 10,
-        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"29739\"]]");
-    p = add_epsg_def (filter, first, last, 29849, "epsg", 29849,
-        "Timbalai 1948 / UTM zone 49N");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2725");
+    add_srs_wkt (p, 14,
+        "9\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27260, "epsg", 27260,
+        "NZGD49 / UTM zone 60S", 0, 0,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +ellps=evrstSS +towgs84=-679,669,-48,");
+        "+proj=utm +zone=60 +south +ellps=intl +towgs84=59.47,-5.");
     add_proj4text (p, 1,
-        "0,0,0,0 +units=m +no_defs");
+        "04,187.44,0.47,-0.1,1.024,-4.5993 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Timbalai 1948 / UTM zone 49N\",GEOGCS[\"Timbala");
+        "PROJCS[\"NZGD49 / UTM zone 60S\",GEOGCS[\"NZGD49\",DATUM");
     add_srs_wkt (p, 1,
-        "i 1948\",DATUM[\"Timbalai_1948\",SPHEROID[\"Everest 1830");
+        "[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Internat");
     add_srs_wkt (p, 2,
-        " (1967 Definition)\",6377298.556,300.8017,AUTHORITY[\"EP");
+        "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T");
     add_srs_wkt (p, 3,
-        "SG\",\"7016\"]],TOWGS84[-679,669,-48,0,0,0,0],AUTHORITY[");
+        "OWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],AUTHO");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6298\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "RITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4298\"]],");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"]],P");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",111],PARA");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.9996],PARAMETER[\"false_easting");
+        "of_origin\",0],PARAMETER[\"central_meridian\",177],PARAM");
     add_srs_wkt (p, 10,
-        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        ",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29849\"]]");
-    p = add_epsg_def (filter, first, last, 29850, "epsg", 29850,
-        "Timbalai 1948 / UTM zone 50N");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2726");
+    add_srs_wkt (p, 14,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27291, "epsg", 27291,
+        "NZGD49 / North Island Grid", 0, 0,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "British yard (Sears 1922)",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +ellps=evrstSS +towgs84=-679,669,-48,");
+        "+proj=tmerc +lat_0=-39 +lon_0=175.5 +k=1 +x_0=274319.524");
     add_proj4text (p, 1,
-        "0,0,0,0 +units=m +no_defs");
+        "3848086 +y_0=365759.3658464114 +ellps=intl +towgs84=59.4");
+    add_proj4text (p, 2,
+        "7,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +to_meter=0.91439");
+    add_proj4text (p, 3,
+        "84146160287 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Timbalai 1948 / UTM zone 50N\",GEOGCS[\"Timbala");
+        "PROJCS[\"NZGD49 / North Island Grid\",GEOGCS[\"NZGD49\",");
     add_srs_wkt (p, 1,
-        "i 1948\",DATUM[\"Timbalai_1948\",SPHEROID[\"Everest 1830");
+        "DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Int");
     add_srs_wkt (p, 2,
-        " (1967 Definition)\",6377298.556,300.8017,AUTHORITY[\"EP");
+        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        "SG\",\"7016\"]],TOWGS84[-679,669,-48,0,0,0,0],AUTHORITY[");
+        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
     add_srs_wkt (p, 4,
-        "\"EPSG\",\"6298\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
+        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4298\"]],");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"");
     add_srs_wkt (p, 8,
-        "_of_origin\",0],PARAMETER[\"central_meridian\",117],PARA");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "METER[\"scale_factor\",0.9996],PARAMETER[\"false_easting");
+        "ude_of_origin\",-39],PARAMETER[\"central_meridian\",175.");
     add_srs_wkt (p, 10,
-        "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
+        "ng\",300000],PARAMETER[\"false_northing\",400000],UNIT[\"");
     add_srs_wkt (p, 12,
-        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29850\"]]");
-    p = add_epsg_def (filter, first, last, 29871, "epsg", 29871,
-        "Timbalai 1948 / RSO Borneo (ch)");
+        "British yard (Sears 1922)\",0.9143984146160287,AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"9040\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 14,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"27291\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27292, "epsg", 27292,
+        "NZGD49 / South Island Grid", 0, 0,
+        "International 1924", "Greenwich",
+        "New_Zealand_Geodetic_Datum_1949", "Transverse_Mercator", "British yard (Sears 1922)",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 ");
+        "+proj=tmerc +lat_0=-44 +lon_0=171.5 +k=1 +x_0=457199.207");
     add_proj4text (p, 1,
-        "+k=0.99984 +x_0=590476.8714630401 +y_0=442857.653094361 ");
+        "3080143 +y_0=457199.2073080143 +ellps=intl +towgs84=59.4");
     add_proj4text (p, 2,
-        "+gamma=53.13010236111111 +ellps=evrstSS +towgs84=-679,66");
+        "7,-5.04,187.44,0.47,-0.1,1.024,-4.5993 +to_meter=0.91439");
     add_proj4text (p, 3,
-        "9,-48,0,0,0,0 +to_meter=20.11676512155263 +no_defs");
+        "84146160287 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Timbalai 1948 / RSO Borneo (ch)\",GEOGCS[\"Timb");
+        "PROJCS[\"NZGD49 / South Island Grid\",GEOGCS[\"NZGD49\",");
     add_srs_wkt (p, 1,
-        "alai 1948\",DATUM[\"Timbalai_1948\",SPHEROID[\"Everest 1");
+        "DATUM[\"New_Zealand_Geodetic_Datum_1949\",SPHEROID[\"Int");
     add_srs_wkt (p, 2,
-        "830 (1967 Definition)\",6377298.556,300.8017,AUTHORITY[\"");
+        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7016\"]],TOWGS84[-679,669,-48,0,0,0,0],AUTHORIT");
+        "]],TOWGS84[59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993],A");
     add_srs_wkt (p, 4,
-        "Y[\"EPSG\",\"6298\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "UTHORITY[\"EPSG\",\"6272\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4298\"]]");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"],");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4272\"");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_center\",4],PARAMETER[\"longitud");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "e_of_center\",115],PARAMETER[\"azimuth\",53.315820472222");
+        "ude_of_origin\",-44],PARAMETER[\"central_meridian\",171.");
     add_srs_wkt (p, 10,
-        "22],PARAMETER[\"rectified_grid_angle\",53.13010236111111");
+        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"scale_factor\",0.99984],PARAMETER[\"false_");
+        "ng\",500000],PARAMETER[\"false_northing\",500000],UNIT[\"");
     add_srs_wkt (p, 12,
-        "easting\",29352.4763],PARAMETER[\"false_northing\",22014");
+        "British yard (Sears 1922)\",0.9143984146160287,AUTHORITY");
     add_srs_wkt (p, 13,
-        ".3572],UNIT[\"British chain (Sears 1922)\",20.1167651215");
+        "[\"EPSG\",\"9040\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
     add_srs_wkt (p, 14,
-        "5263,AUTHORITY[\"EPSG\",\"9042\"]],AXIS[\"Easting\",EAST");
-    add_srs_wkt (p, 15,
-        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29871\"]");
-    add_srs_wkt (p, 16,
-        "]");
-    p = add_epsg_def (filter, first, last, 29872, "epsg", 29872,
-        "Timbalai 1948 / RSO Borneo (ft)");
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"27292\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27391, "epsg", 27391,
+        "NGO 1948 (Oslo) / NGO zone I", 0, 1,
+        "Bessel Modified", "Oslo",
+        "NGO_1948_Oslo", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
-        "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 ");
+        "+proj=tmerc +lat_0=58 +lon_0=-4.666666666666667 +k=1 +x_");
     add_proj4text (p, 1,
-        "+k=0.99984 +x_0=590476.8727431979 +y_0=442857.6545573985");
+        "0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=");
     add_proj4text (p, 2,
-        " +gamma=53.13010236111111 +ellps=evrstSS +towgs84=-679,6");
+        "278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +");
     add_proj4text (p, 3,
-        "69,-48,0,0,0,0 +to_meter=0.3047994715386762 +no_defs");
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Timbalai 1948 / RSO Borneo (ft)\",GEOGCS[\"Timb");
+        "PROJCS[\"NGO 1948 (Oslo) / NGO zone I\",GEOGCS[\"NGO 194");
     add_srs_wkt (p, 1,
-        "alai 1948\",DATUM[\"Timbalai_1948\",SPHEROID[\"Everest 1");
+        "8 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel Mod");
     add_srs_wkt (p, 2,
-        "830 (1967 Definition)\",6377298.556,300.8017,AUTHORITY[\"");
+        "ified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7016\"]],TOWGS84[-679,669,-48,0,0,0,0],AUTHORIT");
+        "5\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AUTH");
     add_srs_wkt (p, 4,
-        "Y[\"EPSG\",\"6298\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "ORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.72291666666");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.0174");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4298\"]]");
+        "532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitu");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"],");
+        "de\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_center\",4],PARAMETER[\"longitud");
+        "\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "e_of_center\",115],PARAMETER[\"azimuth\",53.315820472222");
+        "[\"latitude_of_origin\",58],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        "22],PARAMETER[\"rectified_grid_angle\",53.13010236111111");
+        "\",-4.666666666666667],PARAMETER[\"scale_factor\",1],PAR");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"scale_factor\",0.99984],PARAMETER[\"false_");
+        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "easting\",1937263.44],PARAMETER[\"false_northing\",14529");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        "47.58],UNIT[\"British foot (Sears 1922)\",0.304799471538");
+        "\"x\",NORTH],AXIS[\"y\",EAST],AUTHORITY[\"EPSG\",\"27391");
     add_srs_wkt (p, 14,
-        "6762,AUTHORITY[\"EPSG\",\"9041\"]],AXIS[\"Easting\",EAST");
-    add_srs_wkt (p, 15,
-        "],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29872\"]");
-    add_srs_wkt (p, 16,
-        "]");
-    p = add_epsg_def (filter, first, last, 29873, "epsg", 29873,
-        "Timbalai 1948 / RSO Borneo (m)");
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27392, "epsg", 27392,
+        "NGO 1948 (Oslo) / NGO zone II", 0, 1,
+        "Bessel Modified", "Oslo",
+        "NGO_1948_Oslo", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
-        "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 ");
+        "+proj=tmerc +lat_0=58 +lon_0=-2.333333333333333 +k=1 +x_");
     add_proj4text (p, 1,
-        "+k=0.99984 +x_0=590476.87 +y_0=442857.65 +gamma=53.13010");
+        "0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=");
     add_proj4text (p, 2,
-        "236111111 +ellps=evrstSS +towgs84=-679,669,-48,0,0,0,0 +");
+        "278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +");
     add_proj4text (p, 3,
-        "units=m +no_defs");
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Timbalai 1948 / RSO Borneo (m)\",GEOGCS[\"Timba");
+        "PROJCS[\"NGO 1948 (Oslo) / NGO zone II\",GEOGCS[\"NGO 19");
     add_srs_wkt (p, 1,
-        "lai 1948\",DATUM[\"Timbalai_1948\",SPHEROID[\"Everest 18");
+        "48 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel Mo");
     add_srs_wkt (p, 2,
-        "30 (1967 Definition)\",6377298.556,300.8017,AUTHORITY[\"");
+        "dified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7016\"]],TOWGS84[-679,669,-48,0,0,0,0],AUTHORIT");
+        "05\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AUT");
     add_srs_wkt (p, 4,
-        "Y[\"EPSG\",\"6298\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "HORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.7229166666");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "6667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4298\"]]");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"],");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"latitude_of_center\",4],PARAMETER[\"longitud");
+        ",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "e_of_center\",115],PARAMETER[\"azimuth\",53.315820472222");
+        "R[\"latitude_of_origin\",58],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        "22],PARAMETER[\"rectified_grid_angle\",53.13010236111111");
+        "n\",-2.333333333333333],PARAMETER[\"scale_factor\",1],PA");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"scale_factor\",0.99984],PARAMETER[\"false_");
+        "RAMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "easting\",590476.87],PARAMETER[\"false_northing\",442857");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        ".65],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "\"x\",NORTH],AXIS[\"y\",EAST],AUTHORITY[\"EPSG\",\"27392");
     add_srs_wkt (p, 14,
-        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
-    add_srs_wkt (p, 15,
-        "EPSG\",\"29873\"]]");
-    p = add_epsg_def (filter, first, last, 29900, "epsg", 29900,
-        "TM65 / Irish National Grid (deprecated)");
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27393, "epsg", 27393,
+        "NGO 1948 (Oslo) / NGO zone III", 0, 1,
+        "Bessel Modified", "Oslo",
+        "NGO_1948_Oslo", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=20000");
+        "+proj=tmerc +lat_0=58 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=637");
     add_proj4text (p, 1,
-        "0 +y_0=250000 +datum=ire65 +units=m +no_defs");
+        "7492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.");
+    add_proj4text (p, 2,
+        "889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"TM65 / Irish National Grid (deprecated)\",GEOGC");
+        "PROJCS[\"NGO 1948 (Oslo) / NGO zone III\",GEOGCS[\"NGO 1");
     add_srs_wkt (p, 1,
-        "S[\"TM65\",DATUM[\"TM65\",SPHEROID[\"Airy Modified 1849\"");
+        "948 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel M");
     add_srs_wkt (p, 2,
-        ",6377340.189,299.3249646,AUTHORITY[\"EPSG\",\"7002\"]],T");
+        "odified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "OWGS84[482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15],AUT");
+        "005\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AU");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6299\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "THORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.722916666");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "66667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"42");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "99\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",53.5],PARAMETER[\"central_meridian\"");
+        ",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        ",-8],PARAMETER[\"scale_factor\",1.000035],PARAMETER[\"fa");
+        "R[\"latitude_of_origin\",58],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        "lse_easting\",200000],PARAMETER[\"false_northing\",25000");
+        "n\",0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"x\",NORTH],AXI");
     add_srs_wkt (p, 13,
-        "G\",\"29900\"]]");
-    p = add_epsg_def (filter, first, last, 29901, "epsg", 29901,
-        "OSNI 1952 / Irish National Grid");
+        "S[\"y\",EAST],AUTHORITY[\"EPSG\",\"27393\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27394, "epsg", 27394,
+        "NGO 1948 (Oslo) / NGO zone IV", 0, 1,
+        "Bessel Modified", "Oslo",
+        "NGO_1948_Oslo", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1 +x_0=200000 +y_0=");
+        "+proj=tmerc +lat_0=58 +lon_0=2.5 +k=1 +x_0=0 +y_0=0 +a=6");
     add_proj4text (p, 1,
-        "250000 +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0");
+        "377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,");
     add_proj4text (p, 2,
-        ".214,-0.631,8.15 +units=m +no_defs");
+        "7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"OSNI 1952 / Irish National Grid\",GEOGCS[\"OSNI");
+        "PROJCS[\"NGO 1948 (Oslo) / NGO zone IV\",GEOGCS[\"NGO 19");
     add_srs_wkt (p, 1,
-        " 1952\",DATUM[\"OSNI_1952\",SPHEROID[\"Airy 1830\",63775");
+        "48 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel Mo");
     add_srs_wkt (p, 2,
-        "63.396,299.3249646,AUTHORITY[\"EPSG\",\"7001\"]],TOWGS84");
+        "dified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "[482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15],AUTHORITY");
+        "05\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AUT");
     add_srs_wkt (p, 4,
-        "[\"EPSG\",\"6188\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "HORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.7229166666");
     add_srs_wkt (p, 5,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "6667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4188\"]]");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "e_of_origin\",53.5],PARAMETER[\"central_meridian\",-8],P");
+        ",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "R[\"latitude_of_origin\",58],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        ",200000],PARAMETER[\"false_northing\",250000],UNIT[\"met");
+        "n\",2.5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29901\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"x\",NORTH],A");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 29902, "epsg", 29902,
-        "TM65 / Irish Grid");
+        "XIS[\"y\",EAST],AUTHORITY[\"EPSG\",\"27394\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27395, "epsg", 27395,
+        "NGO 1948 (Oslo) / NGO zone V", 0, 1,
+        "Bessel Modified", "Oslo",
+        "NGO_1948_Oslo", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=20000");
+        "+proj=tmerc +lat_0=58 +lon_0=6.166666666666667 +k=1 +x_0");
     add_proj4text (p, 1,
-        "0 +y_0=250000 +datum=ire65 +units=m +no_defs");
+        "=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=2");
+    add_proj4text (p, 2,
+        "78.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +n");
+    add_proj4text (p, 3,
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"TM65 / Irish Grid\",GEOGCS[\"TM65\",DATUM[\"TM6");
+        "PROJCS[\"NGO 1948 (Oslo) / NGO zone V\",GEOGCS[\"NGO 194");
     add_srs_wkt (p, 1,
-        "5\",SPHEROID[\"Airy Modified 1849\",6377340.189,299.3249");
+        "8 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel Mod");
     add_srs_wkt (p, 2,
-        "646,AUTHORITY[\"EPSG\",\"7002\"]],TOWGS84[482.5,-130.6,5");
+        "ified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        "64.6,-1.042,-0.214,-0.631,8.15],AUTHORITY[\"EPSG\",\"629");
+        "5\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AUTH");
     add_srs_wkt (p, 4,
-        "9\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "ORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.72291666666");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.0174");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4299\"]],PROJECTION[\"T");
+        "532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitu");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",5");
+        "de\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 8,
-        "3.5],PARAMETER[\"central_meridian\",-8],PARAMETER[\"scal");
+        "\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
     add_srs_wkt (p, 9,
-        "e_factor\",1.000035],PARAMETER[\"false_easting\",200000]");
+        "[\"latitude_of_origin\",58],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",250000],UNIT[\"metre\",1,A");
+        "\",6.166666666666667],PARAMETER[\"scale_factor\",1],PARA");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS");
+        "METER[\"false_easting\",0],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 12,
-        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29902\"]]");
-    p = add_epsg_def (filter, first, last, 29903, "epsg", 29903,
-        "TM75 / Irish Grid");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "x\",NORTH],AXIS[\"y\",EAST],AUTHORITY[\"EPSG\",\"27395\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 27396, "epsg", 27396,
+        "NGO 1948 (Oslo) / NGO zone VI", 0, 1,
+        "Bessel Modified", "Oslo",
+        "NGO_1948_Oslo", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=20000");
+        "+proj=tmerc +lat_0=58 +lon_0=10.16666666666667 +k=1 +x_0");
     add_proj4text (p, 1,
-        "0 +y_0=250000 +ellps=mod_airy +towgs84=482.5,-130.6,564.");
+        "=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=2");
     add_proj4text (p, 2,
-        "6,-1.042,-0.214,-0.631,8.15 +units=m +no_defs");
+        "78.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +n");
+    add_proj4text (p, 3,
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"TM75 / Irish Grid\",GEOGCS[\"TM75\",DATUM[\"Geo");
+        "PROJCS[\"NGO 1948 (Oslo) / NGO zone VI\",GEOGCS[\"NGO 19");
     add_srs_wkt (p, 1,
-        "detic_Datum_of_1965\",SPHEROID[\"Airy Modified 1849\",63");
+        "48 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel Mo");
     add_srs_wkt (p, 2,
-        "77340.189,299.3249646,AUTHORITY[\"EPSG\",\"7002\"]],TOWG");
+        "dified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "S84[482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15],AUTHOR");
+        "05\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AUT");
     add_srs_wkt (p, 4,
-        "ITY[\"EPSG\",\"6300\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
+        "HORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.7229166666");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
+        "6667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4300\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 7,
-        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",53.5],PARAMETER[\"central_meridian\",-8]");
+        ",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"scale_factor\",1.000035],PARAMETER[\"false_");
+        "R[\"latitude_of_origin\",58],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        "easting\",200000],PARAMETER[\"false_northing\",250000],U");
+        "n\",10.16666666666667],PARAMETER[\"scale_factor\",1],PAR");
     add_srs_wkt (p, 11,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
-        ",\"29903\"]]");
-    p = add_epsg_def (filter, first, last, 30161, "epsg", 30161,
-        "Tokyo / Japan Plane Rectangular CS I");
+        "\"x\",NORTH],AXIS[\"y\",EAST],AUTHORITY[\"EPSG\",\"27396");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27397, "epsg", 27397,
+        "NGO 1948 (Oslo) / NGO zone VII", 0, 1,
+        "Bessel Modified", "Oslo",
+        "NGO_1948_Oslo", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0");
+        "+proj=tmerc +lat_0=58 +lon_0=14.16666666666667 +k=1 +x_0");
     add_proj4text (p, 1,
-        "=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0");
+        "=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=2");
     add_proj4text (p, 2,
-        ",0 +units=m +no_defs");
+        "78.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +n");
+    add_proj4text (p, 3,
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS I\",GEOGCS[\"");
+        "PROJCS[\"NGO 1948 (Oslo) / NGO zone VII\",GEOGCS[\"NGO 1");
     add_srs_wkt (p, 1,
-        "Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377397");
+        "948 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel M");
     add_srs_wkt (p, 2,
-        ".155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-");
+        "odified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"63");
+        "005\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],AU");
     add_srs_wkt (p, 4,
-        "01\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "THORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.722916666");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "66667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"T");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 8,
-        "3],PARAMETER[\"central_meridian\",129.5],PARAMETER[\"sca");
+        ",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 9,
-        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
+        "R[\"latitude_of_origin\",58],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "n\",14.16666666666667],PARAMETER[\"scale_factor\",1],PAR");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30161\"]]");
-    p = add_epsg_def (filter, first, last, 30162, "epsg", 30162,
-        "Tokyo / Japan Plane Rectangular CS II");
+        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+    add_srs_wkt (p, 12,
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"x\",NORTH],AXIS[\"y\",EAST],AUTHORITY[\"EPSG\",\"27397");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27398, "epsg", 27398,
+        "NGO 1948 (Oslo) / NGO zone VIII", 0, 1,
+        "Bessel Modified", "Oslo",
+        "NGO_1948_Oslo", "Transverse_Mercator", "metre",
+        "x", "North", "y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=tmerc +lat_0=58 +lon_0=18.33333333333333 +k=1 +x_0");
     add_proj4text (p, 1,
-        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
+        "=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=2");
     add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "78.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +n");
+    add_proj4text (p, 3,
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS II\",GEOGCS[");
+        "PROJCS[\"NGO 1948 (Oslo) / NGO zone VIII\",GEOGCS[\"NGO ");
     add_srs_wkt (p, 1,
-        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
+        "1948 (Oslo)\",DATUM[\"NGO_1948_Oslo\",SPHEROID[\"Bessel ");
     add_srs_wkt (p, 2,
-        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
+        "Modified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "7005\"]],TOWGS84[278.3,93,474.5,7.889,0.05,-6.61,6.21],A");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "UTHORITY[\"EPSG\",\"6817\"]],PRIMEM[\"Oslo\",10.72291666");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "666667,AUTHORITY[\"EPSG\",\"8913\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        ",33],PARAMETER[\"central_meridian\",131],PARAMETER[\"sca");
+        "\",\"4817\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 9,
-        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
+        "TER[\"latitude_of_origin\",58],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ian\",18.33333333333333],PARAMETER[\"scale_factor\",1],P");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30162\"]]");
-    p = add_epsg_def (filter, first, last, 30163, "epsg", 30163,
-        "Tokyo / Japan Plane Rectangular CS III");
+        "ARAMETER[\"false_easting\",0],PARAMETER[\"false_northing");
+    add_srs_wkt (p, 12,
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"x\",NORTH],AXIS[\"y\",EAST],AUTHORITY[\"EPSG\",\"273");
+    add_srs_wkt (p, 14,
+        "98\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27429, "epsg", 27429,
+        "Datum 73 / UTM zone 29N", 0, 0,
+        "International 1924", "Greenwich",
+        "Datum_73", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999");
+        "+proj=utm +zone=29 +ellps=intl +towgs84=-223.237,110.193");
     add_proj4text (p, 1,
-        " +x_0=0 +y_0=0 +ellps=bessel +towgs84=-146.414,507.337,6");
-    add_proj4text (p, 2,
-        "80.507,0,0,0,0 +units=m +no_defs");
+        ",36.649,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS III\",GEOGCS");
+        "PROJCS[\"Datum 73 / UTM zone 29N\",GEOGCS[\"Datum 73\",D");
     add_srs_wkt (p, 1,
-        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
+        "ATUM[\"Datum_73\",SPHEROID[\"International 1924\",637838");
     add_srs_wkt (p, 2,
-        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
+        "8,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-223.237,110");
     add_srs_wkt (p, 3,
-        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        ".193,36.649,0,0,0,0],AUTHORITY[\"EPSG\",\"6274\"]],PRIME");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "RITY[\"EPSG\",\"4274\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 8,
-        ",36],PARAMETER[\"central_meridian\",132.1666666666667],P");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_east");
+        "tral_meridian\",-9],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 10,
-        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"301");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
     add_srs_wkt (p, 12,
-        "63\"]]");
-    p = add_epsg_def (filter, first, last, 30164, "epsg", 30164,
-        "Tokyo / Japan Plane Rectangular CS IV");
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"27429\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27492, "epsg", 27492,
+        "Datum 73 / Modified Portuguese Grid (deprecated)", 0, 1,
+        "International 1924", "Greenwich",
+        "Datum_73", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0");
+        "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111");
     add_proj4text (p, 1,
-        "=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0");
+        "111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=");
     add_proj4text (p, 2,
-        ",0 +units=m +no_defs");
+        "intl +towgs84=-223.237,110.193,36.649,0,0,0,0 +units=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS IV\",GEOGCS[");
+        "PROJCS[\"Datum 73 / Modified Portuguese Grid (deprecated");
     add_srs_wkt (p, 1,
-        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
+        ")\",GEOGCS[\"Datum 73\",DATUM[\"Datum_73\",SPHEROID[\"In");
     add_srs_wkt (p, 2,
-        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
+        "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022");
     add_srs_wkt (p, 3,
-        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "\"]],TOWGS84[-223.237,110.193,36.649,0,0,0,0],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "\"EPSG\",\"6274\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4274\"]],PROJEC");
     add_srs_wkt (p, 8,
-        ",33],PARAMETER[\"central_meridian\",133.5],PARAMETER[\"s");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9999],PARAMETER[\"false_easting\",0],PAR");
+        "igin\",39.66666666666666],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        ",-8.131906111111112],PARAMETER[\"scale_factor\",1],PARAM");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30164\"]]");
-    p = add_epsg_def (filter, first, last, 30165, "epsg", 30165,
-        "Tokyo / Japan Plane Rectangular CS V");
+        "ETER[\"false_easting\",180.598],PARAMETER[\"false_northi");
+    add_srs_wkt (p, 12,
+        "ng\",-86.99],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 13,
+        "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"27492\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27493, "epsg", 27493,
+        "Datum 73 / Modified Portuguese Grid", 0, 0,
+        "International 1924", "Greenwich",
+        "Datum_73", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999");
+        "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111");
     add_proj4text (p, 1,
-        " +x_0=0 +y_0=0 +ellps=bessel +towgs84=-146.414,507.337,6");
+        "111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=");
     add_proj4text (p, 2,
-        "80.507,0,0,0,0 +units=m +no_defs");
+        "intl +towgs84=-223.237,110.193,36.649,0,0,0,0 +units=m +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS V\",GEOGCS[\"");
+        "PROJCS[\"Datum 73 / Modified Portuguese Grid\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377397");
+        "Datum 73\",DATUM[\"Datum_73\",SPHEROID[\"International 1");
     add_srs_wkt (p, 2,
-        ".155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-");
+        "924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"63");
+        "-223.237,110.193,36.649,0,0,0,0],AUTHORITY[\"EPSG\",\"62");
     add_srs_wkt (p, 4,
-        "01\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        "74\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",3");
+        "EAST],AUTHORITY[\"EPSG\",\"4274\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "6],PARAMETER[\"central_meridian\",134.3333333333333],PAR");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",39.6666");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eastin");
+        "6666666666],PARAMETER[\"central_meridian\",-8.1319061111");
     add_srs_wkt (p, 10,
-        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "11112],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30165");
+        "asting\",180.598],PARAMETER[\"false_northing\",-86.99],U");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 30166, "epsg", 30166,
-        "Tokyo / Japan Plane Rectangular CS VI");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"27493\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27500, "epsg", 27500,
+        "ATF (Paris) / Nord de Guerre", 0, 0,
+        "Plessis 1817", "Paris RGS",
+        "Ancienne_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
     add_proj4text (p, 1,
-        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
+        "001 +lon_0=5.4 +k_0=0.99950908 +x_0=500000 +y_0=300000 +");
     add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "a=6376523 +b=6355862.933255573 +pm=2.337208333333333 +un");
+    add_proj4text (p, 3,
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS VI\",GEOGCS[");
+        "PROJCS[\"ATF (Paris) / Nord de Guerre\",GEOGCS[\"ATF (Pa");
     add_srs_wkt (p, 1,
-        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
+        "ris)\",DATUM[\"Ancienne_Triangulation_Francaise_Paris\",");
     add_srs_wkt (p, 2,
-        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
+        "SPHEROID[\"Plessis 1817\",6376523,308.64,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "G\",\"7027\"]],AUTHORITY[\"EPSG\",\"6901\"]],PRIMEM[\"Pa");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "ris RGS\",2.337208333333333,AUTHORITY[\"EPSG\",\"8914\"]");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "],UNIT[\"grad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        "9105\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "T],AUTHORITY[\"EPSG\",\"4901\"]],PROJECTION[\"Lambert_Co");
     add_srs_wkt (p, 8,
-        ",36],PARAMETER[\"central_meridian\",136],PARAMETER[\"sca");
+        "nformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",55");
     add_srs_wkt (p, 9,
-        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
+        "],PARAMETER[\"central_meridian\",6],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ctor\",0.99950908],PARAMETER[\"false_easting\",500000],P");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30166\"]]");
-    p = add_epsg_def (filter, first, last, 30167, "epsg", 30167,
-        "Tokyo / Japan Plane Rectangular CS VII");
+        "ARAMETER[\"false_northing\",300000],UNIT[\"metre\",1,AUT");
+    add_srs_wkt (p, 12,
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"27500\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27561, "epsg", 27561,
+        "NTF (Paris) / Lambert Nord France", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999");
+        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
     add_proj4text (p, 1,
-        " +x_0=0 +y_0=0 +ellps=bessel +towgs84=-146.414,507.337,6");
+        "001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a");
     add_proj4text (p, 2,
-        "80.507,0,0,0,0 +units=m +no_defs");
+        "=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=");
+    add_proj4text (p, 3,
+        "paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS VII\",GEOGCS");
+        "PROJCS[\"NTF (Paris) / Lambert Nord France\",GEOGCS[\"NT");
     add_srs_wkt (p, 1,
-        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
+        "F (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Par");
     add_srs_wkt (p, 2,
-        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
+        "is\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.466021");
     add_srs_wkt (p, 3,
-        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "2936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,3");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "20,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        ",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"");
     add_srs_wkt (p, 8,
-        ",36],PARAMETER[\"central_meridian\",137.1666666666667],P");
+        "EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_east");
+        "SP\"],PARAMETER[\"latitude_of_origin\",55],PARAMETER[\"c");
     add_srs_wkt (p, 10,
-        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "entral_meridian\",0],PARAMETER[\"scale_factor\",0.999877");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"301");
+        "341],PARAMETER[\"false_easting\",600000],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "67\"]]");
-    p = add_epsg_def (filter, first, last, 30168, "epsg", 30168,
-        "Tokyo / Japan Plane Rectangular CS VIII");
+        "se_northing\",200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"27561\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27562, "epsg", 27562,
+        "NTF (Paris) / Lambert Centre France", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0");
+        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
     add_proj4text (p, 1,
-        "=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0");
+        "42 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towg");
     add_proj4text (p, 2,
-        ",0 +units=m +no_defs");
+        "s84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS VIII\",GEOGC");
+        "PROJCS[\"NTF (Paris) / Lambert Centre France\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "S[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",637");
+        "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P");
     add_srs_wkt (p, 2,
-        "7397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS");
+        "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660");
     add_srs_wkt (p, 3,
-        "84[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",");
+        "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60");
     add_srs_wkt (p, 4,
-        "\"6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTIO");
+        "d\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AX");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "IS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORIT");
     add_srs_wkt (p, 8,
-        "n\",36],PARAMETER[\"central_meridian\",138.5],PARAMETER[");
+        "Y[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Con");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0],");
+        "ic_1SP\"],PARAMETER[\"latitude_of_origin\",52],PARAMETER");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+        "[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 11,
-        "TY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30168\"]]");
-    p = add_epsg_def (filter, first, last, 30169, "epsg", 30169,
-        "Tokyo / Japan Plane Rectangular CS IX");
+        "987742],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+    add_srs_wkt (p, 12,
+        "false_northing\",200000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"27562\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27563, "epsg", 27563,
+        "NTF (Paris) / Lambert Sud France", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999");
+        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
     add_proj4text (p, 1,
-        " +x_0=0 +y_0=0 +ellps=bessel +towgs84=-146.414,507.337,6");
+        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a");
     add_proj4text (p, 2,
-        "80.507,0,0,0,0 +units=m +no_defs");
+        "=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=");
+    add_proj4text (p, 3,
+        "paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS IX\",GEOGCS[");
+        "PROJCS[\"NTF (Paris) / Lambert Sud France\",GEOGCS[\"NTF");
     add_srs_wkt (p, 1,
-        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
+        " (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Pari");
     add_srs_wkt (p, 2,
-        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
+        "s\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212");
     add_srs_wkt (p, 3,
-        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        "0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        ",36],PARAMETER[\"central_meridian\",139.8333333333333],P");
+        "PSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1S");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_east");
+        "P\"],PARAMETER[\"latitude_of_origin\",49],PARAMETER[\"ce");
     add_srs_wkt (p, 10,
-        "ing\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "ntral_meridian\",0],PARAMETER[\"scale_factor\",0.9998774");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"301");
+        "99],PARAMETER[\"false_easting\",600000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "69\"]]");
-    p = add_epsg_def (filter, first, last, 30170, "epsg", 30170,
-        "Tokyo / Japan Plane Rectangular CS X");
+        "e_northing\",200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"27563\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27564, "epsg", 27564,
+        "NTF (Paris) / Lambert Corse", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999");
+        "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000");
     add_proj4text (p, 1,
-        " +x_0=0 +y_0=0 +ellps=bessel +towgs84=-146.414,507.337,6");
+        "001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.36");
     add_proj4text (p, 2,
-        "80.507,0,0,0,0 +units=m +no_defs");
+        "9 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 ");
+    add_proj4text (p, 3,
+        "+pm=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS X\",GEOGCS[\"");
+        "PROJCS[\"NTF (Paris) / Lambert Corse\",GEOGCS[\"NTF (Par");
     add_srs_wkt (p, 1,
-        "Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377397");
+        "is)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\",S");
     add_srs_wkt (p, 2,
-        ".155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-");
+        "PHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.466021293626");
     add_srs_wkt (p, 3,
-        "146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"63");
+        "9,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,0");
     add_srs_wkt (p, 4,
-        "01\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
+        ",0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2.3");
     add_srs_wkt (p, 5,
-        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
+        "3722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.01");
     add_srs_wkt (p, 6,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"T");
+        "570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"Lat");
     add_srs_wkt (p, 7,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",4");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 8,
-        "0],PARAMETER[\"central_meridian\",140.8333333333333],PAR");
+        "\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"");
     add_srs_wkt (p, 9,
-        "AMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eastin");
+        "],PARAMETER[\"latitude_of_origin\",46.85],PARAMETER[\"ce");
     add_srs_wkt (p, 10,
-        "g\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "ntral_meridian\",0],PARAMETER[\"scale_factor\",0.9999447");
     add_srs_wkt (p, 11,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30170");
+        "1],PARAMETER[\"false_easting\",234.358],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 30171, "epsg", 30171,
-        "Tokyo / Japan Plane Rectangular CS XI");
+        "e_northing\",185861.369],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"27564\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27571, "epsg", 27571,
+        "NTF (Paris) / Lambert zone I", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_");
+        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
     add_proj4text (p, 1,
-        "0=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,");
+        "001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
+    add_proj4text (p, 3,
+        "=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XI\",GEOGCS[");
+        "PROJCS[\"NTF (Paris) / Lambert zone I\",GEOGCS[\"NTF (Pa");
     add_srs_wkt (p, 1,
-        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
+        "ris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\",");
     add_srs_wkt (p, 2,
-        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
+        "SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129362");
     add_srs_wkt (p, 3,
-        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "69,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2.");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.0");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        "1570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        ",44],PARAMETER[\"central_meridian\",140.25],PARAMETER[\"");
+        "G\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP\"");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",0],PA");
+        "],PARAMETER[\"latitude_of_origin\",55],PARAMETER[\"centr");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "al_meridian\",0],PARAMETER[\"scale_factor\",0.999877341]");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30171\"]]");
-    p = add_epsg_def (filter, first, last, 30172, "epsg", 30172,
-        "Tokyo / Japan Plane Rectangular CS XII");
+        ",PARAMETER[\"false_easting\",600000],PARAMETER[\"false_n");
+    add_srs_wkt (p, 12,
+        "orthing\",1200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"27571\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27572, "epsg", 27572,
+        "NTF (Paris) / Lambert zone II", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_");
+        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
     add_proj4text (p, 1,
-        "0=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,");
+        "42 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +tow");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "gs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XII\",GEOGCS");
+        "PROJCS[\"NTF (Paris) / Lambert zone II\",GEOGCS[\"NTF (P");
     add_srs_wkt (p, 1,
-        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
+        "aris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\"");
     add_srs_wkt (p, 2,
-        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
+        ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936");
     add_srs_wkt (p, 3,
-        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        "01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        ",44],PARAMETER[\"central_meridian\",142.25],PARAMETER[\"");
+        "SG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",0],PA");
+        "\"],PARAMETER[\"latitude_of_origin\",52],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "tral_meridian\",0],PARAMETER[\"scale_factor\",0.99987742");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30172\"]]");
-    p = add_epsg_def (filter, first, last, 30173, "epsg", 30173,
-        "Tokyo / Japan Plane Rectangular CS XIII");
+        "],PARAMETER[\"false_easting\",600000],PARAMETER[\"false_");
+    add_srs_wkt (p, 12,
+        "northing\",2200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 14,
+        "\"EPSG\",\"27572\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27573, "epsg", 27573,
+        "NTF (Paris) / Lambert zone III", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_");
+        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
     add_proj4text (p, 1,
-        "0=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,");
+        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +");
     add_proj4text (p, 2,
-        "0,0 +units=m +no_defs");
+        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
+    add_proj4text (p, 3,
+        "=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XIII\",GEOGC");
+        "PROJCS[\"NTF (Paris) / Lambert zone III\",GEOGCS[\"NTF (");
     add_srs_wkt (p, 1,
-        "S[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",637");
+        "Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\"");
     add_srs_wkt (p, 2,
-        "7397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS");
+        ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936");
     add_srs_wkt (p, 3,
-        "84[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",");
+        "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0");
     add_srs_wkt (p, 4,
-        "\"6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTIO");
+        "01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        "n\",44],PARAMETER[\"central_meridian\",144.25],PARAMETER");
+        "SG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP");
     add_srs_wkt (p, 9,
-        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0]");
+        "\"],PARAMETER[\"latitude_of_origin\",49],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "tral_meridian\",0],PARAMETER[\"scale_factor\",0.99987749");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30173\"]]");
-    p = add_epsg_def (filter, first, last, 30174, "epsg", 30174,
-        "Tokyo / Japan Plane Rectangular CS XIV");
+        "9],PARAMETER[\"false_easting\",600000],PARAMETER[\"false");
+    add_srs_wkt (p, 12,
+        "_northing\",3200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 14,
+        "[\"EPSG\",\"27573\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27574, "epsg", 27574,
+        "NTF (Paris) / Lambert zone IV", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000");
     add_proj4text (p, 1,
-        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
+        "001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.3");
     add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "69 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0");
+    add_proj4text (p, 3,
+        " +pm=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XIV\",GEOGCS");
+        "PROJCS[\"NTF (Paris) / Lambert zone IV\",GEOGCS[\"NTF (P");
     add_srs_wkt (p, 1,
-        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
+        "aris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\"");
     add_srs_wkt (p, 2,
-        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
+        ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936");
     add_srs_wkt (p, 3,
-        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        "01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"L");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 8,
-        ",26],PARAMETER[\"central_meridian\",142],PARAMETER[\"sca");
+        "SG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP");
     add_srs_wkt (p, 9,
-        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
+        "\"],PARAMETER[\"latitude_of_origin\",46.85],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "central_meridian\",0],PARAMETER[\"scale_factor\",0.99994");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30174\"]]");
-    p = add_epsg_def (filter, first, last, 30175, "epsg", 30175,
-        "Tokyo / Japan Plane Rectangular CS XV");
+        "471],PARAMETER[\"false_easting\",234.358],PARAMETER[\"fa");
+    add_srs_wkt (p, 12,
+        "lse_northing\",4185861.369],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"27574\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27581, "epsg", 27581,
+        "NTF (Paris) / France I (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0");
+        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
     add_proj4text (p, 1,
-        "=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0");
+        "001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +");
     add_proj4text (p, 2,
-        ",0 +units=m +no_defs");
+        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
+    add_proj4text (p, 3,
+        "=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XV\",GEOGCS[");
+        "PROJCS[\"NTF (Paris) / France I (deprecated)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
+        "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P");
     add_srs_wkt (p, 2,
-        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
+        "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660");
     add_srs_wkt (p, 3,
-        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        "d\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AX");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "IS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORIT");
     add_srs_wkt (p, 8,
-        ",26],PARAMETER[\"central_meridian\",127.5],PARAMETER[\"s");
+        "Y[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Con");
     add_srs_wkt (p, 9,
-        "cale_factor\",0.9999],PARAMETER[\"false_easting\",0],PAR");
+        "ic_1SP\"],PARAMETER[\"latitude_of_origin\",55],PARAMETER");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30175\"]]");
-    p = add_epsg_def (filter, first, last, 30176, "epsg", 30176,
-        "Tokyo / Japan Plane Rectangular CS XVI");
+        "9877341],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+    add_srs_wkt (p, 12,
+        "false_northing\",1200000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 14,
+        "ORITY[\"EPSG\",\"27581\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27582, "epsg", 27582,
+        "NTF (Paris) / France II (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
     add_proj4text (p, 1,
-        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
+        "42 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +tow");
     add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "gs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XVI\",GEOGCS");
+        "PROJCS[\"NTF (Paris) / France II (deprecated)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
+        "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P");
     add_srs_wkt (p, 2,
-        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
+        "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660");
     add_srs_wkt (p, 3,
-        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        "d\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AX");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "IS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORIT");
     add_srs_wkt (p, 8,
-        ",26],PARAMETER[\"central_meridian\",124],PARAMETER[\"sca");
+        "Y[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Con");
     add_srs_wkt (p, 9,
-        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
+        "ic_1SP\"],PARAMETER[\"latitude_of_origin\",52],PARAMETER");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30176\"]]");
-    p = add_epsg_def (filter, first, last, 30177, "epsg", 30177,
-        "Tokyo / Japan Plane Rectangular CS XVII");
+        "987742],PARAMETER[\"false_easting\",600000],PARAMETER[\"");
+    add_srs_wkt (p, 12,
+        "false_northing\",2200000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 14,
+        "ORITY[\"EPSG\",\"27582\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27583, "epsg", 27583,
+        "NTF (Paris) / France III (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
     add_proj4text (p, 1,
-        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
+        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +");
     add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm");
+    add_proj4text (p, 3,
+        "=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XVII\",GEOGC");
+        "PROJCS[\"NTF (Paris) / France III (deprecated)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "S[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",637");
+        "\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise");
     add_srs_wkt (p, 2,
-        "7397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS");
+        "_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46");
     add_srs_wkt (p, 3,
-        "84[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",");
+        "60212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-");
     add_srs_wkt (p, 4,
-        "\"6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
+        "60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"P");
     add_srs_wkt (p, 5,
-        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
+        "aris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"g");
     add_srs_wkt (p, 6,
-        "PSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTIO");
+        "rad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],");
     add_srs_wkt (p, 7,
-        "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 8,
-        "n\",26],PARAMETER[\"central_meridian\",131],PARAMETER[\"");
+        "ITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",0],PA");
+        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",49],PARAMET");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "ER[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30177\"]]");
-    p = add_epsg_def (filter, first, last, 30178, "epsg", 30178,
-        "Tokyo / Japan Plane Rectangular CS XVIII");
+        "999877499],PARAMETER[\"false_easting\",600000],PARAMETER");
+    add_srs_wkt (p, 12,
+        "[\"false_northing\",3200000],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"27583\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27584, "epsg", 27584,
+        "NTF (Paris) / France IV (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000");
     add_proj4text (p, 1,
-        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
+        "001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.3");
     add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "69 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0");
+    add_proj4text (p, 3,
+        " +pm=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XVIII\",GEOG");
+        "PROJCS[\"NTF (Paris) / France IV (deprecated)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "CS[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63");
+        "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P");
     add_srs_wkt (p, 2,
-        "77397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWG");
+        "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660");
     add_srs_wkt (p, 3,
-        "S84[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60");
     add_srs_wkt (p, 4,
-        ",\"6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par");
     add_srs_wkt (p, 5,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra");
     add_srs_wkt (p, 6,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTI");
+        "d\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AX");
     add_srs_wkt (p, 7,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "IS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORIT");
     add_srs_wkt (p, 8,
-        "in\",20],PARAMETER[\"central_meridian\",136],PARAMETER[\"");
+        "Y[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Con");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.9999],PARAMETER[\"false_easting\",0],PA");
+        "ic_1SP\"],PARAMETER[\"latitude_of_origin\",46.85],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "TER[\"central_meridian\",0],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30178\"]]");
-    p = add_epsg_def (filter, first, last, 30179, "epsg", 30179,
-        "Tokyo / Japan Plane Rectangular CS XIX");
+        ".99994471],PARAMETER[\"false_easting\",234.358],PARAMETE");
+    add_srs_wkt (p, 12,
+        "R[\"false_northing\",4185861.369],UNIT[\"metre\",1,AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"27584\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27591, "epsg", 27591,
+        "NTF (Paris) / Nord France (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0");
+        "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000");
     add_proj4text (p, 1,
-        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
+        "001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a");
     add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=");
+    add_proj4text (p, 3,
+        "paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XIX\",GEOGCS");
+        "PROJCS[\"NTF (Paris) / Nord France (deprecated)\",GEOGCS");
     add_srs_wkt (p, 1,
-        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
+        "[\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francais");
     add_srs_wkt (p, 2,
-        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
+        "e_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4");
     add_srs_wkt (p, 3,
-        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,");
     add_srs_wkt (p, 4,
-        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "-60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "Paris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[");
+        "grad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]]");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        ",26],PARAMETER[\"central_meridian\",154],PARAMETER[\"sca");
+        "RITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_");
     add_srs_wkt (p, 9,
-        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
+        "Conic_1SP\"],PARAMETER[\"latitude_of_origin\",55],PARAME");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "TER[\"central_meridian\",0],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"30179\"]]");
-    p = add_epsg_def (filter, first, last, 30200, "epsg", 30200,
-        "Trinidad 1903 / Trinidad Grid");
+        ".999877341],PARAMETER[\"false_easting\",600000],PARAMETE");
+    add_srs_wkt (p, 12,
+        "R[\"false_northing\",200000],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"27591\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27592, "epsg", 27592,
+        "NTF (Paris) / Centre France (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.333333333");
+        "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.999877");
     add_proj4text (p, 1,
-        "33334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=63782");
+        "42 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towg");
     add_proj4text (p, 2,
-        "93.645208759 +b=6356617.987679838 +towgs84=-61.702,284.4");
-    add_proj4text (p, 3,
-        "88,472.052,0,0,0,0 +to_meter=0.201166195164 +no_defs");
+        "s84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Trinidad 1903 / Trinidad Grid\",GEOGCS[\"Trinid");
+        "PROJCS[\"NTF (Paris) / Centre France (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
-        "ad 1903\",DATUM[\"Trinidad_1903\",SPHEROID[\"Clarke 1858");
+        "CS[\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Franca");
     add_srs_wkt (p, 2,
-        "\",6378293.645208759,294.2606763692569,AUTHORITY[\"EPSG\"");
+        "ise_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293");
     add_srs_wkt (p, 3,
-        ",\"7007\"]],TOWGS84[-61.702,284.488,472.052,0,0,0,0],AUT");
+        ".4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-16");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6302\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "8,-60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "\"Paris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"43");
+        "\"grad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"");
     add_srs_wkt (p, 7,
-        "02\"]],PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"latit");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",10.44166666666667],PARAMETER[\"central_m");
+        "HORITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conforma");
     add_srs_wkt (p, 9,
-        "eridian\",-61.33333333333334],PARAMETER[\"false_easting\"");
+        "l_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",52],PARA");
     add_srs_wkt (p, 10,
-        ",430000],PARAMETER[\"false_northing\",325000],UNIT[\"Cla");
+        "METER[\"central_meridian\",0],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "rke's link\",0.201166195164,AUTHORITY[\"EPSG\",\"9039\"]");
+        ",0.99987742],PARAMETER[\"false_easting\",600000],PARAMET");
     add_srs_wkt (p, 12,
-        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+        "ER[\"false_northing\",200000],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 13,
-        "ITY[\"EPSG\",\"30200\"]]");
-    p = add_epsg_def (filter, first, last, 30339, "epsg", 30339,
-        "TC(1948) / UTM zone 39N");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"27592\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27593, "epsg", 27593,
+        "NTF (Paris) / Sud France (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +ellps=helmert +units=m +no_defs");
+        "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000");
+    add_proj4text (p, 1,
+        "001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a");
+    add_proj4text (p, 2,
+        "=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=");
+    add_proj4text (p, 3,
+        "paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"TC(1948) / UTM zone 39N\",GEOGCS[\"TC(1948)\",D");
+        "PROJCS[\"NTF (Paris) / Sud France (deprecated)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "ATUM[\"Trucial_Coast_1948\",SPHEROID[\"Helmert 1906\",63");
+        "\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise");
     add_srs_wkt (p, 2,
-        "78200,298.3,AUTHORITY[\"EPSG\",\"7020\"]],AUTHORITY[\"EP");
+        "_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46");
     add_srs_wkt (p, 3,
-        "SG\",\"6303\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "60212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-");
     add_srs_wkt (p, 4,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"P");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4303\"]],PROJE");
+        "aris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"g");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "rad\",0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",51],PARAMETER[");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 8,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "ITY[\"EPSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 9,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",49],PARAMET");
     add_srs_wkt (p, 10,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "ER[\"central_meridian\",0],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 11,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"30339\"]]");
-    p = add_epsg_def (filter, first, last, 30340, "epsg", 30340,
-        "TC(1948) / UTM zone 40N");
+        "999877499],PARAMETER[\"false_easting\",600000],PARAMETER");
+    add_srs_wkt (p, 12,
+        "[\"false_northing\",200000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"27593\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27594, "epsg", 27594,
+        "NTF (Paris) / Corse (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Paris",
+        "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=40 +ellps=helmert +units=m +no_defs");
+        "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000");
+    add_proj4text (p, 1,
+        "001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.36");
+    add_proj4text (p, 2,
+        "9 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 ");
+    add_proj4text (p, 3,
+        "+pm=paris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"TC(1948) / UTM zone 40N\",GEOGCS[\"TC(1948)\",D");
+        "PROJCS[\"NTF (Paris) / Corse (deprecated)\",GEOGCS[\"NTF");
     add_srs_wkt (p, 1,
-        "ATUM[\"Trucial_Coast_1948\",SPHEROID[\"Helmert 1906\",63");
+        " (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Pari");
     add_srs_wkt (p, 2,
-        "78200,298.3,AUTHORITY[\"EPSG\",\"7020\"]],AUTHORITY[\"EP");
+        "s\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212");
     add_srs_wkt (p, 3,
-        "SG\",\"6303\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32");
     add_srs_wkt (p, 4,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\"");
     add_srs_wkt (p, 5,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4303\"]],PROJE");
+        ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",");
     add_srs_wkt (p, 6,
-        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
+        "0.01570796326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "rigin\",0],PARAMETER[\"central_meridian\",57],PARAMETER[");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
+        "PSG\",\"4807\"]],PROJECTION[\"Lambert_Conformal_Conic_1S");
     add_srs_wkt (p, 9,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "P\"],PARAMETER[\"latitude_of_origin\",46.85],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
+        "central_meridian\",0],PARAMETER[\"scale_factor\",0.99994");
     add_srs_wkt (p, 11,
-        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"30340\"]]");
-    p = add_epsg_def (filter, first, last, 30491, "epsg", 30491,
-        "Voirol 1875 / Nord Algerie (ancienne)");
+        "471],PARAMETER[\"false_easting\",234.358],PARAMETER[\"fa");
+    add_srs_wkt (p, 12,
+        "lse_northing\",185861.369],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"27594\"]]");
+    p = add_epsg_def_ex (filter, first, last, 27700, "epsg", 27700,
+        "OSGB 1936 / British National Grid", 0, 0,
+        "Airy 1830", "Greenwich",
+        "OSGB_1936", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.99962554");
+        "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400");
     add_proj4text (p, 1,
-        "4 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs");
+        "000 +y_0=-100000 +ellps=airy +towgs84=446.448,-125.157,5");
     add_proj4text (p, 2,
-        "84=-73,-247,227,0,0,0,0 +units=m +no_defs");
+        "42.06,0.15,0.247,0.842,-20.489 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Voirol 1875 / Nord Algerie (ancienne)\",GEOGCS[");
+        "PROJCS[\"OSGB 1936 / British National Grid\",GEOGCS[\"OS");
     add_srs_wkt (p, 1,
-        "\"Voirol 1875\",DATUM[\"Voirol_1875\",SPHEROID[\"Clarke ");
+        "GB 1936\",DATUM[\"OSGB_1936\",SPHEROID[\"Airy 1830\",637");
     add_srs_wkt (p, 2,
-        "1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPS");
+        "7563.396,299.3249646,AUTHORITY[\"EPSG\",\"7001\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "G\",\"7011\"]],TOWGS84[-73,-247,227,0,0,0,0],AUTHORITY[\"");
+        "84[446.448,-125.157,542.06,0.15,0.247,0.842,-20.489],AUT");
     add_srs_wkt (p, 4,
-        "EPSG\",\"6304\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
+        "HORITY[\"EPSG\",\"6277\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4304\"]],PR");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "OJECTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"la");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4277\"]]");
     add_srs_wkt (p, 8,
-        "titude_of_origin\",36],PARAMETER[\"central_meridian\",2.");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "7],PARAMETER[\"scale_factor\",0.999625544],PARAMETER[\"f");
+        "e_of_origin\",49],PARAMETER[\"central_meridian\",-2],PAR");
     add_srs_wkt (p, 10,
-        "alse_easting\",500000],PARAMETER[\"false_northing\",3000");
+        "AMETER[\"scale_factor\",0.9996012717],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "easting\",400000],PARAMETER[\"false_northing\",-100000],");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"30491");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 30492, "epsg", 30492,
-        "Voirol 1875 / Sud Algerie (ancienne)");
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"27700\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28191, "epsg", 28191,
+        "Palestine 1923 / Palestine Grid", 0, 0,
+        "Clarke 1880 (Benoit)", "Greenwich",
+        "Palestine_1923", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.9996");
+        "+proj=cass +lat_0=31.73409694444445 +lon_0=35.2120805555");
     add_proj4text (p, 1,
-        "25769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +t");
+        "5556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6");
     add_proj4text (p, 2,
-        "owgs84=-73,-247,227,0,0,0,0 +units=m +no_defs");
+        "356566.435 +towgs84=-275.7224,94.7824,340.8944,-8.001,-4");
+    add_proj4text (p, 3,
+        ".42,-11.821,1 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Voirol 1875 / Sud Algerie (ancienne)\",GEOGCS[\"");
+        "PROJCS[\"Palestine 1923 / Palestine Grid\",GEOGCS[\"Pale");
     add_srs_wkt (p, 1,
-        "Voirol 1875\",DATUM[\"Voirol_1875\",SPHEROID[\"Clarke 18");
+        "stine 1923\",DATUM[\"Palestine_1923\",SPHEROID[\"Clarke ");
     add_srs_wkt (p, 2,
-        "80 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\"");
+        "1880 (Benoit)\",6378300.789,293.4663155389811,AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",\"7011\"]],TOWGS84[-73,-247,227,0,0,0,0],AUTHORITY[\"EP");
+        "\"EPSG\",\"7010\"]],TOWGS84[-275.7224,94.7824,340.8944,-");
     add_srs_wkt (p, 4,
-        "SG\",\"6304\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
+        "8.001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PRI");
     add_srs_wkt (p, 5,
-        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4304\"]],PROJE");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "CTION[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latit");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "ude_of_origin\",33.3],PARAMETER[\"central_meridian\",2.7");
+        "ORITY[\"EPSG\",\"4281\"]],PROJECTION[\"Cassini_Soldner\"");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"scale_factor\",0.999625769],PARAMETER[\"fa");
+        "],PARAMETER[\"latitude_of_origin\",31.73409694444445],PA");
     add_srs_wkt (p, 10,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",30000");
+        "RAMETER[\"central_meridian\",35.21208055555556],PARAMETE");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "R[\"false_easting\",170251.555],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"30492\"");
+        "ng\",126867.909],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 30493, "epsg", 30493,
-        "Voirol 1879 / Nord Algerie (ancienne)");
+        "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],");
+    add_srs_wkt (p, 14,
+        "AUTHORITY[\"EPSG\",\"28191\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28192, "epsg", 28192,
+        "Palestine 1923 / Palestine Belt", 0, 0,
+        "Clarke 1880 (Benoit)", "Greenwich",
+        "Palestine_1923", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.99962554");
+        "+proj=tmerc +lat_0=31.73409694444445 +lon_0=35.212080555");
     add_proj4text (p, 1,
-        "4 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units");
+        "55556 +k=1 +x_0=170251.555 +y_0=1126867.909 +a=6378300.7");
     add_proj4text (p, 2,
-        "=m +no_defs");
+        "89 +b=6356566.435 +towgs84=-275.7224,94.7824,340.8944,-8");
+    add_proj4text (p, 3,
+        ".001,-4.42,-11.821,1 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Voirol 1879 / Nord Algerie (ancienne)\",GEOGCS[");
+        "PROJCS[\"Palestine 1923 / Palestine Belt\",GEOGCS[\"Pale");
     add_srs_wkt (p, 1,
-        "\"Voirol 1879\",DATUM[\"Voirol_1879\",SPHEROID[\"Clarke ");
+        "stine 1923\",DATUM[\"Palestine_1923\",SPHEROID[\"Clarke ");
     add_srs_wkt (p, 2,
-        "1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPS");
+        "1880 (Benoit)\",6378300.789,293.4663155389811,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "G\",\"7011\"]],AUTHORITY[\"EPSG\",\"6671\"]],PRIMEM[\"Gr");
+        "\"EPSG\",\"7010\"]],TOWGS84[-275.7224,94.7824,340.8944,-");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "8.001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PRI");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4671\"]],PROJECTION[\"Lambert_Conformal_C");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",36],PARAMET");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",2.7],PARAMETER[\"scale_factor\",");
+        "ORITY[\"EPSG\",\"4281\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "0.999625544],PARAMETER[\"false_easting\",500000],PARAMET");
+        "or\"],PARAMETER[\"latitude_of_origin\",31.73409694444445");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",300000],UNIT[\"metre\",1,AUTHORITY");
+        "],PARAMETER[\"central_meridian\",35.21208055555556],PARA");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",17");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"30493\"]]");
-    p = add_epsg_def (filter, first, last, 30494, "epsg", 30494,
-        "Voirol 1879 / Sud Algerie (ancienne)");
+        "0251.555],PARAMETER[\"false_northing\",1126867.909],UNIT");
+    add_srs_wkt (p, 13,
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+    add_srs_wkt (p, 14,
+        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "28192\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28193, "epsg", 28193,
+        "Palestine 1923 / Israeli CS Grid", 0, 0,
+        "Clarke 1880 (Benoit)", "Greenwich",
+        "Palestine_1923", "Cassini_Soldner", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.9996");
+        "+proj=cass +lat_0=31.73409694444445 +lon_0=35.2120805555");
     add_proj4text (p, 1,
-        "25769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +u");
+        "5556 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        "6356566.435 +towgs84=-275.7224,94.7824,340.8944,-8.001,-");
+    add_proj4text (p, 3,
+        "4.42,-11.821,1 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Voirol 1879 / Sud Algerie (ancienne)\",GEOGCS[\"");
+        "PROJCS[\"Palestine 1923 / Israeli CS Grid\",GEOGCS[\"Pal");
     add_srs_wkt (p, 1,
-        "Voirol 1879\",DATUM[\"Voirol_1879\",SPHEROID[\"Clarke 18");
+        "estine 1923\",DATUM[\"Palestine_1923\",SPHEROID[\"Clarke");
     add_srs_wkt (p, 2,
-        "80 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\"");
+        " 1880 (Benoit)\",6378300.789,293.4663155389811,AUTHORITY");
     add_srs_wkt (p, 3,
-        ",\"7011\"]],AUTHORITY[\"EPSG\",\"6671\"]],PRIMEM[\"Green");
+        "[\"EPSG\",\"7010\"]],TOWGS84[-275.7224,94.7824,340.8944,");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "-8.001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PR");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4671\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"");
     add_srs_wkt (p, 7,
-        "ic_1SP\"],PARAMETER[\"latitude_of_origin\",33.3],PARAMET");
+        "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT");
     add_srs_wkt (p, 8,
-        "ER[\"central_meridian\",2.7],PARAMETER[\"scale_factor\",");
+        "HORITY[\"EPSG\",\"4281\"]],PROJECTION[\"Cassini_Soldner\"");
     add_srs_wkt (p, 9,
-        "0.999625769],PARAMETER[\"false_easting\",500000],PARAMET");
+        "],PARAMETER[\"latitude_of_origin\",31.73409694444445],PA");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",300000],UNIT[\"metre\",1,AUTHORITY");
+        "RAMETER[\"central_meridian\",35.21208055555556],PARAMETE");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "R[\"false_easting\",170251.555],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"30494\"]]");
-    p = add_epsg_def (filter, first, last, 30729, "epsg", 30729,
-        "Nord Sahara 1959 / UTM zone 29N");
+        "ng\",1126867.909],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"28193\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28232, "epsg", 28232,
+        "Pointe Noire / UTM zone 32S", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Congo_1960_Pointe_Noire", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-209.362,-87.8");
+        "+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs");
     add_proj4text (p, 1,
-        "162,404.62,0.0046,3.4784,0.5805,-1.4547 +units=m +no_def");
-    add_proj4text (p, 2,
-        "s");
+        "84=-148,51,-291,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Nord Sahara 1959 / UTM zone 29N\",GEOGCS[\"Nord");
+        "PROJCS[\"Pointe Noire / UTM zone 32S\",GEOGCS[\"Pointe N");
     add_srs_wkt (p, 1,
-        " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla");
+        "oire\",DATUM[\"Congo_1960_Pointe_Noire\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",");
+        "ke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "\"7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.478");
+        "EPSG\",\"7011\"]],TOWGS84[-148,51,-291,0,0,0,0],AUTHORIT");
     add_srs_wkt (p, 4,
-        "4,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\"");
+        "Y[\"EPSG\",\"6282\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "HORITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Merca");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4282\"]],PROJE");
     add_srs_wkt (p, 8,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "entral_meridian\",-9],PARAMETER[\"scale_factor\",0.9996]");
+        "rigin\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"30729\"]]");
-    p = add_epsg_def (filter, first, last, 30730, "epsg", 30730,
-        "Nord Sahara 1959 / UTM zone 30N");
+        "AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"28232\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28348, "epsg", 28348,
+        "GDA94 / MGA zone 48", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-209.362,-87.8");
+        "+proj=utm +zone=48 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "162,404.62,0.0046,3.4784,0.5805,-1.4547 +units=m +no_def");
-    add_proj4text (p, 2,
-        "s");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Nord Sahara 1959 / UTM zone 30N\",GEOGCS[\"Nord");
+        "PROJCS[\"GDA94 / MGA zone 48\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "\"7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.478");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "4,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\"");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "HORITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Merca");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "entral_meridian\",-3],PARAMETER[\"scale_factor\",0.9996]");
+        "ntral_meridian\",105],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
         ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"30730\"]]");
-    p = add_epsg_def (filter, first, last, 30731, "epsg", 30731,
-        "Nord Sahara 1959 / UTM zone 31N");
+        "H],AUTHORITY[\"EPSG\",\"28348\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28349, "epsg", 28349,
+        "GDA94 / MGA zone 49", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=31 +ellps=clrk80 +towgs84=-209.362,-87.8");
+        "+proj=utm +zone=49 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "162,404.62,0.0046,3.4784,0.5805,-1.4547 +units=m +no_def");
-    add_proj4text (p, 2,
-        "s");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Nord Sahara 1959 / UTM zone 31N\",GEOGCS[\"Nord");
+        "PROJCS[\"GDA94 / MGA zone 49\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "\"7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.478");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "4,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\"");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "HORITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Merca");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "entral_meridian\",3],PARAMETER[\"scale_factor\",0.9996],");
+        "ntral_meridian\",111],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"30731\"]]");
-    p = add_epsg_def (filter, first, last, 30732, "epsg", 30732,
-        "Nord Sahara 1959 / UTM zone 32N");
+        "H],AUTHORITY[\"EPSG\",\"28349\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28350, "epsg", 28350,
+        "GDA94 / MGA zone 50", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +ellps=clrk80 +towgs84=-209.362,-87.8");
+        "+proj=utm +zone=50 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "162,404.62,0.0046,3.4784,0.5805,-1.4547 +units=m +no_def");
-    add_proj4text (p, 2,
-        "s");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Nord Sahara 1959 / UTM zone 32N\",GEOGCS[\"Nord");
+        "PROJCS[\"GDA94 / MGA zone 50\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "\"7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.478");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "4,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\"");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "HORITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Merca");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "entral_meridian\",9],PARAMETER[\"scale_factor\",0.9996],");
+        "ntral_meridian\",117],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "RITY[\"EPSG\",\"30732\"]]");
-    p = add_epsg_def (filter, first, last, 30791, "epsg", 30791,
-        "Nord Sahara 1959 / Nord Algerie");
+        "H],AUTHORITY[\"EPSG\",\"28350\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28351, "epsg", 28351,
+        "GDA94 / MGA zone 51", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.99962554");
+        "+proj=utm +zone=51 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "4 +x_0=500135 +y_0=300090 +ellps=clrk80 +towgs84=-209.36");
-    add_proj4text (p, 2,
-        "2,-87.8162,404.62,0.0046,3.4784,0.5805,-1.4547 +units=m ");
-    add_proj4text (p, 3,
-        "+no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Nord Sahara 1959 / Nord Algerie\",GEOGCS[\"Nord");
+        "PROJCS[\"GDA94 / MGA zone 51\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "\"7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.478");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "4,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\"");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "HORITY[\"EPSG\",\"4307\"]],PROJECTION[\"Lambert_Conforma");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "l_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",36],PARA");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "METER[\"central_meridian\",2.7],PARAMETER[\"scale_factor");
+        "ntral_meridian\",123],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "\",0.999625544],PARAMETER[\"false_easting\",500135],PARA");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",300090],UNIT[\"metre\",1,AUTHOR");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "H],AUTHORITY[\"EPSG\",\"30791\"]]");
-    p = add_epsg_def (filter, first, last, 30792, "epsg", 30792,
-        "Nord Sahara 1959 / Sud Algerie");
+        "H],AUTHORITY[\"EPSG\",\"28351\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28352, "epsg", 28352,
+        "GDA94 / MGA zone 52", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.9996");
+        "+proj=utm +zone=52 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "25769 +x_0=500135 +y_0=300090 +ellps=clrk80 +towgs84=-20");
-    add_proj4text (p, 2,
-        "9.362,-87.8162,404.62,0.0046,3.4784,0.5805,-1.4547 +unit");
-    add_proj4text (p, 3,
-        "s=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Nord Sahara 1959 / Sud Algerie\",GEOGCS[\"Nord ");
+        "PROJCS[\"GDA94 / MGA zone 52\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Clar");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "ke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.4784,");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\"G");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "ORITY[\"EPSG\",\"4307\"]],PROJECTION[\"Lambert_Conformal");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",33.3],PAR");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "AMETER[\"central_meridian\",2.7],PARAMETER[\"scale_facto");
+        "ntral_meridian\",129],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "r\",0.999625769],PARAMETER[\"false_easting\",500135],PAR");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_northing\",300090],UNIT[\"metre\",1,AUTHO");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "TH],AUTHORITY[\"EPSG\",\"30792\"]]");
-    p = add_epsg_def (filter, first, last, 30800, "epsg", 30800,
-        "RT38 2.5 gon W (deprecated)");
+        "H],AUTHORITY[\"EPSG\",\"28352\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28353, "epsg", 28353,
+        "GDA94 / MGA zone 53", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=");
+        "+proj=utm +zone=53 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "1500000 +y_0=0 +ellps=bessel +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"RT38 2.5 gon W (deprecated)\",GEOGCS[\"RT38\",D");
+        "PROJCS[\"GDA94 / MGA zone 53\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"Stockholm_1938\",SPHEROID[\"Bessel 1841\",6377397");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        ".155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],AUTHORITY");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"6308\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4308\"]]");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "e_of_origin\",0],PARAMETER[\"central_meridian\",15.80827");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "777777778],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "se_easting\",1500000],PARAMETER[\"false_northing\",0],UN");
+        "ntral_meridian\",135],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "EPSG\",\"30800\"]]");
-    p = add_epsg_def (filter, first, last, 31028, "epsg", 31028,
-        "Yoff / UTM zone 28N");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"28353\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28354, "epsg", 28354,
+        "GDA94 / MGA zone 54", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +units=m +no_");
+        "+proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Yoff / UTM zone 28N\",GEOGCS[\"Yoff\",DATUM[\"Y");
+        "PROJCS[\"GDA94 / MGA zone 54\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "off\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "12936265,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\"");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        ",\"6310\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4310\"]],PROJECTI");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "in\",0],PARAMETER[\"central_meridian\",-15],PARAMETER[\"");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "scale_factor\",0.9996],PARAMETER[\"false_easting\",50000");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "ntral_meridian\",141],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"31028\"]]");
-    p = add_epsg_def (filter, first, last, 31121, "epsg", 31121,
-        "Zanderij / UTM zone 21N");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"28354\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28355, "epsg", 28355,
+        "GDA94 / MGA zone 55", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +ellps=intl +towgs84=-265,120,-358,0,");
+        "+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
         "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Zanderij / UTM zone 21N\",GEOGCS[\"Zanderij\",D");
+        "PROJCS[\"GDA94 / MGA zone 55\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"Zanderij\",SPHEROID[\"International 1924\",637838");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "8,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-265,120,-35");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "8,0,0,0,0],AUTHORITY[\"EPSG\",\"6311\"]],PRIMEM[\"Greenw");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4311\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "_meridian\",-57],PARAMETER[\"scale_factor\",0.9996],PARA");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "ntral_meridian\",147],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "XIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"31121\"]]");
-    p = add_epsg_def (filter, first, last, 31154, "epsg", 31154,
-        "Zanderij / TM 54 NW");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"28355\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28356, "epsg", 28356,
+        "GDA94 / MGA zone 56", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-54 +k=0.9996 +x_0=500000 +y");
+        "+proj=utm +zone=56 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m");
-    add_proj4text (p, 2,
-        " +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Zanderij / TM 54 NW\",GEOGCS[\"Zanderij\",DATUM");
+        "PROJCS[\"GDA94 / MGA zone 56\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"Zanderij\",SPHEROID[\"International 1924\",6378388,29");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "7,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-265,120,-358,0,");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "0,0,0],AUTHORITY[\"EPSG\",\"6311\"]],PRIMEM[\"Greenwich\"");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "SG\",\"4311\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "dian\",-54],PARAMETER[\"scale_factor\",0.9996],PARAMETER");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "[\"false_easting\",500000],PARAMETER[\"false_northing\",");
+        "ntral_meridian\",153],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "G\",\"31154\"]]");
-    p = add_epsg_def (filter, first, last, 31170, "epsg", 31170,
-        "Zanderij / Suriname Old TM");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"28356\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28357, "epsg", 28357,
+        "GDA94 / MGA zone 57", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9996");
+        "+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        " +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0");
-    add_proj4text (p, 2,
-        ",0,0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Zanderij / Suriname Old TM\",GEOGCS[\"Zanderij\"");
+        "PROJCS[\"GDA94 / MGA zone 57\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        ",DATUM[\"Zanderij\",SPHEROID[\"International 1924\",6378");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-265,120,-");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "358,0,0,0,0],AUTHORITY[\"EPSG\",\"6311\"]],PRIMEM[\"Gree");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4311\"]],PROJECTION[\"Transverse_Mercator\"");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "l_meridian\",-55.68333333333333],PARAMETER[\"scale_facto");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "ntral_meridian\",159],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "NORTH],AUTHORITY[\"EPSG\",\"31170\"]]");
-    p = add_epsg_def (filter, first, last, 31171, "epsg", 31171,
-        "Zanderij / Suriname TM");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"28357\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28358, "epsg", 28358,
+        "GDA94 / MGA zone 58", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Geocentric_Datum_of_Australia_1994", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9999");
+        "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        " +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0");
-    add_proj4text (p, 2,
-        ",0,0,0 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Zanderij / Suriname TM\",GEOGCS[\"Zanderij\",DA");
+        "PROJCS[\"GDA94 / MGA zone 58\",GEOGCS[\"GDA94\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "TUM[\"Zanderij\",SPHEROID[\"International 1924\",6378388");
+        "Geocentric_Datum_of_Australia_1994\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        ",297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-265,120,-358");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6311\"]],PRIMEM[\"Greenwi");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6283\"]],PRIM");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4311\"]],PROJECTION[\"Transverse_Mercator\"],");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
+        "ORITY[\"EPSG\",\"4283\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "meridian\",-55.68333333333333],PARAMETER[\"scale_factor\"");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "ntral_meridian\",165],PARAMETER[\"scale_factor\",0.9996]");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+        "orthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"31171\"]]");
-    p = add_epsg_def (filter, first, last, 31251, "epsg", 31251,
-        "MGI (Ferro) / Austria GK West Zone");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"28358\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28402, "epsg", 28402,
+        "Pulkovo 1942 / Gauss-Kruger zone 2 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=-5000000");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
-        " +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        "units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / Austria GK West Zone\",GEOGCS[\"M");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 2 (deprecated)");
     add_srs_wkt (p, 1,
-        "GI (Ferro)\",DATUM[\"Militar_Geographische_Institut_Ferr");
+        "\",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHERO");
     add_srs_wkt (p, 2,
-        "o\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUT");
+        "ID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0]");
+        "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6666");
+        "],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "6666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degree\"");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_Mercator");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"428");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "4\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "ral_meridian\",28],PARAMETER[\"scale_factor\",1],PARAMET");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",9],");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",-50");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AU");
+        ",2500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"31251\"]]");
-    p = add_epsg_def (filter, first, last, 31252, "epsg", 31252,
-        "MGI (Ferro) / Austria GK Central Zone");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"Y\",EAST],AUTHORITY[\"EPSG\",\"28402\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28403, "epsg", 28403,
+        "Pulkovo 1942 / Gauss-Kruger zone 3 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=-5000000");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 ");
     add_proj4text (p, 1,
-        " +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / Austria GK Central Zone\",GEOGCS[");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 3 (deprecated)");
     add_srs_wkt (p, 1,
-        "\"MGI (Ferro)\",DATUM[\"Militar_Geographische_Institut_F");
+        "\",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHERO");
     add_srs_wkt (p, 2,
-        "erro\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,");
+        "ID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0");
+        "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6");
+        "],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "6666666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degre");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        "HORITY[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_Merca");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"428");
     add_srs_wkt (p, 8,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "4\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "entral_meridian\",31],PARAMETER[\"scale_factor\",1],PARA");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",15]");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",0],PARAMETER[\"false_northing\",");
+        ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting");
     add_srs_wkt (p, 11,
-        "-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "\",3500000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"31252\"]]");
-    p = add_epsg_def (filter, first, last, 31253, "epsg", 31253,
-        "MGI (Ferro) / Austria GK East Zone");
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"28403\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28404, "epsg", 28404,
+        "Pulkovo 1942 / Gauss-Kruger zone 4", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=-5000000");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        " +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / Austria GK East Zone\",GEOGCS[\"M");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 4\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "GI (Ferro)\",DATUM[\"Militar_Geographische_Institut_Ferr");
+        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        "o\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUT");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0]");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6666");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "6666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degree\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_Mercator");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "ral_meridian\",34],PARAMETER[\"scale_factor\",1],PARAMET");
+        "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",-50");
+        "cale_factor\",1],PARAMETER[\"false_easting\",4500000],PA");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AU");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"31253\"]]");
-    p = add_epsg_def (filter, first, last, 31254, "epsg", 31254,
-        "MGI / Austria GK West");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"28404\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28405, "epsg", 28405,
+        "Pulkovo 1942 / Gauss-Kruger zone 5", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "0 +y_0=-5000000 +datum=hermannskogel +units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria GK West\",GEOGCS[\"MGI\",DATUM[\"");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 5\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
+        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        ",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "\",10.33333333333333],PARAMETER[\"scale_factor\",1],PARA");
+        "in\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",0],PARAMETER[\"false_northing\",");
+        "cale_factor\",1],PARAMETER[\"false_easting\",5500000],PA");
     add_srs_wkt (p, 11,
-        "-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"31254\"]]");
-    p = add_epsg_def (filter, first, last, 31255, "epsg", 31255,
-        "MGI / Austria GK Central");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"28405\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28406, "epsg", 28406,
+        "Pulkovo 1942 / Gauss-Kruger zone 6", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "0 +y_0=-5000000 +datum=hermannskogel +units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria GK Central\",GEOGCS[\"MGI\",DATUM");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 6\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "[\"Militar_Geographische_Institute\",SPHEROID[\"Bessel 1");
+        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        "841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.42");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "32],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "an\",13.33333333333333],PARAMETER[\"scale_factor\",1],PA");
+        "in\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "cale_factor\",1],PARAMETER[\"false_easting\",6500000],PA");
     add_srs_wkt (p, 11,
-        ",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"31255\"]]");
-    p = add_epsg_def (filter, first, last, 31256, "epsg", 31256,
-        "MGI / Austria GK East");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"28406\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28407, "epsg", 28407,
+        "Pulkovo 1942 / Gauss-Kruger zone 7", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "0 +y_0=-5000000 +datum=hermannskogel +units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria GK East\",GEOGCS[\"MGI\",DATUM[\"");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 7\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
+        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        ",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "\",16.33333333333333],PARAMETER[\"scale_factor\",1],PARA");
+        "in\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",0],PARAMETER[\"false_northing\",");
+        "cale_factor\",1],PARAMETER[\"false_easting\",7500000],PA");
     add_srs_wkt (p, 11,
-        "-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"31256\"]]");
-    p = add_epsg_def (filter, first, last, 31257, "epsg", 31257,
-        "MGI / Austria GK M28");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"28407\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28408, "epsg", 28408,
+        "Pulkovo 1942 / Gauss-Kruger zone 8", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "150000 +y_0=-5000000 +datum=hermannskogel +units=m +no_d");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "efs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria GK M28\",GEOGCS[\"MGI\",DATUM[\"M");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 8\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "ilitar_Geographische_Institute\",SPHEROID[\"Bessel 1841\"");
+        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        ",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],T");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "OWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "4312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "0.33333333333333],PARAMETER[\"scale_factor\",1],PARAMETE");
+        "in\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",150000],PARAMETER[\"false_northing\"");
+        "cale_factor\",1],PARAMETER[\"false_easting\",8500000],PA");
     add_srs_wkt (p, 11,
-        ",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"31257\"]]");
-    p = add_epsg_def (filter, first, last, 31258, "epsg", 31258,
-        "MGI / Austria GK M31");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"28408\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28409, "epsg", 28409,
+        "Pulkovo 1942 / Gauss-Kruger zone 9", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "450000 +y_0=-5000000 +datum=hermannskogel +units=m +no_d");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "efs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria GK M31\",GEOGCS[\"MGI\",DATUM[\"M");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 9\",GEOGCS[\"P");
     add_srs_wkt (p, 1,
-        "ilitar_Geographische_Institute\",SPHEROID[\"Bessel 1841\"");
+        "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows");
     add_srs_wkt (p, 2,
-        ",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],T");
+        "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO");
     add_srs_wkt (p, 3,
-        "OWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],");
+        "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "4312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 9,
-        "3.33333333333333],PARAMETER[\"scale_factor\",1],PARAMETE");
+        "in\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",450000],PARAMETER[\"false_northing\"");
+        "cale_factor\",1],PARAMETER[\"false_easting\",9500000],PA");
     add_srs_wkt (p, 11,
-        ",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"31258\"]]");
-    p = add_epsg_def (filter, first, last, 31259, "epsg", 31259,
-        "MGI / Austria GK M34");
+        "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],");
+    add_srs_wkt (p, 13,
+        "AUTHORITY[\"EPSG\",\"28409\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28410, "epsg", 28410,
+        "Pulkovo 1942 / Gauss-Kruger zone 10", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0");
     add_proj4text (p, 1,
-        "750000 +y_0=-5000000 +datum=hermannskogel +units=m +no_d");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
     add_proj4text (p, 2,
-        "efs");
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria GK M34\",GEOGCS[\"MGI\",DATUM[\"M");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 10\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ilitar_Geographische_Institute\",SPHEROID[\"Bessel 1841\"");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        ",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],T");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "OWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "4312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "6.33333333333333],PARAMETER[\"scale_factor\",1],PARAMETE");
+        "igin\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",750000],PARAMETER[\"false_northing\"");
+        "scale_factor\",1],PARAMETER[\"false_easting\",10500000],");
     add_srs_wkt (p, 11,
-        ",-5000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "],AUTHORITY[\"EPSG\",\"31259\"]]");
-    p = add_epsg_def (filter, first, last, 31265, "epsg", 31265,
-        "MGI / 3-degree Gauss zone 5 (deprecated)");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"28410\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28411, "epsg", 28411,
+        "Pulkovo 1942 / Gauss-Kruger zone 11", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0");
     add_proj4text (p, 1,
-        "+datum=hermannskogel +units=m +no_defs");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
+    add_proj4text (p, 2,
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / 3-degree Gauss zone 5 (deprecated)\",GEOG");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 11\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "CS[\"MGI\",DATUM[\"Militar_Geographische_Institute\",SPH");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "EROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ",1.474,5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIME");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_M");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",15],PARAMETER[\"scale_factor\",1],");
+        "igin\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",5500000],PARAMETER[\"false_n");
+        "scale_factor\",1],PARAMETER[\"false_easting\",11500000],");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
     add_srs_wkt (p, 13,
-        ",\"31265\"]]");
-    p = add_epsg_def (filter, first, last, 31266, "epsg", 31266,
-        "MGI / 3-degree Gauss zone 6 (deprecated)");
+        "],AUTHORITY[\"EPSG\",\"28411\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28412, "epsg", 28412,
+        "Pulkovo 1942 / Gauss-Kruger zone 12", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0");
     add_proj4text (p, 1,
-        "+datum=hermannskogel +units=m +no_defs");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
+    add_proj4text (p, 2,
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / 3-degree Gauss zone 6 (deprecated)\",GEOG");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 12\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "CS[\"MGI\",DATUM[\"Militar_Geographische_Institute\",SPH");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "EROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ",1.474,5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIME");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_M");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",18],PARAMETER[\"scale_factor\",1],");
+        "igin\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",6500000],PARAMETER[\"false_n");
+        "scale_factor\",1],PARAMETER[\"false_easting\",12500000],");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
     add_srs_wkt (p, 13,
-        ",\"31266\"]]");
-    p = add_epsg_def (filter, first, last, 31267, "epsg", 31267,
-        "MGI / 3-degree Gauss zone 7 (deprecated)");
+        "],AUTHORITY[\"EPSG\",\"28412\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28413, "epsg", 28413,
+        "Pulkovo 1942 / Gauss-Kruger zone 13", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0");
     add_proj4text (p, 1,
-        "+datum=hermannskogel +units=m +no_defs");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
+    add_proj4text (p, 2,
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / 3-degree Gauss zone 7 (deprecated)\",GEOG");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 13\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "CS[\"MGI\",DATUM[\"Militar_Geographische_Institute\",SPH");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "EROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ",1.474,5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIME");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_M");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",21],PARAMETER[\"scale_factor\",1],");
+        "igin\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",7500000],PARAMETER[\"false_n");
+        "scale_factor\",1],PARAMETER[\"false_easting\",13500000],");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
     add_srs_wkt (p, 13,
-        ",\"31267\"]]");
-    p = add_epsg_def (filter, first, last, 31268, "epsg", 31268,
-        "MGI / 3-degree Gauss zone 8 (deprecated)");
+        "],AUTHORITY[\"EPSG\",\"28413\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28414, "epsg", 28414,
+        "Pulkovo 1942 / Gauss-Kruger zone 14", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0");
     add_proj4text (p, 1,
-        "+datum=hermannskogel +units=m +no_defs");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
+    add_proj4text (p, 2,
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / 3-degree Gauss zone 8 (deprecated)\",GEOG");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 14\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "CS[\"MGI\",DATUM[\"Militar_Geographische_Institute\",SPH");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "EROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "\"EPSG\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ",1.474,5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIME");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",AUTHORITY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_M");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "[\"central_meridian\",24],PARAMETER[\"scale_factor\",1],");
+        "igin\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",8500000],PARAMETER[\"false_n");
+        "scale_factor\",1],PARAMETER[\"false_easting\",14500000],");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
     add_srs_wkt (p, 13,
-        ",\"31268\"]]");
-    p = add_epsg_def (filter, first, last, 31275, "epsg", 31275,
-        "MGI / Balkans zone 5 (deprecated)");
+        "],AUTHORITY[\"EPSG\",\"28414\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28415, "epsg", 28415,
+        "Pulkovo 1942 / Gauss-Kruger zone 15", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=5500000 +y");
+        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0");
     add_proj4text (p, 1,
-        "_0=0 +datum=hermannskogel +units=m +no_defs");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
+    add_proj4text (p, 2,
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Balkans zone 5 (deprecated)\",GEOGCS[\"MG");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 15\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "I\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[\"");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        ",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ".297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gree");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "TY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "l_meridian\",15],PARAMETER[\"scale_factor\",0.9999],PARA");
+        "igin\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",5500000],PARAMETER[\"false_north");
+        "scale_factor\",1],PARAMETER[\"false_easting\",15500000],");
     add_srs_wkt (p, 11,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"31275\"]]");
-    p = add_epsg_def (filter, first, last, 31276, "epsg", 31276,
-        "MGI / Balkans zone 6 (deprecated)");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"28415\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28416, "epsg", 28416,
+        "Pulkovo 1942 / Gauss-Kruger zone 16", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=6500000 +y");
+        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0");
     add_proj4text (p, 1,
-        "_0=0 +datum=hermannskogel +units=m +no_defs");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
+    add_proj4text (p, 2,
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Balkans zone 6 (deprecated)\",GEOGCS[\"MG");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 16\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "I\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[\"");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        ",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ".297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gree");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "TY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "l_meridian\",18],PARAMETER[\"scale_factor\",0.9999],PARA");
+        "igin\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",6500000],PARAMETER[\"false_north");
+        "scale_factor\",1],PARAMETER[\"false_easting\",16500000],");
     add_srs_wkt (p, 11,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"31276\"]]");
-    p = add_epsg_def (filter, first, last, 31277, "epsg", 31277,
-        "MGI / Balkans zone 7 (deprecated)");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"28416\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28417, "epsg", 28417,
+        "Pulkovo 1942 / Gauss-Kruger zone 17", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y");
+        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0");
     add_proj4text (p, 1,
-        "_0=0 +datum=hermannskogel +units=m +no_defs");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
+    add_proj4text (p, 2,
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Balkans zone 7 (deprecated)\",GEOGCS[\"MG");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 17\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "I\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[\"");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        ",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ".297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gree");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "TY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "l_meridian\",21],PARAMETER[\"scale_factor\",0.9999],PARA");
+        "igin\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",7500000],PARAMETER[\"false_north");
+        "scale_factor\",1],PARAMETER[\"false_easting\",17500000],");
     add_srs_wkt (p, 11,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"31277\"]]");
-    p = add_epsg_def (filter, first, last, 31278, "epsg", 31278,
-        "MGI / Balkans zone 8 (deprecated)");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"28417\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28418, "epsg", 28418,
+        "Pulkovo 1942 / Gauss-Kruger zone 18", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y");
+        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=");
     add_proj4text (p, 1,
-        "_0=0 +datum=hermannskogel +units=m +no_defs");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
+    add_proj4text (p, 2,
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Balkans zone 8 (deprecated)\",GEOGCS[\"MG");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 18\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "I\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[\"");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        ",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ".297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gree");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "TY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "l_meridian\",21],PARAMETER[\"scale_factor\",0.9999],PARA");
+        "igin\",0],PARAMETER[\"central_meridian\",105],PARAMETER[");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",7500000],PARAMETER[\"false_north");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",18500000");
     add_srs_wkt (p, 11,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"31278\"]]");
-    p = add_epsg_def (filter, first, last, 31279, "epsg", 31279,
-        "MGI / Balkans zone 8 (deprecated)");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28418\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28419, "epsg", 28419,
+        "Pulkovo 1942 / Gauss-Kruger zone 19", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=8500000 +y");
+        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=");
     add_proj4text (p, 1,
-        "_0=0 +datum=hermannskogel +units=m +no_defs");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
+    add_proj4text (p, 2,
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Balkans zone 8 (deprecated)\",GEOGCS[\"MG");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 19\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "I\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[\"");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        ",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ".297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gree");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "TY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "l_meridian\",24],PARAMETER[\"scale_factor\",0.9999],PARA");
+        "igin\",0],PARAMETER[\"central_meridian\",111],PARAMETER[");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",8500000],PARAMETER[\"false_north");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",19500000");
     add_srs_wkt (p, 11,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"31279\"]]");
-    p = add_epsg_def (filter, first, last, 31281, "epsg", 31281,
-        "MGI (Ferro) / Austria West Zone");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28419\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28420, "epsg", 28420,
+        "Pulkovo 1942 / Gauss-Kruger zone 20", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps");
+        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=");
     add_proj4text (p, 1,
-        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        " +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / Austria West Zone\",GEOGCS[\"MGI ");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 20\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "(Ferro)\",DATUM[\"Militar_Geographische_Institut_Ferro\"");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0],AU");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6666666");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "6666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degree\",0.");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "_meridian\",28],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "igin\",0],PARAMETER[\"central_meridian\",117],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",20500000");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "EPSG\",\"31281\"]]");
-    p = add_epsg_def (filter, first, last, 31282, "epsg", 31282,
-        "MGI (Ferro) / Austria Central Zone");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28420\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28421, "epsg", 28421,
+        "Pulkovo 1942 / Gauss-Kruger zone 21", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps");
+        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=");
     add_proj4text (p, 1,
-        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        " +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / Austria Central Zone\",GEOGCS[\"M");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 21\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "GI (Ferro)\",DATUM[\"Militar_Geographische_Institut_Ferr");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "o\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUT");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "HORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0]");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6666");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "6666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degree\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_Mercator");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "ral_meridian\",31],PARAMETER[\"scale_factor\",1],PARAMET");
+        "igin\",0],PARAMETER[\"central_meridian\",123],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",0],PARAMETER[\"false_northing\",0],");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",21500000");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"31282\"]]");
-    p = add_epsg_def (filter, first, last, 31283, "epsg", 31283,
-        "MGI (Ferro) / Austria East Zone");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28421\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28422, "epsg", 28422,
+        "Pulkovo 1942 / Gauss-Kruger zone 22", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps");
+        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=");
     add_proj4text (p, 1,
-        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        " +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / Austria East Zone\",GEOGCS[\"MGI ");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 22\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "(Ferro)\",DATUM[\"Militar_Geographische_Institut_Ferro\"");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0],AU");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6666666");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "6666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degree\",0.");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "_meridian\",34],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "igin\",0],PARAMETER[\"central_meridian\",129],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\"false_easting\",0],PARAMETER[\"false_northing\",0],UNI");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",22500000");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "EPSG\",\"31283\"]]");
-    p = add_epsg_def (filter, first, last, 31284, "epsg", 31284,
-        "MGI / Austria M28");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28422\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28423, "epsg", 28423,
+        "Pulkovo 1942 / Gauss-Kruger zone 23", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=");
     add_proj4text (p, 1,
-        "150000 +y_0=0 +datum=hermannskogel +units=m +no_defs");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
+    add_proj4text (p, 2,
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria M28\",GEOGCS[\"MGI\",DATUM[\"Mili");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 23\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "tar_Geographische_Institute\",SPHEROID[\"Bessel 1841\",6");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOW");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "GS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],AU");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "0.33333333333333],PARAMETER[\"scale_factor\",1],PARAMETE");
+        "igin\",0],PARAMETER[\"central_meridian\",135],PARAMETER[");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",150000],PARAMETER[\"false_northing\"");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",23500000");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"31284\"]]");
-    p = add_epsg_def (filter, first, last, 31285, "epsg", 31285,
-        "MGI / Austria M31");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28423\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28424, "epsg", 28424,
+        "Pulkovo 1942 / Gauss-Kruger zone 24", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=");
     add_proj4text (p, 1,
-        "450000 +y_0=0 +datum=hermannskogel +units=m +no_defs");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
+    add_proj4text (p, 2,
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria M31\",GEOGCS[\"MGI\",DATUM[\"Mili");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 24\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "tar_Geographische_Institute\",SPHEROID[\"Bessel 1841\",6");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOW");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "GS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],AU");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "3.33333333333333],PARAMETER[\"scale_factor\",1],PARAMETE");
+        "igin\",0],PARAMETER[\"central_meridian\",141],PARAMETER[");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",450000],PARAMETER[\"false_northing\"");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",24500000");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"31285\"]]");
-    p = add_epsg_def (filter, first, last, 31286, "epsg", 31286,
-        "MGI / Austria M34");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28424\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28425, "epsg", 28425,
+        "Pulkovo 1942 / Gauss-Kruger zone 25", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=");
     add_proj4text (p, 1,
-        "750000 +y_0=0 +datum=hermannskogel +units=m +no_defs");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
+    add_proj4text (p, 2,
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria M34\",GEOGCS[\"MGI\",DATUM[\"Mili");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 25\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "tar_Geographische_Institute\",SPHEROID[\"Bessel 1841\",6");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOW");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "GS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],AU");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "6.33333333333333],PARAMETER[\"scale_factor\",1],PARAMETE");
+        "igin\",0],PARAMETER[\"central_meridian\",147],PARAMETER[");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",750000],PARAMETER[\"false_northing\"");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",25500000");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHO");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"31286\"]]");
-    p = add_epsg_def (filter, first, last, 31287, "epsg", 31287,
-        "MGI / Austria Lambert");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28425\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28426, "epsg", 28426,
+        "Pulkovo 1942 / Gauss-Kruger zone 26", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.3333");
+        "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=");
     add_proj4text (p, 1,
-        "3333333333 +x_0=400000 +y_0=400000 +datum=hermannskogel ");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria Lambert\",GEOGCS[\"MGI\",DATUM[\"");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 26\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        ",\"4312\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"standard_parallel_1\",49],PARAMETER[\"standa");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "rd_parallel_2\",46],PARAMETER[\"latitude_of_origin\",47.");
+        "igin\",0],PARAMETER[\"central_meridian\",153],PARAMETER[");
     add_srs_wkt (p, 10,
-        "5],PARAMETER[\"central_meridian\",13.33333333333333],PAR");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",26500000");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",400000],PARAMETER[\"false_north");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "ing\",400000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
     add_srs_wkt (p, 13,
-        "\"]],AUTHORITY[\"EPSG\",\"31287\"]]");
-    p = add_epsg_def (filter, first, last, 31288, "epsg", 31288,
-        "MGI (Ferro) / M28");
+        "ST],AUTHORITY[\"EPSG\",\"28426\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28427, "epsg", 28427,
+        "Pulkovo 1942 / Gauss-Kruger zone 27", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=150000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=");
     add_proj4text (p, 1,
-        "ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +un");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        "its=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / M28\",GEOGCS[\"MGI (Ferro)\",DATU");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 27\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "M[\"Militar_Geographische_Institut_Ferro\",SPHEROID[\"Be");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "ssel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7004\"]],TOWGS84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ",\"6805\"]],PRIMEM[\"Ferro\",-17.66666666666667,AUTHORIT");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8909\"]],UNIT[\"degree\",0.0174532925199433");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4805");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",28],");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "igin\",0],PARAMETER[\"central_meridian\",159],PARAMETER[");
     add_srs_wkt (p, 10,
-        ",150000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",27500000");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"312");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "88\"]]");
-    p = add_epsg_def (filter, first, last, 31289, "epsg", 31289,
-        "MGI (Ferro) / M31");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28427\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28428, "epsg", 28428,
+        "Pulkovo 1942 / Gauss-Kruger zone 28", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=450000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=");
     add_proj4text (p, 1,
-        "ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +un");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        "its=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / M31\",GEOGCS[\"MGI (Ferro)\",DATU");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 28\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "M[\"Militar_Geographische_Institut_Ferro\",SPHEROID[\"Be");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "ssel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7004\"]],TOWGS84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ",\"6805\"]],PRIMEM[\"Ferro\",-17.66666666666667,AUTHORIT");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8909\"]],UNIT[\"degree\",0.0174532925199433");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4805");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",31],");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "igin\",0],PARAMETER[\"central_meridian\",165],PARAMETER[");
     add_srs_wkt (p, 10,
-        ",450000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",28500000");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"312");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "89\"]]");
-    p = add_epsg_def (filter, first, last, 31290, "epsg", 31290,
-        "MGI (Ferro) / M34");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28428\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28429, "epsg", 28429,
+        "Pulkovo 1942 / Gauss-Kruger zone 29", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=750000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=");
     add_proj4text (p, 1,
-        "ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +un");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        "its=m +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / M34\",GEOGCS[\"MGI (Ferro)\",DATU");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 29\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "M[\"Militar_Geographische_Institut_Ferro\",SPHEROID[\"Be");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "ssel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "7004\"]],TOWGS84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\"");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ",\"6805\"]],PRIMEM[\"Ferro\",-17.66666666666667,AUTHORIT");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8909\"]],UNIT[\"degree\",0.0174532925199433");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4805");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "itude_of_origin\",0],PARAMETER[\"central_meridian\",34],");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
+        "igin\",0],PARAMETER[\"central_meridian\",171],PARAMETER[");
     add_srs_wkt (p, 10,
-        ",750000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",29500000");
     add_srs_wkt (p, 11,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"312");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "90\"]]");
-    p = add_epsg_def (filter, first, last, 31291, "epsg", 31291,
-        "MGI (Ferro) / Austria West Zone (deprecated)");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AUTHORITY[\"EPSG\",\"28429\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28430, "epsg", 28430,
+        "Pulkovo 1942 / Gauss-Kruger zone 30", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps");
+        "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=");
     add_proj4text (p, 1,
-        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
+        "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,");
     add_proj4text (p, 2,
-        " +no_defs");
+        "-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / Austria West Zone (deprecated)\",");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 30\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"MGI (Ferro)\",DATUM[\"Militar_Geographische_Ins");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "titut_Ferro\",SPHEROID[\"Bessel 1841\",6377397.155,299.1");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,48");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        ",-17.66666666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "],AUTHORITY[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "R[\"central_meridian\",28],PARAMETER[\"scale_factor\",1]");
+        "igin\",0],PARAMETER[\"central_meridian\",177],PARAMETER[");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",0],PARAMETER[\"false_northi");
+        "\"scale_factor\",1],PARAMETER[\"false_easting\",30500000");
     add_srs_wkt (p, 11,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
     add_srs_wkt (p, 12,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA");
     add_srs_wkt (p, 13,
-        "1291\"]]");
-    p = add_epsg_def (filter, first, last, 31292, "epsg", 31292,
-        "MGI (Ferro) / Austria Central Zone (deprecated)");
+        "ST],AUTHORITY[\"EPSG\",\"28430\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28431, "epsg", 28431,
+        "Pulkovo 1942 / Gauss-Kruger zone 31", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps");
+        "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0");
     add_proj4text (p, 1,
-        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
+        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82");
     add_proj4text (p, 2,
-        " +no_defs");
+        ",-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / Austria Central Zone (deprecated)");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 31\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "\",GEOGCS[\"MGI (Ferro)\",DATUM[\"Militar_Geographische_");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "Institut_Ferro\",SPHEROID[\"Bessel 1841\",6377397.155,29");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "9.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        ",480,0,0,0,0],AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Fer");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "ro\",-17.66666666666667,AUTHORITY[\"EPSG\",\"8909\"]],UN");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "22\"]],AUTHORITY[\"EPSG\",\"4805\"]],PROJECTION[\"Transv");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "AMETER[\"central_meridian\",31],PARAMETER[\"scale_factor");
+        "igin\",0],PARAMETER[\"central_meridian\",-177],PARAMETER");
     add_srs_wkt (p, 10,
-        "\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_n");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",3150000");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E");
     add_srs_wkt (p, 13,
-        ",\"31292\"]]");
-    p = add_epsg_def (filter, first, last, 31293, "epsg", 31293,
-        "MGI (Ferro) / Austria East Zone (deprecated)");
+        "AST],AUTHORITY[\"EPSG\",\"28431\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28432, "epsg", 28432,
+        "Pulkovo 1942 / Gauss-Kruger zone 32", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps");
+        "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0");
     add_proj4text (p, 1,
-        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
+        "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82");
     add_proj4text (p, 2,
-        " +no_defs");
+        ",-0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI (Ferro) / Austria East Zone (deprecated)\",");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 32\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"MGI (Ferro)\",DATUM[\"Militar_Geographische_Ins");
+        "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow");
     add_srs_wkt (p, 2,
-        "titut_Ferro\",SPHEROID[\"Bessel 1841\",6377397.155,299.1");
+        "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T");
     add_srs_wkt (p, 3,
-        "528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,48");
+        "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\"");
+        "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        ",-17.66666666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "],AUTHORITY[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "R[\"central_meridian\",34],PARAMETER[\"scale_factor\",1]");
+        "igin\",0],PARAMETER[\"central_meridian\",-171],PARAMETER");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",0],PARAMETER[\"false_northi");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",3250000");
     add_srs_wkt (p, 11,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
     add_srs_wkt (p, 12,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E");
     add_srs_wkt (p, 13,
-        "1293\"]]");
-    p = add_epsg_def (filter, first, last, 31294, "epsg", 31294,
-        "MGI / M28 (deprecated)");
+        "AST],AUTHORITY[\"EPSG\",\"28432\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28462, "epsg", 28462,
+        "Pulkovo 1942 / Gauss-Kruger 2N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +e");
     add_proj4text (p, 1,
-        "150000 +y_0=0 +datum=hermannskogel +units=m +no_defs");
+        "llps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.1");
+    add_proj4text (p, 2,
+        "2 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / M28 (deprecated)\",GEOGCS[\"MGI\",DATUM[\"");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 2N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
+        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        ",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "\",10.33333333333333],PARAMETER[\"scale_factor\",1],PARA");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",9],PARAM");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",150000],PARAMETER[\"false_northi");
+        "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500");
     add_srs_wkt (p, 11,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "1294\"]]");
-    p = add_epsg_def (filter, first, last, 31295, "epsg", 31295,
-        "MGI / M31 (deprecated)");
+        ",EAST],AUTHORITY[\"EPSG\",\"28462\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28463, "epsg", 28463,
+        "Pulkovo 1942 / Gauss-Kruger 3N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "450000 +y_0=0 +datum=hermannskogel +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / M31 (deprecated)\",GEOGCS[\"MGI\",DATUM[\"");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 3N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
+        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        ",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "\",13.33333333333333],PARAMETER[\"scale_factor\",1],PARA");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",15],PARA");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",450000],PARAMETER[\"false_northi");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "1295\"]]");
-    p = add_epsg_def (filter, first, last, 31296, "epsg", 31296,
-        "MGI / M34 (deprecated)");
+        ",EAST],AUTHORITY[\"EPSG\",\"28463\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28464, "epsg", 28464,
+        "Pulkovo 1942 / Gauss-Kruger 4N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "750000 +y_0=0 +datum=hermannskogel +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / M34 (deprecated)\",GEOGCS[\"MGI\",DATUM[\"");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 4N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
+        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        ",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "\",16.33333333333333],PARAMETER[\"scale_factor\",1],PARA");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",21],PARA");
     add_srs_wkt (p, 10,
-        "METER[\"false_easting\",750000],PARAMETER[\"false_northi");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "ng\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "1296\"]]");
-    p = add_epsg_def (filter, first, last, 31297, "epsg", 31297,
-        "MGI / Austria Lambert (deprecated)");
+        ",EAST],AUTHORITY[\"EPSG\",\"28464\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28465, "epsg", 28465,
+        "Pulkovo 1942 / Gauss-Kruger 5N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.3333");
+        "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "3333333333 +x_0=400000 +y_0=400000 +datum=hermannskogel ");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        "+units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"MGI / Austria Lambert (deprecated)\",GEOGCS[\"M");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 5N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "GI\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[");
+        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        ",5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gr");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4312\"]],PROJECTION[\"Lambert_Conformal_C");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",49],PARAME");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "TER[\"standard_parallel_2\",46],PARAMETER[\"latitude_of_");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",27],PARA");
     add_srs_wkt (p, 10,
-        "origin\",47.5],PARAMETER[\"central_meridian\",13.3333333");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "3333333],PARAMETER[\"false_easting\",400000],PARAMETER[\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "false_northing\",400000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
-    add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"31297\"]]");
-    p = add_epsg_def (filter, first, last, 31300, "epsg", 31300,
-        "Belge 1972 / Belge Lambert 72");
+        ",EAST],AUTHORITY[\"EPSG\",\"28465\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28466, "epsg", 28466,
+        "Pulkovo 1942 / Gauss-Kruger 6N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "666 +lat_0=90 +lon_0=4.356939722222222 +x_0=150000.01256");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        " +y_0=5400088.4378 +ellps=intl +towgs84=-106.869,52.2978");
-    add_proj4text (p, 3,
-        ",-103.724,0.3366,-0.457,1.8422,-1.2747 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Belge 1972 / Belge Lambert 72\",GEOGCS[\"Belge ");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 6N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "1972\",DATUM[\"Reseau_National_Belge_1972\",SPHEROID[\"I");
+        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "nternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"702");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "2\"]],TOWGS84[-106.869,52.2978,-103.724,0.3366,-0.457,1.");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIMEM[\"Gre");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal_C");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "onic_2SP_Belgium\"],PARAMETER[\"standard_parallel_1\",49");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        ".83333333333334],PARAMETER[\"standard_parallel_2\",51.16");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",33],PARA");
     add_srs_wkt (p, 10,
-        "666666666666],PARAMETER[\"latitude_of_origin\",90],PARAM");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "ETER[\"central_meridian\",4.356939722222222],PARAMETER[\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "false_easting\",150000.01256],PARAMETER[\"false_northing");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "\",5400088.4378],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
-    add_srs_wkt (p, 14,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
-    add_srs_wkt (p, 15,
-        "PSG\",\"31300\"]]");
-    p = add_epsg_def (filter, first, last, 31370, "epsg", 31370,
-        "Belge 1972 / Belgian Lambert 72");
+        ",EAST],AUTHORITY[\"EPSG\",\"28466\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28467, "epsg", 28467,
+        "Pulkovo 1942 / Gauss-Kruger 7N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +la");
+        "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "t_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=540");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
     add_proj4text (p, 2,
-        "0088.438 +ellps=intl +towgs84=-106.869,52.2978,-103.724,");
-    add_proj4text (p, 3,
-        "0.3366,-0.457,1.8422,-1.2747 +units=m +no_defs");
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Belge 1972 / Belgian Lambert 72\",GEOGCS[\"Belg");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 7N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "e 1972\",DATUM[\"Reseau_National_Belge_1972\",SPHEROID[\"");
+        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "22\"]],TOWGS84[-106.869,52.2978,-103.724,0.3366,-0.457,1");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        ".8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIMEM[\"Gr");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "ITY[\"EPSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal_C");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",51.1666672");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "3333333],PARAMETER[\"standard_parallel_2\",49.8333339],P");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",39],PARA");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"latitude_of_origin\",90],PARAMETER[\"central_");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        "meridian\",4.367486666666666],PARAMETER[\"false_easting\"");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        ",150000.013],PARAMETER[\"false_northing\",5400088.438],U");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
-    add_srs_wkt (p, 14,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31370\"]]");
-    p = add_epsg_def (filter, first, last, 31461, "epsg", 31461,
-        "DHDN / 3-degree Gauss zone 1 (deprecated)");
+        ",EAST],AUTHORITY[\"EPSG\",\"28467\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28468, "epsg", 28468,
+        "Pulkovo 1942 / Gauss-Kruger 8N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "datum=potsdam +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss zone 1 (deprecated)\",GEO");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 8N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
+        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "_meridian\",3],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",45],PARA");
     add_srs_wkt (p, 10,
-        "false_easting\",1500000],PARAMETER[\"false_northing\",0]");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31461\"]");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 31462, "epsg", 31462,
-        "DHDN / 3-degree Gauss zone 2 (deprecated)");
+        ",EAST],AUTHORITY[\"EPSG\",\"28468\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28469, "epsg", 28469,
+        "Pulkovo 1942 / Gauss-Kruger 9N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "datum=potsdam +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss zone 2 (deprecated)\",GEO");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 9N (deprecated)\",G");
     add_srs_wkt (p, 1,
-        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
+        "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
+        "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT");
     add_srs_wkt (p, 4,
-        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
+        "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "_meridian\",6],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "e_of_origin\",0],PARAMETER[\"central_meridian\",51],PARA");
     add_srs_wkt (p, 10,
-        "false_easting\",2500000],PARAMETER[\"false_northing\",0]");
+        "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31462\"]");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\"");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 31463, "epsg", 31463,
-        "DHDN / 3-degree Gauss zone 3 (deprecated)");
+        ",EAST],AUTHORITY[\"EPSG\",\"28469\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28470, "epsg", 28470,
+        "Pulkovo 1942 / Gauss-Kruger 10N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "datum=potsdam +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss zone 3 (deprecated)\",GEO");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 10N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "_meridian\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",57],PA");
     add_srs_wkt (p, 10,
-        "false_easting\",3500000],PARAMETER[\"false_northing\",0]");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31463\"]");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 31464, "epsg", 31464,
-        "DHDN / 3-degree Gauss zone 4 (deprecated)");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28470\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28471, "epsg", 28471,
+        "Pulkovo 1942 / Gauss-Kruger 11N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "+datum=potsdam +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss zone 4 (deprecated)\",GEO");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 11N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "_meridian\",12],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",63],PA");
     add_srs_wkt (p, 10,
-        "\"false_easting\",4500000],PARAMETER[\"false_northing\",");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31464\"");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 31465, "epsg", 31465,
-        "DHDN / 3-degree Gauss zone 5 (deprecated)");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28471\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28472, "epsg", 28472,
+        "Pulkovo 1942 / Gauss-Kruger 12N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "+datum=potsdam +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss zone 5 (deprecated)\",GEO");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 12N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "[\"EPSG\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"]");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "_meridian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",69],PA");
     add_srs_wkt (p, 10,
-        "\"false_easting\",5500000],PARAMETER[\"false_northing\",");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31465\"");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "]]");
-    p = add_epsg_def (filter, first, last, 31466, "epsg", 31466,
-        "DHDN / 3-degree Gauss-Kruger zone 2");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28472\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28473, "epsg", 28473,
+        "Pulkovo 1942 / Gauss-Kruger 13N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "datum=potsdam +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 2\",GEOGCS[\"");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 13N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHEROID[\"");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-2.455,");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenwich\",");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "ian\",6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",75],PA");
     add_srs_wkt (p, 10,
-        "_easting\",2500000],PARAMETER[\"false_northing\",0],UNIT");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "PSG\",\"31466\"]]");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28473\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_41.c b/src/srsinit/epsg_inlined_41.c
index 8d66ab2..314c12c 100644
--- a/src/srsinit/epsg_inlined_41.c
+++ b/src/srsinit/epsg_inlined_41.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3548 +54,3911 @@ initialize_epsg_41 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 31467, "epsg", 31467,
-        "DHDN / 3-degree Gauss-Kruger zone 3");
+    p = add_epsg_def_ex (filter, first, last, 28474, "epsg", 28474,
+        "Pulkovo 1942 / Gauss-Kruger 14N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "datum=potsdam +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 3\",GEOGCS[\"");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 14N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHEROID[\"");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-2.455,");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenwich\",");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "ian\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",81],PA");
     add_srs_wkt (p, 10,
-        "_easting\",3500000],PARAMETER[\"false_northing\",0],UNIT");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"E");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "PSG\",\"31467\"]]");
-    p = add_epsg_def (filter, first, last, 31468, "epsg", 31468,
-        "DHDN / 3-degree Gauss-Kruger zone 4");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28474\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28475, "epsg", 28475,
+        "Pulkovo 1942 / Gauss-Kruger 15N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "+datum=potsdam +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 4\",GEOGCS[\"");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 15N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHEROID[\"");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-2.455,");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenwich\",");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "ian\",12],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",87],PA");
     add_srs_wkt (p, 10,
-        "e_easting\",4500000],PARAMETER[\"false_northing\",0],UNI");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "EPSG\",\"31468\"]]");
-    p = add_epsg_def (filter, first, last, 31469, "epsg", 31469,
-        "DHDN / 3-degree Gauss-Kruger zone 5");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28475\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28476, "epsg", 28476,
+        "Pulkovo 1942 / Gauss-Kruger 16N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
+        "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "+datum=potsdam +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 5\",GEOGCS[\"");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 16N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHEROID[\"");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-2.455,");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenwich\",");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "ian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",93],PA");
     add_srs_wkt (p, 10,
-        "e_easting\",5500000],PARAMETER[\"false_northing\",0],UNI");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "EPSG\",\"31469\"]]");
-    p = add_epsg_def (filter, first, last, 31528, "epsg", 31528,
-        "Conakry 1905 / UTM zone 28N");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28476\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28477, "epsg", 28477,
+        "Pulkovo 1942 / Gauss-Kruger 17N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,");
+        "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "259,-9,0,0,0,0 +units=m +no_defs");
+        "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.");
+    add_proj4text (p, 2,
+        "12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Conakry 1905 / UTM zone 28N\",GEOGCS[\"Conakry ");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 17N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "1905\",DATUM[\"Conakry_1905\",SPHEROID[\"Clarke 1880 (IG");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "N)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"70");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "11\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "6315\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4315\"]],PROJECTION[");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-15],PARAMETER[\"scal");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "e_factor\",0.9996],PARAMETER[\"false_easting\",500000],P");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",99],PA");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"31528\"]]");
-    p = add_epsg_def (filter, first, last, 31529, "epsg", 31529,
-        "Conakry 1905 / UTM zone 29N");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28477\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28478, "epsg", 28478,
+        "Pulkovo 1942 / Gauss-Kruger 18N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,");
+        "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "259,-9,0,0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Conakry 1905 / UTM zone 29N\",GEOGCS[\"Conakry ");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 18N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "1905\",DATUM[\"Conakry_1905\",SPHEROID[\"Clarke 1880 (IG");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "N)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"70");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "11\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTHORITY[\"EPSG\",\"");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "6315\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "G\",\"9122\"]],AUTHORITY[\"EPSG\",\"4315\"]],PROJECTION[");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        ",0],PARAMETER[\"central_meridian\",-9],PARAMETER[\"scale");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "ing\",NORTH],AUTHORITY[\"EPSG\",\"31529\"]]");
-    p = add_epsg_def (filter, first, last, 31600, "epsg", 31600,
-        "Dealul Piscului 1930 / Stereo 33");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28478\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28479, "epsg", 28479,
+        "Pulkovo 1942 / Gauss-Kruger 19N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=sterea +lat_0=45.9 +lon_0=25.39246588888889 +k=0.9");
+        "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "996667 +x_0=500000 +y_0=500000 +ellps=intl +towgs84=103.");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "25,-100.4,-307.19,0,0,0,0 +units=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Dealul Piscului 1930 / Stereo 33\",GEOGCS[\"Dea");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 19N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "lul Piscului 1930\",DATUM[\"Dealul_Piscului_1930\",SPHER");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "OID[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\"");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",\"7022\"]],TOWGS84[103.25,-100.4,-307.19,0,0,0,0],AUTHO");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"6316\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4316");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"l");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "atitude_of_origin\",45.9],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",25.39246588888889],PARAMETER[\"scale_factor\",0.9996667");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "EPSG\",\"31600\"]]");
-    p = add_epsg_def (filter, first, last, 31700, "epsg", 31700,
-        "Dealul Piscului 1970/ Stereo 70 (deprecated)");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28479\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28480, "epsg", 28480,
+        "Pulkovo 1942 / Gauss-Kruger 20N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 ");
+        "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "+y_0=500000 +ellps=krass +towgs84=28,-121,-77,0,0,0,0 +u");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"Dealul Piscului 1970/ Stereo 70 (deprecated)\",");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 20N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "GEOGCS[\"Dealul Piscului 1970\",DATUM[\"Dealul_Piscului_");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "1970\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "ITY[\"EPSG\",\"7024\"]],TOWGS84[28,-121,-77,0,0,0,0],AUT");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"6317\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"43");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "17\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "latitude_of_origin\",46],PARAMETER[\"central_meridian\",");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "25],PARAMETER[\"scale_factor\",0.99975],PARAMETER[\"fals");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P");
     add_srs_wkt (p, 10,
-        "e_easting\",500000],PARAMETER[\"false_northing\",500000]");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORIT");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"31700\"]]");
-    p = add_epsg_def (filter, first, last, 31838, "epsg", 31838,
-        "NGN / UTM zone 38N");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28480\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28481, "epsg", 28481,
+        "Pulkovo 1942 / Gauss-Kruger 21N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0");
+        "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        ",0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NGN / UTM zone 38N\",GEOGCS[\"NGN\",DATUM[\"Nat");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 21N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "ional_Geodetic_Network\",SPHEROID[\"WGS 84\",6378137,298");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        ".257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[-3.2,-5");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ".7,2.8,0,0,0,0],AUTHORITY[\"EPSG\",\"6318\"]],PRIMEM[\"G");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4318\"]],PROJECTION[\"Transverse_Mercat");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",45],PARAMETER[\"scale_factor\",0.9996],");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P");
     add_srs_wkt (p, 10,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"31838\"]]");
-    p = add_epsg_def (filter, first, last, 31839, "epsg", 31839,
-        "NGN / UTM zone 39N");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28481\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28482, "epsg", 28482,
+        "Pulkovo 1942 / Gauss-Kruger 22N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0");
+        "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        ",0,0,0 +units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NGN / UTM zone 39N\",GEOGCS[\"NGN\",DATUM[\"Nat");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 22N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "ional_Geodetic_Network\",SPHEROID[\"WGS 84\",6378137,298");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        ".257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[-3.2,-5");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ".7,2.8,0,0,0,0],AUTHORITY[\"EPSG\",\"6318\"]],PRIMEM[\"G");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4318\"]],PROJECTION[\"Transverse_Mercat");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",51],PARAMETER[\"scale_factor\",0.9996],");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P");
     add_srs_wkt (p, 10,
-        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"31839\"]]");
-    p = add_epsg_def (filter, first, last, 31900, "epsg", 31900,
-        "KUDAMS / KTM (deprecated)");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28482\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28483, "epsg", 28483,
+        "Pulkovo 1942 / Gauss-Kruger 23N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=48 +k=0.9996 +x_0=500000 +y_");
+        "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "0=0 +ellps=GRS80 +towgs84=-20.8,11.3,2.4,0,0,0,0 +units=");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "m +no_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"KUDAMS / KTM (deprecated)\",GEOGCS[\"KUDAMS\",D");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 23N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "ATUM[\"Kuwait_Utility\",SPHEROID[\"GRS 1980\",6378137,29");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[-20.8,");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "11.3,2.4,0,0,0,0],AUTHORITY[\"EPSG\",\"6319\"]],PRIMEM[\"");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4319\"]],PROJECTION[\"Transverse_Merca");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "entral_meridian\",48],PARAMETER[\"scale_factor\",0.9996]");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P");
     add_srs_wkt (p, 10,
-        "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHO");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"31900\"]]");
-    p = add_epsg_def (filter, first, last, 31901, "epsg", 31901,
-        "KUDAMS / KTM");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28483\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28484, "epsg", 28484,
+        "Pulkovo 1942 / Gauss-Kruger 24N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "ellps=GRS80 +towgs84=-20.8,11.3,2.4,0,0,0,0 +units=m +no");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
     add_proj4text (p, 2,
-        "_defs");
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"KUDAMS / KTM\",GEOGCS[\"KUDAMS\",DATUM[\"Kuwait");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 24N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "_Utility\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "UTHORITY[\"EPSG\",\"7019\"]],TOWGS84[-20.8,11.3,2.4,0,0,");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "0,0],AUTHORITY[\"EPSG\",\"6319\"]],PRIMEM[\"Greenwich\",");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "G\",\"4319\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "ian\",48],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",141],P");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "31901\"]]");
-    p = add_epsg_def (filter, first, last, 31965, "epsg", 31965,
-        "SIRGAS 2000 / UTM zone 11N");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28484\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28485, "epsg", 28485,
+        "Pulkovo 1942 / Gauss-Kruger 25N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 11N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 25N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",-117],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",147],P");
     add_srs_wkt (p, 10,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "\"31965\"]]");
-    p = add_epsg_def (filter, first, last, 31966, "epsg", 31966,
-        "SIRGAS 2000 / UTM zone 12N");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28485\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28486, "epsg", 28486,
+        "Pulkovo 1942 / Gauss-Kruger 26N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 12N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 26N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",-111],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",153],P");
     add_srs_wkt (p, 10,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "\"31966\"]]");
-    p = add_epsg_def (filter, first, last, 31967, "epsg", 31967,
-        "SIRGAS 2000 / UTM zone 13N");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28486\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28487, "epsg", 28487,
+        "Pulkovo 1942 / Gauss-Kruger 27N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 13N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 27N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",-105],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",159],P");
     add_srs_wkt (p, 10,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "\"31967\"]]");
-    p = add_epsg_def (filter, first, last, 31968, "epsg", 31968,
-        "SIRGAS 2000 / UTM zone 14N");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28487\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28488, "epsg", 28488,
+        "Pulkovo 1942 / Gauss-Kruger 28N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 14N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 28N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",-99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",165],P");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "31968\"]]");
-    p = add_epsg_def (filter, first, last, 31969, "epsg", 31969,
-        "SIRGAS 2000 / UTM zone 15N");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28488\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28489, "epsg", 28489,
+        "Pulkovo 1942 / Gauss-Kruger 29N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 15N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 29N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",-93],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",171],P");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "31969\"]]");
-    p = add_epsg_def (filter, first, last, 31970, "epsg", 31970,
-        "SIRGAS 2000 / UTM zone 16N");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28489\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28490, "epsg", 28490,
+        "Pulkovo 1942 / Gauss-Kruger 30N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0");
+    add_proj4text (p, 2,
+        ".12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 16N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 30N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",-87],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",177],P");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "31970\"]]");
-    p = add_epsg_def (filter, first, last, 31971, "epsg", 31971,
-        "SIRGAS 2000 / UTM zone 17N");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28490\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28491, "epsg", 28491,
+        "Pulkovo 1942 / Gauss-Kruger 31N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
+    add_proj4text (p, 2,
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 17N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 31N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "31971\"]]");
-    p = add_epsg_def (filter, first, last, 31972, "epsg", 31972,
-        "SIRGAS 2000 / UTM zone 18N");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28491\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28492, "epsg", 28492,
+        "Pulkovo 1942 / Gauss-Kruger 32N (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Pulkovo_1942", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-");
+    add_proj4text (p, 2,
+        "0.12 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 18N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 32N (deprecated)\",");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        ",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"");
     add_srs_wkt (p, 13,
-        "31972\"]]");
-    p = add_epsg_def (filter, first, last, 31973, "epsg", 31973,
-        "SIRGAS 2000 / UTM zone 19N");
+        "Y\",EAST],AUTHORITY[\"EPSG\",\"28492\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28600, "epsg", 28600,
+        "Qatar 1974 / Qatar National Grid", 0, 0,
+        "International 1924", "Greenwich",
+        "Qatar_1974", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "9999 +x_0=200000 +y_0=300000 +ellps=intl +towgs84=-128.1");
+    add_proj4text (p, 2,
+        "6,-282.42,21.93,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 19N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Qatar 1974 / Qatar National Grid\",GEOGCS[\"Qat");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "ar 1974\",DATUM[\"Qatar_1974\",SPHEROID[\"International ");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "[-128.16,-282.42,21.93,0,0,0,0],AUTHORITY[\"EPSG\",\"628");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "5\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "EAST],AUTHORITY[\"EPSG\",\"4285\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",24.45],");
     add_srs_wkt (p, 9,
-        ",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "PARAMETER[\"central_meridian\",51.21666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "TER[\"scale_factor\",0.99999],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",200000],PARAMETER[\"false_northing\",300000],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 13,
-        "31973\"]]");
-    p = add_epsg_def (filter, first, last, 31974, "epsg", 31974,
-        "SIRGAS 2000 / UTM zone 20N");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"28600\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 28991, "epsg", 28991,
+        "Amersfoort / RD Old", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Amersfoort", "Oblique_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.387638888");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "88889 +k=0.9999079 +x_0=0 +y_0=0 +ellps=bessel +towgs84=");
+    add_proj4text (p, 2,
+        "565.4171,50.3319,465.5524,-0.398957388243134,0.343987817");
+    add_proj4text (p, 3,
+        "378283,-1.87740163998045,4.0725 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 20N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Amersfoort / RD Old\",GEOGCS[\"Amersfoort\",DAT");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "UM[\"Amersfoort\",SPHEROID[\"Bessel 1841\",6377397.155,2");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "99.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.417");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "1,50.3319,465.5524,-0.398957388243134,0.343987817378283,");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "-1.87740163998045,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "AUTHORITY[\"EPSG\",\"4289\"]],PROJECTION[\"Oblique_Stere");
     add_srs_wkt (p, 9,
-        ",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ographic\"],PARAMETER[\"latitude_of_origin\",52.15616055");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "555555],PARAMETER[\"central_meridian\",5.38763888888889]");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",PARAMETER[\"scale_factor\",0.9999079],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 13,
-        "31974\"]]");
-    p = add_epsg_def (filter, first, last, 31975, "epsg", 31975,
-        "SIRGAS 2000 / UTM zone 21N");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28991\"]]");
+    p = add_epsg_def_ex (filter, first, last, 28992, "epsg", 28992,
+        "Amersfoort / RD New", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Amersfoort", "Oblique_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.387638888");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "88889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel");
+    add_proj4text (p, 2,
+        " +towgs84=565.4171,50.3319,465.5524,-0.398957388243134,0");
+    add_proj4text (p, 3,
+        ".343987817378283,-1.87740163998045,4.0725 +units=m +no_d");
+    add_proj4text (p, 4,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 21N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"Amersfoort / RD New\",GEOGCS[\"Amersfoort\",DAT");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "UM[\"Amersfoort\",SPHEROID[\"Bessel 1841\",6377397.155,2");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "99.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.417");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "1,50.3319,465.5524,-0.398957388243134,0.343987817378283,");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "-1.87740163998045,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "AUTHORITY[\"EPSG\",\"4289\"]],PROJECTION[\"Oblique_Stere");
     add_srs_wkt (p, 9,
-        ",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ographic\"],PARAMETER[\"latitude_of_origin\",52.15616055");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "555555],PARAMETER[\"central_meridian\",5.38763888888889]");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",PARAMETER[\"scale_factor\",0.9999079],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "_easting\",155000],PARAMETER[\"false_northing\",463000],");
     add_srs_wkt (p, 13,
-        "31975\"]]");
-    p = add_epsg_def (filter, first, last, 31976, "epsg", 31976,
-        "SIRGAS 2000 / UTM zone 22N");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28992\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29100, "epsg", 29100,
+        "SAD69 / Brazil Polyconic (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Polyconic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=1000000");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "0 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 2,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 22N\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"SAD69 / Brazil Polyconic (deprecated)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "\"SAD69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "GRS 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "36\"]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "291\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "\",\"9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        ",EAST],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Polyco");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "nic\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        ",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "entral_meridian\",-54],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "00],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
     add_srs_wkt (p, 11,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
     add_srs_wkt (p, 12,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 13,
-        "31976\"]]");
-    p = add_epsg_def (filter, first, last, 31977, "epsg", 31977,
-        "SIRGAS 2000 / UTM zone 17S");
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"29100\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29101, "epsg", 29101,
+        "SAD69 / Brazil Polyconic", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Polyconic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=1000000");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "0 +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +un");
+    add_proj4text (p, 2,
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 17S\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"SAD69 / Brazil Polyconic\",GEOGCS[\"SAD69\",DAT");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "UM[\"South_American_Datum_1969\",SPHEROID[\"GRS 1967 Mod");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "ified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOW");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "GS84[-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"66");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "18\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "EAST],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Polycon");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ic\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        ",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ntral_meridian\",-54],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "0],PARAMETER[\"false_northing\",10000000],UNIT[\"metre\"");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
-    add_srs_wkt (p, 13,
-        "PSG\",\"31977\"]]");
-    p = add_epsg_def (filter, first, last, 31978, "epsg", 31978,
-        "SIRGAS 2000 / UTM zone 18S");
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"29101\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29118, "epsg", 29118,
+        "SAD69 / UTM zone 18N (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=18 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 18S\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"SAD69 / UTM zone 18N (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        ",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ER[\"central_meridian\",-75],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "PSG\",\"31978\"]]");
-    p = add_epsg_def (filter, first, last, 31979, "epsg", 31979,
-        "SIRGAS 2000 / UTM zone 19S");
+        "H],AUTHORITY[\"EPSG\",\"29118\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29119, "epsg", 29119,
+        "SAD69 / UTM zone 19N (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=19 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 19S\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"SAD69 / UTM zone 19N (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        ",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ER[\"central_meridian\",-69],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "PSG\",\"31979\"]]");
-    p = add_epsg_def (filter, first, last, 31980, "epsg", 31980,
-        "SIRGAS 2000 / UTM zone 20S");
+        "H],AUTHORITY[\"EPSG\",\"29119\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29120, "epsg", 29120,
+        "SAD69 / UTM zone 20N (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=20 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 20S\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"SAD69 / UTM zone 20N (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        ",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ER[\"central_meridian\",-63],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "PSG\",\"31980\"]]");
-    p = add_epsg_def (filter, first, last, 31981, "epsg", 31981,
-        "SIRGAS 2000 / UTM zone 21S");
+        "H],AUTHORITY[\"EPSG\",\"29120\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29121, "epsg", 29121,
+        "SAD69 / UTM zone 21N (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=21 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 21S\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"SAD69 / UTM zone 21N (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        ",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ER[\"central_meridian\",-57],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "PSG\",\"31981\"]]");
-    p = add_epsg_def (filter, first, last, 31982, "epsg", 31982,
-        "SIRGAS 2000 / UTM zone 22S");
+        "H],AUTHORITY[\"EPSG\",\"29121\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29122, "epsg", 29122,
+        "SAD69 / UTM zone 22N (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=22 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 22S\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"SAD69 / UTM zone 22N (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        ",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ER[\"central_meridian\",-51],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
     add_srs_wkt (p, 13,
-        "PSG\",\"31982\"]]");
-    p = add_epsg_def (filter, first, last, 31983, "epsg", 31983,
-        "SIRGAS 2000 / UTM zone 23S");
+        "H],AUTHORITY[\"EPSG\",\"29122\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29168, "epsg", 29168,
+        "SAD69 / UTM zone 18N", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=18 +ellps=aust_SA +towgs84=-66.87,4.37,-");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 23S\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"SAD69 / UTM zone 18N\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        ",-45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "R[\"central_meridian\",-75],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
     add_srs_wkt (p, 13,
-        "PSG\",\"31983\"]]");
-    p = add_epsg_def (filter, first, last, 31984, "epsg", 31984,
-        "SIRGAS 2000 / UTM zone 24S");
+        ",AUTHORITY[\"EPSG\",\"29168\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29169, "epsg", 29169,
+        "SAD69 / UTM zone 19N", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=19 +ellps=aust_SA +towgs84=-66.87,4.37,-");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 24S\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"SAD69 / UTM zone 19N\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        ",-39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "R[\"central_meridian\",-69],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
     add_srs_wkt (p, 13,
-        "PSG\",\"31984\"]]");
-    p = add_epsg_def (filter, first, last, 31985, "epsg", 31985,
-        "SIRGAS 2000 / UTM zone 25S");
+        ",AUTHORITY[\"EPSG\",\"29169\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29170, "epsg", 29170,
+        "SAD69 / UTM zone 20N", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=20 +ellps=aust_SA +towgs84=-66.87,4.37,-");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 2000 / UTM zone 25S\",GEOGCS[\"SIRGAS 20");
+        "PROJCS[\"SAD69 / UTM zone 20N\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\"4674\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        ",-33],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "R[\"central_meridian\",-63],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
     add_srs_wkt (p, 13,
-        "PSG\",\"31985\"]]");
-    p = add_epsg_def (filter, first, last, 31986, "epsg", 31986,
-        "SIRGAS 1995 / UTM zone 17N");
+        ",AUTHORITY[\"EPSG\",\"29170\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29171, "epsg", 29171,
+        "SAD69 / UTM zone 21N", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=21 +ellps=aust_SA +towgs84=-66.87,4.37,-");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 17N\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 21N\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "an\",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "R[\"central_meridian\",-57],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
     add_srs_wkt (p, 13,
-        ",\"31986\"]]");
-    p = add_epsg_def (filter, first, last, 31987, "epsg", 31987,
-        "SIRGAS 1995 / UTM zone 18N");
+        ",AUTHORITY[\"EPSG\",\"29171\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29172, "epsg", 29172,
+        "SAD69 / UTM zone 22N", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=22 +ellps=aust_SA +towgs84=-66.87,4.37,-");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 18N\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 22N\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "an\",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "R[\"central_meridian\",-51],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
     add_srs_wkt (p, 13,
-        ",\"31987\"]]");
-    p = add_epsg_def (filter, first, last, 31988, "epsg", 31988,
-        "SIRGAS 1995 / UTM zone 19N");
+        ",AUTHORITY[\"EPSG\",\"29172\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29177, "epsg", 29177,
+        "SAD69 / UTM zone 17S (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=17 +south +ellps=GRS67 +towgs84=-57,1,-4");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "1,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 19N\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 17S (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "an\",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "ER[\"central_meridian\",-81],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        ",\"31988\"]]");
-    p = add_epsg_def (filter, first, last, 31989, "epsg", 31989,
-        "SIRGAS 1995 / UTM zone 20N");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29177\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29178, "epsg", 29178,
+        "SAD69 / UTM zone 18S (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=18 +south +ellps=GRS67 +towgs84=-57,1,-4");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "1,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 20N\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 18S (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "an\",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "ER[\"central_meridian\",-75],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        ",\"31989\"]]");
-    p = add_epsg_def (filter, first, last, 31990, "epsg", 31990,
-        "SIRGAS 1995 / UTM zone 21N");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29178\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29179, "epsg", 29179,
+        "SAD69 / UTM zone 19S (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=19 +south +ellps=GRS67 +towgs84=-57,1,-4");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "1,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 21N\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 19S (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "an\",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "ER[\"central_meridian\",-69],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        ",\"31990\"]]");
-    p = add_epsg_def (filter, first, last, 31991, "epsg", 31991,
-        "SIRGAS 1995 / UTM zone 22N");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29179\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29180, "epsg", 29180,
+        "SAD69 / UTM zone 20S (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
+        "+proj=utm +zone=20 +south +ellps=GRS67 +towgs84=-57,1,-4");
     add_proj4text (p, 1,
-        "units=m +no_defs");
+        "1,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 22N\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 20S (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "an\",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "ER[\"central_meridian\",-63],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        ",\"31991\"]]");
-    p = add_epsg_def (filter, first, last, 31992, "epsg", 31992,
-        "SIRGAS 1995 / UTM zone 17S");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29180\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29181, "epsg", 29181,
+        "SAD69 / UTM zone 21S (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=21 +south +ellps=GRS67 +towgs84=-57,1,-4");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "1,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 17S\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 21S (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "an\",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "ER[\"central_meridian\",-57],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"31992\"]]");
-    p = add_epsg_def (filter, first, last, 31993, "epsg", 31993,
-        "SIRGAS 1995 / UTM zone 18S");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29181\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29182, "epsg", 29182,
+        "SAD69 / UTM zone 22S (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=22 +south +ellps=GRS67 +towgs84=-57,1,-4");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "1,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 18S\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 22S (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "an\",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "ER[\"central_meridian\",-51],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"31993\"]]");
-    p = add_epsg_def (filter, first, last, 31994, "epsg", 31994,
-        "SIRGAS 1995 / UTM zone 19S");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29182\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29183, "epsg", 29183,
+        "SAD69 / UTM zone 23S (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=23 +south +ellps=GRS67 +towgs84=-57,1,-4");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "1,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 19S\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 23S (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "an\",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "ER[\"central_meridian\",-45],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"31994\"]]");
-    p = add_epsg_def (filter, first, last, 31995, "epsg", 31995,
-        "SIRGAS 1995 / UTM zone 20S");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29183\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29184, "epsg", 29184,
+        "SAD69 / UTM zone 24S (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=24 +south +ellps=GRS67 +towgs84=-57,1,-4");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "1,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 20S\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 24S (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "an\",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "ER[\"central_meridian\",-39],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"31995\"]]");
-    p = add_epsg_def (filter, first, last, 31996, "epsg", 31996,
-        "SIRGAS 1995 / UTM zone 21S");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29184\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29185, "epsg", 29185,
+        "SAD69 / UTM zone 25S (deprecated)", 0, 0,
+        "GRS 1967", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=25 +south +ellps=GRS67 +towgs84=-57,1,-4");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        "1,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 21S\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 25S (deprecated)\",GEOGCS[\"SA");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "D69\",DATUM[\"South_American_Datum_1969\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        " 1967\",6378160,298.247167427,AUTHORITY[\"EPSG\",\"7036\"");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "]],TOWGS84[-57,1,-41,0,0,0,0],AUTHORITY[\"EPSG\",\"6291\"");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "9108\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "T],AUTHORITY[\"EPSG\",\"4291\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 9,
-        "an\",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "ER[\"central_meridian\",-33],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"31996\"]]");
-    p = add_epsg_def (filter, first, last, 31997, "epsg", 31997,
-        "SIRGAS 1995 / UTM zone 22S");
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29185\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29187, "epsg", 29187,
+        "SAD69 / UTM zone 17S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=17 +south +ellps=aust_SA +towgs84=-66.87");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",4.37,-38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 22S\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 17S\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "an\",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "R[\"central_meridian\",-81],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"31997\"]]");
-    p = add_epsg_def (filter, first, last, 31998, "epsg", 31998,
-        "SIRGAS 1995 / UTM zone 23S");
+        ",NORTH],AUTHORITY[\"EPSG\",\"29187\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29188, "epsg", 29188,
+        "SAD69 / UTM zone 18S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=18 +south +ellps=aust_SA +towgs84=-66.87");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",4.37,-38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 23S\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 18S\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "an\",-45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "R[\"central_meridian\",-75],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"31998\"]]");
-    p = add_epsg_def (filter, first, last, 31999, "epsg", 31999,
-        "SIRGAS 1995 / UTM zone 24S");
+        ",NORTH],AUTHORITY[\"EPSG\",\"29188\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29189, "epsg", 29189,
+        "SAD69 / UTM zone 19S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=19 +south +ellps=aust_SA +towgs84=-66.87");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",4.37,-38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 24S\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 19S\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "an\",-39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "R[\"central_meridian\",-69],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"31999\"]]");
-    p = add_epsg_def (filter, first, last, 32000, "epsg", 32000,
-        "SIRGAS 1995 / UTM zone 25S");
+        ",NORTH],AUTHORITY[\"EPSG\",\"29189\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29190, "epsg", 29190,
+        "SAD69 / UTM zone 20S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,");
+        "+proj=utm +zone=20 +south +ellps=aust_SA +towgs84=-66.87");
     add_proj4text (p, 1,
-        "0,0,0 +units=m +no_defs");
+        ",4.37,-38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"SIRGAS 1995 / UTM zone 25S\",GEOGCS[\"SIRGAS 19");
+        "PROJCS[\"SAD69 / UTM zone 20S\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "\",\"4170\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "an\",-33],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"");
+        "R[\"central_meridian\",-63],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "false_easting\",500000],PARAMETER[\"false_northing\",100");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "00000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "\"EPSG\",\"32000\"]]");
-    p = add_epsg_def (filter, first, last, 32001, "epsg", 32001,
-        "NAD27 / Montana North");
+        ",NORTH],AUTHORITY[\"EPSG\",\"29190\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29191, "epsg", 29191,
+        "SAD69 / UTM zone 21S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.71666666666667 +lat_2=47.85 +lat_0=4");
+        "+proj=utm +zone=21 +south +ellps=aust_SA +towgs84=-66.87");
     add_proj4text (p, 1,
-        "7 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD");
-    add_proj4text (p, 2,
-        "27 +units=us-ft +no_defs");
+        ",4.37,-38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Montana North\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"SAD69 / UTM zone 21S\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"standard_parallel_1\",48.71666666666667],PARA");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_2\",47.85],PARAMETER[\"latitud");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "e_of_origin\",47],PARAMETER[\"central_meridian\",-109.5]");
+        "R[\"central_meridian\",-57],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_easting\",2000000],PARAMETER[\"false_");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32001\"]]");
-    p = add_epsg_def (filter, first, last, 32002, "epsg", 32002,
-        "NAD27 / Montana Central");
+        ",NORTH],AUTHORITY[\"EPSG\",\"29191\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29192, "epsg", 29192,
+        "SAD69 / UTM zone 22S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.88333333333333 +lat_2=46.45 +lat_0=4");
+        "+proj=utm +zone=22 +south +ellps=aust_SA +towgs84=-66.87");
     add_proj4text (p, 1,
-        "5.83333333333334 +lon_0=-109.5 +x_0=609601.2192024384 +y");
-    add_proj4text (p, 2,
-        "_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        ",4.37,-38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Montana Central\",GEOGCS[\"NAD27\",DATU");
+        "PROJCS[\"SAD69 / UTM zone 22S\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",47.88333333333333],PAR");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",46.45],PARAMETER[\"latitu");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "de_of_origin\",45.83333333333334],PARAMETER[\"central_me");
+        "R[\"central_meridian\",-51],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ridian\",-109.5],PARAMETER[\"false_easting\",2000000],PA");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32002\"]]");
-    p = add_epsg_def (filter, first, last, 32003, "epsg", 32003,
-        "NAD27 / Montana South");
+        ",NORTH],AUTHORITY[\"EPSG\",\"29192\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29193, "epsg", 29193,
+        "SAD69 / UTM zone 23S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46.4 +lat_2=44.86666666666667 +lat_0=44");
+        "+proj=utm +zone=23 +south +ellps=aust_SA +towgs84=-66.87");
     add_proj4text (p, 1,
-        " +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD2");
-    add_proj4text (p, 2,
-        "7 +units=us-ft +no_defs");
+        ",4.37,-38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Montana South\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"SAD69 / UTM zone 23S\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"standard_parallel_1\",46.4],PARAMETER[\"stand");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "ard_parallel_2\",44.86666666666667],PARAMETER[\"latitude");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "_of_origin\",44],PARAMETER[\"central_meridian\",-109.5],");
+        "R[\"central_meridian\",-45],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_easting\",2000000],PARAMETER[\"false_n");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32003\"]]");
-    p = add_epsg_def (filter, first, last, 32005, "epsg", 32005,
-        "NAD27 / Nebraska North");
+        ",NORTH],AUTHORITY[\"EPSG\",\"29193\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29194, "epsg", 29194,
+        "SAD69 / UTM zone 24S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.85 +lat_2=42.81666666666667 +lat_0=4");
+        "+proj=utm +zone=24 +south +ellps=aust_SA +towgs84=-66.87");
     add_proj4text (p, 1,
-        "1.33333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0");
-    add_proj4text (p, 2,
-        "=0 +datum=NAD27 +units=us-ft +no_defs");
+        ",4.37,-38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Nebraska North\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"SAD69 / UTM zone 24S\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",41.85],PARAMETER[\"sta");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "ndard_parallel_2\",42.81666666666667],PARAMETER[\"latitu");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "de_of_origin\",41.33333333333334],PARAMETER[\"central_me");
+        "R[\"central_meridian\",-39],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "ridian\",-100],PARAMETER[\"false_easting\",2000000],PARA");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32005\"]]");
-    p = add_epsg_def (filter, first, last, 32006, "epsg", 32006,
-        "NAD27 / Nebraska South");
+        ",NORTH],AUTHORITY[\"EPSG\",\"29194\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29195, "epsg", 29195,
+        "SAD69 / UTM zone 25S", 0, 0,
+        "GRS 1967 Modified", "Greenwich",
+        "South_American_Datum_1969", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.28333333333333 +lat_2=41.71666666666");
+        "+proj=utm +zone=25 +south +ellps=aust_SA +towgs84=-66.87");
     add_proj4text (p, 1,
-        "667 +lat_0=39.66666666666666 +lon_0=-99.5 +x_0=609601.21");
-    add_proj4text (p, 2,
-        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        ",4.37,-38.52,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Nebraska South\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"SAD69 / UTM zone 25S\",GEOGCS[\"SAD69\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "South_American_Datum_1969\",SPHEROID[\"GRS 1967 Modified");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "-66.87,4.37,-38.52,0,0,0,0],AUTHORITY[\"EPSG\",\"6618\"]");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",40.28333333333333],PAR");
+        "],AUTHORITY[\"EPSG\",\"4618\"]],PROJECTION[\"Transverse_");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",41.71666666666667],PARAME");
+        "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",39.66666666666666],PARAMETER[");
+        "R[\"central_meridian\",-33],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-99.5],PARAMETER[\"false_easting\",");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "2000000],PARAMETER[\"false_northing\",0],UNIT[\"US surve");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 14,
-        "\"32006\"]]");
-    p = add_epsg_def (filter, first, last, 32007, "epsg", 32007,
-        "NAD27 / Nevada East");
+        ",NORTH],AUTHORITY[\"EPSG\",\"29195\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29220, "epsg", 29220,
+        "Sapper Hill 1943 / UTM zone 20S", 0, 0,
+        "International 1924", "Greenwich",
+        "Sapper_Hill_1943", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
+        "+proj=utm +zone=20 +south +ellps=intl +towgs84=-355,21,7");
     add_proj4text (p, 1,
-        "9999 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
-    add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "2,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Nevada East\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Sapper Hill 1943 / UTM zone 20S\",GEOGCS[\"Sapp");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "er Hill 1943\",DATUM[\"Sapper_Hill_1943\",SPHEROID[\"Int");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "]],TOWGS84[-355,21,72,0,0,0,0],AUTHORITY[\"EPSG\",\"6292");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",34.75],PARAMETER[\"central_meridian");
+        "AST],AUTHORITY[\"EPSG\",\"4292\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "\",-115.5833333333333],PARAMETER[\"scale_factor\",0.9999");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "ETER[\"central_meridian\",-63],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32007\"]]");
-    p = add_epsg_def (filter, first, last, 32008, "epsg", 32008,
-        "NAD27 / Nevada Central");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29220\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29221, "epsg", 29221,
+        "Sapper Hill 1943 / UTM zone 21S", 0, 0,
+        "International 1924", "Greenwich",
+        "Sapper_Hill_1943", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
+        "+proj=utm +zone=21 +south +ellps=intl +towgs84=-355,21,7");
     add_proj4text (p, 1,
-        "9999 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
-    add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "2,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Nevada Central\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Sapper Hill 1943 / UTM zone 21S\",GEOGCS[\"Sapp");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "er Hill 1943\",DATUM[\"Sapper_Hill_1943\",SPHEROID[\"Int");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "ernational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "]],TOWGS84[-355,21,72,0,0,0,0],AUTHORITY[\"EPSG\",\"6292");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",34.75],PARAMETER[\"central_meri");
+        "AST],AUTHORITY[\"EPSG\",\"4292\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        "dian\",-116.6666666666667],PARAMETER[\"scale_factor\",0.");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "ETER[\"central_meridian\",-57],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32008\"]]");
-    p = add_epsg_def (filter, first, last, 32009, "epsg", 32009,
-        "NAD27 / Nevada West");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"29221\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29333, "epsg", 29333,
+        "Schwarzeck / UTM zone 33S", 0, 0,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Schwarzeck", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
+        "+proj=utm +zone=33 +south +ellps=bess_nam +towgs84=616,9");
     add_proj4text (p, 1,
-        "9999 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
-    add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "7,-251,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Nevada West\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Schwarzeck / UTM zone 33S\",GEOGCS[\"Schwarzeck");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "\",DATUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\"");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        ",6377483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "\"]],TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "293\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",34.75],PARAMETER[\"central_meridian");
+        ",EAST],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Transv");
     add_srs_wkt (p, 8,
-        "\",-118.5833333333333],PARAMETER[\"scale_factor\",0.9999");
+        "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR");
     add_srs_wkt (p, 9,
-        "],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_");
+        "AMETER[\"central_meridian\",15],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "northing\",0],UNIT[\"US survey foot\",0.3048006096012192");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        ",AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32009\"]]");
-    p = add_epsg_def (filter, first, last, 32010, "epsg", 32010,
-        "NAD27 / New Hampshire");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"29333\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29371, "epsg", 29371,
+        "Schwarzeck / Lo22/11", 0, 0,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Schwarzeck", "Transverse_Mercator_South_Orientated", "German legal metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
+        "+proj=tmerc +lat_0=-22 +lon_0=11 +k=1 +x_0=0 +y_0=0 +axi");
     add_proj4text (p, 1,
-        "99966667 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
+        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
     add_proj4text (p, 2,
-        "ts=us-ft +no_defs");
+        "eter=1.0000135965 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / New Hampshire\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"Schwarzeck / Lo22/11\",GEOGCS[\"Schwarzeck\",DA");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",42.5],PARAMETER[\"central_meridi");
+        "T],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "an\",-71.66666666666667],PARAMETER[\"scale_factor\",0.99");
+        "_Mercator_South_Orientated\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "9966667],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "igin\",-22],PARAMETER[\"central_meridian\",11],PARAMETER");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "METER[\"false_northing\",0],UNIT[\"German legal metre\",");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32010\"]]");
-    p = add_epsg_def (filter, first, last, 32011, "epsg", 32011,
-        "NAD27 / New Jersey");
+        "1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"Y\",WE");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29371\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29373, "epsg", 29373,
+        "Schwarzeck / Lo22/13", 0, 0,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Schwarzeck", "Transverse_Mercator_South_Orientated", "German legal metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.66666666");
+        "+proj=tmerc +lat_0=-22 +lon_0=13 +k=1 +x_0=0 +y_0=0 +axi");
     add_proj4text (p, 1,
-        "666667 +k=0.9999749999999999 +x_0=609601.2192024384 +y_0");
+        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
     add_proj4text (p, 2,
-        "=0 +datum=NAD27 +units=us-ft +no_defs");
+        "eter=1.0000135965 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / New Jersey\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"Schwarzeck / Lo22/13\",GEOGCS[\"Schwarzeck\",DA");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",38.83333333333334],PARAMETER[\"cent");
+        "T],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-74.66666666666667],PARAMETER[\"scale_fac");
+        "_Mercator_South_Orientated\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "tor\",0.999975],PARAMETER[\"false_easting\",2000000],PAR");
+        "igin\",-22],PARAMETER[\"central_meridian\",13],PARAMETER");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.3");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "METER[\"false_northing\",0],UNIT[\"German legal metre\",");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32011\"]]");
-    p = add_epsg_def (filter, first, last, 32012, "epsg", 32012,
-        "NAD27 / New Mexico East");
+        "1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"Y\",WE");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29373\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29375, "epsg", 29375,
+        "Schwarzeck / Lo22/15", 0, 0,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Schwarzeck", "Transverse_Mercator_South_Orientated", "German legal metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
+        "+proj=tmerc +lat_0=-22 +lon_0=15 +k=1 +x_0=0 +y_0=0 +axi");
     add_proj4text (p, 1,
-        "909091 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
+        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
     add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        "eter=1.0000135965 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / New Mexico East\",GEOGCS[\"NAD27\",DATU");
+        "PROJCS[\"Schwarzeck / Lo22/15\",GEOGCS[\"Schwarzeck\",DA");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",31],PARAMETER[\"central_meridia");
+        "T],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "n\",-104.3333333333333],PARAMETER[\"scale_factor\",0.999");
+        "_Mercator_South_Orientated\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "909091],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "igin\",-22],PARAMETER[\"central_meridian\",15],PARAMETER");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "METER[\"false_northing\",0],UNIT[\"German legal metre\",");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32012\"]]");
-    p = add_epsg_def (filter, first, last, 32013, "epsg", 32013,
-        "NAD27 / New Mexico Central");
+        "1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"Y\",WE");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29375\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29377, "epsg", 29377,
+        "Schwarzeck / Lo22/17", 0, 0,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Schwarzeck", "Transverse_Mercator_South_Orientated", "German legal metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=1524");
+        "+proj=tmerc +lat_0=-22 +lon_0=17 +k=1 +x_0=0 +y_0=0 +axi");
     add_proj4text (p, 1,
-        "00.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
+    add_proj4text (p, 2,
+        "eter=1.0000135965 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / New Mexico Central\",GEOGCS[\"NAD27\",D");
+        "PROJCS[\"Schwarzeck / Lo22/17\",GEOGCS[\"Schwarzeck\",DA");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
+        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
     add_srs_wkt (p, 3,
-        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "METER[\"latitude_of_origin\",31],PARAMETER[\"central_mer");
+        "T],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "idian\",-106.25],PARAMETER[\"scale_factor\",0.9999],PARA");
+        "_Mercator_South_Orientated\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
+        "igin\",-22],PARAMETER[\"central_meridian\",17],PARAMETER");
     add_srs_wkt (p, 10,
-        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "METER[\"false_northing\",0],UNIT[\"German legal metre\",");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"32013\"]]");
-    p = add_epsg_def (filter, first, last, 32014, "epsg", 32014,
-        "NAD27 / New Mexico West");
+        "1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"Y\",WE");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29377\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29379, "epsg", 29379,
+        "Schwarzeck / Lo22/19", 0, 0,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Schwarzeck", "Transverse_Mercator_South_Orientated", "German legal metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
+        "+proj=tmerc +lat_0=-22 +lon_0=19 +k=1 +x_0=0 +y_0=0 +axi");
     add_proj4text (p, 1,
-        "916667 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
+        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
     add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        "eter=1.0000135965 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / New Mexico West\",GEOGCS[\"NAD27\",DATU");
+        "PROJCS[\"Schwarzeck / Lo22/19\",GEOGCS[\"Schwarzeck\",DA");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",31],PARAMETER[\"central_meridia");
+        "T],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "n\",-107.8333333333333],PARAMETER[\"scale_factor\",0.999");
+        "_Mercator_South_Orientated\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "916667],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "igin\",-22],PARAMETER[\"central_meridian\",19],PARAMETER");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "METER[\"false_northing\",0],UNIT[\"German legal metre\",");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32014\"]]");
-    p = add_epsg_def (filter, first, last, 32015, "epsg", 32015,
-        "NAD27 / New York East");
+        "1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"Y\",WE");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29379\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29381, "epsg", 29381,
+        "Schwarzeck / Lo22/21", 0, 0,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Schwarzeck", "Transverse_Mercator_South_Orientated", "German legal metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=-74.33333333333333 +k=0.999");
+        "+proj=tmerc +lat_0=-22 +lon_0=21 +k=1 +x_0=0 +y_0=0 +axi");
     add_proj4text (p, 1,
-        "966667 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
+        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
     add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        "eter=1.0000135965 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / New York East\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"Schwarzeck / Lo22/21\",GEOGCS[\"Schwarzeck\",DA");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",40],PARAMETER[\"central_meridian");
+        "T],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "\",-74.33333333333333],PARAMETER[\"scale_factor\",0.9999");
+        "_Mercator_South_Orientated\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "66667],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+        "igin\",-22],PARAMETER[\"central_meridian\",21],PARAMETER");
     add_srs_wkt (p, 10,
-        "alse_northing\",0],UNIT[\"US survey foot\",0.30480060960");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "12192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXI");
+        "METER[\"false_northing\",0],UNIT[\"German legal metre\",");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32015\"]]");
-    p = add_epsg_def (filter, first, last, 32016, "epsg", 32016,
-        "NAD27 / New York Central");
+        "1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"Y\",WE");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29381\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29383, "epsg", 29383,
+        "Schwarzeck / Lo22/23", 0, 0,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Schwarzeck", "Transverse_Mercator_South_Orientated", "German legal metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
+        "+proj=tmerc +lat_0=-22 +lon_0=23 +k=1 +x_0=0 +y_0=0 +axi");
     add_proj4text (p, 1,
-        "9375 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
+        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "eter=1.0000135965 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / New York Central\",GEOGCS[\"NAD27\",DAT");
+        "PROJCS[\"Schwarzeck / Lo22/23\",GEOGCS[\"Schwarzeck\",DA");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",40],PARAMETER[\"central_meridia");
+        "T],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "n\",-76.58333333333333],PARAMETER[\"scale_factor\",0.999");
+        "_Mercator_South_Orientated\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "9375],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
+        "igin\",-22],PARAMETER[\"central_meridian\",23],PARAMETER");
     add_srs_wkt (p, 10,
-        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+        "METER[\"false_northing\",0],UNIT[\"German legal metre\",");
     add_srs_wkt (p, 12,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32016\"]]");
-    p = add_epsg_def (filter, first, last, 32017, "epsg", 32017,
-        "NAD27 / New York West");
+        "1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"Y\",WE");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29383\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29385, "epsg", 29385,
+        "Schwarzeck / Lo22/25", 0, 0,
+        "Bessel Namibia (GLM)", "Greenwich",
+        "Schwarzeck", "Transverse_Mercator_South_Orientated", "German legal metre",
+        "Y", "West", "X", "South");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
+        "+proj=tmerc +lat_0=-22 +lon_0=25 +k=1 +x_0=0 +y_0=0 +axi");
     add_proj4text (p, 1,
-        "9375 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
+        "s=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_m");
     add_proj4text (p, 2,
-        "s-ft +no_defs");
+        "eter=1.0000135965 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / New York West\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"Schwarzeck / Lo22/25\",GEOGCS[\"Schwarzeck\",DA");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "TUM[\"Schwarzeck\",SPHEROID[\"Bessel Namibia (GLM)\",637");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "7483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",TOWGS84[616,97,-251,0,0,0,0],AUTHORITY[\"EPSG\",\"6293\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",40],PARAMETER[\"central_meridian");
+        "T],AUTHORITY[\"EPSG\",\"4293\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 8,
-        "\",-78.58333333333333],PARAMETER[\"scale_factor\",0.9999");
+        "_Mercator_South_Orientated\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "375],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "igin\",-22],PARAMETER[\"central_meridian\",25],PARAMETER");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PARA");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "METER[\"false_northing\",0],UNIT[\"German legal metre\",");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32017\"]]");
-    p = add_epsg_def (filter, first, last, 32018, "epsg", 32018,
-        "NAD27 / New York Long Island (deprecated)");
+        "1.0000135965,AUTHORITY[\"EPSG\",\"9031\"]],AXIS[\"Y\",WE");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"X\",SOUTH],AUTHORITY[\"EPSG\",\"29385\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29635, "epsg", 29635,
+        "Sudan / UTM zone 35N (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Sudan", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
+        "+proj=utm +zone=35 +a=6378249.2 +b=6356515 +units=m +no_");
     add_proj4text (p, 1,
-        "666 +lat_0=40.5 +lon_0=-74 +x_0=304800.6096012192 +y_0=0");
-    add_proj4text (p, 2,
-        " +datum=NAD27 +units=us-ft +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / New York Long Island (deprecated)\",GEO");
+        "PROJCS[\"Sudan / UTM zone 35N (deprecated)\",GEOGCS[\"Su");
     add_srs_wkt (p, 1,
-        "GCS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHERO");
+        "dan\",DATUM[\"Sudan\",SPHEROID[\"Clarke 1880 (IGN)\",637");
     add_srs_wkt (p, 2,
-        "ID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY");
+        "8249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],A");
     add_srs_wkt (p, 3,
-        "[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIME");
+        "UTHORITY[\"EPSG\",\"6296\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
+        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        ",AUTHORITY[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conf");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4296\"");
     add_srs_wkt (p, 7,
-        "ormal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "03333333333333],PARAMETER[\"standard_parallel_2\",40.666");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",27],PA");
     add_srs_wkt (p, 9,
-        "66666666666],PARAMETER[\"latitude_of_origin\",40.5],PARA");
+        "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-74],PARAMETER[\"false_eastin");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "g\",1000000],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 12,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29635\"");
     add_srs_wkt (p, 13,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
-    add_srs_wkt (p, 14,
-        "G\",\"32018\"]]");
-    p = add_epsg_def (filter, first, last, 32019, "epsg", 32019,
-        "NAD27 / North Carolina");
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 29636, "epsg", 29636,
+        "Sudan / UTM zone 36N (deprecated)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Sudan", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666");
+        "+proj=utm +zone=36 +a=6378249.2 +b=6356515 +units=m +no_");
     add_proj4text (p, 1,
-        "666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=");
-    add_proj4text (p, 2,
-        "0 +datum=NAD27 +units=us-ft +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / North Carolina\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Sudan / UTM zone 36N (deprecated)\",GEOGCS[\"Su");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "dan\",DATUM[\"Sudan\",SPHEROID[\"Clarke 1880 (IGN)\",637");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "8249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],A");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "UTHORITY[\"EPSG\",\"6296\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "9433,AUTHORITY[\"EPSG\",\"9108\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4296\"");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",34.33333333333334],PAR");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",36.16666666666666],PARAME");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",33],PA");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",33.75],PARAMETER[\"central_me");
+        "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "ridian\",-79],PARAMETER[\"false_easting\",2000000],PARAM");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 12,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29636\"");
     add_srs_wkt (p, 13,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32019\"]]");
-    p = add_epsg_def (filter, first, last, 32020, "epsg", 32020,
-        "NAD27 / North Dakota North");
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 29700, "epsg", 29700,
+        "Tananarive (Paris) / Laborde Grid (deprecated)", 0, 0,
+        "International 1924", "Paris",
+        "Tananarive_1925_Paris", "Hotine_Oblique_Mercator_Azimuth_Center", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333");
+        "+proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=");
     add_proj4text (p, 1,
-        "333 +lat_0=47 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=");
+        "18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +gamm");
     add_proj4text (p, 2,
-        "0 +datum=NAD27 +units=us-ft +no_defs");
+        "a=18.9 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=pa");
+    add_proj4text (p, 3,
+        "ris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / North Dakota North\",GEOGCS[\"NAD27\",D");
+        "PROJCS[\"Tananarive (Paris) / Laborde Grid (deprecated)\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
+        ",GEOGCS[\"Tananarive (Paris)\",DATUM[\"Tananarive_1925_P");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "aris\",SPHEROID[\"International 1924\",6378388,297,AUTHO");
     add_srs_wkt (p, 3,
-        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "RITY[\"EPSG\",\"7022\"]],TOWGS84[-189,-242,-91,0,0,0,0],");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "AUTHORITY[\"EPSG\",\"6810\"]],PRIMEM[\"Paris\",2.3372291");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "7,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.01570796");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",47.43333333333333]");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"48");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",48.73333333333333],PA");
+        "10\"]],PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Cent");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",47],PARAMETER[\"central_m");
+        "er\"],PARAMETER[\"latitude_of_center\",-21],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "eridian\",-100.5],PARAMETER[\"false_easting\",2000000],P");
+        "longitude_of_center\",49],PARAMETER[\"azimuth\",21],PARA");
     add_srs_wkt (p, 11,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "METER[\"rectified_grid_angle\",21],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 12,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        "tor\",0.9995],PARAMETER[\"false_easting\",400000],PARAME");
     add_srs_wkt (p, 13,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32020\"]");
+        "TER[\"false_northing\",800000],UNIT[\"metre\",1,AUTHORIT");
     add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 32021, "epsg", 32021,
-        "NAD27 / North Dakota South");
-    add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333");
-    add_proj4text (p, 1,
-        "333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=609601.2");
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 15,
+        ",AUTHORITY[\"EPSG\",\"29700\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29702, "epsg", 29702,
+        "Tananarive (Paris) / Laborde Grid approximation", 0, 1,
+        "International 1924", "Paris",
+        "Tananarive_1925_Paris", "Hotine_Oblique_Mercator_Azimuth_Center", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=");
+    add_proj4text (p, 1,
+        "18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +gamm");
     add_proj4text (p, 2,
-        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "a=18.9 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=pa");
+    add_proj4text (p, 3,
+        "ris +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / North Dakota South\",GEOGCS[\"NAD27\",D");
+        "PROJCS[\"Tananarive (Paris) / Laborde Grid approximation");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
+        "\",GEOGCS[\"Tananarive (Paris)\",DATUM[\"Tananarive_1925");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "_Paris\",SPHEROID[\"International 1924\",6378388,297,AUT");
     add_srs_wkt (p, 3,
-        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "HORITY[\"EPSG\",\"7022\"]],TOWGS84[-189,-242,-91,0,0,0,0");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "],AUTHORITY[\"EPSG\",\"6810\"]],PRIMEM[\"Paris\",2.33722");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.015707");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "96326794897,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",46.18333333333333]");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",47.48333333333333],PA");
+        "4810\"]],PROJECTION[\"Hotine_Oblique_Mercator_Azimuth_Ce");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",45.66666666666666],PARAME");
+        "nter\"],PARAMETER[\"latitude_of_center\",-21],PARAMETER[");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-100.5],PARAMETER[\"false_easti");
+        "\"longitude_of_center\",49],PARAMETER[\"azimuth\",21],PA");
     add_srs_wkt (p, 11,
-        "ng\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US ");
+        "RAMETER[\"rectified_grid_angle\",21],PARAMETER[\"scale_f");
     add_srs_wkt (p, 12,
-        "survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"90");
+        "actor\",0.9995],PARAMETER[\"false_easting\",400000],PARA");
     add_srs_wkt (p, 13,
-        "03\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+        "METER[\"false_northing\",800000],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 14,
-        "SG\",\"32021\"]]");
-    p = add_epsg_def (filter, first, last, 32022, "epsg", 32022,
-        "NAD27 / Ohio North");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
+    add_srs_wkt (p, 15,
+        "T],AUTHORITY[\"EPSG\",\"29702\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29738, "epsg", 29738,
+        "Tananarive / UTM zone 38S", 0, 0,
+        "International 1924", "Greenwich",
+        "Tananarive_1925", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39");
+        "+proj=utm +zone=38 +south +ellps=intl +towgs84=-189,-242");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-82.5 +x_0=609601.2192024384 +y_0");
-    add_proj4text (p, 2,
-        "=0 +datum=NAD27 +units=us-ft +no_defs");
+        ",-91,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Ohio North\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"Tananarive / UTM zone 38S\",GEOGCS[\"Tananarive");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "\",DATUM[\"Tananarive_1925\",SPHEROID[\"International 19");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "189,-242,-91,0,0,0,0],AUTHORITY[\"EPSG\",\"6297\"]],PRIM");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "METER[\"standard_parallel_1\",40.43333333333333],PARAMET");
+        "ORITY[\"EPSG\",\"4297\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",41.7],PARAMETER[\"latitude_of");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "_origin\",39.66666666666666],PARAMETER[\"central_meridia");
+        "ntral_meridian\",45],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        "n\",-82.5],PARAMETER[\"false_easting\",2000000],PARAMETE");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
     add_srs_wkt (p, 13,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32022\"]]");
-    p = add_epsg_def (filter, first, last, 32023, "epsg", 32023,
-        "NAD27 / Ohio South");
+        ",AUTHORITY[\"EPSG\",\"29738\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29739, "epsg", 29739,
+        "Tananarive / UTM zone 39S", 0, 0,
+        "International 1924", "Greenwich",
+        "Tananarive_1925", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333");
+        "+proj=utm +zone=39 +south +ellps=intl +towgs84=-189,-242");
     add_proj4text (p, 1,
-        "333 +lat_0=38 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0");
-    add_proj4text (p, 2,
-        " +datum=NAD27 +units=us-ft +no_defs");
+        ",-91,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Ohio South\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"Tananarive / UTM zone 39S\",GEOGCS[\"Tananarive");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "\",DATUM[\"Tananarive_1925\",SPHEROID[\"International 19");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "189,-242,-91,0,0,0,0],AUTHORITY[\"EPSG\",\"6297\"]],PRIM");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "METER[\"standard_parallel_1\",38.73333333333333],PARAMET");
+        "ORITY[\"EPSG\",\"4297\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",40.03333333333333],PARAMETER[");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "\"latitude_of_origin\",38],PARAMETER[\"central_meridian\"");
+        "ntral_meridian\",51],PARAMETER[\"scale_factor\",0.9996],");
     add_srs_wkt (p, 10,
-        ",-82.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+        "rthing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
     add_srs_wkt (p, 13,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32023\"]]");
-    p = add_epsg_def (filter, first, last, 32024, "epsg", 32024,
-        "NAD27 / Oklahoma North");
+        ",AUTHORITY[\"EPSG\",\"29739\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29849, "epsg", 29849,
+        "Timbalai 1948 / UTM zone 49N", 0, 0,
+        "Everest 1830 (1967 Definition)", "Greenwich",
+        "Timbalai_1948", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666");
+        "+proj=utm +zone=49 +ellps=evrstSS +towgs84=-679,669,-48,");
     add_proj4text (p, 1,
-        "667 +lat_0=35 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +");
-    add_proj4text (p, 2,
-        "datum=NAD27 +units=us-ft +no_defs");
+        "0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Oklahoma North\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Timbalai 1948 / UTM zone 49N\",GEOGCS[\"Timbala");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "i 1948\",DATUM[\"Timbalai_1948\",SPHEROID[\"Everest 1830");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        " (1967 Definition)\",6377298.556,300.8017,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "SG\",\"7016\"]],TOWGS84[-679,669,-48,0,0,0,0],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "\"EPSG\",\"6298\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",35.56666666666667],PAR");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4298\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",36.76666666666667],PARAME");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",35],PARAMETER[\"central_merid");
+        "igin\",0],PARAMETER[\"central_meridian\",111],PARAMETER[");
     add_srs_wkt (p, 10,
-        "ian\",-98],PARAMETER[\"false_easting\",2000000],PARAMETE");
+        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
     add_srs_wkt (p, 13,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32024\"]]");
-    p = add_epsg_def (filter, first, last, 32025, "epsg", 32025,
-        "NAD27 / Oklahoma South");
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29849\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29850, "epsg", 29850,
+        "Timbalai 1948 / UTM zone 50N", 0, 0,
+        "Everest 1830 (1967 Definition)", "Greenwich",
+        "Timbalai_1948", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333");
+        "+proj=utm +zone=50 +ellps=evrstSS +towgs84=-679,669,-48,");
     add_proj4text (p, 1,
-        "333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=609601.2192");
-    add_proj4text (p, 2,
-        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Oklahoma South\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Timbalai 1948 / UTM zone 50N\",GEOGCS[\"Timbala");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "i 1948\",DATUM[\"Timbalai_1948\",SPHEROID[\"Everest 1830");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        " (1967 Definition)\",6377298.556,300.8017,AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "SG\",\"7016\"]],TOWGS84[-679,669,-48,0,0,0,0],AUTHORITY[");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "\"EPSG\",\"6298\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",33.93333333333333],PAR");
+        "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4298\"]],PROJEC");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",35.23333333333333],PARAME");
+        "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",33.33333333333334],PARAMETER[");
+        "igin\",0],PARAMETER[\"central_meridian\",117],PARAMETER[");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-98],PARAMETER[\"false_easting\",20");
+        "\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500");
     add_srs_wkt (p, 11,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
     add_srs_wkt (p, 12,
-        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 14,
-        "32025\"]]");
-    p = add_epsg_def (filter, first, last, 32026, "epsg", 32026,
-        "NAD27 / Oregon North");
+        "\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29850\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29871, "epsg", 29871,
+        "Timbalai 1948 / RSO Borneo (ch)", 0, 0,
+        "Everest 1830 (1967 Definition)", "Greenwich",
+        "Timbalai_1948", "Hotine_Oblique_Mercator_Azimuth_Center", "British chain (Sears 1922)",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.6");
+        "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 ");
     add_proj4text (p, 1,
-        "6666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=");
+        "+k=0.99984 +x_0=590476.8714630401 +y_0=442857.653094361 ");
     add_proj4text (p, 2,
-        "0 +datum=NAD27 +units=us-ft +no_defs");
+        "+gamma=53.13010236111111 +ellps=evrstSS +towgs84=-679,66");
+    add_proj4text (p, 3,
+        "9,-48,0,0,0,0 +to_meter=20.11676512155263 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Oregon North\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Timbalai 1948 / RSO Borneo (ch)\",GEOGCS[\"Timb");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "alai 1948\",DATUM[\"Timbalai_1948\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "830 (1967 Definition)\",6377298.556,300.8017,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "EPSG\",\"7016\"]],TOWGS84[-679,669,-48,0,0,0,0],AUTHORIT");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "Y[\"EPSG\",\"6298\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "AMETER[\"standard_parallel_1\",44.33333333333334],PARAME");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4298\"]],PROJE");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_2\",46],PARAMETER[\"latitude_of_");
+        "CTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"],PARAME");
     add_srs_wkt (p, 9,
-        "origin\",43.66666666666666],PARAMETER[\"central_meridian");
+        "TER[\"latitude_of_center\",4],PARAMETER[\"longitude_of_c");
     add_srs_wkt (p, 10,
-        "\",-120.5],PARAMETER[\"false_easting\",2000000],PARAMETE");
+        "enter\",115],PARAMETER[\"azimuth\",53.31582047222222],PA");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+        "RAMETER[\"rectified_grid_angle\",53.13010236111111],PARA");
     add_srs_wkt (p, 12,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+        "METER[\"scale_factor\",0.99984],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 13,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32026\"]]");
-    p = add_epsg_def (filter, first, last, 32027, "epsg", 32027,
-        "NAD27 / Oregon South");
-    add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.6");
-    add_proj4text (p, 1,
-        "6666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=");
+        "g\",29352.4763],PARAMETER[\"false_northing\",22014.3572]");
+    add_srs_wkt (p, 14,
+        ",UNIT[\"British chain (Sears 1922)\",20.11676512155263,A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"9042\"]],AXIS[\"Easting\",EAST],AXIS");
+    add_srs_wkt (p, 16,
+        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29871\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29872, "epsg", 29872,
+        "Timbalai 1948 / RSO Borneo (ft)", 0, 0,
+        "Everest 1830 (1967 Definition)", "Greenwich",
+        "Timbalai_1948", "Hotine_Oblique_Mercator_Azimuth_Center", "British foot (Sears 1922)",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 ");
+    add_proj4text (p, 1,
+        "+k=0.99984 +x_0=590476.8727431979 +y_0=442857.6545573985");
     add_proj4text (p, 2,
-        "0 +datum=NAD27 +units=us-ft +no_defs");
+        " +gamma=53.13010236111111 +ellps=evrstSS +towgs84=-679,6");
+    add_proj4text (p, 3,
+        "69,-48,0,0,0,0 +to_meter=0.3047994715386762 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Oregon South\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Timbalai 1948 / RSO Borneo (ft)\",GEOGCS[\"Timb");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "alai 1948\",DATUM[\"Timbalai_1948\",SPHEROID[\"Everest 1");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "830 (1967 Definition)\",6377298.556,300.8017,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "EPSG\",\"7016\"]],TOWGS84[-679,669,-48,0,0,0,0],AUTHORIT");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "Y[\"EPSG\",\"6298\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "AMETER[\"standard_parallel_1\",42.33333333333334],PARAME");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4298\"]],PROJE");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_2\",44],PARAMETER[\"latitude_of_");
+        "CTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"],PARAME");
     add_srs_wkt (p, 9,
-        "origin\",41.66666666666666],PARAMETER[\"central_meridian");
+        "TER[\"latitude_of_center\",4],PARAMETER[\"longitude_of_c");
     add_srs_wkt (p, 10,
-        "\",-120.5],PARAMETER[\"false_easting\",2000000],PARAMETE");
+        "enter\",115],PARAMETER[\"azimuth\",53.31582047222222],PA");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+        "RAMETER[\"rectified_grid_angle\",53.13010236111111],PARA");
     add_srs_wkt (p, 12,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+        "METER[\"scale_factor\",0.99984],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 13,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32027\"]]");
-    p = add_epsg_def (filter, first, last, 32028, "epsg", 32028,
-        "NAD27 / Pennsylvania North");
-    add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=4");
-    add_proj4text (p, 1,
-        "0.16666666666666 +lon_0=-77.75 +x_0=609601.2192024384 +y");
+        "g\",1937263.44],PARAMETER[\"false_northing\",1452947.58]");
+    add_srs_wkt (p, 14,
+        ",UNIT[\"British foot (Sears 1922)\",0.3047994715386762,A");
+    add_srs_wkt (p, 15,
+        "UTHORITY[\"EPSG\",\"9041\"]],AXIS[\"Easting\",EAST],AXIS");
+    add_srs_wkt (p, 16,
+        "[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29872\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29873, "epsg", 29873,
+        "Timbalai 1948 / RSO Borneo (m)", 0, 0,
+        "Everest 1830 (1967 Definition)", "Greenwich",
+        "Timbalai_1948", "Hotine_Oblique_Mercator_Azimuth_Center", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 ");
+    add_proj4text (p, 1,
+        "+k=0.99984 +x_0=590476.87 +y_0=442857.65 +gamma=53.13010");
     add_proj4text (p, 2,
-        "_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "236111111 +ellps=evrstSS +towgs84=-679,669,-48,0,0,0,0 +");
+    add_proj4text (p, 3,
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Pennsylvania North\",GEOGCS[\"NAD27\",D");
+        "PROJCS[\"Timbalai 1948 / RSO Borneo (m)\",GEOGCS[\"Timba");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
+        "lai 1948\",DATUM[\"Timbalai_1948\",SPHEROID[\"Everest 18");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "30 (1967 Definition)\",6377298.556,300.8017,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "EPSG\",\"7016\"]],TOWGS84[-679,669,-48,0,0,0,0],AUTHORIT");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "Y[\"EPSG\",\"6298\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",40.88333333333333]");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4298\"]],PROJE");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",41.95],PARAMETER[\"la");
+        "CTION[\"Hotine_Oblique_Mercator_Azimuth_Center\"],PARAME");
     add_srs_wkt (p, 9,
-        "titude_of_origin\",40.16666666666666],PARAMETER[\"centra");
+        "TER[\"latitude_of_center\",4],PARAMETER[\"longitude_of_c");
     add_srs_wkt (p, 10,
-        "l_meridian\",-77.75],PARAMETER[\"false_easting\",2000000");
+        "enter\",115],PARAMETER[\"azimuth\",53.31582047222222],PA");
     add_srs_wkt (p, 11,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "RAMETER[\"rectified_grid_angle\",53.13010236111111],PARA");
     add_srs_wkt (p, 12,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "METER[\"scale_factor\",0.99984],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32028\"");
+        "g\",590476.87],PARAMETER[\"false_northing\",442857.65],U");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 32029, "epsg", 32029,
-        "NAD27 / Pennsylvania South (deprecated)");
-    add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.93333333333333 +lat_2=40.8 +lat_0=39");
-    add_proj4text (p, 1,
-        ".33333333333334 +lon_0=-77.75 +x_0=609601.2192024384 +y_");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 15,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 16,
+        ",\"29873\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29900, "epsg", 29900,
+        "TM65 / Irish National Grid (deprecated)", 0, 0,
+        "Airy Modified 1849", "Greenwich",
+        "TM65", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=20000");
+    add_proj4text (p, 1,
+        "0 +y_0=250000 +ellps=mod_airy +towgs84=482.5,-130.6,564.");
     add_proj4text (p, 2,
-        "0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "6,-1.042,-0.214,-0.631,8.15 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Pennsylvania South (deprecated)\",GEOGC");
+        "PROJCS[\"TM65 / Irish National Grid (deprecated)\",GEOGC");
     add_srs_wkt (p, 1,
-        "S[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID");
+        "S[\"TM65\",DATUM[\"TM65\",SPHEROID[\"Airy Modified 1849\"");
     add_srs_wkt (p, 2,
-        "[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"");
+        ",6377340.189,299.3249646,AUTHORITY[\"EPSG\",\"7002\"]],T");
     add_srs_wkt (p, 3,
-        "EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"");
+        "OWGS84[482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15],AUT");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "HORITY[\"EPSG\",\"6299\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conforma");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.9333");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4299\"]]");
     add_srs_wkt (p, 8,
-        "3333333333],PARAMETER[\"standard_parallel_2\",40.8],PARA");
+        ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "METER[\"latitude_of_origin\",39.33333333333334],PARAMETE");
+        "e_of_origin\",53.5],PARAMETER[\"central_meridian\",-8],P");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-77.75],PARAMETER[\"false_easting");
+        "ARAMETER[\"scale_factor\",1.000035],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US su");
+        "sting\",200000],PARAMETER[\"false_northing\",250000],UNI");
     add_srs_wkt (p, 12,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 14,
-        "\",\"32029\"]]");
-    p = add_epsg_def (filter, first, last, 32030, "epsg", 32030,
-        "NAD27 / Rhode Island");
+        "29900\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29901, "epsg", 29901,
+        "OSNI 1952 / Irish National Grid", 0, 0,
+        "Airy 1830", "Greenwich",
+        "OSNI_1952", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
+        "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1 +x_0=200000 +y_0=");
     add_proj4text (p, 1,
-        "999938 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
+        "250000 +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0");
     add_proj4text (p, 2,
-        "=us-ft +no_defs");
+        ".214,-0.631,8.15 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Rhode Island\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"OSNI 1952 / Irish National Grid\",GEOGCS[\"OSNI");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        " 1952\",DATUM[\"OSNI_1952\",SPHEROID[\"Airy 1830\",63775");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "63.396,299.3249646,AUTHORITY[\"EPSG\",\"7001\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "[482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15],AUTHORITY");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "[\"EPSG\",\"6188\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",41.08333333333334],PARAMETER[\"cent");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4188\"]],PROJE");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-71.5],PARAMETER[\"scale_factor\",0.99999");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 9,
-        "38],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
+        "rigin\",53.5],PARAMETER[\"central_meridian\",-8],PARAMET");
     add_srs_wkt (p, 10,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 11,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "0],PARAMETER[\"false_northing\",250000],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32030\"]]");
-    p = add_epsg_def (filter, first, last, 32031, "epsg", 32031,
-        "NAD27 / South Carolina North");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"29901\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29902, "epsg", 29902,
+        "TM65 / Irish Grid", 0, 0,
+        "Airy Modified 1849", "Greenwich",
+        "TM65", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.76666666666667 +lat_2=34.96666666666");
+        "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=20000");
     add_proj4text (p, 1,
-        "667 +lat_0=33 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +");
+        "0 +y_0=250000 +ellps=mod_airy +towgs84=482.5,-130.6,564.");
     add_proj4text (p, 2,
-        "datum=NAD27 +units=us-ft +no_defs");
+        "6,-1.042,-0.214,-0.631,8.15 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / South Carolina North\",GEOGCS[\"NAD27\"");
+        "PROJCS[\"TM65 / Irish Grid\",GEOGCS[\"TM65\",DATUM[\"TM6");
     add_srs_wkt (p, 1,
-        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
+        "5\",SPHEROID[\"Airy Modified 1849\",6377340.189,299.3249");
     add_srs_wkt (p, 2,
-        "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7");
+        "646,AUTHORITY[\"EPSG\",\"7002\"]],TOWGS84[482.5,-130.6,5");
     add_srs_wkt (p, 3,
-        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
+        "64.6,-1.042,-0.214,-0.631,8.15],AUTHORITY[\"EPSG\",\"629");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "9\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"standard_parallel_1\",33.7666666666666");
+        "EAST],AUTHORITY[\"EPSG\",\"4299\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "7],PARAMETER[\"standard_parallel_2\",34.96666666666667],");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",53.5],P");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",33],PARAMETER[\"central");
+        "ARAMETER[\"central_meridian\",-8],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "_meridian\",-81],PARAMETER[\"false_easting\",2000000],PA");
+        "or\",1.000035],PARAMETER[\"false_easting\",200000],PARAM");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
+        "ETER[\"false_northing\",250000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32031\"]]");
-    p = add_epsg_def (filter, first, last, 32033, "epsg", 32033,
-        "NAD27 / South Carolina South");
+        "thing\",NORTH],AUTHORITY[\"EPSG\",\"29902\"]]");
+    p = add_epsg_def_ex (filter, first, last, 29903, "epsg", 29903,
+        "TM75 / Irish Grid", 0, 0,
+        "Airy Modified 1849", "Greenwich",
+        "Geodetic_Datum_of_1965", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=32.33333333333334 +lat_2=33.66666666666");
+        "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=20000");
     add_proj4text (p, 1,
-        "666 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609601.2192");
+        "0 +y_0=250000 +ellps=mod_airy +towgs84=482.5,-130.6,564.");
     add_proj4text (p, 2,
-        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "6,-1.042,-0.214,-0.631,8.15 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / South Carolina South\",GEOGCS[\"NAD27\"");
+        "PROJCS[\"TM75 / Irish Grid\",GEOGCS[\"TM75\",DATUM[\"Geo");
     add_srs_wkt (p, 1,
-        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
+        "detic_Datum_of_1965\",SPHEROID[\"Airy Modified 1849\",63");
     add_srs_wkt (p, 2,
-        "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7");
+        "77340.189,299.3249646,AUTHORITY[\"EPSG\",\"7002\"]],TOWG");
     add_srs_wkt (p, 3,
-        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
+        "S84[482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15],AUTHOR");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "ITY[\"EPSG\",\"6300\"]],PRIMEM[\"Greenwich\",0,AUTHORITY");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"standard_parallel_1\",32.3333333333333");
+        "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4300\"]],PR");
     add_srs_wkt (p, 8,
-        "4],PARAMETER[\"standard_parallel_2\",33.66666666666666],");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",31.83333333333333],PARA");
+        "f_origin\",53.5],PARAMETER[\"central_meridian\",-8],PARA");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-81],PARAMETER[\"false_eastin");
+        "METER[\"scale_factor\",1.000035],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "g\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "ng\",200000],PARAMETER[\"false_northing\",250000],UNIT[\"");
     add_srs_wkt (p, 12,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 13,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"299");
     add_srs_wkt (p, 14,
-        "G\",\"32033\"]]");
-    p = add_epsg_def (filter, first, last, 32034, "epsg", 32034,
-        "NAD27 / South Dakota North");
+        "03\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30161, "epsg", 30161,
+        "Tokyo / Japan Plane Rectangular CS I", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333");
+        "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
-        "333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=609601.219");
+        "=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0");
     add_proj4text (p, 2,
-        "2024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / South Dakota North\",GEOGCS[\"NAD27\",D");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS I\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
+        "Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377397");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        ".155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"63");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "01\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",44.41666666666666]");
+        "EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",45.68333333333333],PA");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",33],PAR");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",43.83333333333334],PARAME");
+        "AMETER[\"central_meridian\",129.5],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-100],PARAMETER[\"false_easting");
+        "tor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US su");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "rvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003");
+        "\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[");
     add_srs_wkt (p, 13,
-        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
-    add_srs_wkt (p, 14,
-        "\",\"32034\"]]");
-    p = add_epsg_def (filter, first, last, 32035, "epsg", 32035,
-        "NAD27 / South Dakota South");
+        "\"EPSG\",\"30161\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30162, "epsg", 30162,
+        "Tokyo / Japan Plane Rectangular CS II", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42");
+        "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        ".33333333333334 +lon_0=-100.3333333333333 +x_0=609601.21");
+        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
     add_proj4text (p, 2,
-        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / South Dakota South\",GEOGCS[\"NAD27\",D");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS II\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
+        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",42.83333333333334]");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",44.4],PARAMETER[\"lat");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",33],");
     add_srs_wkt (p, 9,
-        "itude_of_origin\",42.33333333333334],PARAMETER[\"central");
+        "PARAMETER[\"central_meridian\",131],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "_meridian\",-100.3333333333333],PARAMETER[\"false_eastin");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[");
     add_srs_wkt (p, 11,
-        "g\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        ",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY");
     add_srs_wkt (p, 13,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
-    add_srs_wkt (p, 14,
-        "G\",\"32035\"]]");
-    p = add_epsg_def (filter, first, last, 32036, "epsg", 32036,
-        "NAD27 / Tennessee (deprecated)");
+        "[\"EPSG\",\"30162\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30163, "epsg", 30163,
+        "Tokyo / Japan Plane Rectangular CS III", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=3");
+        "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999");
     add_proj4text (p, 1,
-        "4.66666666666666 +lon_0=-86 +x_0=30480.06096012192 +y_0=");
+        " +x_0=0 +y_0=0 +ellps=bessel +towgs84=-146.414,507.337,6");
     add_proj4text (p, 2,
-        "0 +datum=NAD27 +units=us-ft +no_defs");
+        "80.507,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Tennessee (deprecated)\",GEOGCS[\"NAD27");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS III\",GEOGCS");
     add_srs_wkt (p, 1,
-        "\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke");
+        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
     add_srs_wkt (p, 2,
-        " 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"");
+        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwic");
+        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"standard_parallel_1\",35.25],PARAMETER");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "[\"standard_parallel_2\",36.41666666666666],PARAMETER[\"");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",36],");
     add_srs_wkt (p, 9,
-        "latitude_of_origin\",34.66666666666666],PARAMETER[\"cent");
+        "PARAMETER[\"central_meridian\",132.1666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "ral_meridian\",-86],PARAMETER[\"false_easting\",100000],");
+        "TER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",");
+        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32036\"");
-    add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 32037, "epsg", 32037,
-        "NAD27 / Texas North");
+        "EAST],AUTHORITY[\"EPSG\",\"30163\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30164, "epsg", 30164,
+        "Tokyo / Japan Plane Rectangular CS IV", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=3");
+        "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
-        "4 +lon_0=-101.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD");
+        "=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0");
     add_proj4text (p, 2,
-        "27 +units=us-ft +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Texas North\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS IV\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "AMETER[\"standard_parallel_1\",34.65],PARAMETER[\"standa");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "rd_parallel_2\",36.18333333333333],PARAMETER[\"latitude_");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",33],");
     add_srs_wkt (p, 9,
-        "of_origin\",34],PARAMETER[\"central_meridian\",-101.5],P");
+        "PARAMETER[\"central_meridian\",133.5],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_easting\",2000000],PARAMETER[\"false_no");
+        "factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETE");
     add_srs_wkt (p, 11,
-        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32037\"]]");
-    p = add_epsg_def (filter, first, last, 32038, "epsg", 32038,
-        "NAD27 / Texas North Central");
+        "ITY[\"EPSG\",\"30164\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30165, "epsg", 30165,
+        "Tokyo / Japan Plane Rectangular CS V", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666");
+        "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999");
     add_proj4text (p, 1,
-        "667 +lat_0=31.66666666666667 +lon_0=-97.5 +x_0=609601.21");
+        " +x_0=0 +y_0=0 +ellps=bessel +towgs84=-146.414,507.337,6");
     add_proj4text (p, 2,
-        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "80.507,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Texas North Central\",GEOGCS[\"NAD27\",");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS V\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
+        "Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377397");
     add_srs_wkt (p, 2,
-        "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70");
+        ".155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"63");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "01\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",32.13333333333333]");
+        "EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",33.96666666666667],PA");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",36],PAR");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",31.66666666666667],PARAME");
+        "AMETER[\"central_meridian\",134.3333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-97.5],PARAMETER[\"false_eastin");
+        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0]");
     add_srs_wkt (p, 11,
-        "g\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US s");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "urvey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"900");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
     add_srs_wkt (p, 13,
-        "3\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
-    add_srs_wkt (p, 14,
-        "G\",\"32038\"]]");
-    p = add_epsg_def (filter, first, last, 32039, "epsg", 32039,
-        "NAD27 / Texas Central");
+        "T],AUTHORITY[\"EPSG\",\"30165\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30166, "epsg", 30166,
+        "Tokyo / Japan Plane Rectangular CS VI", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333");
+        "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +");
+        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
     add_proj4text (p, 2,
-        "x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-ft +");
-    add_proj4text (p, 3,
-        "no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Texas Central\",GEOGCS[\"NAD27\",DATUM[");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS VI\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
+        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
     add_srs_wkt (p, 2,
-        "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]");
+        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
+        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],P");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"standard_parallel_1\",30.11666666666667],PARA");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_2\",31.88333333333333],PARAMET");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",36],");
     add_srs_wkt (p, 9,
-        "ER[\"latitude_of_origin\",29.66666666666667],PARAMETER[\"");
+        "PARAMETER[\"central_meridian\",136],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "central_meridian\",-100.3333333333333],PARAMETER[\"false");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[");
     add_srs_wkt (p, 11,
-        "_easting\",2000000],PARAMETER[\"false_northing\",0],UNIT");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+        ",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY");
     add_srs_wkt (p, 13,
-        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
-    add_srs_wkt (p, 14,
-        "[\"EPSG\",\"32039\"]]");
-    p = add_epsg_def (filter, first, last, 32040, "epsg", 32040,
-        "NAD27 / Texas South Central");
+        "[\"EPSG\",\"30166\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30167, "epsg", 30167,
+        "Tokyo / Japan Plane Rectangular CS VII", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333");
+        "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999");
     add_proj4text (p, 1,
-        "333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=609601.2192");
+        " +x_0=0 +y_0=0 +ellps=bessel +towgs84=-146.414,507.337,6");
     add_proj4text (p, 2,
-        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "80.507,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Texas South Central\",GEOGCS[\"NAD27\",");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS VII\",GEOGCS");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
+        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
     add_srs_wkt (p, 2,
-        "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70");
+        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",28.38333333333333]");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",30.28333333333333],PA");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",36],");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",27.83333333333333],PARAME");
+        "PARAMETER[\"central_meridian\",137.1666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-99],PARAMETER[\"false_easting\"");
+        "TER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        ",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 14,
-        ",\"32040\"]]");
-    p = add_epsg_def (filter, first, last, 32041, "epsg", 32041,
-        "NAD27 / Texas South");
+        "EAST],AUTHORITY[\"EPSG\",\"30167\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30168, "epsg", 30168,
+        "Tokyo / Japan Plane Rectangular CS VIII", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333");
+        "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
-        "333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=609601.21");
+        "=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0");
     add_proj4text (p, 2,
-        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Texas South\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS VIII\",GEOGC");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "S[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",637");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "7397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "84[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "\"6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "AMETER[\"standard_parallel_1\",26.16666666666667],PARAME");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_2\",27.83333333333333],PARAMETER");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",36");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",25.66666666666667],PARAMETER[\"c");
+        "],PARAMETER[\"central_meridian\",138.5],PARAMETER[\"scal");
     add_srs_wkt (p, 10,
-        "entral_meridian\",-98.5],PARAMETER[\"false_easting\",200");
+        "e_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAME");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+        "PSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTH");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
-    add_srs_wkt (p, 14,
-        "2041\"]]");
-    p = add_epsg_def (filter, first, last, 32042, "epsg", 32042,
-        "NAD27 / Utah North");
+        "ORITY[\"EPSG\",\"30168\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30169, "epsg", 30169,
+        "Tokyo / Japan Plane Rectangular CS IX", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333");
+        "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999");
     add_proj4text (p, 1,
-        "333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=609601.2");
+        " +x_0=0 +y_0=0 +ellps=bessel +towgs84=-146.414,507.337,6");
     add_proj4text (p, 2,
-        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "80.507,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Utah North\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS IX\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "METER[\"standard_parallel_1\",40.71666666666667],PARAMET");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",41.78333333333333],PARAMETER[");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",36],");
     add_srs_wkt (p, 9,
-        "\"latitude_of_origin\",40.33333333333334],PARAMETER[\"ce");
+        "PARAMETER[\"central_meridian\",139.8333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "ntral_meridian\",-111.5],PARAMETER[\"false_easting\",200");
+        "TER[\"scale_factor\",0.9999],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
+        ",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
-    add_srs_wkt (p, 14,
-        "2042\"]]");
-    p = add_epsg_def (filter, first, last, 32043, "epsg", 32043,
-        "NAD27 / Utah Central");
+        "EAST],AUTHORITY[\"EPSG\",\"30169\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30170, "epsg", 30170,
+        "Tokyo / Japan Plane Rectangular CS X", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=3");
+        "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999");
     add_proj4text (p, 1,
-        "8.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y");
+        " +x_0=0 +y_0=0 +ellps=bessel +towgs84=-146.414,507.337,6");
     add_proj4text (p, 2,
-        "_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "80.507,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Utah Central\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS X\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377397");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        ".155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[-");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"63");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "01\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 7,
-        "AMETER[\"standard_parallel_1\",39.01666666666667],PARAME");
+        "EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_2\",40.65],PARAMETER[\"latitude_");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",40],PAR");
     add_srs_wkt (p, 9,
-        "of_origin\",38.33333333333334],PARAMETER[\"central_merid");
+        "AMETER[\"central_meridian\",140.8333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "ian\",-111.5],PARAMETER[\"false_easting\",2000000],PARAM");
+        "[\"scale_factor\",0.9999],PARAMETER[\"false_easting\",0]");
     add_srs_wkt (p, 11,
-        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
     add_srs_wkt (p, 12,
-        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS");
     add_srs_wkt (p, 13,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32043\"]]");
-    p = add_epsg_def (filter, first, last, 32044, "epsg", 32044,
-        "NAD27 / Utah South");
+        "T],AUTHORITY[\"EPSG\",\"30170\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30171, "epsg", 30171,
+        "Tokyo / Japan Plane Rectangular CS XI", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=3");
+        "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_");
     add_proj4text (p, 1,
-        "6.66666666666666 +lon_0=-111.5 +x_0=609601.2192024384 +y");
+        "0=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,");
     add_proj4text (p, 2,
-        "_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Utah South\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XI\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARA");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "METER[\"standard_parallel_1\",37.21666666666667],PARAMET");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",38.35],PARAMETER[\"latitude_o");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",44],");
     add_srs_wkt (p, 9,
-        "f_origin\",36.66666666666666],PARAMETER[\"central_meridi");
+        "PARAMETER[\"central_meridian\",140.25],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "an\",-111.5],PARAMETER[\"false_easting\",2000000],PARAME");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMET");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32044\"]]");
-    p = add_epsg_def (filter, first, last, 32045, "epsg", 32045,
-        "NAD27 / Vermont");
+        "RITY[\"EPSG\",\"30171\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30172, "epsg", 30172,
+        "Tokyo / Japan Plane Rectangular CS XII", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
+        "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_");
     add_proj4text (p, 1,
-        "=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_");
+        "0=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,");
     add_proj4text (p, 2,
-        "defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Vermont\",GEOGCS[\"NAD27\",DATUM[\"Nort");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XII\",GEOGCS");
     add_srs_wkt (p, 1,
-        "h_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378206");
+        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
     add_srs_wkt (p, 2,
-        ".4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTHO");
+        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "RITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
+        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        ",AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4267");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "itude_of_origin\",42.5],PARAMETER[\"central_meridian\",-");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "72.5],PARAMETER[\"scale_factor\",0.999964286],PARAMETER[");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",44],");
     add_srs_wkt (p, 9,
-        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
+        "PARAMETER[\"central_meridian\",142.25],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMET");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"32045\"]]");
-    p = add_epsg_def (filter, first, last, 32046, "epsg", 32046,
-        "NAD27 / Virginia North");
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"30172\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30173, "epsg", 30173,
+        "Tokyo / Japan Plane Rectangular CS XIII", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37");
+        "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-78.5 +x_0=609601.2192024384 +y_0");
+        "0=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,");
     add_proj4text (p, 2,
-        "=0 +datum=NAD27 +units=us-ft +no_defs");
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Virginia North\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XIII\",GEOGC");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "S[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",637");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "7397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "84[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "\"6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",38.03333333333333],PAR");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",39.2],PARAMETER[\"latitud");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",44");
     add_srs_wkt (p, 9,
-        "e_of_origin\",37.66666666666666],PARAMETER[\"central_mer");
+        "],PARAMETER[\"central_meridian\",144.25],PARAMETER[\"sca");
     add_srs_wkt (p, 10,
-        "idian\",-78.5],PARAMETER[\"false_easting\",2000000],PARA");
+        "le_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAM");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32046\"]]");
-    p = add_epsg_def (filter, first, last, 32047, "epsg", 32047,
-        "NAD27 / Virginia South");
+        "HORITY[\"EPSG\",\"30173\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30174, "epsg", 30174,
+        "Tokyo / Japan Plane Rectangular CS XIV", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666");
+        "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=609601.21");
+        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
     add_proj4text (p, 2,
-        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Virginia South\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XIV\",GEOGCS");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",36.76666666666667],PAR");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",37.96666666666667],PARAME");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",26],");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",36.33333333333334],PARAMETER[");
+        "PARAMETER[\"central_meridian\",142],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-78.5],PARAMETER[\"false_easting\",");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[");
     add_srs_wkt (p, 11,
-        "2000000],PARAMETER[\"false_northing\",0],UNIT[\"US surve");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "y foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]");
+        ",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY");
     add_srs_wkt (p, 13,
-        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
-    add_srs_wkt (p, 14,
-        "\"32047\"]]");
-    p = add_epsg_def (filter, first, last, 32048, "epsg", 32048,
-        "NAD27 / Washington North");
+        "[\"EPSG\",\"30174\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30175, "epsg", 30175,
+        "Tokyo / Japan Plane Rectangular CS XV", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47");
+        "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0");
     add_proj4text (p, 1,
-        " +lon_0=-120.8333333333333 +x_0=609601.2192024384 +y_0=0");
+        "=0 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0");
     add_proj4text (p, 2,
-        " +datum=NAD27 +units=us-ft +no_defs");
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Washington North\",GEOGCS[\"NAD27\",DAT");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XV\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63773");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "97.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",47.5],PARAMETER[\"stan");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "dard_parallel_2\",48.73333333333333],PARAMETER[\"latitud");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",26],");
     add_srs_wkt (p, 9,
-        "e_of_origin\",47],PARAMETER[\"central_meridian\",-120.83");
+        "PARAMETER[\"central_meridian\",127.5],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "33333333333],PARAMETER[\"false_easting\",2000000],PARAME");
+        "factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETE");
     add_srs_wkt (p, 11,
-        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32048\"]]");
-    p = add_epsg_def (filter, first, last, 32049, "epsg", 32049,
-        "NAD27 / Washington South");
+        "ITY[\"EPSG\",\"30175\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30176, "epsg", 30176,
+        "Tokyo / Japan Plane Rectangular CS XVI", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333");
+        "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=609601.2");
+        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
     add_proj4text (p, 2,
-        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Washington South\",GEOGCS[\"NAD27\",DAT");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XVI\",GEOGCS");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",45.83333333333334],PAR");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",47.33333333333334],PARAME");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",26],");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",45.33333333333334],PARAMETER[");
+        "PARAMETER[\"central_meridian\",124],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-120.5],PARAMETER[\"false_easting\"");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[");
     add_srs_wkt (p, 11,
-        ",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US surv");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "ey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"");
+        ",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY");
     add_srs_wkt (p, 13,
-        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
-    add_srs_wkt (p, 14,
-        ",\"32049\"]]");
-    p = add_epsg_def (filter, first, last, 32050, "epsg", 32050,
-        "NAD27 / West Virginia North");
+        "[\"EPSG\",\"30176\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30177, "epsg", 30177,
+        "Tokyo / Japan Plane Rectangular CS XVII", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.");
+        "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "5 +x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-f");
+        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
     add_proj4text (p, 2,
-        "t +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / West Virginia North\",GEOGCS[\"NAD27\",");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XVII\",GEOGC");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
+        "S[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",637");
     add_srs_wkt (p, 2,
-        "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70");
+        "7397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "84[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "\"6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",39],PARAMETER[\"st");
+        "de\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tr");
     add_srs_wkt (p, 8,
-        "andard_parallel_2\",40.25],PARAMETER[\"latitude_of_origi");
+        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",26");
     add_srs_wkt (p, 9,
-        "n\",38.5],PARAMETER[\"central_meridian\",-79.5],PARAMETE");
+        "],PARAMETER[\"central_meridian\",131],PARAMETER[\"scale_");
     add_srs_wkt (p, 10,
-        "R[\"false_easting\",2000000],PARAMETER[\"false_northing\"");
+        "factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETE");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "G\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHOR");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"32050\"]]");
-    p = add_epsg_def (filter, first, last, 32051, "epsg", 32051,
-        "NAD27 / West Virginia South");
+        "ITY[\"EPSG\",\"30177\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30178, "epsg", 30178,
+        "Tokyo / Japan Plane Rectangular CS XVIII", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333");
+        "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "333 +lat_0=37 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +");
+        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
     add_proj4text (p, 2,
-        "datum=NAD27 +units=us-ft +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / West Virginia South\",GEOGCS[\"NAD27\",");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XVIII\",GEOG");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
+        "CS[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",63");
     add_srs_wkt (p, 2,
-        "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70");
+        "77397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWG");
     add_srs_wkt (p, 3,
-        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "S84[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        ",\"6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",37.48333333333333]");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"T");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",38.88333333333333],PA");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",2");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",37],PARAMETER[\"central_m");
+        "0],PARAMETER[\"central_meridian\",136],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "eridian\",-81],PARAMETER[\"false_easting\",2000000],PARA");
+        "_factor\",0.9999],PARAMETER[\"false_easting\",0],PARAMET");
     add_srs_wkt (p, 11,
-        "METER[\"false_northing\",0],UNIT[\"US survey foot\",0.30");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "48006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",");
+        "SG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHO");
     add_srs_wkt (p, 13,
-        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32051\"]]");
-    p = add_epsg_def (filter, first, last, 32052, "epsg", 32052,
-        "NAD27 / Wisconsin North");
+        "RITY[\"EPSG\",\"30178\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30179, "epsg", 30179,
+        "Tokyo / Japan Plane Rectangular CS XIX", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Tokyo", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666");
+        "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0");
     add_proj4text (p, 1,
-        "667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=609601.2192");
+        " +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0");
     add_proj4text (p, 2,
-        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Wisconsin North\",GEOGCS[\"NAD27\",DATU");
+        "PROJCS[\"Tokyo / Japan Plane Rectangular CS XIX\",GEOGCS");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "[\"Tokyo\",DATUM[\"Tokyo\",SPHEROID[\"Bessel 1841\",6377");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "4[-146.414,507.337,680.507,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        "6301\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",45.56666666666667],PAR");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4301\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",46.76666666666667],PARAME");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",26],");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",45.16666666666666],PARAMETER[");
+        "PARAMETER[\"central_meridian\",154],PARAMETER[\"scale_fa");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-90],PARAMETER[\"false_easting\",20");
+        "ctor\",0.9999],PARAMETER[\"false_easting\",0],PARAMETER[");
     add_srs_wkt (p, 11,
-        "00000],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+        ",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY");
     add_srs_wkt (p, 13,
-        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 14,
-        "32052\"]]");
-    p = add_epsg_def (filter, first, last, 32053, "epsg", 32053,
-        "NAD27 / Wisconsin Central");
+        "[\"EPSG\",\"30179\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30200, "epsg", 30200,
+        "Trinidad 1903 / Trinidad Grid", 0, 0,
+        "Clarke 1858", "Greenwich",
+        "Trinidad_1903", "Cassini_Soldner", "Clarke's link",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333");
+        "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.333333333");
     add_proj4text (p, 1,
-        "334 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +datum=NAD2");
+        "33334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=63782");
     add_proj4text (p, 2,
-        "7 +units=us-ft +no_defs");
+        "93.645208759 +b=6356617.987679838 +towgs84=-61.702,284.4");
+    add_proj4text (p, 3,
+        "88,472.052,0,0,0,0 +to_meter=0.201166195164 +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Wisconsin Central\",GEOGCS[\"NAD27\",DA");
+        "PROJCS[\"Trinidad 1903 / Trinidad Grid\",GEOGCS[\"Trinid");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866");
+        "ad 1903\",DATUM[\"Trinidad_1903\",SPHEROID[\"Clarke 1858");
     add_srs_wkt (p, 2,
-        "\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008");
+        "\",6378293.645208759,294.2606763692606,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",");
+        ",\"7007\"]],TOWGS84[-61.702,284.488,472.052,0,0,0,0],AUT");
     add_srs_wkt (p, 4,
-        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
+        "HORITY[\"EPSG\",\"6302\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPS");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "G\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"standard_parallel_1\",44.25],PARAMETER[\"s");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4302\"]]");
     add_srs_wkt (p, 8,
-        "tandard_parallel_2\",45.5],PARAMETER[\"latitude_of_origi");
+        ",PROJECTION[\"Cassini_Soldner\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        "n\",43.83333333333334],PARAMETER[\"central_meridian\",-9");
+        "_origin\",10.44166666666667],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fals");
+        "n\",-61.33333333333334],PARAMETER[\"false_easting\",4300");
     add_srs_wkt (p, 11,
-        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+        "00],PARAMETER[\"false_northing\",325000],UNIT[\"Clarke's");
     add_srs_wkt (p, 12,
-        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        " link\",0.201166195164,AUTHORITY[\"EPSG\",\"9039\"]],AXI");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32053\"]]");
-    p = add_epsg_def (filter, first, last, 32054, "epsg", 32054,
-        "NAD27 / Wisconsin South");
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 14,
+        "EPSG\",\"30200\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30339, "epsg", 30339,
+        "TC(1948) / UTM zone 39N", 0, 0,
+        "Helmert 1906", "Greenwich",
+        "Trucial_Coast_1948", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666");
-    add_proj4text (p, 1,
-        "667 +lat_0=42 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +");
-    add_proj4text (p, 2,
-        "datum=NAD27 +units=us-ft +no_defs");
+        "+proj=utm +zone=39 +ellps=helmert +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Wisconsin South\",GEOGCS[\"NAD27\",DATU");
+        "PROJCS[\"TC(1948) / UTM zone 39N\",GEOGCS[\"TC(1948)\",D");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
+        "ATUM[\"Trucial_Coast_1948\",SPHEROID[\"Helmert 1906\",63");
     add_srs_wkt (p, 2,
-        ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"");
+        "78200,298.3,AUTHORITY[\"EPSG\",\"7020\"]],AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
+        "SG\",\"6303\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4303\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",42.73333333333333],PAR");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "AMETER[\"standard_parallel_2\",44.06666666666667],PARAME");
+        ",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"scale");
     add_srs_wkt (p, 9,
-        "TER[\"latitude_of_origin\",42],PARAMETER[\"central_merid");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 10,
-        "ian\",-90],PARAMETER[\"false_easting\",2000000],PARAMETE");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
     add_srs_wkt (p, 12,
-        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
-    add_srs_wkt (p, 13,
-        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32054\"]]");
-    p = add_epsg_def (filter, first, last, 32055, "epsg", 32055,
-        "NAD27 / Wyoming East");
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"30339\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30340, "epsg", 30340,
+        "TC(1948) / UTM zone 40N", 0, 0,
+        "Helmert 1906", "Greenwich",
+        "Trucial_Coast_1948", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-105.1666666");
-    add_proj4text (p, 1,
-        "666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +dat");
-    add_proj4text (p, 2,
-        "um=NAD27 +units=us-ft +no_defs");
+        "+proj=utm +zone=40 +ellps=helmert +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Wyoming East\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"TC(1948) / UTM zone 40N\",GEOGCS[\"TC(1948)\",D");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "ATUM[\"Trucial_Coast_1948\",SPHEROID[\"Helmert 1906\",63");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "78200,298.3,AUTHORITY[\"EPSG\",\"7020\"]],AUTHORITY[\"EP");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "SG\",\"6303\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4303\"]],PROJECTION[");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",40.66666666666666],PARAMETER[\"cent");
+        "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-105.1666666666667],PARAMETER[\"scale_fac");
+        ",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"scale");
     add_srs_wkt (p, 9,
-        "tor\",0.999941177],PARAMETER[\"false_easting\",500000],P");
+        "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
     add_srs_wkt (p, 11,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32055\"]");
-    add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 32056, "epsg", 32056,
-        "NAD27 / Wyoming East Central");
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"30340\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30491, "epsg", 30491,
+        "Voirol 1875 / Nord Algerie (ancienne)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Voirol_1875", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-107.3333333");
+        "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.99962554");
     add_proj4text (p, 1,
-        "333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +dat");
+        "4 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs");
     add_proj4text (p, 2,
-        "um=NAD27 +units=us-ft +no_defs");
+        "84=-73,-247,227,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Wyoming East Central\",GEOGCS[\"NAD27\"");
+        "PROJCS[\"Voirol 1875 / Nord Algerie (ancienne)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
+        "\"Voirol 1875\",DATUM[\"Voirol_1875\",SPHEROID[\"Clarke ");
     add_srs_wkt (p, 2,
-        "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7");
+        "1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
+        "G\",\"7011\"]],TOWGS84[-73,-247,227,0,0,0,0],AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "EPSG\",\"6304\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",40.66666666666666],PARAME");
+        "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4304\"]],PROJECTI");
     add_srs_wkt (p, 8,
-        "TER[\"central_meridian\",-107.3333333333333],PARAMETER[\"");
+        "ON[\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude");
     add_srs_wkt (p, 9,
-        "scale_factor\",0.999941177],PARAMETER[\"false_easting\",");
+        "_of_origin\",36],PARAMETER[\"central_meridian\",2.7],PAR");
     add_srs_wkt (p, 10,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"US survey");
+        "AMETER[\"scale_factor\",0.999625544],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        " foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]]");
+        "asting\",500000],PARAMETER[\"false_northing\",300000],UN");
     add_srs_wkt (p, 12,
-        ",AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 13,
-        "32056\"]]");
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"30491\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_42.c b/src/srsinit/epsg_inlined_42.c
index e79cc68..c9ef479 100644
--- a/src/srsinit/epsg_inlined_42.c
+++ b/src/srsinit/epsg_inlined_42.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3442 +54,3957 @@ initialize_epsg_42 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 32057, "epsg", 32057,
-        "NAD27 / Wyoming West Central");
+    p = add_epsg_def_ex (filter, first, last, 30492, "epsg", 30492,
+        "Voirol 1875 / Sud Algerie (ancienne)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Voirol_1875", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-108.75 +k=0");
+        "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.9996");
     add_proj4text (p, 1,
-        ".999941177 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +u");
+        "25769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +t");
     add_proj4text (p, 2,
-        "nits=us-ft +no_defs");
+        "owgs84=-73,-247,227,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Wyoming West Central\",GEOGCS[\"NAD27\"");
+        "PROJCS[\"Voirol 1875 / Sud Algerie (ancienne)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
+        "Voirol 1875\",DATUM[\"Voirol_1875\",SPHEROID[\"Clarke 18");
     add_srs_wkt (p, 2,
-        "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7");
+        "80 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
+        ",\"7011\"]],TOWGS84[-73,-247,227,0,0,0,0],AUTHORITY[\"EP");
     add_srs_wkt (p, 4,
-        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
+        "SG\",\"6304\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",40.66666666666666],PARAME");
+        "gitude\",EAST],AUTHORITY[\"EPSG\",\"4304\"]],PROJECTION[");
     add_srs_wkt (p, 8,
-        "TER[\"central_meridian\",-108.75],PARAMETER[\"scale_fact");
+        "\"Lambert_Conformal_Conic_1SP\"],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 9,
-        "or\",0.999941177],PARAMETER[\"false_easting\",500000],PA");
+        "_origin\",33.3],PARAMETER[\"central_meridian\",2.7],PARA");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0.");
+        "METER[\"scale_factor\",0.999625769],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\"");
+        "sting\",500000],PARAMETER[\"false_northing\",300000],UNI");
     add_srs_wkt (p, 12,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32057\"]]");
-    p = add_epsg_def (filter, first, last, 32058, "epsg", 32058,
-        "NAD27 / Wyoming West");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+    add_srs_wkt (p, 13,
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"30492\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30493, "epsg", 30493,
+        "Voirol 1879 / Nord Algerie (ancienne)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Voirol_1879", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-110.0833333");
+        "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.99962554");
     add_proj4text (p, 1,
-        "333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +dat");
+        "4 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units");
     add_proj4text (p, 2,
-        "um=NAD27 +units=us-ft +no_defs");
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Wyoming West\",GEOGCS[\"NAD27\",DATUM[\"");
+        "PROJCS[\"Voirol 1879 / Nord Algerie (ancienne)\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
+        "\"Voirol 1879\",DATUM[\"Voirol_1879\",SPHEROID[\"Clarke ");
     add_srs_wkt (p, 2,
-        "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A");
+        "1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
+        "G\",\"7011\"]],AUTHORITY[\"EPSG\",\"6671\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",40.66666666666666],PARAMETER[\"cent");
+        "PSG\",\"4671\"]],PROJECTION[\"Lambert_Conformal_Conic_1S");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-110.0833333333333],PARAMETER[\"scale_fac");
+        "P\"],PARAMETER[\"latitude_of_origin\",36],PARAMETER[\"ce");
     add_srs_wkt (p, 9,
-        "tor\",0.999941177],PARAMETER[\"false_easting\",500000],P");
+        "ntral_meridian\",2.7],PARAMETER[\"scale_factor\",0.99962");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",0");
+        "5544],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        ".3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X");
+        "lse_northing\",300000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32058\"]");
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
     add_srs_wkt (p, 13,
-        "]");
-    p = add_epsg_def (filter, first, last, 32061, "epsg", 32061,
-        "NAD27 / Guatemala Norte (deprecated)");
+        "TY[\"EPSG\",\"30493\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30494, "epsg", 30494,
+        "Voirol 1879 / Sud Algerie (ancienne)", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Voirol_1879", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666");
+        "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.9996");
     add_proj4text (p, 1,
-        "667 +lon_0=-90.33333333333333 +k_0=0.99992226 +x_0=50000");
+        "25769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +u");
     add_proj4text (p, 2,
-        "0 +y_0=292209.579 +datum=NAD27 +units=m +no_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Guatemala Norte (deprecated)\",GEOGCS[\"");
+        "PROJCS[\"Voirol 1879 / Sud Algerie (ancienne)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
+        "Voirol 1879\",DATUM[\"Voirol_1879\",SPHEROID[\"Clarke 18");
     add_srs_wkt (p, 2,
-        "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS");
+        "80 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
+        ",\"7011\"]],AUTHORITY[\"EPSG\",\"6671\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_C");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",16.81666666");
+        "SG\",\"4671\"]],PROJECTION[\"Lambert_Conformal_Conic_1SP");
     add_srs_wkt (p, 8,
-        "666667],PARAMETER[\"central_meridian\",-90.3333333333333");
+        "\"],PARAMETER[\"latitude_of_origin\",33.3],PARAMETER[\"c");
     add_srs_wkt (p, 9,
-        "3],PARAMETER[\"scale_factor\",0.99992226],PARAMETER[\"fa");
+        "entral_meridian\",2.7],PARAMETER[\"scale_factor\",0.9996");
     add_srs_wkt (p, 10,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",29220");
+        "25769],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "9.579],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+        "alse_northing\",300000],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
     add_srs_wkt (p, 13,
-        "061\"]]");
-    p = add_epsg_def (filter, first, last, 32062, "epsg", 32062,
-        "NAD27 / Guatemala Sur (deprecated)");
+        "ITY[\"EPSG\",\"30494\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30729, "epsg", 30729,
+        "Nord Sahara 1959 / UTM zone 29N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nord_Sahara_1959", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=14.9 +lat_0=14.9 +lon_0=-90.33333333333");
+        "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-209.3622,-87.");
     add_proj4text (p, 1,
-        "333 +k_0=0.99989906 +x_0=500000 +y_0=325992.681 +datum=N");
+        "8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_");
     add_proj4text (p, 2,
-        "AD27 +units=m +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Guatemala Sur (deprecated)\",GEOGCS[\"N");
+        "PROJCS[\"Nord Sahara 1959 / UTM zone 29N\",GEOGCS[\"Nord");
     add_srs_wkt (p, 1,
-        "AD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Cl");
+        " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "arke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG");
+        "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gre");
+        "\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3.");
     add_srs_wkt (p, 4,
-        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIME");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_C");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "onic_1SP\"],PARAMETER[\"latitude_of_origin\",14.9],PARAM");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-90.33333333333333],PARAMETER[");
+        "RITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.99989906],PARAMETER[\"false_easting\"");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        ",500000],PARAMETER[\"false_northing\",325992.681],UNIT[\"");
+        "tral_meridian\",-9],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 11,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32062\"]]");
-    p = add_epsg_def (filter, first, last, 32064, "epsg", 32064,
-        "NAD27 / BLM 14N (ftUS)");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+    add_srs_wkt (p, 13,
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"30729\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30730, "epsg", 30730,
+        "Nord Sahara 1959 / UTM zone 30N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nord_Sahara_1959", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.00");
+        "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-209.3622,-87.");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / BLM 14N (ftUS)\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Nord Sahara 1959 / UTM zone 30N\",GEOGCS[\"Nord");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3.");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIME");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "\",-99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "RITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "alse_easting\",1640416.67],PARAMETER[\"false_northing\",");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "tral_meridian\",-3],PARAMETER[\"scale_factor\",0.9996],P");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"32064\"]]");
-    p = add_epsg_def (filter, first, last, 32065, "epsg", 32065,
-        "NAD27 / BLM 15N (ftUS)");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+    add_srs_wkt (p, 13,
+        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"30730\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30731, "epsg", 30731,
+        "Nord Sahara 1959 / UTM zone 31N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nord_Sahara_1959", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.00");
+        "+proj=utm +zone=31 +ellps=clrk80 +towgs84=-209.3622,-87.");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / BLM 15N (ftUS)\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Nord Sahara 1959 / UTM zone 31N\",GEOGCS[\"Nord");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3.");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIME");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "\",-93],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "RITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "alse_easting\",1640416.67],PARAMETER[\"false_northing\",");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "tral_meridian\",3],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"32065\"]]");
-    p = add_epsg_def (filter, first, last, 32066, "epsg", 32066,
-        "NAD27 / BLM 16N (ftUS)");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"30731\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30732, "epsg", 30732,
+        "Nord Sahara 1959 / UTM zone 32N", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nord_Sahara_1959", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.00");
+        "+proj=utm +zone=32 +ellps=clrk80 +towgs84=-209.3622,-87.");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / BLM 16N (ftUS)\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Nord Sahara 1959 / UTM zone 32N\",GEOGCS[\"Nord");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3.");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIME");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "\",-87],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "RITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "alse_easting\",1640416.67],PARAMETER[\"false_northing\",");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "tral_meridian\",9],PARAMETER[\"scale_factor\",0.9996],PA");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"32066\"]]");
-    p = add_epsg_def (filter, first, last, 32067, "epsg", 32067,
-        "NAD27 / BLM 17N (ftUS)");
+        "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI");
+    add_srs_wkt (p, 14,
+        "TY[\"EPSG\",\"30732\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30791, "epsg", 30791,
+        "Nord Sahara 1959 / Nord Algerie", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nord_Sahara_1959", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.00");
+        "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.99962554");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "4 +x_0=500135 +y_0=300090 +ellps=clrk80 +towgs84=-209.36");
+    add_proj4text (p, 2,
+        "22,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units");
+    add_proj4text (p, 3,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / BLM 17N (ftUS)\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"Nord Sahara 1959 / Nord Algerie\",GEOGCS[\"Nord");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        "\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3.");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIME");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "\",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"f");
+        "RITY[\"EPSG\",\"4307\"]],PROJECTION[\"Lambert_Conformal_");
     add_srs_wkt (p, 9,
-        "alse_easting\",1640416.67],PARAMETER[\"false_northing\",");
+        "Conic_1SP\"],PARAMETER[\"latitude_of_origin\",36],PARAME");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[");
+        "TER[\"central_meridian\",2.7],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        ",0.999625544],PARAMETER[\"false_easting\",500135],PARAME");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"32067\"]]");
-    p = add_epsg_def (filter, first, last, 32074, "epsg", 32074,
-        "NAD27 / BLM 14N (feet) (deprecated)");
+        "TER[\"false_northing\",300090],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"30791\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30792, "epsg", 30792,
+        "Nord Sahara 1959 / Sud Algerie", 0, 0,
+        "Clarke 1880 (RGS)", "Greenwich",
+        "Nord_Sahara_1959", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.00");
+        "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.9996");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "25769 +x_0=500135 +y_0=300090 +ellps=clrk80 +towgs84=-20");
+    add_proj4text (p, 2,
+        "9.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +u");
+    add_proj4text (p, 3,
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / BLM 14N (feet) (deprecated)\",GEOGCS[\"");
+        "PROJCS[\"Nord Sahara 1959 / Sud Algerie\",GEOGCS[\"Nord ");
     add_srs_wkt (p, 1,
-        "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
+        "Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Clar");
     add_srs_wkt (p, 2,
-        "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS");
+        "ke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
+        "7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3.47");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "84,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-99],PARAMETER[\"scale_factor\",0.9996],P");
+        "TY[\"EPSG\",\"4307\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",1640416.67],PARAMETER[\"false");
+        "nic_1SP\"],PARAMETER[\"latitude_of_origin\",33.3],PARAME");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
+        "TER[\"central_meridian\",2.7],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 11,
-        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        ",0.999625769],PARAMETER[\"false_easting\",500135],PARAME");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32074\"]]");
-    p = add_epsg_def (filter, first, last, 32075, "epsg", 32075,
-        "NAD27 / BLM 15N (feet) (deprecated)");
+        "TER[\"false_northing\",300090],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"30792\"]]");
+    p = add_epsg_def_ex (filter, first, last, 30800, "epsg", 30800,
+        "RT38 2.5 gon W (deprecated)", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Stockholm_1938", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.00");
+        "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "1500000 +y_0=0 +ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / BLM 15N (feet) (deprecated)\",GEOGCS[\"");
+        "PROJCS[\"RT38 2.5 gon W (deprecated)\",GEOGCS[\"RT38\",D");
     add_srs_wkt (p, 1,
-        "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
+        "ATUM[\"Stockholm_1938\",SPHEROID[\"Bessel 1841\",6377397");
     add_srs_wkt (p, 2,
-        "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS");
+        ".155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],AUTHORITY");
     add_srs_wkt (p, 3,
-        "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
+        "[\"EPSG\",\"6308\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator");
+        "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4308\"]],PROJE");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-93],PARAMETER[\"scale_factor\",0.9996],P");
+        "rigin\",0],PARAMETER[\"central_meridian\",15.80827777777");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",1640416.67],PARAMETER[\"false");
+        "778],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
+        "ting\",1500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH]");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32075\"]]");
-    p = add_epsg_def (filter, first, last, 32076, "epsg", 32076,
-        "NAD27 / BLM 16N (feet) (deprecated)");
+        ",AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"30800\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31028, "epsg", 31028,
+        "Yoff / UTM zone 28N", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Yoff", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.00");
+        "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +units=m +no_");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / BLM 16N (feet) (deprecated)\",GEOGCS[\"");
+        "PROJCS[\"Yoff / UTM zone 28N\",GEOGCS[\"Yoff\",DATUM[\"Y");
     add_srs_wkt (p, 1,
-        "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
+        "off\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602");
     add_srs_wkt (p, 2,
-        "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS");
+        "12936269,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
+        ",\"6310\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator");
+        "ude\",EAST],AUTHORITY[\"EPSG\",\"4310\"]],PROJECTION[\"T");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-87],PARAMETER[\"scale_factor\",0.9996],P");
+        "],PARAMETER[\"central_meridian\",-15],PARAMETER[\"scale_");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",1640416.67],PARAMETER[\"false");
+        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 11,
-        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32076\"]]");
-    p = add_epsg_def (filter, first, last, 32077, "epsg", 32077,
-        "NAD27 / BLM 17N (feet) (deprecated)");
+        "ng\",NORTH],AUTHORITY[\"EPSG\",\"31028\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31121, "epsg", 31121,
+        "Zanderij / UTM zone 21N", 0, 0,
+        "International 1924", "Greenwich",
+        "Zanderij", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.00");
+        "+proj=utm +zone=21 +ellps=intl +towgs84=-265,120,-358,0,");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / BLM 17N (feet) (deprecated)\",GEOGCS[\"");
+        "PROJCS[\"Zanderij / UTM zone 21N\",GEOGCS[\"Zanderij\",D");
     add_srs_wkt (p, 1,
-        "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
+        "ATUM[\"Zanderij\",SPHEROID[\"International 1924\",637838");
     add_srs_wkt (p, 2,
-        "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS");
+        "8,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-265,120,-35");
     add_srs_wkt (p, 3,
-        "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
+        "8,0,0,0,0],AUTHORITY[\"EPSG\",\"6311\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cent");
+        "G\",\"4311\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 8,
-        "ral_meridian\",-81],PARAMETER[\"scale_factor\",0.9996],P");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",1640416.67],PARAMETER[\"false");
+        "ian\",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
+        "\"false_easting\",500000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 11,
-        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32077\"]]");
-    p = add_epsg_def (filter, first, last, 32081, "epsg", 32081,
-        "NAD27 / MTM zone 1");
+        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"31121\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31154, "epsg", 31154,
+        "Zanderij / TM 54 NW", 0, 0,
+        "International 1924", "Greenwich",
+        "Zanderij", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y");
+        "+proj=tmerc +lat_0=0 +lon_0=-54 +k=0.9996 +x_0=500000 +y");
     add_proj4text (p, 1,
-        "_0=0 +datum=NAD27 +units=m +no_defs");
+        "_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m");
+    add_proj4text (p, 2,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / MTM zone 1\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"Zanderij / TM 54 NW\",GEOGCS[\"Zanderij\",DATUM");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "[\"Zanderij\",SPHEROID[\"International 1924\",6378388,29");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "7,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-265,120,-358,0,");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "0,0,0],AUTHORITY[\"EPSG\",\"6311\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "4311\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "53],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "_easting\",304800],PARAMETER[\"false_northing\",0],UNIT[");
+        "54],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
     add_srs_wkt (p, 12,
-        "2081\"]]");
-    p = add_epsg_def (filter, first, last, 32082, "epsg", 32082,
-        "NAD27 / MTM zone 2");
+        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 13,
+        "1154\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31170, "epsg", 31170,
+        "Zanderij / Suriname Old TM", 0, 0,
+        "International 1924", "Greenwich",
+        "Zanderij", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y");
+        "+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9996");
     add_proj4text (p, 1,
-        "_0=0 +datum=NAD27 +units=m +no_defs");
+        " +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0");
+    add_proj4text (p, 2,
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / MTM zone 2\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"Zanderij / Suriname Old TM\",GEOGCS[\"Zanderij\"");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        ",DATUM[\"Zanderij\",SPHEROID[\"International 1924\",6378");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-265,120,-");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "358,0,0,0,0],AUTHORITY[\"EPSG\",\"6311\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "PSG\",\"4311\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        "56],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "_easting\",304800],PARAMETER[\"false_northing\",0],UNIT[");
+        "idian\",-55.68333333333333],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "2082\"]]");
-    p = add_epsg_def (filter, first, last, 32083, "epsg", 32083,
-        "NAD27 / MTM zone 3");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"31170\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31171, "epsg", 31171,
+        "Zanderij / Suriname TM", 0, 0,
+        "International 1924", "Greenwich",
+        "Zanderij", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 ");
+        "+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9999");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD27 +units=m +no_defs");
+        " +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0");
+    add_proj4text (p, 2,
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / MTM zone 3\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"Zanderij / Suriname TM\",GEOGCS[\"Zanderij\",DA");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "TUM[\"Zanderij\",SPHEROID[\"International 1924\",6378388");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        ",297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-265,120,-358");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6311\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "\",\"4311\"]],PROJECTION[\"Transverse_Mercator\"],PARAME");
     add_srs_wkt (p, 8,
-        "58.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 9,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        "an\",-55.68333333333333],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "99],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "32083\"]]");
-    p = add_epsg_def (filter, first, last, 32084, "epsg", 32084,
-        "NAD27 / MTM zone 4");
+        "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"31171\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31251, "epsg", 31251,
+        "MGI (Ferro) / Austria GK West Zone", 0, 1,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 ");
+        "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=-5000000");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD27 +units=m +no_defs");
+        " +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +");
+    add_proj4text (p, 2,
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / MTM zone 4\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"MGI (Ferro) / Austria GK West Zone\",GEOGCS[\"M");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "GI (Ferro)\",DATUM[\"Militar_Geographische_Institut_Ferr");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "o\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUT");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        ",AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6666");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "6666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "61.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "PSG\",\"4805\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "idian\",28],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "lse_easting\",0],PARAMETER[\"false_northing\",-5000000],");
     add_srs_wkt (p, 12,
-        "32084\"]]");
-    p = add_epsg_def (filter, first, last, 32085, "epsg", 32085,
-        "NAD27 / MTM zone 5");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31251\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31252, "epsg", 31252,
+        "MGI (Ferro) / Austria GK Central Zone", 0, 1,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 ");
+        "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=-5000000");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD27 +units=m +no_defs");
+        " +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +");
+    add_proj4text (p, 2,
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / MTM zone 5\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"MGI (Ferro) / Austria GK Central Zone\",GEOGCS[");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "\"MGI (Ferro)\",DATUM[\"Militar_Geographische_Institut_F");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "erro\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        ",0],AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "6666666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degre");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 8,
-        "64.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 9,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "_meridian\",31],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "\"false_easting\",0],PARAMETER[\"false_northing\",-50000");
     add_srs_wkt (p, 12,
-        "32085\"]]");
-    p = add_epsg_def (filter, first, last, 32086, "epsg", 32086,
-        "NAD27 / MTM zone 6");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31252");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31253, "epsg", 31253,
+        "MGI (Ferro) / Austria GK East Zone", 0, 1,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 ");
+        "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=-5000000");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD27 +units=m +no_defs");
+        " +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +");
+    add_proj4text (p, 2,
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / MTM zone 6\",GEOGCS[\"NAD27\",DATUM[\"N");
+        "PROJCS[\"MGI (Ferro) / Austria GK East Zone\",GEOGCS[\"M");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
+        "GI (Ferro)\",DATUM[\"Militar_Geographische_Institut_Ferr");
     add_srs_wkt (p, 2,
-        "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU");
+        "o\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUT");
     add_srs_wkt (p, 3,
-        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
+        "HORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
+        ",AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6666");
     add_srs_wkt (p, 5,
-        "433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4");
+        "6666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        "267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "67.5],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"fal");
+        "PSG\",\"4805\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "se_easting\",304800],PARAMETER[\"false_northing\",0],UNI");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "idian\",34],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "lse_easting\",0],PARAMETER[\"false_northing\",-5000000],");
     add_srs_wkt (p, 12,
-        "32086\"]]");
-    p = add_epsg_def (filter, first, last, 32098, "epsg", 32098,
-        "NAD27 / Quebec Lambert");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31253\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31254, "epsg", 31254,
+        "MGI / Austria GK West", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
+        "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "0=0 +y_0=0 +datum=NAD27 +units=m +no_defs");
+        "0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,46");
+    add_proj4text (p, 2,
+        "3.919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Quebec Lambert\",GEOGCS[\"NAD27\",DATUM");
+        "PROJCS[\"MGI / Austria GK West\",GEOGCS[\"MGI\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
+        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
     add_srs_wkt (p, 2,
-        "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]");
+        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
     add_srs_wkt (p, 3,
-        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
+        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
     add_srs_wkt (p, 4,
-        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
+        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\"");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        "PARAMETER[\"standard_parallel_1\",60],PARAMETER[\"standa");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"431");
     add_srs_wkt (p, 8,
-        "rd_parallel_2\",46],PARAMETER[\"latitude_of_origin\",44]");
+        "2\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"central_meridian\",-68.5],PARAMETER[\"false");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",10.");
     add_srs_wkt (p, 10,
-        "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met");
+        "33333333333333],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 11,
-        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+        "\"false_easting\",0],PARAMETER[\"false_northing\",-50000");
     add_srs_wkt (p, 12,
-        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32098\"]]");
-    p = add_epsg_def (filter, first, last, 32099, "epsg", 32099,
-        "NAD27 / Louisiana Offshore");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31254");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31255, "epsg", 31255,
+        "MGI / Austria GK Central", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "667 +lat_0=25.66666666666667 +lon_0=-91.33333333333333 +");
+        "0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,46");
     add_proj4text (p, 2,
-        "x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-ft +");
-    add_proj4text (p, 3,
-        "no_defs");
+        "3.919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD27 / Louisiana Offshore\",GEOGCS[\"NAD27\",D");
+        "PROJCS[\"MGI / Austria GK Central\",GEOGCS[\"MGI\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
+        "[\"Militar_Geographische_Institute\",SPHEROID[\"Bessel 1");
     add_srs_wkt (p, 2,
-        "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700");
+        "841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"");
     add_srs_wkt (p, 3,
-        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
+        "]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.42");
     add_srs_wkt (p, 4,
-        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
+        "32],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EP");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "SG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"standard_parallel_1\",27.83333333333333]");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"43");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",26.16666666666667],PA");
+        "12\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "RAMETER[\"latitude_of_origin\",25.66666666666667],PARAME");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",13");
     add_srs_wkt (p, 10,
-        "TER[\"central_meridian\",-91.33333333333333],PARAMETER[\"");
+        ".33333333333333],PARAMETER[\"scale_factor\",1],PARAMETER");
     add_srs_wkt (p, 11,
-        "false_easting\",2000000],PARAMETER[\"false_northing\",0]");
+        "[\"false_easting\",0],PARAMETER[\"false_northing\",-5000");
     add_srs_wkt (p, 12,
-        ",UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"");
+        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
     add_srs_wkt (p, 13,
-        "EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3125");
     add_srs_wkt (p, 14,
-        "HORITY[\"EPSG\",\"32099\"]]");
-    p = add_epsg_def (filter, first, last, 32100, "epsg", 32100,
-        "NAD83 / Montana");
+        "5\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31256, "epsg", 31256,
+        "MGI / Austria GK East", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
+        "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        " +x_0=600000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,46");
+    add_proj4text (p, 2,
+        "3.919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Montana\",GEOGCS[\"NAD83\",DATUM[\"Nort");
+        "PROJCS[\"MGI / Austria GK East\",GEOGCS[\"MGI\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "h_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,29");
+        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
     add_srs_wkt (p, 2,
-        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
+        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
     add_srs_wkt (p, 3,
-        "0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenwic");
+        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
     add_srs_wkt (p, 4,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        "SP\"],PARAMETER[\"standard_parallel_1\",49],PARAMETER[\"");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"431");
     add_srs_wkt (p, 8,
-        "standard_parallel_2\",45],PARAMETER[\"latitude_of_origin");
+        "2\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "\",44.25],PARAMETER[\"central_meridian\",-109.5],PARAMET");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",16.");
     add_srs_wkt (p, 10,
-        "ER[\"false_easting\",600000],PARAMETER[\"false_northing\"");
+        "33333333333333],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "\"false_easting\",0],PARAMETER[\"false_northing\",-50000");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32100");
+        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 13,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31256");
+    add_srs_wkt (p, 14,
         "\"]]");
-    p = add_epsg_def (filter, first, last, 32104, "epsg", 32104,
-        "NAD83 / Nebraska");
+    p = add_epsg_def_ex (filter, first, last, 31257, "epsg", 31257,
+        "MGI / Austria GK M28", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
+        "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "lon_0=-100 +x_0=500000 +y_0=0 +datum=NAD83 +units=m +no_");
+        "150000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.1");
     add_proj4text (p, 2,
-        "defs");
+        "29,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Nebraska\",GEOGCS[\"NAD83\",DATUM[\"Nor");
+        "PROJCS[\"MGI / Austria GK M28\",GEOGCS[\"MGI\",DATUM[\"M");
     add_srs_wkt (p, 1,
-        "th_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,2");
+        "ilitar_Geographische_Institute\",SPHEROID[\"Bessel 1841\"");
     add_srs_wkt (p, 2,
-        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
+        ",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],T");
     add_srs_wkt (p, 3,
-        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenwi");
+        "OWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],");
     add_srs_wkt (p, 4,
-        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
+        "AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 5,
-        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "_2SP\"],PARAMETER[\"standard_parallel_1\",43],PARAMETER[");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4312\"");
     add_srs_wkt (p, 8,
-        "\"standard_parallel_2\",40],PARAMETER[\"latitude_of_orig");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "in\",39.83333333333334],PARAMETER[\"central_meridian\",-");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",10.333");
     add_srs_wkt (p, 10,
-        "100],PARAMETER[\"false_easting\",500000],PARAMETER[\"fal");
+        "33333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "se_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9");
+        "alse_easting\",150000],PARAMETER[\"false_northing\",-500");
     add_srs_wkt (p, 12,
-        "001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 13,
-        "PSG\",\"32104\"]]");
-    p = add_epsg_def (filter, first, last, 32107, "epsg", 32107,
-        "NAD83 / Nevada East");
+        "S[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"312");
+    add_srs_wkt (p, 14,
+        "57\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31258, "epsg", 31258,
+        "MGI / Austria GK M31", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
+        "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "9999 +x_0=200000 +y_0=8000000 +datum=NAD83 +units=m +no_");
+        "450000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.1");
     add_proj4text (p, 2,
-        "defs");
+        "29,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Nevada East\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"MGI / Austria GK M31\",GEOGCS[\"MGI\",DATUM[\"M");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "ilitar_Geographische_Institute\",SPHEROID[\"Bessel 1841\"");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        ",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],T");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "OWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",34.75],PARAMETER[\"ce");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4312\"");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-115.5833333333333],PARAMETER[\"scale_f");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "actor\",0.9999],PARAMETER[\"false_easting\",200000],PARA");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",13.333");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",8000000],UNIT[\"metre\",1,AUTHO");
+        "33333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "alse_easting\",450000],PARAMETER[\"false_northing\",-500");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"32107\"]]");
-    p = add_epsg_def (filter, first, last, 32108, "epsg", 32108,
-        "NAD83 / Nevada Central");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"312");
+    add_srs_wkt (p, 14,
+        "58\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31259, "epsg", 31259,
+        "MGI / Austria GK M34", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
+        "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "9999 +x_0=500000 +y_0=6000000 +datum=NAD83 +units=m +no_");
+        "750000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.1");
     add_proj4text (p, 2,
-        "defs");
+        "29,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Nevada Central\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"MGI / Austria GK M34\",GEOGCS[\"MGI\",DATUM[\"M");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "ilitar_Geographische_Institute\",SPHEROID[\"Bessel 1841\"");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        ",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],T");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "OWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",34.75],PARAMETER[");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4312\"");
     add_srs_wkt (p, 8,
-        "\"central_meridian\",-116.6666666666667],PARAMETER[\"sca");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "le_factor\",0.9999],PARAMETER[\"false_easting\",500000],");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",16.333");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"false_northing\",6000000],UNIT[\"metre\",1,A");
+        "33333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "alse_easting\",750000],PARAMETER[\"false_northing\",-500");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32108\"]]");
-    p = add_epsg_def (filter, first, last, 32109, "epsg", 32109,
-        "NAD83 / Nevada West");
+        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+    add_srs_wkt (p, 13,
+        "S[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"312");
+    add_srs_wkt (p, 14,
+        "59\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31265, "epsg", 31265,
+        "MGI / 3-degree Gauss zone 5 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "9999 +x_0=800000 +y_0=4000000 +datum=NAD83 +units=m +no_");
+        "+ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.47");
     add_proj4text (p, 2,
-        "defs");
+        "4,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Nevada West\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"MGI / 3-degree Gauss zone 5 (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "CS[\"MGI\",DATUM[\"Militar_Geographische_Institute\",SPH");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "EROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "\"EPSG\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",1.474,5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIME");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",34.75],PARAMETER[\"ce");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-118.5833333333333],PARAMETER[\"scale_f");
+        "RITY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "actor\",0.9999],PARAMETER[\"false_easting\",800000],PARA");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",4000000],UNIT[\"metre\",1,AUTHO");
+        "tral_meridian\",15],PARAMETER[\"scale_factor\",1],PARAME");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "TER[\"false_easting\",5500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"32109\"]]");
-    p = add_epsg_def (filter, first, last, 32110, "epsg", 32110,
-        "NAD83 / New Hampshire");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31");
+    add_srs_wkt (p, 14,
+        "265\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31266, "epsg", 31266,
+        "MGI / 3-degree Gauss zone 6 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
+        "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "99966667 +x_0=300000 +y_0=0 +datum=NAD83 +units=m +no_de");
+        "+ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.47");
     add_proj4text (p, 2,
-        "fs");
+        "4,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / New Hampshire\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"MGI / 3-degree Gauss zone 6 (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "CS[\"MGI\",DATUM[\"Militar_Geographische_Institute\",SPH");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "EROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "\"EPSG\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        ",1.474,5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIME");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",42.5],PARAMETER[\"c");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "entral_meridian\",-71.66666666666667],PARAMETER[\"scale_");
+        "RITY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "factor\",0.999966667],PARAMETER[\"false_easting\",300000");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO");
+        "tral_meridian\",18],PARAMETER[\"scale_factor\",1],PARAME");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+        "TER[\"false_easting\",6500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "TH],AUTHORITY[\"EPSG\",\"32110\"]]");
-    p = add_epsg_def (filter, first, last, 32111, "epsg", 32111,
-        "NAD83 / New Jersey");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31");
+    add_srs_wkt (p, 14,
+        "266\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31267, "epsg", 31267,
+        "MGI / 3-degree Gauss zone 7 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "999 +x_0=150000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.47");
+    add_proj4text (p, 2,
+        "4,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / New Jersey\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"MGI / 3-degree Gauss zone 7 (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "CS[\"MGI\",DATUM[\"Militar_Geographische_Institute\",SPH");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "EROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "\"EPSG\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",1.474,5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIME");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",38.83333333333334],PA");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-74.5],PARAMETER[\"scale_fa");
+        "RITY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "ctor\",0.9999],PARAMETER[\"false_easting\",150000],PARAM");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "tral_meridian\",21],PARAMETER[\"scale_factor\",1],PARAME");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+        "TER[\"false_easting\",7500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"32111\"]]");
-    p = add_epsg_def (filter, first, last, 32112, "epsg", 32112,
-        "NAD83 / New Mexico East");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31");
+    add_srs_wkt (p, 14,
+        "267\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31268, "epsg", 31268,
+        "MGI / 3-degree Gauss zone 8 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
+        "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "909091 +x_0=165000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "+ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.47");
+    add_proj4text (p, 2,
+        "4,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / New Mexico East\",GEOGCS[\"NAD83\",DATU");
+        "PROJCS[\"MGI / 3-degree Gauss zone 8 (deprecated)\",GEOG");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+        "CS[\"MGI\",DATUM[\"Militar_Geographische_Institute\",SPH");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "EROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "\"EPSG\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        ",1.474,5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIME");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 8,
-        "central_meridian\",-104.3333333333333],PARAMETER[\"scale");
+        "RITY[\"EPSG\",\"4312\"]],PROJECTION[\"Transverse_Mercato");
     add_srs_wkt (p, 9,
-        "_factor\",0.999909091],PARAMETER[\"false_easting\",16500");
+        "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "tral_meridian\",24],PARAMETER[\"scale_factor\",1],PARAME");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "TER[\"false_easting\",8500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "RTH],AUTHORITY[\"EPSG\",\"32112\"]]");
-    p = add_epsg_def (filter, first, last, 32113, "epsg", 32113,
-        "NAD83 / New Mexico Central");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31");
+    add_srs_wkt (p, 14,
+        "268\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31275, "epsg", 31275,
+        "MGI / Balkans zone 5 (deprecated)", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=5500000 +y");
     add_proj4text (p, 1,
-        "00 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137");
+    add_proj4text (p, 2,
+        ",1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / New Mexico Central\",GEOGCS[\"NAD83\",D");
+        "PROJCS[\"MGI / Balkans zone 5 (deprecated)\",GEOGCS[\"MG");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "I\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        ",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        ".297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "rcator\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "[\"central_meridian\",-106.25],PARAMETER[\"scale_factor\"");
+        "PSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        ",0.9999],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+        "idian\",15],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 11,
-        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+        "[\"false_easting\",5500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "\"EPSG\",\"32113\"]]");
-    p = add_epsg_def (filter, first, last, 32114, "epsg", 32114,
-        "NAD83 / New Mexico West");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31275");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31276, "epsg", 31276,
+        "MGI / Balkans zone 6 (deprecated)", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
+        "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=6500000 +y");
     add_proj4text (p, 1,
-        "916667 +x_0=830000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137");
+    add_proj4text (p, 2,
+        ",1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / New Mexico West\",GEOGCS[\"NAD83\",DATU");
+        "PROJCS[\"MGI / Balkans zone 6 (deprecated)\",GEOGCS[\"MG");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+        "I\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        ",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        ".297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "central_meridian\",-107.8333333333333],PARAMETER[\"scale");
+        "PSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "_factor\",0.999916667],PARAMETER[\"false_easting\",83000");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "idian\",18],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "[\"false_easting\",6500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "RTH],AUTHORITY[\"EPSG\",\"32114\"]]");
-    p = add_epsg_def (filter, first, last, 32115, "epsg", 32115,
-        "NAD83 / New York East");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31276");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31277, "epsg", 31277,
+        "MGI / Balkans zone 7 (deprecated)", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y");
     add_proj4text (p, 1,
-        "999 +x_0=150000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137");
+    add_proj4text (p, 2,
+        ",1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / New York East\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"MGI / Balkans zone 7 (deprecated)\",GEOGCS[\"MG");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "I\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        ",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        ".297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",38.83333333333334],");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "PARAMETER[\"central_meridian\",-74.5],PARAMETER[\"scale_");
+        "PSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "factor\",0.9999],PARAMETER[\"false_easting\",150000],PAR");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "idian\",21],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "[\"false_easting\",7500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"32115\"]]");
-    p = add_epsg_def (filter, first, last, 32116, "epsg", 32116,
-        "NAD83 / New York Central");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31277");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31278, "epsg", 31278,
+        "MGI / Balkans zone 8 (deprecated)", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
+        "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y");
     add_proj4text (p, 1,
-        "9375 +x_0=250000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137");
+    add_proj4text (p, 2,
+        ",1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / New York Central\",GEOGCS[\"NAD83\",DAT");
+        "PROJCS[\"MGI / Balkans zone 8 (deprecated)\",GEOGCS[\"MG");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
+        "I\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
+        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        ",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        ".297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Merca");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "tor\"],PARAMETER[\"latitude_of_origin\",40],PARAMETER[\"");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "central_meridian\",-76.58333333333333],PARAMETER[\"scale");
+        "PSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "_factor\",0.9999375],PARAMETER[\"false_easting\",250000]");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+        "idian\",21],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+        "[\"false_easting\",7500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "H],AUTHORITY[\"EPSG\",\"32116\"]]");
-    p = add_epsg_def (filter, first, last, 32117, "epsg", 32117,
-        "NAD83 / New York West");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31278");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31279, "epsg", 31279,
+        "MGI / Balkans zone 8 (deprecated)", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
+        "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=8500000 +y");
     add_proj4text (p, 1,
-        "9375 +x_0=350000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137");
+    add_proj4text (p, 2,
+        ",1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / New York West\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"MGI / Balkans zone 8 (deprecated)\",GEOGCS[\"MG");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "I\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        ",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        ".297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "\"],PARAMETER[\"latitude_of_origin\",40],PARAMETER[\"cen");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-78.58333333333333],PARAMETER[\"scale_fa");
+        "PSG\",\"4312\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "ctor\",0.9999375],PARAMETER[\"false_easting\",350000],PA");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "idian\",24],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "[\"false_easting\",8500000],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"32117\"]]");
-    p = add_epsg_def (filter, first, last, 32118, "epsg", 32118,
-        "NAD83 / New York Long Island");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 13,
+        "\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31279");
+    add_srs_wkt (p, 14,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31281, "epsg", 31281,
+        "MGI (Ferro) / Austria West Zone", 0, 1,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps");
     add_proj4text (p, 1,
-        "666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0");
+        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
     add_proj4text (p, 2,
-        "=0 +datum=NAD83 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / New York Long Island\",GEOGCS[\"NAD83\"");
+        "PROJCS[\"MGI (Ferro) / Austria West Zone\",GEOGCS[\"MGI ");
     add_srs_wkt (p, 1,
-        ",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980");
+        "(Ferro)\",DATUM[\"Militar_Geographische_Institut_Ferro\"");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIM");
+        "ITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0],AU");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "THORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6666666");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "6666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Con");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "formal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        ".03333333333333],PARAMETER[\"standard_parallel_2\",40.66");
+        "G\",\"4805\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "666666666666],PARAMETER[\"latitude_of_origin\",40.166666");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "66666666],PARAMETER[\"central_meridian\",-74],PARAMETER[");
+        "ian\",28],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "\"false_easting\",300000],PARAMETER[\"false_northing\",0");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32118\"");
-    add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 32119, "epsg", 32119,
-        "NAD83 / North Carolina");
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31281\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31282, "epsg", 31282,
+        "MGI (Ferro) / Austria Central Zone", 0, 1,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps");
     add_proj4text (p, 1,
-        "334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +datum");
+        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
     add_proj4text (p, 2,
-        "=NAD83 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / North Carolina\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"MGI (Ferro) / Austria Central Zone\",GEOGCS[\"M");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "GI (Ferro)\",DATUM[\"Militar_Geographische_Institut_Ferr");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "o\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUT");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "HORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        ",AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6666");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "6666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.16666");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "666666666],PARAMETER[\"standard_parallel_2\",34.33333333");
+        "PSG\",\"4805\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 9,
-        "333334],PARAMETER[\"latitude_of_origin\",33.75],PARAMETE");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 10,
-        "R[\"central_meridian\",-79],PARAMETER[\"false_easting\",");
+        "idian\",31],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "609601.22],PARAMETER[\"false_northing\",0],UNIT[\"metre\"");
+        "lse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH");
     add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32119\"]]");
-    p = add_epsg_def (filter, first, last, 32120, "epsg", 32120,
-        "NAD83 / North Dakota North");
+        "],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31282\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31283, "epsg", 31283,
+        "MGI (Ferro) / Austria East Zone", 0, 1,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps");
     add_proj4text (p, 1,
-        "333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +datum=NA");
+        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
     add_proj4text (p, 2,
-        "D83 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / North Dakota North\",GEOGCS[\"NAD83\",D");
+        "PROJCS[\"MGI (Ferro) / Austria East Zone\",GEOGCS[\"MGI ");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "(Ferro)\",DATUM[\"Militar_Geographische_Institut_Ferro\"");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        ",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHOR");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        "ITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0],AU");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "THORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\",-17.6666666");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "6666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",48.7");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "3333333333333],PARAMETER[\"standard_parallel_2\",47.4333");
+        "G\",\"4805\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "3333333333],PARAMETER[\"latitude_of_origin\",47],PARAMET");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "ER[\"central_meridian\",-100.5],PARAMETER[\"false_eastin");
+        "ian\",34],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "g\",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+        "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 12,
-        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],");
     add_srs_wkt (p, 13,
-        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32120\"]]");
-    p = add_epsg_def (filter, first, last, 32121, "epsg", 32121,
-        "NAD83 / North Dakota South");
+        "AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31283\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31284, "epsg", 31284,
+        "MGI / Austria M28", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +");
+        "150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.");
     add_proj4text (p, 2,
-        "y_0=0 +datum=NAD83 +units=m +no_defs");
+        "919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / North Dakota South\",GEOGCS[\"NAD83\",D");
+        "PROJCS[\"MGI / Austria M28\",GEOGCS[\"MGI\",DATUM[\"Mili");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "tar_Geographische_Institute\",SPHEROID[\"Bessel 1841\",6");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOW");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        "GS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],AU");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "THORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.4");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4312\"]");
     add_srs_wkt (p, 8,
-        "8333333333333],PARAMETER[\"standard_parallel_2\",46.1833");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "3333333333],PARAMETER[\"latitude_of_origin\",45.66666666");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",10.3333");
     add_srs_wkt (p, 10,
-        "666666],PARAMETER[\"central_meridian\",-100.5],PARAMETER");
+        "3333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",600000],PARAMETER[\"false_northing\",");
+        "lse_easting\",150000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32121\"");
-    add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 32122, "epsg", 32122,
-        "NAD83 / Ohio North");
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31284\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31285, "epsg", 31285,
+        "MGI / Austria M31", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
+        "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +datum=N");
+        "450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.");
     add_proj4text (p, 2,
-        "AD83 +units=m +no_defs");
+        "919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Ohio North\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"MGI / Austria M31\",GEOGCS[\"MGI\",DATUM[\"Mili");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "tar_Geographische_Institute\",SPHEROID[\"Bessel 1841\",6");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOW");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "GS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],AU");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "THORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",41.7],PARAME");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4312\"]");
     add_srs_wkt (p, 8,
-        "TER[\"standard_parallel_2\",40.43333333333333],PARAMETER");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",39.66666666666666],PARAMETER[\"c");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",13.3333");
     add_srs_wkt (p, 10,
-        "entral_meridian\",-82.5],PARAMETER[\"false_easting\",600");
+        "3333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+        "lse_easting\",450000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 13,
-        "NORTH],AUTHORITY[\"EPSG\",\"32122\"]]");
-    p = add_epsg_def (filter, first, last, 32123, "epsg", 32123,
-        "NAD83 / Ohio South");
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31285\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31286, "epsg", 31286,
+        "MGI / Austria M34", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +datum=NAD");
+        "750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.");
     add_proj4text (p, 2,
-        "83 +units=m +no_defs");
+        "919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Ohio South\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"MGI / Austria M34\",GEOGCS[\"MGI\",DATUM[\"Mili");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "tar_Geographische_Institute\",SPHEROID[\"Bessel 1841\",6");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOW");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "GS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],AU");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "THORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",40.033333333");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4312\"]");
     add_srs_wkt (p, 8,
-        "33333],PARAMETER[\"standard_parallel_2\",38.733333333333");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 9,
-        "33],PARAMETER[\"latitude_of_origin\",38],PARAMETER[\"cen");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",16.3333");
     add_srs_wkt (p, 10,
-        "tral_meridian\",-82.5],PARAMETER[\"false_easting\",60000");
+        "3333333333],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa");
     add_srs_wkt (p, 11,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        "lse_easting\",750000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
     add_srs_wkt (p, 13,
-        "RTH],AUTHORITY[\"EPSG\",\"32123\"]]");
-    p = add_epsg_def (filter, first, last, 32124, "epsg", 32124,
-        "NAD83 / Oklahoma North");
+        "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31286\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31287, "epsg", 31287,
+        "MGI / Austria Lambert", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
+        "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.3333");
     add_proj4text (p, 1,
-        "667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +datum=NAD83");
+        "3333333333 +x_0=400000 +y_0=400000 +ellps=bessel +towgs8");
     add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "4=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units");
+    add_proj4text (p, 3,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Oklahoma North\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"MGI / Austria Lambert\",GEOGCS[\"MGI\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.76666");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"431");
     add_srs_wkt (p, 8,
-        "666666667],PARAMETER[\"standard_parallel_2\",35.56666666");
+        "2\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 9,
-        "666667],PARAMETER[\"latitude_of_origin\",35],PARAMETER[\"");
+        "TER[\"standard_parallel_1\",49],PARAMETER[\"standard_par");
     add_srs_wkt (p, 10,
-        "central_meridian\",-98],PARAMETER[\"false_easting\",6000");
+        "allel_2\",46],PARAMETER[\"latitude_of_origin\",47.5],PAR");
     add_srs_wkt (p, 11,
-        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
+        "AMETER[\"central_meridian\",13.33333333333333],PARAMETER");
     add_srs_wkt (p, 12,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N");
+        "[\"false_easting\",400000],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 13,
-        "ORTH],AUTHORITY[\"EPSG\",\"32124\"]]");
-    p = add_epsg_def (filter, first, last, 32125, "epsg", 32125,
-        "NAD83 / Oklahoma South");
-    add_proj4text (p, 0,
-        "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
-    add_proj4text (p, 1,
-        "333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0");
+        "400000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 15,
+        "1287\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31288, "epsg", 31288,
+        "MGI (Ferro) / M28", 0, 1,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
+    add_proj4text (p, 0,
+        "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=150000 +y_0=0 +");
+    add_proj4text (p, 1,
+        "ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +un");
     add_proj4text (p, 2,
-        "=0 +datum=NAD83 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Oklahoma South\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"MGI (Ferro) / M28\",GEOGCS[\"MGI (Ferro)\",DATU");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "M[\"Militar_Geographische_Institut_Ferro\",SPHEROID[\"Be");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "ssel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "7004\"]],TOWGS84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        ",\"6805\"]],PRIMEM[\"Ferro\",-17.66666666666667,AUTHORIT");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "Y[\"EPSG\",\"8909\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",35.23333");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4805\"]],P");
     add_srs_wkt (p, 8,
-        "333333333],PARAMETER[\"standard_parallel_2\",33.93333333");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "333333],PARAMETER[\"latitude_of_origin\",33.333333333333");
+        "of_origin\",0],PARAMETER[\"central_meridian\",28],PARAME");
     add_srs_wkt (p, 10,
-        "34],PARAMETER[\"central_meridian\",-98],PARAMETER[\"fals");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1500");
     add_srs_wkt (p, 11,
-        "e_easting\",600000],PARAMETER[\"false_northing\",0],UNIT");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
     add_srs_wkt (p, 13,
-        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32125\"]]");
-    p = add_epsg_def (filter, first, last, 32126, "epsg", 32126,
-        "NAD83 / Oregon North");
+        "EAST],AUTHORITY[\"EPSG\",\"31288\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31289, "epsg", 31289,
+        "MGI (Ferro) / M31", 0, 1,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
+        "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=450000 +y_0=0 +");
     add_proj4text (p, 1,
-        "6666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +datum=N");
+        "ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +un");
     add_proj4text (p, 2,
-        "AD83 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Oregon North\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"MGI (Ferro) / M31\",GEOGCS[\"MGI (Ferro)\",DATU");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "M[\"Militar_Geographische_Institut_Ferro\",SPHEROID[\"Be");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "ssel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "7004\"]],TOWGS84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",\"6805\"]],PRIMEM[\"Ferro\",-17.66666666666667,AUTHORIT");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "Y[\"EPSG\",\"8909\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",46],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4805\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",44.33333333333334],PARAMETER[");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "\"latitude_of_origin\",43.66666666666666],PARAMETER[\"ce");
+        "of_origin\",0],PARAMETER[\"central_meridian\",31],PARAME");
     add_srs_wkt (p, 10,
-        "ntral_meridian\",-120.5],PARAMETER[\"false_easting\",250");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",4500");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32126\"]]");
-    p = add_epsg_def (filter, first, last, 32127, "epsg", 32127,
-        "NAD83 / Oregon South");
+        "EAST],AUTHORITY[\"EPSG\",\"31289\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31290, "epsg", 31290,
+        "MGI (Ferro) / M34", 0, 1,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
+        "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=750000 +y_0=0 +");
     add_proj4text (p, 1,
-        "6666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +datum=N");
+        "ellps=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +un");
     add_proj4text (p, 2,
-        "AD83 +units=m +no_defs");
+        "its=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Oregon South\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"MGI (Ferro) / M34\",GEOGCS[\"MGI (Ferro)\",DATU");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "M[\"Militar_Geographische_Institut_Ferro\",SPHEROID[\"Be");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "ssel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "7004\"]],TOWGS84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",\"6805\"]],PRIMEM[\"Ferro\",-17.66666666666667,AUTHORIT");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "Y[\"EPSG\",\"8909\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",44],PARAMET");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4805\"]],P");
     add_srs_wkt (p, 8,
-        "ER[\"standard_parallel_2\",42.33333333333334],PARAMETER[");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 9,
-        "\"latitude_of_origin\",41.66666666666666],PARAMETER[\"ce");
+        "of_origin\",0],PARAMETER[\"central_meridian\",34],PARAME");
     add_srs_wkt (p, 10,
-        "ntral_meridian\",-120.5],PARAMETER[\"false_easting\",150");
+        "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",7500");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32127\"]]");
-    p = add_epsg_def (filter, first, last, 32128, "epsg", 32128,
-        "NAD83 / Pennsylvania North");
+        "EAST],AUTHORITY[\"EPSG\",\"31290\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31291, "epsg", 31291,
+        "MGI (Ferro) / Austria West Zone (deprecated)", 0, 0,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
+        "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps");
     add_proj4text (p, 1,
-        "0.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +datum");
+        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
     add_proj4text (p, 2,
-        "=NAD83 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Pennsylvania North\",GEOGCS[\"NAD83\",D");
+        "PROJCS[\"MGI (Ferro) / Austria West Zone (deprecated)\",");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "GEOGCS[\"MGI (Ferro)\",DATUM[\"Militar_Geographische_Ins");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "titut_Ferro\",SPHEROID[\"Bessel 1841\",6377397.155,299.1");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        "528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,48");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\"");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        ",-17.66666666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.9");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "5],PARAMETER[\"standard_parallel_2\",40.88333333333333],");
+        "ORITY[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "PARAMETER[\"latitude_of_origin\",40.16666666666666],PARA");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 10,
-        "METER[\"central_meridian\",-77.75],PARAMETER[\"false_eas");
+        "ntral_meridian\",28],PARAMETER[\"scale_factor\",1],PARAM");
     add_srs_wkt (p, 11,
-        "ting\",600000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+        "ETER[\"false_easting\",0],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 12,
-        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32128\"]]");
-    p = add_epsg_def (filter, first, last, 32129, "epsg", 32129,
-        "NAD83 / Pennsylvania South");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31291\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 31292, "epsg", 31292,
+        "MGI (Ferro) / Austria Central Zone (deprecated)", 0, 0,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps");
     add_proj4text (p, 1,
-        "333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +");
+        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
     add_proj4text (p, 2,
-        "y_0=0 +datum=NAD83 +units=m +no_defs");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Pennsylvania South\",GEOGCS[\"NAD83\",D");
+        "PROJCS[\"MGI (Ferro) / Austria Central Zone (deprecated)");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "\",GEOGCS[\"MGI (Ferro)\",DATUM[\"Militar_Geographische_");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "Institut_Ferro\",SPHEROID[\"Bessel 1841\",6377397.155,29");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        "9.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        ",480,0,0,0,0],AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Fer");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "ro\",-17.66666666666667,AUTHORITY[\"EPSG\",\"8909\"]],UN");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.9");
+        "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"standard_parallel_2\",39.9333");
+        ",AUTHORITY[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_M");
     add_srs_wkt (p, 9,
-        "3333333333],PARAMETER[\"latitude_of_origin\",39.33333333");
+        "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER");
     add_srs_wkt (p, 10,
-        "333334],PARAMETER[\"central_meridian\",-77.75],PARAMETER");
+        "[\"central_meridian\",31],PARAMETER[\"scale_factor\",1],");
     add_srs_wkt (p, 11,
-        "[\"false_easting\",600000],PARAMETER[\"false_northing\",");
+        "PARAMETER[\"false_easting\",0],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32129\"");
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 32130, "epsg", 32130,
-        "NAD83 / Rhode Island");
+        "292\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31293, "epsg", 31293,
+        "MGI (Ferro) / Austria East Zone (deprecated)", 0, 0,
+        "Bessel 1841", "Ferro",
+        "Militar_Geographische_Institut_Ferro", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
+        "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps");
     add_proj4text (p, 1,
-        "9999375 +x_0=100000 +y_0=0 +datum=NAD83 +units=m +no_def");
+        "=bessel +towgs84=682,-203,480,0,0,0,0 +pm=ferro +units=m");
     add_proj4text (p, 2,
-        "s");
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Rhode Island\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"MGI (Ferro) / Austria East Zone (deprecated)\",");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "GEOGCS[\"MGI (Ferro)\",DATUM[\"Militar_Geographische_Ins");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "titut_Ferro\",SPHEROID[\"Bessel 1841\",6377397.155,299.1");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,48");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6805\"]],PRIMEM[\"Ferro\"");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        ",-17.66666666666667,AUTHORITY[\"EPSG\",\"8909\"]],UNIT[\"");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",41.08333333333334],PA");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 8,
-        "RAMETER[\"central_meridian\",-71.5],PARAMETER[\"scale_fa");
+        "ORITY[\"EPSG\",\"4805\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 9,
-        "ctor\",0.99999375],PARAMETER[\"false_easting\",100000],P");
+        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
     add_srs_wkt (p, 10,
-        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+        "ntral_meridian\",34],PARAMETER[\"scale_factor\",1],PARAM");
     add_srs_wkt (p, 11,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "ETER[\"false_easting\",0],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"32130\"]]");
-    p = add_epsg_def (filter, first, last, 32133, "epsg", 32133,
-        "NAD83 / South Carolina");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31293\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 31294, "epsg", 31294,
+        "MGI / M28 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
+        "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        ".83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +datum=NAD");
+        "150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.");
     add_proj4text (p, 2,
-        "83 +units=m +no_defs");
+        "919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / South Carolina\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"MGI / M28 (deprecated)\",GEOGCS[\"MGI\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",34.83333");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"431");
     add_srs_wkt (p, 8,
-        "333333334],PARAMETER[\"standard_parallel_2\",32.5],PARAM");
+        "2\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "ETER[\"latitude_of_origin\",31.83333333333333],PARAMETER");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",10.");
     add_srs_wkt (p, 10,
-        "[\"central_meridian\",-81],PARAMETER[\"false_easting\",6");
+        "33333333333333],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 11,
-        "09600],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,");
+        "\"false_easting\",150000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32133\"]]");
-    p = add_epsg_def (filter, first, last, 32134, "epsg", 32134,
-        "NAD83 / South Dakota North");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31294\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 31295, "epsg", 31295,
+        "MGI / M31 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        "666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_");
+        "450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.");
     add_proj4text (p, 2,
-        "0=0 +datum=NAD83 +units=m +no_defs");
+        "919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / South Dakota North\",GEOGCS[\"NAD83\",D");
+        "PROJCS[\"MGI / M31 (deprecated)\",GEOGCS[\"MGI\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.6");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"431");
     add_srs_wkt (p, 8,
-        "8333333333333],PARAMETER[\"standard_parallel_2\",44.4166");
+        "2\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "6666666666],PARAMETER[\"latitude_of_origin\",43.83333333");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",13.");
     add_srs_wkt (p, 10,
-        "333334],PARAMETER[\"central_meridian\",-100],PARAMETER[\"");
+        "33333333333333],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 11,
-        "false_easting\",600000],PARAMETER[\"false_northing\",0],");
+        "\"false_easting\",450000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 12,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32134\"]]");
-    p = add_epsg_def (filter, first, last, 32135, "epsg", 32135,
-        "NAD83 / South Dakota South");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31295\"");
+    add_srs_wkt (p, 14,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 31296, "epsg", 31296,
+        "MGI / M34 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
+        "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=");
     add_proj4text (p, 1,
-        ".33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y");
+        "750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.");
     add_proj4text (p, 2,
-        "_0=0 +datum=NAD83 +units=m +no_defs");
+        "919,5.137,1.474,5.297,2.4232 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / South Dakota South\",GEOGCS[\"NAD83\",D");
+        "PROJCS[\"MGI / M34 (deprecated)\",GEOGCS[\"MGI\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "Militar_Geographische_Institute\",SPHEROID[\"Bessel 1841");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]]");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        ",TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44.4");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"431");
     add_srs_wkt (p, 8,
-        "],PARAMETER[\"standard_parallel_2\",42.83333333333334],P");
+        "2\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"latitude_of_origin\",42.33333333333334],PARAM");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",16.");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-100.3333333333333],PARAMETER[");
+        "33333333333333],PARAMETER[\"scale_factor\",1],PARAMETER[");
     add_srs_wkt (p, 11,
-        "\"false_easting\",600000],PARAMETER[\"false_northing\",0");
+        "\"false_easting\",750000],PARAMETER[\"false_northing\",0");
     add_srs_wkt (p, 12,
         "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32135\"");
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31296\"");
     add_srs_wkt (p, 14,
         "]]");
-    p = add_epsg_def (filter, first, last, 32136, "epsg", 32136,
-        "NAD83 / Tennessee");
+    p = add_epsg_def_ex (filter, first, last, 31297, "epsg", 31297,
+        "MGI / Austria Lambert (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Militar_Geographische_Institute", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
+        "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.3333");
     add_proj4text (p, 1,
-        "4.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +datum=NA");
+        "3333333333 +x_0=400000 +y_0=400000 +ellps=bessel +towgs8");
     add_proj4text (p, 2,
-        "D83 +units=m +no_defs");
+        "4=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units");
+    add_proj4text (p, 3,
+        "=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Tennessee\",GEOGCS[\"NAD83\",DATUM[\"No");
+        "PROJCS[\"MGI / Austria Lambert (deprecated)\",GEOGCS[\"M");
     add_srs_wkt (p, 1,
-        "rth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,");
+        "GI\",DATUM[\"Militar_Geographische_Institute\",SPHEROID[");
     add_srs_wkt (p, 2,
-        "298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,");
+        "\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenw");
+        "\",\"7004\"]],TOWGS84[577.326,90.129,463.919,5.137,1.474");
     add_srs_wkt (p, 4,
-        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
+        ",5.297,2.4232],AUTHORITY[\"EPSG\",\"6312\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 5,
-        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 6,
-        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 7,
-        "c_2SP\"],PARAMETER[\"standard_parallel_1\",36.4166666666");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 8,
-        "6666],PARAMETER[\"standard_parallel_2\",35.25],PARAMETER");
+        "PSG\",\"4312\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 9,
-        "[\"latitude_of_origin\",34.33333333333334],PARAMETER[\"c");
+        "P\"],PARAMETER[\"standard_parallel_1\",49],PARAMETER[\"s");
     add_srs_wkt (p, 10,
-        "entral_meridian\",-86],PARAMETER[\"false_easting\",60000");
+        "tandard_parallel_2\",46],PARAMETER[\"latitude_of_origin\"");
     add_srs_wkt (p, 11,
-        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+        ",47.5],PARAMETER[\"central_meridian\",13.33333333333333]");
     add_srs_wkt (p, 12,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        ",PARAMETER[\"false_easting\",400000],PARAMETER[\"false_n");
     add_srs_wkt (p, 13,
-        "RTH],AUTHORITY[\"EPSG\",\"32136\"]]");
-    p = add_epsg_def (filter, first, last, 32137, "epsg", 32137,
-        "NAD83 / Texas North");
+        "orthing\",400000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 14,
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 15,
+        "EPSG\",\"31297\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31300, "epsg", 31300,
+        "Belge 1972 / Belge Lambert 72", 0, 0,
+        "International 1924", "Greenwich",
+        "Reseau_National_Belge_1972", "Lambert_Conformal_Conic_2SP_Belgium", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
+        "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666");
     add_proj4text (p, 1,
-        "4 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +datum=NAD83 +u");
+        "666 +lat_0=90 +lon_0=4.356939722222222 +x_0=150000.01256");
     add_proj4text (p, 2,
-        "nits=m +no_defs");
+        " +y_0=5400088.4378 +ellps=intl +towgs84=-106.8686,52.297");
+    add_proj4text (p, 3,
+        "8,-103.7239,0.3366,-0.457,1.8422,-1.2747 +units=m +no_de");
+    add_proj4text (p, 4,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Texas North\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Belge 1972 / Belge Lambert 72\",GEOGCS[\"Belge ");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "1972\",DATUM[\"Reseau_National_Belge_1972\",SPHEROID[\"I");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "nternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"702");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "2\"]],TOWGS84[-106.8686,52.2978,-103.7239,0.3366,-0.457,");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIMEM[\"G");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",36.18333333");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 8,
-        "333333],PARAMETER[\"standard_parallel_2\",34.65],PARAMET");
+        "\"EPSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 9,
-        "ER[\"latitude_of_origin\",34],PARAMETER[\"central_meridi");
+        "_2SP_Belgium\"],PARAMETER[\"standard_parallel_1\",49.833");
     add_srs_wkt (p, 10,
-        "an\",-101.5],PARAMETER[\"false_easting\",200000],PARAMET");
+        "33333333334],PARAMETER[\"standard_parallel_2\",51.166666");
     add_srs_wkt (p, 11,
-        "ER[\"false_northing\",1000000],UNIT[\"metre\",1,AUTHORIT");
+        "66666666],PARAMETER[\"latitude_of_origin\",90],PARAMETER");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+        "[\"central_meridian\",4.356939722222222],PARAMETER[\"fal");
     add_srs_wkt (p, 13,
-        ",AUTHORITY[\"EPSG\",\"32137\"]]");
-    p = add_epsg_def (filter, first, last, 32138, "epsg", 32138,
-        "NAD83 / Texas North Central");
-    add_proj4text (p, 0,
-        "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
-    add_proj4text (p, 1,
-        "333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y");
+        "se_easting\",150000.01256],PARAMETER[\"false_northing\",");
+    add_srs_wkt (p, 14,
+        "5400088.4378],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001");
+    add_srs_wkt (p, 15,
+        "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 16,
+        "\",\"31300\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31370, "epsg", 31370,
+        "Belge 1972 / Belgian Lambert 72", 0, 0,
+        "International 1924", "Greenwich",
+        "Reseau_National_Belge_1972", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +la");
+    add_proj4text (p, 1,
+        "t_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=540");
     add_proj4text (p, 2,
-        "_0=2000000 +datum=NAD83 +units=m +no_defs");
+        "0088.438 +ellps=intl +towgs84=-106.8686,52.2978,-103.723");
+    add_proj4text (p, 3,
+        "9,0.3366,-0.457,1.8422,-1.2747 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Texas North Central\",GEOGCS[\"NAD83\",");
+        "PROJCS[\"Belge 1972 / Belgian Lambert 72\",GEOGCS[\"Belg");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "e 1972\",DATUM[\"Reseau_National_Belge_1972\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        "22\"]],TOWGS84[-106.8686,52.2978,-103.7239,0.3366,-0.457");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        ",1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIMEM[\"");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",33.9");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 8,
-        "6666666666667],PARAMETER[\"standard_parallel_2\",32.1333");
+        "[\"EPSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 9,
-        "3333333333],PARAMETER[\"latitude_of_origin\",31.66666666");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",51.1666672333");
     add_srs_wkt (p, 10,
-        "666667],PARAMETER[\"central_meridian\",-98.5],PARAMETER[");
+        "3333],PARAMETER[\"standard_parallel_2\",49.8333339],PARA");
     add_srs_wkt (p, 11,
-        "\"false_easting\",600000],PARAMETER[\"false_northing\",2");
+        "METER[\"latitude_of_origin\",90],PARAMETER[\"central_mer");
     add_srs_wkt (p, 12,
-        "000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+        "idian\",4.367486666666666],PARAMETER[\"false_easting\",1");
     add_srs_wkt (p, 13,
-        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "50000.013],PARAMETER[\"false_northing\",5400088.438],UNI");
     add_srs_wkt (p, 14,
-        "2138\"]]");
-    p = add_epsg_def (filter, first, last, 32139, "epsg", 32139,
-        "NAD83 / Texas Central");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+    add_srs_wkt (p, 15,
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31370\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31461, "epsg", 31461,
+        "DHDN / 3-degree Gauss zone 1 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +");
+        "ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.45");
     add_proj4text (p, 2,
-        "x_0=700000 +y_0=3000000 +datum=NAD83 +units=m +no_defs");
+        "5,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Texas Central\",GEOGCS[\"NAD83\",DATUM[");
+        "PROJCS[\"DHDN / 3-degree Gauss zone 1 (deprecated)\",GEO");
     add_srs_wkt (p, 1,
-        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
+        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
     add_srs_wkt (p, 2,
-        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
+        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
+        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
     add_srs_wkt (p, 4,
-        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
+        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHOR");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",31.8833333");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "3333333],PARAMETER[\"standard_parallel_2\",30.1166666666");
+        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "6667],PARAMETER[\"latitude_of_origin\",29.66666666666667");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "],PARAMETER[\"central_meridian\",-100.3333333333333],PAR");
+        "ian\",3],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "AMETER[\"false_easting\",700000],PARAMETER[\"false_north");
+        "_easting\",1500000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "ing\",3000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
-    add_srs_wkt (p, 14,
-        "G\",\"32139\"]]");
-    p = add_epsg_def (filter, first, last, 32140, "epsg", 32140,
-        "NAD83 / Texas South Central");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31461\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31462, "epsg", 31462,
+        "DHDN / 3-degree Gauss zone 2 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0");
+        "ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.45");
     add_proj4text (p, 2,
-        "=4000000 +datum=NAD83 +units=m +no_defs");
+        "5,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Texas South Central\",GEOGCS[\"NAD83\",");
+        "PROJCS[\"DHDN / 3-degree Gauss zone 2 (deprecated)\",GEO");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",30.2");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "8333333333333],PARAMETER[\"standard_parallel_2\",28.3833");
+        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "3333333333],PARAMETER[\"latitude_of_origin\",27.83333333");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "333333],PARAMETER[\"central_meridian\",-99],PARAMETER[\"");
+        "ian\",6],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "false_easting\",600000],PARAMETER[\"false_northing\",400");
+        "_easting\",2500000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        "0000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"321");
-    add_srs_wkt (p, 14,
-        "40\"]]");
-    p = add_epsg_def (filter, first, last, 32141, "epsg", 32141,
-        "NAD83 / Texas South");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31462\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31463, "epsg", 31463,
+        "DHDN / 3-degree Gauss zone 3 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y");
+        "ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.45");
     add_proj4text (p, 2,
-        "_0=5000000 +datum=NAD83 +units=m +no_defs");
+        "5,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Texas South\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"DHDN / 3-degree Gauss zone 3 (deprecated)\",GEO");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",27.83333333");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "333333],PARAMETER[\"standard_parallel_2\",26.16666666666");
+        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "667],PARAMETER[\"latitude_of_origin\",25.66666666666667]");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        ",PARAMETER[\"central_meridian\",-98.5],PARAMETER[\"false");
+        "ian\",9],PARAMETER[\"scale_factor\",1],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "_easting\",300000],PARAMETER[\"false_northing\",5000000]");
+        "_easting\",3500000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 12,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
     add_srs_wkt (p, 13,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32141\"]");
-    add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 32142, "epsg", 32142,
-        "NAD83 / Utah North");
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31463\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31464, "epsg", 31464,
+        "DHDN / 3-degree Gauss zone 4 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +");
+        "+ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.4");
     add_proj4text (p, 2,
-        "y_0=1000000 +datum=NAD83 +units=m +no_defs");
+        "55,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Utah North\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"DHDN / 3-degree Gauss zone 4 (deprecated)\",GEO");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",41.783333333");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "33333],PARAMETER[\"standard_parallel_2\",40.716666666666");
+        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "67],PARAMETER[\"latitude_of_origin\",40.33333333333334],");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "PARAMETER[\"central_meridian\",-111.5],PARAMETER[\"false");
+        "ian\",12],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "_easting\",500000],PARAMETER[\"false_northing\",1000000]");
+        "e_easting\",4500000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 12,
-        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 13,
-        "\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32142\"]");
-    add_srs_wkt (p, 14,
-        "]");
-    p = add_epsg_def (filter, first, last, 32143, "epsg", 32143,
-        "NAD83 / Utah Central");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31464\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31465, "epsg", 31465,
+        "DHDN / 3-degree Gauss zone 5 (deprecated)", 0, 0,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "8.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 ");
+        "+ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.4");
     add_proj4text (p, 2,
-        "+datum=NAD83 +units=m +no_defs");
+        "55,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Utah Central\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"DHDN / 3-degree Gauss zone 5 (deprecated)\",GEO");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "GCS[\"DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHER");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "OID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "EPSG\",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "2.455,6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 7,
-        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",40.65],PARA");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_2\",39.01666666666667],PARAMET");
+        "G\",\"4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAM");
     add_srs_wkt (p, 9,
-        "ER[\"latitude_of_origin\",38.33333333333334],PARAMETER[\"");
+        "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid");
     add_srs_wkt (p, 10,
-        "central_meridian\",-111.5],PARAMETER[\"false_easting\",5");
+        "ian\",15],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "00000],PARAMETER[\"false_northing\",2000000],UNIT[\"metr");
+        "e_easting\",5500000],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 12,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 13,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32143\"]]");
-    p = add_epsg_def (filter, first, last, 32144, "epsg", 32144,
-        "NAD83 / Utah South");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31465\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31466, "epsg", 31466,
+        "DHDN / 3-degree Gauss-Kruger zone 2", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
+        "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "6.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 ");
+        "ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.45");
     add_proj4text (p, 2,
-        "+datum=NAD83 +units=m +no_defs");
+        "5,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Utah South\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 2\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        ",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-2.455,");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        "6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Con");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "ic_2SP\"],PARAMETER[\"standard_parallel_1\",38.35],PARAM");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "ETER[\"standard_parallel_2\",37.21666666666667],PARAMETE");
+        "4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "R[\"latitude_of_origin\",36.66666666666666],PARAMETER[\"");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",6");
     add_srs_wkt (p, 10,
-        "central_meridian\",-111.5],PARAMETER[\"false_easting\",5");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "00000],PARAMETER[\"false_northing\",3000000],UNIT[\"metr");
+        "g\",2500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
     add_srs_wkt (p, 13,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32144\"]]");
-    p = add_epsg_def (filter, first, last, 32145, "epsg", 32145,
-        "NAD83 / Vermont");
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31466\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31467, "epsg", 31467,
+        "DHDN / 3-degree Gauss-Kruger zone 3", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "=500000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.45");
+    add_proj4text (p, 2,
+        "5,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Vermont\",GEOGCS[\"NAD83\",DATUM[\"Nort");
+        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 3\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "h_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,29");
+        "DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
+        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenwic");
+        ",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-2.455,");
     add_srs_wkt (p, 4,
-        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
+        "6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 5,
-        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PA");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "RAMETER[\"latitude_of_origin\",42.5],PARAMETER[\"central");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "_meridian\",-72.5],PARAMETER[\"scale_factor\",0.99996428");
+        "4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "6],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",9");
     add_srs_wkt (p, 10,
-        "_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900");
+        "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin");
     add_srs_wkt (p, 11,
-        "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS");
+        "g\",3500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 12,
-        "G\",\"32145\"]]");
-    p = add_epsg_def (filter, first, last, 32146, "epsg", 32146,
-        "NAD83 / Virginia North");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX");
+    add_srs_wkt (p, 13,
+        "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31467\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31468, "epsg", 31468,
+        "DHDN / 3-degree Gauss-Kruger zone 4", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        ".66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +");
+        "+ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.4");
     add_proj4text (p, 2,
-        "datum=NAD83 +units=m +no_defs");
+        "55,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Virginia North\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 4\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        ",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-2.455,");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",39.2],PA");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "RAMETER[\"standard_parallel_2\",38.03333333333333],PARAM");
+        "4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "ETER[\"latitude_of_origin\",37.66666666666666],PARAMETER");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 10,
-        "[\"central_meridian\",-78.5],PARAMETER[\"false_easting\"");
+        "2],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        ",3500000],PARAMETER[\"false_northing\",2000000],UNIT[\"m");
+        "ng\",4500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
     add_srs_wkt (p, 13,
-        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32146\"]]");
-    p = add_epsg_def (filter, first, last, 32147, "epsg", 32147,
-        "NAD83 / Virginia South");
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31468\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31469, "epsg", 31469,
+        "DHDN / 3-degree Gauss-Kruger zone 5", 0, 1,
+        "Bessel 1841", "Greenwich",
+        "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +");
+        "+ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.4");
     add_proj4text (p, 2,
-        "y_0=1000000 +datum=NAD83 +units=m +no_defs");
+        "55,6.7 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Virginia South\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"DHDN / 3-degree Gauss-Kruger zone 5\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "DHDN\",DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHEROID[\"");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        ",\"7004\"]],TOWGS84[598.1,73.7,418.2,0.202,0.045,-2.455,");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "6.7],AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",37.96666");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 8,
-        "666666667],PARAMETER[\"standard_parallel_2\",36.76666666");
+        "4314\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "666667],PARAMETER[\"latitude_of_origin\",36.333333333333");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",1");
     add_srs_wkt (p, 10,
-        "34],PARAMETER[\"central_meridian\",-78.5],PARAMETER[\"fa");
+        "5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "lse_easting\",3500000],PARAMETER[\"false_northing\",1000");
+        "ng\",5500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 12,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],A");
     add_srs_wkt (p, 13,
-        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3214");
-    add_srs_wkt (p, 14,
-        "7\"]]");
-    p = add_epsg_def (filter, first, last, 32148, "epsg", 32148,
-        "NAD83 / Washington North");
+        "XIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31469\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31491, "epsg", 31491,
+        "Germany_Zone_1", 0, 0,
+        "Bessel_1841", "Greenwich",
+        "D_Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "Meter",
+        "unknown", "unknown", "unknown", "unknown");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
+        "+proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +");
     add_proj4text (p, 1,
-        " +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +datum=NAD");
-    add_proj4text (p, 2,
-        "83 +units=m +no_defs");
+        "ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Washington North\",GEOGCS[\"NAD83\",DAT");
+        "PROJCS[\"Germany_Zone_1\",GEOGCS[\"GCS_Deutsches_Hauptdr");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
+        "eiecksnetz\",DATUM[\"D_Deutsches_Hauptdreiecksnetz\",SPH");
     add_srs_wkt (p, 2,
-        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
+        "EROID[\"Bessel_1841\",6377397.155,299.1528128]],PRIMEM[\"");
     add_srs_wkt (p, 3,
-        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_East");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "ing\",1500000.0],PARAMETER[\"False_Northing\",0.0],PARAM");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "ETER[\"Central_Meridian\",3.0],PARAMETER[\"Scale_Factor\"");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",48.7333");
+        ",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter");
     add_srs_wkt (p, 8,
-        "3333333333],PARAMETER[\"standard_parallel_2\",47.5],PARA");
-    add_srs_wkt (p, 9,
-        "METER[\"latitude_of_origin\",47],PARAMETER[\"central_mer");
-    add_srs_wkt (p, 10,
-        "idian\",-120.8333333333333],PARAMETER[\"false_easting\",");
-    add_srs_wkt (p, 11,
-        "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
-    add_srs_wkt (p, 12,
-        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
-    add_srs_wkt (p, 13,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32148\"]]");
-    p = add_epsg_def (filter, first, last, 32149, "epsg", 32149,
-        "NAD83 / Washington South");
+        "\",1.0],AUTHORITY[\"EPSG\",\"31491\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31492, "epsg", 31492,
+        "Germany_Zone_2", 0, 0,
+        "Bessel_1841", "Greenwich",
+        "D_Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "Meter",
+        "unknown", "unknown", "unknown", "unknown");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +");
-    add_proj4text (p, 2,
-        "y_0=0 +datum=NAD83 +units=m +no_defs");
+        "ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Washington South\",GEOGCS[\"NAD83\",DAT");
+        "PROJCS[\"Germany_Zone_2\",GEOGCS[\"GCS_Deutsches_Hauptdr");
     add_srs_wkt (p, 1,
-        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
+        "eiecksnetz\",DATUM[\"D_Deutsches_Hauptdreiecksnetz\",SPH");
     add_srs_wkt (p, 2,
-        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
+        "EROID[\"Bessel_1841\",6377397.155,299.1528128]],PRIMEM[\"");
     add_srs_wkt (p, 3,
-        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_East");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "ing\",2500000.0],PARAMETER[\"False_Northing\",0.0],PARAM");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "ETER[\"Central_Meridian\",6.0],PARAMETER[\"Scale_Factor\"");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",47.3333");
+        ",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter");
     add_srs_wkt (p, 8,
-        "3333333334],PARAMETER[\"standard_parallel_2\",45.8333333");
-    add_srs_wkt (p, 9,
-        "3333334],PARAMETER[\"latitude_of_origin\",45.33333333333");
-    add_srs_wkt (p, 10,
-        "334],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"");
-    add_srs_wkt (p, 11,
-        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
-    add_srs_wkt (p, 12,
-        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
-    add_srs_wkt (p, 13,
-        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32149\"]]");
-    p = add_epsg_def (filter, first, last, 32150, "epsg", 32150,
-        "NAD83 / West Virginia North");
+        "\",1.0],AUTHORITY[\"EPSG\",\"31492\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31493, "epsg", 31493,
+        "Germany_Zone_3", 0, 0,
+        "Bessel_1841", "Greenwich",
+        "D_Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "Meter",
+        "unknown", "unknown", "unknown", "unknown");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
+        "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "5 +x_0=600000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / West Virginia North\",GEOGCS[\"NAD83\",");
+        "PROJCS[\"Germany_Zone_3\",GEOGCS[\"GCS_Deutsches_Hauptdr");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "eiecksnetz\",DATUM[\"D_Deutsches_Hauptdreiecksnetz\",SPH");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "EROID[\"Bessel_1841\",6377397.155,299.1528128]],PRIMEM[\"");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        "Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PR");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_East");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "ing\",3500000.0],PARAMETER[\"False_Northing\",0.0],PARAM");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "ETER[\"Central_Meridian\",9.0],PARAMETER[\"Scale_Factor\"");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",40.2");
+        ",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter");
     add_srs_wkt (p, 8,
-        "5],PARAMETER[\"standard_parallel_2\",39],PARAMETER[\"lat");
-    add_srs_wkt (p, 9,
-        "itude_of_origin\",38.5],PARAMETER[\"central_meridian\",-");
-    add_srs_wkt (p, 10,
-        "79.5],PARAMETER[\"false_easting\",600000],PARAMETER[\"fa");
-    add_srs_wkt (p, 11,
-        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 12,
-        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
-    add_srs_wkt (p, 13,
-        "EPSG\",\"32150\"]]");
-    p = add_epsg_def (filter, first, last, 32151, "epsg", 32151,
-        "NAD83 / West Virginia South");
+        "\",1.0],AUTHORITY[\"EPSG\",\"31493\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31494, "epsg", 31494,
+        "Germany_Zone_4", 0, 0,
+        "Bessel_1841", "Greenwich",
+        "D_Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "Meter",
+        "unknown", "unknown", "unknown", "unknown");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +datum=NAD83");
-    add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "+ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / West Virginia South\",GEOGCS[\"NAD83\",");
+        "PROJCS[\"Germany_Zone_4\",GEOGCS[\"GCS_Deutsches_Hauptdr");
     add_srs_wkt (p, 1,
-        "DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "eiecksnetz\",DATUM[\"D_Deutsches_Hauptdreiecksnetz\",SPH");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "EROID[\"Bessel_1841\",6377397.155,299.1528128]],PRIMEM[\"");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        "Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PR");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_East");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        "ing\",4500000.0],PARAMETER[\"False_Northing\",0.0],PARAM");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "ETER[\"Central_Meridian\",12.0],PARAMETER[\"Scale_Factor");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",38.8");
+        "\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Met");
     add_srs_wkt (p, 8,
-        "8333333333333],PARAMETER[\"standard_parallel_2\",37.4833");
-    add_srs_wkt (p, 9,
-        "3333333333],PARAMETER[\"latitude_of_origin\",37],PARAMET");
-    add_srs_wkt (p, 10,
-        "ER[\"central_meridian\",-81],PARAMETER[\"false_easting\"");
-    add_srs_wkt (p, 11,
-        ",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
-    add_srs_wkt (p, 12,
-        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
-    add_srs_wkt (p, 13,
-        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32151\"]]");
-    p = add_epsg_def (filter, first, last, 32152, "epsg", 32152,
-        "NAD83 / Wisconsin North");
+        "er\",1.0],AUTHORITY[\"EPSG\",\"31494\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31495, "epsg", 31495,
+        "Germany_Zone_5", 0, 0,
+        "Bessel_1841", "Greenwich",
+        "D_Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "Meter",
+        "unknown", "unknown", "unknown", "unknown");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
+        "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 ");
     add_proj4text (p, 1,
-        "667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0");
-    add_proj4text (p, 2,
-        "=0 +datum=NAD83 +units=m +no_defs");
+        "+ellps=bessel +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Wisconsin North\",GEOGCS[\"NAD83\",DATU");
+        "PROJCS[\"Germany_Zone_5\",GEOGCS[\"GCS_Deutsches_Hauptdr");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+        "eiecksnetz\",DATUM[\"D_Deutsches_Hauptdreiecksnetz\",SPH");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "EROID[\"Bessel_1841\",6377397.155,299.1528128]],PRIMEM[\"");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PR");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_East");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "ing\",5500000.0],PARAMETER[\"False_Northing\",0.0],PARAM");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "ETER[\"Central_Meridian\",15.0],PARAMETER[\"Scale_Factor");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",46.7666");
+        "\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Met");
     add_srs_wkt (p, 8,
-        "6666666667],PARAMETER[\"standard_parallel_2\",45.5666666");
-    add_srs_wkt (p, 9,
-        "6666667],PARAMETER[\"latitude_of_origin\",45.16666666666");
-    add_srs_wkt (p, 10,
-        "666],PARAMETER[\"central_meridian\",-90],PARAMETER[\"fal");
-    add_srs_wkt (p, 11,
-        "se_easting\",600000],PARAMETER[\"false_northing\",0],UNI");
-    add_srs_wkt (p, 12,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
-    add_srs_wkt (p, 13,
-        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32152\"]]");
-    p = add_epsg_def (filter, first, last, 32153, "epsg", 32153,
-        "NAD83 / Wisconsin Central");
+        "er\",1.0],AUTHORITY[\"EPSG\",\"31495\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31528, "epsg", 31528,
+        "Conakry 1905 / UTM zone 28N", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Conakry_1905", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
+        "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,");
     add_proj4text (p, 1,
-        "334 +lon_0=-90 +x_0=600000 +y_0=0 +datum=NAD83 +units=m ");
-    add_proj4text (p, 2,
-        "+no_defs");
+        "259,-9,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Wisconsin Central\",GEOGCS[\"NAD83\",DA");
+        "PROJCS[\"Conakry 1905 / UTM zone 28N\",GEOGCS[\"Conakry ");
     add_srs_wkt (p, 1,
-        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
+        "1905\",DATUM[\"Conakry_1905\",SPHEROID[\"Clarke 1880 (IG");
     add_srs_wkt (p, 2,
-        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
+        "N)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
+        "11\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
+        "6315\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "UTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confor");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "mal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",45.5]");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4315\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"standard_parallel_2\",44.25],PARAMETER[\"la");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "titude_of_origin\",43.83333333333334],PARAMETER[\"centra");
+        "ARAMETER[\"central_meridian\",-15],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "l_meridian\",-90],PARAMETER[\"false_easting\",600000],PA");
+        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        "AUTHORITY[\"EPSG\",\"32153\"]]");
-    p = add_epsg_def (filter, first, last, 32154, "epsg", 32154,
-        "NAD83 / Wisconsin South");
+        ",NORTH],AUTHORITY[\"EPSG\",\"31528\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31529, "epsg", 31529,
+        "Conakry 1905 / UTM zone 29N", 0, 0,
+        "Clarke 1880 (IGN)", "Greenwich",
+        "Conakry_1905", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
+        "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,");
     add_proj4text (p, 1,
-        "333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +datum=NAD83");
-    add_proj4text (p, 2,
-        " +units=m +no_defs");
+        "259,-9,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Wisconsin South\",GEOGCS[\"NAD83\",DATU");
+        "PROJCS[\"Conakry 1905 / UTM zone 29N\",GEOGCS[\"Conakry ");
     add_srs_wkt (p, 1,
-        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
+        "1905\",DATUM[\"Conakry_1905\",SPHEROID[\"Clarke 1880 (IG");
     add_srs_wkt (p, 2,
-        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
+        "N)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
+        "11\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 4,
-        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
+        "6315\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890");
     add_srs_wkt (p, 5,
-        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUT");
+        "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS");
     add_srs_wkt (p, 6,
-        "HORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conforma");
+        "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude");
     add_srs_wkt (p, 7,
-        "l_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",44.0666");
+        "\",EAST],AUTHORITY[\"EPSG\",\"4315\"]],PROJECTION[\"Tran");
     add_srs_wkt (p, 8,
-        "6666666667],PARAMETER[\"standard_parallel_2\",42.7333333");
+        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
     add_srs_wkt (p, 9,
-        "3333333],PARAMETER[\"latitude_of_origin\",42],PARAMETER[");
+        "ARAMETER[\"central_meridian\",-9],PARAMETER[\"scale_fact");
     add_srs_wkt (p, 10,
-        "\"central_meridian\",-90],PARAMETER[\"false_easting\",60");
+        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
     add_srs_wkt (p, 11,
-        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
     add_srs_wkt (p, 13,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32154\"]]");
-    p = add_epsg_def (filter, first, last, 32155, "epsg", 32155,
-        "NAD83 / Wyoming East");
+        ",NORTH],AUTHORITY[\"EPSG\",\"31529\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31600, "epsg", 31600,
+        "Dealul Piscului 1930 / Stereo 33", 0, 0,
+        "International 1924", "Greenwich",
+        "Dealul_Piscului_1930", "Oblique_Stereographic", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
+        "+proj=sterea +lat_0=45.9 +lon_0=25.39246588888889 +k=0.9");
     add_proj4text (p, 1,
-        "999375 +x_0=200000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "996667 +x_0=500000 +y_0=500000 +ellps=intl +towgs84=103.");
+    add_proj4text (p, 2,
+        "25,-100.4,-307.19,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Wyoming East\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"Dealul Piscului 1930 / Stereo 33\",GEOGCS[\"Dea");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "lul Piscului 1930\",DATUM[\"Dealul_Piscului_1930\",SPHER");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "OID[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ",\"7022\"]],TOWGS84[103.25,-100.4,-307.19,0,0,0,0],AUTHO");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "RITY[\"EPSG\",\"6316\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"cen");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4316\"]],P");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-105.1666666666667],PARAMETER[\"scale_fa");
+        "ROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"latitud");
     add_srs_wkt (p, 9,
-        "ctor\",0.9999375],PARAMETER[\"false_easting\",200000],PA");
+        "e_of_origin\",45.9],PARAMETER[\"central_meridian\",25.39");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY");
+        "246588888889],PARAMETER[\"scale_factor\",0.9996667],PARA");
     add_srs_wkt (p, 11,
-        "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],");
+        "METER[\"false_easting\",500000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "AUTHORITY[\"EPSG\",\"32155\"]]");
-    p = add_epsg_def (filter, first, last, 32156, "epsg", 32156,
-        "NAD83 / Wyoming East Central");
+        "ng\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 13,
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"31600\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31700, "epsg", 31700,
+        "Dealul Piscului 1970/ Stereo 70 (deprecated)", 0, 1,
+        "Krassowsky 1940", "Greenwich",
+        "Dealul_Piscului_1970", "Oblique_Stereographic", "metre",
+        "X", "North", "Y", "East");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
+        "+proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 ");
     add_proj4text (p, 1,
-        "999375 +x_0=400000 +y_0=100000 +datum=NAD83 +units=m +no");
+        "+y_0=500000 +ellps=krass +towgs84=28,-121,-77,0,0,0,0 +u");
     add_proj4text (p, 2,
-        "_defs");
+        "nits=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Wyoming East Central\",GEOGCS[\"NAD83\"");
+        "PROJCS[\"Dealul Piscului 1970/ Stereo 70 (deprecated)\",");
     add_srs_wkt (p, 1,
-        ",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980");
+        "GEOGCS[\"Dealul Piscului 1970\",DATUM[\"Dealul_Piscului_");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        "1970\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHOR");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIM");
+        "ITY[\"EPSG\",\"7024\"]],TOWGS84[28,-121,-77,0,0,0,0],AUT");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "HORITY[\"EPSG\",\"6317\"]],PRIMEM[\"Greenwich\",0,AUTHOR");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",40.5],PARAM");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4317\"]]");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-107.3333333333333],PARAMETER[");
+        ",PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"latit");
     add_srs_wkt (p, 9,
-        "\"scale_factor\",0.9999375],PARAMETER[\"false_easting\",");
+        "ude_of_origin\",46],PARAMETER[\"central_meridian\",25],P");
     add_srs_wkt (p, 10,
-        "400000],PARAMETER[\"false_northing\",100000],UNIT[\"metr");
+        "ARAMETER[\"scale_factor\",0.99975],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXI");
+        "ting\",500000],PARAMETER[\"false_northing\",500000],UNIT");
     add_srs_wkt (p, 12,
-        "S[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32156\"]]");
-    p = add_epsg_def (filter, first, last, 32157, "epsg", 32157,
-        "NAD83 / Wyoming West Central");
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"31700\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31838, "epsg", 31838,
+        "NGN / UTM zone 38N", 0, 0,
+        "WGS 84", "Greenwich",
+        "National_Geodetic_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
+        "+proj=utm +zone=38 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0");
     add_proj4text (p, 1,
-        "=600000 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Wyoming West Central\",GEOGCS[\"NAD83\"");
+        "PROJCS[\"NGN / UTM zone 38N\",GEOGCS[\"NGN\",DATUM[\"Nat");
     add_srs_wkt (p, 1,
-        ",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980");
+        "ional_Geodetic_Network\",SPHEROID[\"WGS 84\",6378137,298");
     add_srs_wkt (p, 2,
-        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
+        ".257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[-3.2,-5");
     add_srs_wkt (p, 3,
-        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIM");
+        ".7,2.8,0,0,0,0],AUTHORITY[\"EPSG\",\"6318\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "Mercator\"],PARAMETER[\"latitude_of_origin\",40.5],PARAM");
+        "\"EPSG\",\"4318\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "ETER[\"central_meridian\",-108.75],PARAMETER[\"scale_fac");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "tor\",0.9999375],PARAMETER[\"false_easting\",600000],PAR");
+        "meridian\",45],PARAMETER[\"scale_factor\",0.9996],PARAME");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "UTHORITY[\"EPSG\",\"32157\"]]");
-    p = add_epsg_def (filter, first, last, 32158, "epsg", 32158,
-        "NAD83 / Wyoming West");
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"31838\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31839, "epsg", 31839,
+        "NGN / UTM zone 39N", 0, 0,
+        "WGS 84", "Greenwich",
+        "National_Geodetic_Network", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
+        "+proj=utm +zone=39 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0");
     add_proj4text (p, 1,
-        "999375 +x_0=800000 +y_0=100000 +datum=NAD83 +units=m +no");
-    add_proj4text (p, 2,
-        "_defs");
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Wyoming West\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"NGN / UTM zone 39N\",GEOGCS[\"NGN\",DATUM[\"Nat");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "ional_Geodetic_Network\",SPHEROID[\"WGS 84\",6378137,298");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        ".257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[-3.2,-5");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        ".7,2.8,0,0,0,0],AUTHORITY[\"EPSG\",\"6318\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"cen");
+        "\"EPSG\",\"4318\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        "tral_meridian\",-110.0833333333333],PARAMETER[\"scale_fa");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "ctor\",0.9999375],PARAMETER[\"false_easting\",800000],PA");
+        "meridian\",51],PARAMETER[\"scale_factor\",0.9996],PARAME");
     add_srs_wkt (p, 10,
-        "RAMETER[\"false_northing\",100000],UNIT[\"metre\",1,AUTH");
+        "TER[\"false_easting\",500000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "RTH],AUTHORITY[\"EPSG\",\"32158\"]]");
-    p = add_epsg_def (filter, first, last, 32161, "epsg", 32161,
-        "NAD83 / Puerto Rico & Virgin Is.");
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"31839\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31900, "epsg", 31900,
+        "KUDAMS / KTM (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Kuwait_Utility", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333");
+        "+proj=tmerc +lat_0=0 +lon_0=48 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
-        "333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +");
+        "0=0 +ellps=GRS80 +towgs84=-20.8,11.3,2.4,0,0,0,0 +units=");
     add_proj4text (p, 2,
-        "x_0=200000 +y_0=200000 +datum=NAD83 +units=m +no_defs");
+        "m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Puerto Rico & Virgin Is.\",GEOGCS[\"NAD");
+        "PROJCS[\"KUDAMS / KTM (deprecated)\",GEOGCS[\"KUDAMS\",D");
     add_srs_wkt (p, 1,
-        "83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS ");
+        "ATUM[\"Kuwait_Utility\",SPHEROID[\"GRS 1980\",6378137,29");
     add_srs_wkt (p, 2,
-        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
+        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[-20.8,");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],");
+        "11.3,2.4,0,0,0,0],AUTHORITY[\"EPSG\",\"6319\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\"");
+        "[\"EPSG\",\"4319\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        ",18.43333333333333],PARAMETER[\"standard_parallel_2\",18");
+        ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        ".03333333333333],PARAMETER[\"latitude_of_origin\",17.833");
+        "_meridian\",48],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "33333333333],PARAMETER[\"central_meridian\",-66.43333333");
+        "ETER[\"false_easting\",500000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 11,
-        "333334],PARAMETER[\"false_easting\",200000],PARAMETER[\"");
+        "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX");
     add_srs_wkt (p, 12,
-        "false_northing\",200000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[");
     add_srs_wkt (p, 13,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
-    add_srs_wkt (p, 14,
-        "RITY[\"EPSG\",\"32161\"]]");
-    p = add_epsg_def (filter, first, last, 32164, "epsg", 32164,
-        "NAD83 / BLM 14N (ftUS)");
+        "\"EPSG\",\"31900\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31901, "epsg", 31901,
+        "KUDAMS / KTM", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Kuwait_Utility", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.00");
+        "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "ellps=GRS80 +towgs84=-20.8,11.3,2.4,0,0,0,0 +units=m +no");
+    add_proj4text (p, 2,
+        "_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / BLM 14N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"KUDAMS / KTM\",GEOGCS[\"KUDAMS\",DATUM[\"Kuwait");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "_Utility\",SPHEROID[\"GRS 1980\",6378137,298.257222101,A");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "UTHORITY[\"EPSG\",\"7019\"]],TOWGS84[-20.8,11.3,2.4,0,0,");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "0,0],AUTHORITY[\"EPSG\",\"6319\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "4319\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-99],PARAMETER[\"scale_factor\",0.9996]");
+        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fal");
+        "8],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "ng\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32164\"]]");
-    p = add_epsg_def (filter, first, last, 32165, "epsg", 32165,
-        "NAD83 / BLM 15N (ftUS)");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"31901\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 31965, "epsg", 31965,
+        "SIRGAS 2000 / UTM zone 11N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.00");
+        "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / BLM 15N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 11N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-93],PARAMETER[\"scale_factor\",0.9996]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-117");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32165\"]]");
-    p = add_epsg_def (filter, first, last, 32166, "epsg", 32166,
-        "NAD83 / BLM 16N (ftUS)");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"319");
+    add_srs_wkt (p, 14,
+        "65\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31966, "epsg", 31966,
+        "SIRGAS 2000 / UTM zone 12N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.00");
+        "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / BLM 16N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 12N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-87],PARAMETER[\"scale_factor\",0.9996]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-111");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32166\"]]");
-    p = add_epsg_def (filter, first, last, 32167, "epsg", 32167,
-        "NAD83 / BLM 17N (ftUS)");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"319");
+    add_srs_wkt (p, 14,
+        "66\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31967, "epsg", 31967,
+        "SIRGAS 2000 / UTM zone 13N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.00");
+        "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "1016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / BLM 17N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 13N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "or\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"ce");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "ntral_meridian\",-81],PARAMETER[\"scale_factor\",0.9996]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_easting\",1640416.67],PARAMETER[\"fal");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-105");
     add_srs_wkt (p, 10,
-        "se_northing\",0],UNIT[\"US survey foot\",0.3048006096012");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 11,
-        "192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32167\"]]");
-    p = add_epsg_def (filter, first, last, 32180, "epsg", 32180,
-        "NAD83 / SCoPQ zone 2 (deprecated)");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"319");
+    add_srs_wkt (p, 14,
+        "67\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31968, "epsg", 31968,
+        "SIRGAS 2000 / UTM zone 14N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / SCoPQ zone 2 (deprecated)\",GEOGCS[\"NA");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 14N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "D83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "2\"]],AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transve");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "METER[\"central_meridian\",-55.5],PARAMETER[\"scale_fact");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "or\",0.9999],PARAMETER[\"false_easting\",304800],PARAMET");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-99]");
     add_srs_wkt (p, 10,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "RITY[\"EPSG\",\"32180\"]]");
-    p = add_epsg_def (filter, first, last, 32181, "epsg", 32181,
-        "NAD83 / MTM zone 1");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3196");
+    add_srs_wkt (p, 14,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31969, "epsg", 31969,
+        "SIRGAS 2000 / UTM zone 15N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y");
+        "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 1\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 15N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-53],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-93]");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPS");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "G\",\"32181\"]]");
-    p = add_epsg_def (filter, first, last, 32182, "epsg", 32182,
-        "NAD83 / MTM zone 2");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3196");
+    add_srs_wkt (p, 14,
+        "9\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31970, "epsg", 31970,
+        "SIRGAS 2000 / UTM zone 16N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y");
+        "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 2\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 16N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-56],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-87]");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPS");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "G\",\"32182\"]]");
-    p = add_epsg_def (filter, first, last, 32183, "epsg", 32183,
-        "NAD83 / MTM zone 3");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3197");
+    add_srs_wkt (p, 14,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31971, "epsg", 31971,
+        "SIRGAS 2000 / UTM zone 17N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 3\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 17N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-58.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-81]");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"E");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "PSG\",\"32183\"]]");
-    p = add_epsg_def (filter, first, last, 32184, "epsg", 32184,
-        "NAD83 / MTM zone 4");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3197");
+    add_srs_wkt (p, 14,
+        "1\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31972, "epsg", 31972,
+        "SIRGAS 2000 / UTM zone 18N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 4\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 18N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-61.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-75]");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"E");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "PSG\",\"32184\"]]");
-    p = add_epsg_def (filter, first, last, 32185, "epsg", 32185,
-        "NAD83 / MTM zone 5");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3197");
+    add_srs_wkt (p, 14,
+        "2\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31973, "epsg", 31973,
+        "SIRGAS 2000 / UTM zone 19N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 5\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 19N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-64.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-69]");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"E");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "PSG\",\"32185\"]]");
-    p = add_epsg_def (filter, first, last, 32186, "epsg", 32186,
-        "NAD83 / MTM zone 6");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3197");
+    add_srs_wkt (p, 14,
+        "3\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31974, "epsg", 31974,
+        "SIRGAS 2000 / UTM zone 20N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 6\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 20N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-67.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-63]");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"E");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "PSG\",\"32186\"]]");
-    p = add_epsg_def (filter, first, last, 32187, "epsg", 32187,
-        "NAD83 / MTM zone 7");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3197");
+    add_srs_wkt (p, 14,
+        "4\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31975, "epsg", 31975,
+        "SIRGAS 2000 / UTM zone 21N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 7\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 21N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-70.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-57]");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"E");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "PSG\",\"32187\"]]");
-    p = add_epsg_def (filter, first, last, 32188, "epsg", 32188,
-        "NAD83 / MTM zone 8");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3197");
+    add_srs_wkt (p, 14,
+        "5\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31976, "epsg", 31976,
+        "SIRGAS 2000 / UTM zone 22N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 8\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 22N\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-73.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-51]");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"E");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 12,
-        "PSG\",\"32188\"]]");
-    p = add_epsg_def (filter, first, last, 32189, "epsg", 32189,
-        "NAD83 / MTM zone 9");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3197");
+    add_srs_wkt (p, 14,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31977, "epsg", 31977,
+        "SIRGAS 2000 / UTM zone 17S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 9\",GEOGCS[\"NAD83\",DATUM[\"N");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 17S\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORIT");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "Y[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-76.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-81]");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"E");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 12,
-        "PSG\",\"32189\"]]");
-    p = add_epsg_def (filter, first, last, 32190, "epsg", 32190,
-        "NAD83 / MTM zone 10");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 13,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"31977\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31978, "epsg", 31978,
+        "SIRGAS 2000 / UTM zone 18S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 10\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 18S\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-79.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-75]");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "],AXIS[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"E");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 12,
-        "PSG\",\"32190\"]]");
-    p = add_epsg_def (filter, first, last, 32191, "epsg", 32191,
-        "NAD83 / MTM zone 11");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 13,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"31978\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31979, "epsg", 31979,
+        "SIRGAS 2000 / UTM zone 19S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 ");
+        "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "+y_0=0 +datum=NAD83 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 11\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 19S\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-82.5],PARAMETER[\"scale_factor\",0.9999],P");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "ARAMETER[\"false_easting\",304800],PARAMETER[\"false_nor");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-69]");
     add_srs_wkt (p, 10,
-        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 12,
-        "ITY[\"EPSG\",\"32191\"]]");
-    p = add_epsg_def (filter, first, last, 32192, "epsg", 32192,
-        "NAD83 / MTM zone 12");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 13,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"31979\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31980, "epsg", 31980,
+        "SIRGAS 2000 / UTM zone 20S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y");
+        "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "_0=0 +datum=NAD83 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 12\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 20S\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-81],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-63]");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"32192\"]]");
-    p = add_epsg_def (filter, first, last, 32193, "epsg", 32193,
-        "NAD83 / MTM zone 13");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 13,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"31980\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31981, "epsg", 31981,
+        "SIRGAS 2000 / UTM zone 21S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y");
+        "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "_0=0 +datum=NAD83 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 13\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 21S\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-84],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-57]");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"32193\"]]");
-    p = add_epsg_def (filter, first, last, 32194, "epsg", 32194,
-        "NAD83 / MTM zone 14");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 13,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"31981\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31982, "epsg", 31982,
+        "SIRGAS 2000 / UTM zone 22S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y");
+        "+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "_0=0 +datum=NAD83 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 14\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 22S\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-87],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-51]");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"32194\"]]");
-    p = add_epsg_def (filter, first, last, 32195, "epsg", 32195,
-        "NAD83 / MTM zone 15");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 13,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"31982\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31983, "epsg", 31983,
+        "SIRGAS 2000 / UTM zone 23S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y");
+        "+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "_0=0 +datum=NAD83 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 15\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 23S\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-90],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-45]");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"32195\"]]");
-    p = add_epsg_def (filter, first, last, 32196, "epsg", 32196,
-        "NAD83 / MTM zone 16");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 13,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"31983\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31984, "epsg", 31984,
+        "SIRGAS 2000 / UTM zone 24S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y");
+        "+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "_0=0 +datum=NAD83 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 16\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 24S\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-93],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-39]");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"32196\"]]");
-    p = add_epsg_def (filter, first, last, 32197, "epsg", 32197,
-        "NAD83 / MTM zone 17");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 13,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"31984\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31985, "epsg", 31985,
+        "SIRGAS 2000 / UTM zone 25S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y");
+        "+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "_0=0 +datum=NAD83 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / MTM zone 17\",GEOGCS[\"NAD83\",DATUM[\"");
+        "PROJCS[\"SIRGAS 2000 / UTM zone 25S\",GEOGCS[\"SIRGAS 20");
     add_srs_wkt (p, 1,
-        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
+        "00\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_las_");
     add_srs_wkt (p, 2,
-        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
+        "AmericaS_2000\",SPHEROID[\"GRS 1980\",6378137,298.257222");
     add_srs_wkt (p, 3,
-        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
+        "101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0]");
     add_srs_wkt (p, 4,
-        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
+        ",AUTHORITY[\"EPSG\",\"6674\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 5,
-        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORI");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 6,
-        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"centra");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4674");
     add_srs_wkt (p, 8,
-        "l_meridian\",-96],PARAMETER[\"scale_factor\",0.9999],PAR");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_easting\",304800],PARAMETER[\"false_north");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-33]");
     add_srs_wkt (p, 10,
-        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 11,
-        "AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORIT");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 12,
-        "Y[\"EPSG\",\"32197\"]]");
-    p = add_epsg_def (filter, first, last, 32198, "epsg", 32198,
-        "NAD83 / Quebec Lambert");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 13,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"31985\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31986, "epsg", 31986,
+        "SIRGAS 1995 / UTM zone 17N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
+        "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "0=0 +y_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Quebec Lambert\",GEOGCS[\"NAD83\",DATUM");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 17N\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTH");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",60],PARA");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "METER[\"standard_parallel_2\",46],PARAMETER[\"latitude_o");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "f_origin\",44],PARAMETER[\"central_meridian\",-68.5],PAR");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-8");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
+        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32198");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 13,
-        "\"]]");
-    p = add_epsg_def (filter, first, last, 32199, "epsg", 32199,
-        "NAD83 / Louisiana Offshore");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"319");
+    add_srs_wkt (p, 14,
+        "86\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31987, "epsg", 31987,
+        "SIRGAS 1995 / UTM zone 18N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
+        "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=1000000 +");
-    add_proj4text (p, 2,
-        "y_0=0 +datum=NAD83 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"NAD83 / Louisiana Offshore\",GEOGCS[\"NAD83\",D");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 18N\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",27.8");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "3333333333333],PARAMETER[\"standard_parallel_2\",26.1666");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "6666666667],PARAMETER[\"latitude_of_origin\",25.5],PARAM");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-7");
     add_srs_wkt (p, 10,
-        "ETER[\"central_meridian\",-91.33333333333333],PARAMETER[");
+        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "\"false_easting\",1000000],PARAMETER[\"false_northing\",");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 13,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32199\"");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"319");
     add_srs_wkt (p, 14,
-        "]]");
-    p = add_epsg_def (filter, first, last, 32201, "epsg", 32201,
-        "WGS 72 / UTM zone 1N");
+        "87\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31988, "epsg", 31988,
+        "SIRGAS 1995 / UTM zone 19N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
+        "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "4,0.2263 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 1N\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 19N\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "177],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-6");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "32201\"]]");
-    p = add_epsg_def (filter, first, last, 32202, "epsg", 32202,
-        "WGS 72 / UTM zone 2N");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"319");
+    add_srs_wkt (p, 14,
+        "88\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31989, "epsg", 31989,
+        "SIRGAS 1995 / UTM zone 20N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
+        "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "4,0.2263 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 2N\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 20N\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "171],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-6");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "32202\"]]");
-    p = add_epsg_def (filter, first, last, 32203, "epsg", 32203,
-        "WGS 72 / UTM zone 3N");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"319");
+    add_srs_wkt (p, 14,
+        "89\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31990, "epsg", 31990,
+        "SIRGAS 1995 / UTM zone 21N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
+        "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "4,0.2263 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 3N\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 21N\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "165],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-5");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "32203\"]]");
-    p = add_epsg_def (filter, first, last, 32204, "epsg", 32204,
-        "WGS 72 / UTM zone 4N");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"319");
+    add_srs_wkt (p, 14,
+        "90\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31991, "epsg", 31991,
+        "SIRGAS 1995 / UTM zone 22N", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
+        "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +");
     add_proj4text (p, 1,
-        "4,0.2263 +units=m +no_defs");
+        "units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 4N\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 22N\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "159],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-5");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 12,
-        "32204\"]]");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"319");
+    add_srs_wkt (p, 14,
+        "91\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_43.c b/src/srsinit/epsg_inlined_43.c
index 2e263a2..98d348f 100644
--- a/src/srsinit/epsg_inlined_43.c
+++ b/src/srsinit/epsg_inlined_43.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3238 +54,4047 @@ initialize_epsg_43 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 32205, "epsg", 32205,
-        "WGS 72 / UTM zone 5N");
+    p = add_epsg_def_ex (filter, first, last, 31992, "epsg", 31992,
+        "SIRGAS 1995 / UTM zone 17S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
+        "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "4,0.2263 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 5N\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 17S\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "153],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-8");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "32205\"]]");
-    p = add_epsg_def (filter, first, last, 32206, "epsg", 32206,
-        "WGS 72 / UTM zone 6N");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"31992\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31993, "epsg", 31993,
+        "SIRGAS 1995 / UTM zone 18S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
+        "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "4,0.2263 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 6N\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 18S\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "147],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-7");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "32206\"]]");
-    p = add_epsg_def (filter, first, last, 32207, "epsg", 32207,
-        "WGS 72 / UTM zone 7N");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"31993\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31994, "epsg", 31994,
+        "SIRGAS 1995 / UTM zone 19S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
+        "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "4,0.2263 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 7N\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 19S\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "141],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-6");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "32207\"]]");
-    p = add_epsg_def (filter, first, last, 32208, "epsg", 32208,
-        "WGS 72 / UTM zone 8N");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"31994\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31995, "epsg", 31995,
+        "SIRGAS 1995 / UTM zone 20S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
+        "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "4,0.2263 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 8N\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 20S\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "135],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-6");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "32208\"]]");
-    p = add_epsg_def (filter, first, last, 32209, "epsg", 32209,
-        "WGS 72 / UTM zone 9N");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"31995\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31996, "epsg", 31996,
+        "SIRGAS 1995 / UTM zone 21S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
+        "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "4,0.2263 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 9N\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 21S\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        "129],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-5");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "7],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "32209\"]]");
-    p = add_epsg_def (filter, first, last, 32210, "epsg", 32210,
-        "WGS 72 / UTM zone 10N");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"31996\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31997, "epsg", 31997,
+        "SIRGAS 1995 / UTM zone 22S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 10N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 22S\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        ",-123],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-5");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "1],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "\"32210\"]]");
-    p = add_epsg_def (filter, first, last, 32211, "epsg", 32211,
-        "WGS 72 / UTM zone 11N");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"31997\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31998, "epsg", 31998,
+        "SIRGAS 1995 / UTM zone 23S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 11N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 23S\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        ",-117],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-4");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "\"32211\"]]");
-    p = add_epsg_def (filter, first, last, 32212, "epsg", 32212,
-        "WGS 72 / UTM zone 12N");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"31998\"]]");
+    p = add_epsg_def_ex (filter, first, last, 31999, "epsg", 31999,
+        "SIRGAS 1995 / UTM zone 24S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 12N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 24S\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        ",-111],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-3");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "\"32212\"]]");
-    p = add_epsg_def (filter, first, last, 32213, "epsg", 32213,
-        "WGS 72 / UTM zone 13N");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"31999\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32000, "epsg", 32000,
+        "SIRGAS 1995 / UTM zone 25S", 0, 0,
+        "GRS 1980", "Greenwich",
+        "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_1995", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 13N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"SIRGAS 1995 / UTM zone 25S\",GEOGCS[\"SIRGAS 19");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "95\",DATUM[\"Sistema_de_Referencia_Geocentrico_para_Amer");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "ica_del_Sur_1995\",SPHEROID[\"GRS 1980\",6378137,298.257");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0],AUTHORITY[\"EPSG\",\"6170\"]],PRIMEM[\"Greenwich\",0");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41");
     add_srs_wkt (p, 8,
-        ",-105],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "70\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",0],UN");
+        "atitude_of_origin\",0],PARAMETER[\"central_meridian\",-3");
     add_srs_wkt (p, 10,
-        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+        "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_");
     add_srs_wkt (p, 11,
-        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+        "easting\",500000],PARAMETER[\"false_northing\",10000000]");
     add_srs_wkt (p, 12,
-        "\"32213\"]]");
-    p = add_epsg_def (filter, first, last, 32214, "epsg", 32214,
-        "WGS 72 / UTM zone 14N");
+        ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E");
+    add_srs_wkt (p, 13,
+        "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG");
+    add_srs_wkt (p, 14,
+        "\",\"32000\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32001, "epsg", 32001,
+        "NAD27 / Montana North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=48.71666666666667 +lat_2=47.85 +lat_0=4");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "7 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD");
+    add_proj4text (p, 2,
+        "27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 14N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Montana North\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 8,
-        ",-99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ER[\"standard_parallel_1\",48.71666666666667],PARAMETER[");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "\"standard_parallel_2\",47.85],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "rigin\",47],PARAMETER[\"central_meridian\",-109.5],PARAM");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ETER[\"false_easting\",2000000],PARAMETER[\"false_northi");
     add_srs_wkt (p, 12,
-        "32214\"]]");
-    p = add_epsg_def (filter, first, last, 32215, "epsg", 32215,
-        "WGS 72 / UTM zone 15N");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 14,
+        "TH],AUTHORITY[\"EPSG\",\"32001\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32002, "epsg", 32002,
+        "NAD27 / Montana Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=47.88333333333333 +lat_2=46.45 +lat_0=4");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "5.83333333333334 +lon_0=-109.5 +x_0=609601.2192024384 +y");
+    add_proj4text (p, 2,
+        "_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 15N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Montana Central\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        ",-93],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ETER[\"standard_parallel_1\",47.88333333333333],PARAMETE");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "R[\"standard_parallel_2\",46.45],PARAMETER[\"latitude_of");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "_origin\",45.83333333333334],PARAMETER[\"central_meridia");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "n\",-109.5],PARAMETER[\"false_easting\",2000000],PARAMET");
     add_srs_wkt (p, 12,
-        "32215\"]]");
-    p = add_epsg_def (filter, first, last, 32216, "epsg", 32216,
-        "WGS 72 / UTM zone 16N");
+        "ER[\"false_northing\",0],UNIT[\"US survey foot\",0.30480");
+    add_srs_wkt (p, 13,
+        "06096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32002\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32003, "epsg", 32003,
+        "NAD27 / Montana South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=46.4 +lat_2=44.86666666666667 +lat_0=44");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        " +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD2");
+    add_proj4text (p, 2,
+        "7 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 16N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Montana South\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 8,
-        ",-87],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ER[\"standard_parallel_1\",46.4],PARAMETER[\"standard_pa");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "rallel_2\",44.86666666666667],PARAMETER[\"latitude_of_or");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "igin\",44],PARAMETER[\"central_meridian\",-109.5],PARAME");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "TER[\"false_easting\",2000000],PARAMETER[\"false_northin");
     add_srs_wkt (p, 12,
-        "32216\"]]");
-    p = add_epsg_def (filter, first, last, 32217, "epsg", 32217,
-        "WGS 72 / UTM zone 17N");
+        "g\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"32003\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32005, "epsg", 32005,
+        "NAD27 / Nebraska North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=41.85 +lat_2=42.81666666666667 +lat_0=4");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "1.33333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0");
+    add_proj4text (p, 2,
+        "=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 17N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Nebraska North\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        ",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "TER[\"standard_parallel_1\",41.85],PARAMETER[\"standard_");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "parallel_2\",42.81666666666667],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "origin\",41.33333333333334],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "\",-100],PARAMETER[\"false_easting\",2000000],PARAMETER[");
     add_srs_wkt (p, 12,
-        "32217\"]]");
-    p = add_epsg_def (filter, first, last, 32218, "epsg", 32218,
-        "WGS 72 / UTM zone 18N");
+        "\"false_northing\",0],UNIT[\"US survey foot\",0.30480060");
+    add_srs_wkt (p, 13,
+        "96012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32005\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32006, "epsg", 32006,
+        "NAD27 / Nebraska South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=40.28333333333333 +lat_2=41.71666666666");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "667 +lat_0=39.66666666666666 +lon_0=-99.5 +x_0=609601.21");
+    add_proj4text (p, 2,
+        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 18N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Nebraska South\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        ",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "TER[\"standard_parallel_1\",40.28333333333333],PARAMETER");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "[\"standard_parallel_2\",41.71666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "latitude_of_origin\",39.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ral_meridian\",-99.5],PARAMETER[\"false_easting\",200000");
     add_srs_wkt (p, 12,
-        "32218\"]]");
-    p = add_epsg_def (filter, first, last, 32219, "epsg", 32219,
-        "WGS 72 / UTM zone 19N");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
+    add_srs_wkt (p, 13,
+        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3200");
+    add_srs_wkt (p, 15,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32007, "epsg", 32007,
+        "NAD27 / Nevada East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "9999 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
+    add_proj4text (p, 2,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 19N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Nevada East\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ude_of_origin\",34.75],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "15.5833333333333],PARAMETER[\"scale_factor\",0.9999],PAR");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "32219\"]]");
-    p = add_epsg_def (filter, first, last, 32220, "epsg", 32220,
-        "WGS 72 / UTM zone 20N");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"32007\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32008, "epsg", 32008,
+        "NAD27 / Nevada Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "9999 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
+    add_proj4text (p, 2,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 20N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Nevada Central\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        ",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "titude_of_origin\",34.75],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ",-116.6666666666667],PARAMETER[\"scale_factor\",0.9999],");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "rthing\",0],UNIT[\"US survey foot\",0.3048006096012192,A");
     add_srs_wkt (p, 12,
-        "32220\"]]");
-    p = add_epsg_def (filter, first, last, 32221, "epsg", 32221,
-        "WGS 72 / UTM zone 21N");
+        "UTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32008\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32009, "epsg", 32009,
+        "NAD27 / Nevada West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "9999 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
+    add_proj4text (p, 2,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 21N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Nevada West\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ude_of_origin\",34.75],PARAMETER[\"central_meridian\",-1");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "18.5833333333333],PARAMETER[\"scale_factor\",0.9999],PAR");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ing\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTH");
     add_srs_wkt (p, 12,
-        "32221\"]]");
-    p = add_epsg_def (filter, first, last, 32222, "epsg", 32222,
-        "WGS 72 / UTM zone 22N");
+        "ORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 13,
+        "RTH],AUTHORITY[\"EPSG\",\"32009\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32010, "epsg", 32010,
+        "NAD27 / New Hampshire", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "99966667 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +uni");
+    add_proj4text (p, 2,
+        "ts=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 22N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / New Hampshire\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",42.5],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "71.66666666666667],PARAMETER[\"scale_factor\",0.99996666");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "7],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 12,
-        "32222\"]]");
-    p = add_epsg_def (filter, first, last, 32223, "epsg", 32223,
-        "WGS 72 / UTM zone 23N");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32010\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32011, "epsg", 32011,
+        "NAD27 / New Jersey", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.66666666");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "666667 +k=0.9999749999999999 +x_0=609601.2192024384 +y_0");
+    add_proj4text (p, 2,
+        "=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 23N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / New Jersey\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        ",-45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "de_of_origin\",38.83333333333334],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "ridian\",-74.66666666666667],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "0.999975],PARAMETER[\"false_easting\",2000000],PARAMETER");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "[\"false_northing\",0],UNIT[\"US survey foot\",0.3048006");
     add_srs_wkt (p, 12,
-        "32223\"]]");
-    p = add_epsg_def (filter, first, last, 32224, "epsg", 32224,
-        "WGS 72 / UTM zone 24N");
+        "096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 13,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32011\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32012, "epsg", 32012,
+        "NAD27 / New Mexico East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "909091 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
+    add_proj4text (p, 2,
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 24N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / New Mexico East\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "67\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        ",-39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "atitude_of_origin\",31],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "104.3333333333333],PARAMETER[\"scale_factor\",0.99990909");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "1],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 12,
-        "32224\"]]");
-    p = add_epsg_def (filter, first, last, 32225, "epsg", 32225,
-        "WGS 72 / UTM zone 25N");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32012\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32013, "epsg", 32013,
+        "NAD27 / New Mexico Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=1524");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "00.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 25N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / New Mexico Central\",GEOGCS[\"NAD27\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
     add_srs_wkt (p, 8,
-        ",-33],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "latitude_of_origin\",31],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "-106.25],PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "false_easting\",500000],PARAMETER[\"false_northing\",0],");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "UNIT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "32225\"]]");
-    p = add_epsg_def (filter, first, last, 32226, "epsg", 32226,
-        "WGS 72 / UTM zone 26N");
+        "PSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"32013\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32014, "epsg", 32014,
+        "NAD27 / New Mexico West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "916667 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
+    add_proj4text (p, 2,
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 26N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / New Mexico West\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "67\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        ",-27],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "atitude_of_origin\",31],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "107.8333333333333],PARAMETER[\"scale_factor\",0.99991666");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "7],PARAMETER[\"false_easting\",500000],PARAMETER[\"false");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "_northing\",0],UNIT[\"US survey foot\",0.304800609601219");
     add_srs_wkt (p, 12,
-        "32226\"]]");
-    p = add_epsg_def (filter, first, last, 32227, "epsg", 32227,
-        "WGS 72 / UTM zone 27N");
+        "2,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32014\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32015, "epsg", 32015,
+        "NAD27 / New York East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=40 +lon_0=-74.33333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "966667 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
+    add_proj4text (p, 2,
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 27N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / New York East\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-21],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "itude_of_origin\",40],PARAMETER[\"central_meridian\",-74");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        ".33333333333333],PARAMETER[\"scale_factor\",0.999966667]");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
     add_srs_wkt (p, 12,
-        "32227\"]]");
-    p = add_epsg_def (filter, first, last, 32228, "epsg", 32228,
-        "WGS 72 / UTM zone 28N");
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32015\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32016, "epsg", 32016,
+        "NAD27 / New York Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "9375 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
+    add_proj4text (p, 2,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 28N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / New York Central\",GEOGCS[\"NAD27\",DAT");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "67\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l");
     add_srs_wkt (p, 8,
-        ",-15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "atitude_of_origin\",40],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "76.58333333333333],PARAMETER[\"scale_factor\",0.9999375]");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "orthing\",0],UNIT[\"US survey foot\",0.3048006096012192,");
     add_srs_wkt (p, 12,
-        "32228\"]]");
-    p = add_epsg_def (filter, first, last, 32229, "epsg", 32229,
-        "WGS 72 / UTM zone 29N");
+        "AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32016\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32017, "epsg", 32017,
+        "NAD27 / New York West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "9375 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=u");
+    add_proj4text (p, 2,
+        "s-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 29N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / New York West\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",-9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "itude_of_origin\",40],PARAMETER[\"central_meridian\",-78");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        ".58333333333333],PARAMETER[\"scale_factor\",0.9999375],P");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "32229\"]]");
-    p = add_epsg_def (filter, first, last, 32230, "epsg", 32230,
-        "WGS 72 / UTM zone 30N");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"32017\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32018, "epsg", 32018,
+        "NAD27 / New York Long Island (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "666 +lat_0=40.5 +lon_0=-74 +x_0=304800.6096012192 +y_0=0");
+    add_proj4text (p, 2,
+        " +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 30N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / New York Long Island (deprecated)\",GEO");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "GCS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHERO");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "ID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIME");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "RITY[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_");
     add_srs_wkt (p, 8,
-        ",-3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.033333");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "33333333],PARAMETER[\"standard_parallel_2\",40.666666666");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "66666],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "\"central_meridian\",-74],PARAMETER[\"false_easting\",10");
     add_srs_wkt (p, 12,
-        "32230\"]]");
-    p = add_epsg_def (filter, first, last, 32231, "epsg", 32231,
-        "WGS 72 / UTM zone 31N");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
+    add_srs_wkt (p, 13,
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "32018\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32019, "epsg", 32019,
+        "NAD27 / North Carolina", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=");
+    add_proj4text (p, 2,
+        "0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 31N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / North Carolina\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        ",3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "TER[\"standard_parallel_1\",34.33333333333334],PARAMETER");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "[\"standard_parallel_2\",36.16666666666666],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "latitude_of_origin\",33.75],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "\",-79],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "2231\"]]");
-    p = add_epsg_def (filter, first, last, 32232, "epsg", 32232,
-        "WGS 72 / UTM zone 32N");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+    add_srs_wkt (p, 13,
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32019\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32020, "epsg", 32020,
+        "NAD27 / North Dakota North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "333 +lat_0=47 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=");
+    add_proj4text (p, 2,
+        "0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 32N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / North Dakota North\",GEOGCS[\"NAD27\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        ",9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "AMETER[\"standard_parallel_1\",47.43333333333333],PARAME");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[");
+        "TER[\"standard_parallel_2\",48.73333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting");
+        "[\"latitude_of_origin\",47],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 11,
-        "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3");
+        "\",-100.5],PARAMETER[\"false_easting\",2000000],PARAMETE");
     add_srs_wkt (p, 12,
-        "2232\"]]");
-    p = add_epsg_def (filter, first, last, 32233, "epsg", 32233,
-        "WGS 72 / UTM zone 33N");
+        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+    add_srs_wkt (p, 13,
+        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 14,
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32020\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32021, "epsg", 32021,
+        "NAD27 / North Dakota South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=609601.2");
+    add_proj4text (p, 2,
+        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 33N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / North Dakota South\",GEOGCS[\"NAD27\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        ",15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"standard_parallel_1\",46.18333333333333],PARAME");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "TER[\"standard_parallel_2\",47.48333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "[\"latitude_of_origin\",45.66666666666666],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "entral_meridian\",-100.5],PARAMETER[\"false_easting\",20");
     add_srs_wkt (p, 12,
-        "32233\"]]");
-    p = add_epsg_def (filter, first, last, 32234, "epsg", 32234,
-        "WGS 72 / UTM zone 34N");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
+    add_srs_wkt (p, 13,
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "32021\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32022, "epsg", 32022,
+        "NAD27 / Ohio North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        ".66666666666666 +lon_0=-82.5 +x_0=609601.2192024384 +y_0");
+    add_proj4text (p, 2,
+        "=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 34N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Ohio North\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[");
     add_srs_wkt (p, 8,
-        ",21],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "\"standard_parallel_1\",40.43333333333333],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "tandard_parallel_2\",41.7],PARAMETER[\"latitude_of_origi");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "n\",39.66666666666666],PARAMETER[\"central_meridian\",-8");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "2.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "32234\"]]");
-    p = add_epsg_def (filter, first, last, 32235, "epsg", 32235,
-        "WGS 72 / UTM zone 35N");
+        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+    add_srs_wkt (p, 13,
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32022\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32023, "epsg", 32023,
+        "NAD27 / Ohio South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "333 +lat_0=38 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0");
+    add_proj4text (p, 2,
+        " +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 35N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Ohio South\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[");
     add_srs_wkt (p, 8,
-        ",27],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "\"standard_parallel_1\",38.73333333333333],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "tandard_parallel_2\",40.03333333333333],PARAMETER[\"lati");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "tude_of_origin\",38],PARAMETER[\"central_meridian\",-82.");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "32235\"]]");
-    p = add_epsg_def (filter, first, last, 32236, "epsg", 32236,
-        "WGS 72 / UTM zone 36N");
+        "e_northing\",0],UNIT[\"US survey foot\",0.30480060960121");
+    add_srs_wkt (p, 13,
+        "92,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32023\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32024, "epsg", 32024,
+        "NAD27 / Oklahoma North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "667 +lat_0=35 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +");
+    add_proj4text (p, 2,
+        "datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 36N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Oklahoma North\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        ",33],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "TER[\"standard_parallel_1\",35.56666666666667],PARAMETER");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "[\"standard_parallel_2\",36.76666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "latitude_of_origin\",35],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "-98],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "32236\"]]");
-    p = add_epsg_def (filter, first, last, 32237, "epsg", 32237,
-        "WGS 72 / UTM zone 37N");
+        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+    add_srs_wkt (p, 13,
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32024\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32025, "epsg", 32025,
+        "NAD27 / Oklahoma South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=609601.2192");
+    add_proj4text (p, 2,
+        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 37N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Oklahoma South\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        ",39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "TER[\"standard_parallel_1\",33.93333333333333],PARAMETER");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "[\"standard_parallel_2\",35.23333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "latitude_of_origin\",33.33333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ral_meridian\",-98],PARAMETER[\"false_easting\",2000000]");
     add_srs_wkt (p, 12,
-        "32237\"]]");
-    p = add_epsg_def (filter, first, last, 32238, "epsg", 32238,
-        "WGS 72 / UTM zone 38N");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+    add_srs_wkt (p, 13,
+        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32025\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 32026, "epsg", 32026,
+        "NAD27 / Oregon North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.6");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "6666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=");
+    add_proj4text (p, 2,
+        "0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 38N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Oregon North\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 8,
-        ",45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "[\"standard_parallel_1\",44.33333333333334],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "standard_parallel_2\",46],PARAMETER[\"latitude_of_origin");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "\",43.66666666666666],PARAMETER[\"central_meridian\",-12");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "32238\"]]");
-    p = add_epsg_def (filter, first, last, 32239, "epsg", 32239,
-        "WGS 72 / UTM zone 39N");
+        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+    add_srs_wkt (p, 13,
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32026\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32027, "epsg", 32027,
+        "NAD27 / Oregon South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.6");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "6666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=");
+    add_proj4text (p, 2,
+        "0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 39N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Oregon South\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 8,
-        ",51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "[\"standard_parallel_1\",42.33333333333334],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "standard_parallel_2\",44],PARAMETER[\"latitude_of_origin");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "\",41.66666666666666],PARAMETER[\"central_meridian\",-12");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "0.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "32239\"]]");
-    p = add_epsg_def (filter, first, last, 32240, "epsg", 32240,
-        "WGS 72 / UTM zone 40N");
+        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+    add_srs_wkt (p, 13,
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32027\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32028, "epsg", 32028,
+        "NAD27 / Pennsylvania North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=4");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "0.16666666666666 +lon_0=-77.75 +x_0=609601.2192024384 +y");
+    add_proj4text (p, 2,
+        "_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 40N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Pennsylvania North\",GEOGCS[\"NAD27\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        ",57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"standard_parallel_1\",40.88333333333333],PARAME");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "TER[\"standard_parallel_2\",41.95],PARAMETER[\"latitude_");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "of_origin\",40.16666666666666],PARAMETER[\"central_merid");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ian\",-77.75],PARAMETER[\"false_easting\",2000000],PARAM");
     add_srs_wkt (p, 12,
-        "32240\"]]");
-    p = add_epsg_def (filter, first, last, 32241, "epsg", 32241,
-        "WGS 72 / UTM zone 41N");
+        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
+    add_srs_wkt (p, 13,
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
+    add_srs_wkt (p, 14,
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32028\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32029, "epsg", 32029,
+        "NAD27 / Pennsylvania South (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=39.93333333333333 +lat_2=40.8 +lat_0=39");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        ".33333333333334 +lon_0=-77.75 +x_0=609601.2192024384 +y_");
+    add_proj4text (p, 2,
+        "0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 41N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Pennsylvania South (deprecated)\",GEOGC");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "S[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "[\"EPSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        ",63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",39.9333333333");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "3333],PARAMETER[\"standard_parallel_2\",40.8],PARAMETER[");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "\"latitude_of_origin\",39.33333333333334],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ntral_meridian\",-77.75],PARAMETER[\"false_easting\",200");
     add_srs_wkt (p, 12,
-        "32241\"]]");
-    p = add_epsg_def (filter, first, last, 32242, "epsg", 32242,
-        "WGS 72 / UTM zone 42N");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
+    add_srs_wkt (p, 13,
+        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 15,
+        "2029\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32030, "epsg", 32030,
+        "NAD27 / Rhode Island", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "999938 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units");
+    add_proj4text (p, 2,
+        "=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 42N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Rhode Island\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "ude_of_origin\",41.08333333333334],PARAMETER[\"central_m");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "eridian\",-71.5],PARAMETER[\"scale_factor\",0.9999938],P");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "32242\"]]");
-    p = add_epsg_def (filter, first, last, 32243, "epsg", 32243,
-        "WGS 72 / UTM zone 43N");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"32030\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32031, "epsg", 32031,
+        "NAD27 / South Carolina North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=33.76666666666667 +lat_2=34.96666666666");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "667 +lat_0=33 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +");
+    add_proj4text (p, 2,
+        "datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 43N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / South Carolina North\",GEOGCS[\"NAD27\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 8,
-        ",75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "PARAMETER[\"standard_parallel_1\",33.76666666666667],PAR");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "AMETER[\"standard_parallel_2\",34.96666666666667],PARAME");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "TER[\"latitude_of_origin\",33],PARAMETER[\"central_merid");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ian\",-81],PARAMETER[\"false_easting\",2000000],PARAMETE");
     add_srs_wkt (p, 12,
-        "32243\"]]");
-    p = add_epsg_def (filter, first, last, 32244, "epsg", 32244,
-        "WGS 72 / UTM zone 44N");
+        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
+    add_srs_wkt (p, 13,
+        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 14,
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32031\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32033, "epsg", 32033,
+        "NAD27 / South Carolina South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=32.33333333333334 +lat_2=33.66666666666");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "666 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609601.2192");
+    add_proj4text (p, 2,
+        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 44N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / South Carolina South\",GEOGCS[\"NAD27\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 8,
-        ",81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "PARAMETER[\"standard_parallel_1\",32.33333333333334],PAR");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "AMETER[\"standard_parallel_2\",33.66666666666666],PARAME");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "TER[\"latitude_of_origin\",31.83333333333333],PARAMETER[");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "\"central_meridian\",-81],PARAMETER[\"false_easting\",20");
     add_srs_wkt (p, 12,
-        "32244\"]]");
-    p = add_epsg_def (filter, first, last, 32245, "epsg", 32245,
-        "WGS 72 / UTM zone 45N");
+        "00000],PARAMETER[\"false_northing\",0],UNIT[\"US survey ");
+    add_srs_wkt (p, 13,
+        "foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],");
+    add_srs_wkt (p, 14,
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 15,
+        "32033\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32034, "epsg", 32034,
+        "NAD27 / South Dakota North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=609601.219");
+    add_proj4text (p, 2,
+        "2024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 45N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / South Dakota North\",GEOGCS[\"NAD27\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        ",87],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"standard_parallel_1\",44.41666666666666],PARAME");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "TER[\"standard_parallel_2\",45.68333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "[\"latitude_of_origin\",43.83333333333334],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "entral_meridian\",-100],PARAMETER[\"false_easting\",2000");
     add_srs_wkt (p, 12,
-        "32245\"]]");
-    p = add_epsg_def (filter, first, last, 32246, "epsg", 32246,
-        "WGS 72 / UTM zone 46N");
+        "000],PARAMETER[\"false_northing\",0],UNIT[\"US survey fo");
+    add_srs_wkt (p, 13,
+        "ot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32");
+    add_srs_wkt (p, 15,
+        "034\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32035, "epsg", 32035,
+        "NAD27 / South Dakota South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        ".33333333333334 +lon_0=-100.3333333333333 +x_0=609601.21");
+    add_proj4text (p, 2,
+        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 46N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / South Dakota South\",GEOGCS[\"NAD27\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        ",93],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"standard_parallel_1\",42.83333333333334],PARAME");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "TER[\"standard_parallel_2\",44.4],PARAMETER[\"latitude_o");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "f_origin\",42.33333333333334],PARAMETER[\"central_meridi");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "an\",-100.3333333333333],PARAMETER[\"false_easting\",200");
     add_srs_wkt (p, 12,
-        "32246\"]]");
-    p = add_epsg_def (filter, first, last, 32247, "epsg", 32247,
-        "WGS 72 / UTM zone 47N");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
+    add_srs_wkt (p, 13,
+        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 15,
+        "2035\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32036, "epsg", 32036,
+        "NAD27 / Tennessee (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=3");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "4.66666666666666 +lon_0=-86 +x_0=30480.06096012192 +y_0=");
+    add_proj4text (p, 2,
+        "0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 47N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Tennessee (deprecated)\",GEOGCS[\"NAD27");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        " 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        ",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 8,
-        ",99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "PARAMETER[\"standard_parallel_1\",35.25],PARAMETER[\"sta");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
+        "ndard_parallel_2\",36.41666666666666],PARAMETER[\"latitu");
     add_srs_wkt (p, 10,
-        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin");
+        "de_of_origin\",34.66666666666666],PARAMETER[\"central_me");
     add_srs_wkt (p, 11,
-        "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ridian\",-86],PARAMETER[\"false_easting\",100000],PARAME");
     add_srs_wkt (p, 12,
-        "32247\"]]");
-    p = add_epsg_def (filter, first, last, 32248, "epsg", 32248,
-        "WGS 72 / UTM zone 48N");
+        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
+    add_srs_wkt (p, 13,
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 14,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32036\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32037, "epsg", 32037,
+        "NAD27 / Texas North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=3");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "4 +lon_0=-101.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD");
+    add_proj4text (p, 2,
+        "27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 48N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Texas North\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 8,
-        ",105],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "[\"standard_parallel_1\",34.65],PARAMETER[\"standard_par");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "allel_2\",36.18333333333333],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "gin\",34],PARAMETER[\"central_meridian\",-101.5],PARAMET");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ER[\"false_easting\",2000000],PARAMETER[\"false_northing");
     add_srs_wkt (p, 12,
-        "32248\"]]");
-    p = add_epsg_def (filter, first, last, 32249, "epsg", 32249,
-        "WGS 72 / UTM zone 49N");
+        "\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"32037\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32038, "epsg", 32038,
+        "NAD27 / Texas North Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "667 +lat_0=31.66666666666667 +lon_0=-97.5 +x_0=609601.21");
+    add_proj4text (p, 2,
+        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 49N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Texas North Central\",GEOGCS[\"NAD27\",");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        ",111],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "AMETER[\"standard_parallel_1\",32.13333333333333],PARAME");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "TER[\"standard_parallel_2\",33.96666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "[\"latitude_of_origin\",31.66666666666667],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "entral_meridian\",-97.5],PARAMETER[\"false_easting\",200");
     add_srs_wkt (p, 12,
-        "32249\"]]");
-    p = add_epsg_def (filter, first, last, 32250, "epsg", 32250,
-        "WGS 72 / UTM zone 50N");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"US survey f");
+    add_srs_wkt (p, 13,
+        "oot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 15,
+        "2038\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32039, "epsg", 32039,
+        "NAD27 / Texas Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +");
+    add_proj4text (p, 2,
+        "x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-ft +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 50N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Texas Central\",GEOGCS[\"NAD27\",DATUM[");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
         "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMET");
     add_srs_wkt (p, 8,
-        ",117],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ER[\"standard_parallel_1\",30.11666666666667],PARAMETER[");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "\"standard_parallel_2\",31.88333333333333],PARAMETER[\"l");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "atitude_of_origin\",29.66666666666667],PARAMETER[\"centr");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "al_meridian\",-100.3333333333333],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "32250\"]]");
-    p = add_epsg_def (filter, first, last, 32251, "epsg", 32251,
-        "WGS 72 / UTM zone 51N");
+        "ing\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"US");
+    add_srs_wkt (p, 13,
+        " survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9");
+    add_srs_wkt (p, 14,
+        "003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 15,
+        "PSG\",\"32039\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32040, "epsg", 32040,
+        "NAD27 / Texas South Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=609601.2192");
+    add_proj4text (p, 2,
+        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 51N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Texas South Central\",GEOGCS[\"NAD27\",");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        ",123],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "AMETER[\"standard_parallel_1\",28.38333333333333],PARAME");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "TER[\"standard_parallel_2\",30.28333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "[\"latitude_of_origin\",27.83333333333333],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "entral_meridian\",-99],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 12,
-        "32251\"]]");
-    p = add_epsg_def (filter, first, last, 32252, "epsg", 32252,
-        "WGS 72 / UTM zone 52N");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+    add_srs_wkt (p, 13,
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"320");
+    add_srs_wkt (p, 15,
+        "40\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32041, "epsg", 32041,
+        "NAD27 / Texas South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=609601.21");
+    add_proj4text (p, 2,
+        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 52N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Texas South\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 8,
-        ",129],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "[\"standard_parallel_1\",26.16666666666667],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "standard_parallel_2\",27.83333333333333],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "itude_of_origin\",25.66666666666667],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "_meridian\",-98.5],PARAMETER[\"false_easting\",2000000],");
     add_srs_wkt (p, 12,
-        "32252\"]]");
-    p = add_epsg_def (filter, first, last, 32253, "epsg", 32253,
-        "WGS 72 / UTM zone 53N");
+        "PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",");
+    add_srs_wkt (p, 13,
+        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32041\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 32042, "epsg", 32042,
+        "NAD27 / Utah North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=609601.2");
+    add_proj4text (p, 2,
+        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 53N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Utah North\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[");
     add_srs_wkt (p, 8,
-        ",135],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "\"standard_parallel_1\",40.71666666666667],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "tandard_parallel_2\",41.78333333333333],PARAMETER[\"lati");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "tude_of_origin\",40.33333333333334],PARAMETER[\"central_");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "meridian\",-111.5],PARAMETER[\"false_easting\",2000000],");
     add_srs_wkt (p, 12,
-        "32253\"]]");
-    p = add_epsg_def (filter, first, last, 32254, "epsg", 32254,
-        "WGS 72 / UTM zone 54N");
+        "PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\",");
+    add_srs_wkt (p, 13,
+        "0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32042\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 32043, "epsg", 32043,
+        "NAD27 / Utah Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=3");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "8.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y");
+    add_proj4text (p, 2,
+        "_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 54N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Utah Central\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER");
     add_srs_wkt (p, 8,
-        ",141],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "[\"standard_parallel_1\",39.01666666666667],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "standard_parallel_2\",40.65],PARAMETER[\"latitude_of_ori");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "gin\",38.33333333333334],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "-111.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "32254\"]]");
-    p = add_epsg_def (filter, first, last, 32255, "epsg", 32255,
-        "WGS 72 / UTM zone 55N");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+    add_srs_wkt (p, 13,
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32043\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32044, "epsg", 32044,
+        "NAD27 / Utah South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=3");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "6.66666666666666 +lon_0=-111.5 +x_0=609601.2192024384 +y");
+    add_proj4text (p, 2,
+        "_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 55N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Utah South\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[");
     add_srs_wkt (p, 8,
-        ",147],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "\"standard_parallel_1\",37.21666666666667],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "tandard_parallel_2\",38.35],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "in\",36.66666666666666],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "111.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "32255\"]]");
-    p = add_epsg_def (filter, first, last, 32256, "epsg", 32256,
-        "WGS 72 / UTM zone 56N");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+    add_srs_wkt (p, 13,
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32044\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32045, "epsg", 32045,
+        "NAD27 / Vermont", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 56N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Vermont\",GEOGCS[\"NAD27\",DATUM[\"Nort");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "h_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378206");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ".4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTHO");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "RITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORIT");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]],P");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_");
     add_srs_wkt (p, 8,
-        ",153],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "of_origin\",42.5],PARAMETER[\"central_meridian\",-72.5],");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "PARAMETER[\"scale_factor\",0.999964286],PARAMETER[\"fals");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "32256\"]]");
-    p = add_epsg_def (filter, first, last, 32257, "epsg", 32257,
-        "WGS 72 / UTM zone 57N");
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"32045\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32046, "epsg", 32046,
+        "NAD27 / Virginia North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        ".66666666666666 +lon_0=-78.5 +x_0=609601.2192024384 +y_0");
+    add_proj4text (p, 2,
+        "=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 57N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Virginia North\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        ",159],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "TER[\"standard_parallel_1\",38.03333333333333],PARAMETER");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "[\"standard_parallel_2\",39.2],PARAMETER[\"latitude_of_o");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "rigin\",37.66666666666666],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        ",-78.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "32257\"]]");
-    p = add_epsg_def (filter, first, last, 32258, "epsg", 32258,
-        "WGS 72 / UTM zone 58N");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+    add_srs_wkt (p, 13,
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32046\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32047, "epsg", 32047,
+        "NAD27 / Virginia South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=609601.21");
+    add_proj4text (p, 2,
+        "92024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 58N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Virginia South\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        ",165],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "TER[\"standard_parallel_1\",36.76666666666667],PARAMETER");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "[\"standard_parallel_2\",37.96666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "latitude_of_origin\",36.33333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ral_meridian\",-78.5],PARAMETER[\"false_easting\",200000");
     add_srs_wkt (p, 12,
-        "32258\"]]");
-    p = add_epsg_def (filter, first, last, 32259, "epsg", 32259,
-        "WGS 72 / UTM zone 59N");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
+    add_srs_wkt (p, 13,
+        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3204");
+    add_srs_wkt (p, 15,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32048, "epsg", 32048,
+        "NAD27 / Washington North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        " +lon_0=-120.8333333333333 +x_0=609601.2192024384 +y_0=0");
+    add_proj4text (p, 2,
+        " +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 59N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Washington North\",GEOGCS[\"NAD27\",DAT");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        ",171],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ETER[\"standard_parallel_1\",47.5],PARAMETER[\"standard_");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "parallel_2\",48.73333333333333],PARAMETER[\"latitude_of_");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "origin\",47],PARAMETER[\"central_meridian\",-120.8333333");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "333333],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "32259\"]]");
-    p = add_epsg_def (filter, first, last, 32260, "epsg", 32260,
-        "WGS 72 / UTM zone 60N");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+    add_srs_wkt (p, 13,
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32048\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32049, "epsg", 32049,
+        "NAD27 / Washington South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+        "+proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333");
     add_proj4text (p, 1,
-        "54,0.2263 +units=m +no_defs");
+        "334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=609601.2");
+    add_proj4text (p, 2,
+        "192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 60N\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Washington South\",GEOGCS[\"NAD27\",DAT");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        ",177],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "ETER[\"standard_parallel_1\",45.83333333333334],PARAMETE");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI");
+        "R[\"standard_parallel_2\",47.33333333333334],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+        "latitude_of_origin\",45.33333333333334],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+        "ral_meridian\",-120.5],PARAMETER[\"false_easting\",20000");
     add_srs_wkt (p, 12,
-        "32260\"]]");
-    p = add_epsg_def (filter, first, last, 32301, "epsg", 32301,
-        "WGS 72 / UTM zone 1S");
+        "00],PARAMETER[\"false_northing\",0],UNIT[\"US survey foo");
+    add_srs_wkt (p, 13,
+        "t\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXI");
+    add_srs_wkt (p, 14,
+        "S[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"320");
+    add_srs_wkt (p, 15,
+        "49\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32050, "epsg", 32050,
+        "NAD27 / West Virginia North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+        "+proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
-        ",0,0.554,0.2263 +units=m +no_defs");
+        "5 +x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-f");
+    add_proj4text (p, 2,
+        "t +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 1S\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"NAD27 / West Virginia North\",GEOGCS[\"NAD27\",");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "177],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"standard_parallel_1\",39],PARAMETER[\"standard_");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "parallel_2\",40.25],PARAMETER[\"latitude_of_origin\",38.");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "5],PARAMETER[\"central_meridian\",-79.5],PARAMETER[\"fal");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "se_easting\",2000000],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "G\",\"32301\"]]");
-    p = add_epsg_def (filter, first, last, 32302, "epsg", 32302,
-        "WGS 72 / UTM zone 2S");
+        "IT[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"32050\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32051, "epsg", 32051,
+        "NAD27 / West Virginia South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+        "+proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333");
     add_proj4text (p, 1,
-        ",0,0.554,0.2263 +units=m +no_defs");
+        "333 +lat_0=37 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +");
+    add_proj4text (p, 2,
+        "datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 2S\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"NAD27 / West Virginia South\",GEOGCS[\"NAD27\",");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "171],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"standard_parallel_1\",37.48333333333333],PARAME");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "TER[\"standard_parallel_2\",38.88333333333333],PARAMETER");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "[\"latitude_of_origin\",37],PARAMETER[\"central_meridian");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "\",-81],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 12,
-        "G\",\"32302\"]]");
-    p = add_epsg_def (filter, first, last, 32303, "epsg", 32303,
-        "WGS 72 / UTM zone 3S");
+        "false_northing\",0],UNIT[\"US survey foot\",0.3048006096");
+    add_srs_wkt (p, 13,
+        "012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32051\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32052, "epsg", 32052,
+        "NAD27 / Wisconsin North", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+        "+proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666");
     add_proj4text (p, 1,
-        ",0,0.554,0.2263 +units=m +no_defs");
+        "667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=609601.2192");
+    add_proj4text (p, 2,
+        "024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 3S\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"NAD27 / Wisconsin North\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        "165],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "ETER[\"standard_parallel_1\",45.56666666666667],PARAMETE");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "R[\"standard_parallel_2\",46.76666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "latitude_of_origin\",45.16666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "ral_meridian\",-90],PARAMETER[\"false_easting\",2000000]");
     add_srs_wkt (p, 12,
-        "G\",\"32303\"]]");
-    p = add_epsg_def (filter, first, last, 32304, "epsg", 32304,
-        "WGS 72 / UTM zone 4S");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+    add_srs_wkt (p, 13,
+        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32052\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 32053, "epsg", 32053,
+        "NAD27 / Wisconsin Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+        "+proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333");
     add_proj4text (p, 1,
-        ",0,0.554,0.2263 +units=m +no_defs");
+        "334 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +datum=NAD2");
+    add_proj4text (p, 2,
+        "7 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 4S\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"NAD27 / Wisconsin Central\",GEOGCS[\"NAD27\",DA");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        "159],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"standard_parallel_1\",44.25],PARAMETER[\"standa");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "rd_parallel_2\",45.5],PARAMETER[\"latitude_of_origin\",4");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "3.83333333333334],PARAMETER[\"central_meridian\",-90],PA");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "RAMETER[\"false_easting\",2000000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "G\",\"32304\"]]");
-    p = add_epsg_def (filter, first, last, 32305, "epsg", 32305,
-        "WGS 72 / UTM zone 5S");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 14,
+        "NORTH],AUTHORITY[\"EPSG\",\"32053\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32054, "epsg", 32054,
+        "NAD27 / Wisconsin South", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+        "+proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666");
     add_proj4text (p, 1,
-        ",0,0.554,0.2263 +units=m +no_defs");
+        "667 +lat_0=42 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +");
+    add_proj4text (p, 2,
+        "datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 5S\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"NAD27 / Wisconsin South\",GEOGCS[\"NAD27\",DATU");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\"");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "67\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAM");
     add_srs_wkt (p, 8,
-        "153],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "ETER[\"standard_parallel_1\",42.73333333333333],PARAMETE");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "R[\"standard_parallel_2\",44.06666666666667],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "latitude_of_origin\",42],PARAMETER[\"central_meridian\",");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "-90],PARAMETER[\"false_easting\",2000000],PARAMETER[\"fa");
     add_srs_wkt (p, 12,
-        "G\",\"32305\"]]");
-    p = add_epsg_def (filter, first, last, 32306, "epsg", 32306,
-        "WGS 72 / UTM zone 6S");
+        "lse_northing\",0],UNIT[\"US survey foot\",0.304800609601");
+    add_srs_wkt (p, 13,
+        "2192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 14,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32054\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32055, "epsg", 32055,
+        "NAD27 / Wyoming East", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+        "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-105.1666666");
     add_proj4text (p, 1,
-        ",0,0.554,0.2263 +units=m +no_defs");
+        "666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +dat");
+    add_proj4text (p, 2,
+        "um=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 6S\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"NAD27 / Wyoming East\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "147],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "ude_of_origin\",40.66666666666666],PARAMETER[\"central_m");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "eridian\",-105.1666666666667],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        ",0.999941177],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
     add_srs_wkt (p, 12,
-        "G\",\"32306\"]]");
-    p = add_epsg_def (filter, first, last, 32307, "epsg", 32307,
-        "WGS 72 / UTM zone 7S");
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32055\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32056, "epsg", 32056,
+        "NAD27 / Wyoming East Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+        "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-107.3333333");
     add_proj4text (p, 1,
-        ",0,0.554,0.2263 +units=m +no_defs");
+        "333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +dat");
+    add_proj4text (p, 2,
+        "um=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 7S\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"NAD27 / Wyoming East Central\",GEOGCS[\"NAD27\"");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "141],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "R[\"latitude_of_origin\",40.66666666666666],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "central_meridian\",-107.3333333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "_factor\",0.999941177],PARAMETER[\"false_easting\",50000");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"US survey foot");
     add_srs_wkt (p, 12,
-        "G\",\"32307\"]]");
-    p = add_epsg_def (filter, first, last, 32308, "epsg", 32308,
-        "WGS 72 / UTM zone 8S");
+        "\",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS");
+    add_srs_wkt (p, 13,
+        "[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3205");
+    add_srs_wkt (p, 14,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32057, "epsg", 32057,
+        "NAD27 / Wyoming West Central", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+        "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-108.75 +k=0");
     add_proj4text (p, 1,
-        ",0,0.554,0.2263 +units=m +no_defs");
+        ".999941177 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +u");
+    add_proj4text (p, 2,
+        "nits=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 8S\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"NAD27 / Wyoming West Central\",GEOGCS[\"NAD27\"");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "4532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latit");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "ude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        ",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        "135],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "R[\"latitude_of_origin\",40.66666666666666],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "central_meridian\",-108.75],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        ".999941177],PARAMETER[\"false_easting\",500000],PARAMETE");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "R[\"false_northing\",0],UNIT[\"US survey foot\",0.304800");
     add_srs_wkt (p, 12,
-        "G\",\"32308\"]]");
-    p = add_epsg_def (filter, first, last, 32309, "epsg", 32309,
-        "WGS 72 / UTM zone 9S");
+        "6096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST");
+    add_srs_wkt (p, 13,
+        "],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32057\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32058, "epsg", 32058,
+        "NAD27 / Wyoming West", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+        "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-110.0833333");
     add_proj4text (p, 1,
-        ",0,0.554,0.2263 +units=m +no_defs");
+        "333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +dat");
+    add_proj4text (p, 2,
+        "um=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 9S\",GEOGCS[\"WGS 72\",DATUM[");
+        "PROJCS[\"NAD27 / Wyoming West\",GEOGCS[\"NAD27\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+        "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637");
     add_srs_wkt (p, 2,
-        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+        "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A");
     add_srs_wkt (p, 3,
-        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+        "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH");
     add_srs_wkt (p, 4,
-        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+        "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519");
     add_srs_wkt (p, 5,
-        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"");
+        "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR");
     add_srs_wkt (p, 6,
-        "4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"");
+        "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"");
     add_srs_wkt (p, 7,
-        "latitude_of_origin\",0],PARAMETER[\"central_meridian\",-");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "129],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "ude_of_origin\",40.66666666666666],PARAMETER[\"central_m");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "eridian\",-110.0833333333333],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        ",0.999941177],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "TER[\"false_northing\",0],UNIT[\"US survey foot\",0.3048");
     add_srs_wkt (p, 12,
-        "G\",\"32309\"]]");
-    p = add_epsg_def (filter, first, last, 32310, "epsg", 32310,
-        "WGS 72 / UTM zone 10S");
+        "006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 13,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32058\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32061, "epsg", 32061,
+        "NAD27 / Guatemala Norte (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "667 +lon_0=-90.33333333333333 +k_0=0.99992226 +x_0=50000");
+    add_proj4text (p, 2,
+        "0 +y_0=292209.579 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 10S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Guatemala Norte (deprecated)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_1S");
     add_srs_wkt (p, 8,
-        ",-123],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "P\"],PARAMETER[\"latitude_of_origin\",16.81666666666667]");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",10000");
+        ",PARAMETER[\"central_meridian\",-90.33333333333333],PARA");
     add_srs_wkt (p, 10,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "METER[\"scale_factor\",0.99992226],PARAMETER[\"false_eas");
     add_srs_wkt (p, 11,
-        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",292209.579],");
     add_srs_wkt (p, 12,
-        "EPSG\",\"32310\"]]");
-    p = add_epsg_def (filter, first, last, 32311, "epsg", 32311,
-        "WGS 72 / UTM zone 11S");
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32061\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32062, "epsg", 32062,
+        "NAD27 / Guatemala Sur (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_1SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=14.9 +lat_0=14.9 +lon_0=-90.33333333333");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "333 +k_0=0.99989906 +x_0=500000 +y_0=325992.681 +datum=N");
+    add_proj4text (p, 2,
+        "AD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 11S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Guatemala Sur (deprecated)\",GEOGCS[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "AD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Cl");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "arke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gre");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4267\"]],PROJECTION[\"Lambert_Conformal_Conic_1S");
     add_srs_wkt (p, 8,
-        ",-117],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "P\"],PARAMETER[\"latitude_of_origin\",14.9],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",10000");
+        "central_meridian\",-90.33333333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "_factor\",0.99989906],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 11,
-        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "],PARAMETER[\"false_northing\",325992.681],UNIT[\"metre\"");
     add_srs_wkt (p, 12,
-        "EPSG\",\"32311\"]]");
-    p = add_epsg_def (filter, first, last, 32312, "epsg", 32312,
-        "WGS 72 / UTM zone 12S");
+        ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 13,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32062\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32064, "epsg", 32064,
+        "NAD27 / BLM 14N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 12S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / BLM 14N (ftUS)\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        ",-111],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-99");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",10000");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "EPSG\",\"32312\"]]");
-    p = add_epsg_def (filter, first, last, 32313, "epsg", 32313,
-        "WGS 72 / UTM zone 13S");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"32064\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32065, "epsg", 32065,
+        "NAD27 / BLM 15N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 13S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / BLM 15N (ftUS)\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        ",-105],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fa");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-93");
     add_srs_wkt (p, 9,
-        "lse_easting\",500000],PARAMETER[\"false_northing\",10000");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "EPSG\",\"32313\"]]");
-    p = add_epsg_def (filter, first, last, 32314, "epsg", 32314,
-        "WGS 72 / UTM zone 14S");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"32065\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32066, "epsg", 32066,
+        "NAD27 / BLM 16N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 14S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / BLM 16N (ftUS)\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        ",-99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-87");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "PSG\",\"32314\"]]");
-    p = add_epsg_def (filter, first, last, 32315, "epsg", 32315,
-        "WGS 72 / UTM zone 15S");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"32066\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32067, "epsg", 32067,
+        "NAD27 / BLM 17N (ftUS)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 15S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / BLM 17N (ftUS)\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la");
     add_srs_wkt (p, 8,
-        ",-93],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "titude_of_origin\",0],PARAMETER[\"central_meridian\",-81");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "asting\",1640416.67],PARAMETER[\"false_northing\",0],UNI");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "T[\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "PSG\",\"32315\"]]");
-    p = add_epsg_def (filter, first, last, 32316, "epsg", 32316,
-        "WGS 72 / UTM zone 16S");
+        "\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"32067\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32074, "epsg", 32074,
+        "NAD27 / BLM 14N (feet) (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 16S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / BLM 14N (feet) (deprecated)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",-87],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "idian\",-99],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "R[\"false_easting\",1640416.67],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 12,
-        "PSG\",\"32316\"]]");
-    p = add_epsg_def (filter, first, last, 32317, "epsg", 32317,
-        "WGS 72 / UTM zone 17S");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"32074\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32075, "epsg", 32075,
+        "NAD27 / BLM 15N (feet) (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 17S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / BLM 15N (feet) (deprecated)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "idian\",-93],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "R[\"false_easting\",1640416.67],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 12,
-        "PSG\",\"32317\"]]");
-    p = add_epsg_def (filter, first, last, 32318, "epsg", 32318,
-        "WGS 72 / UTM zone 18S");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"32075\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32076, "epsg", 32076,
+        "NAD27 / BLM 16N (feet) (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 18S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / BLM 16N (feet) (deprecated)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",-75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "idian\",-87],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "R[\"false_easting\",1640416.67],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 12,
-        "PSG\",\"32318\"]]");
-    p = add_epsg_def (filter, first, last, 32319, "epsg", 32319,
-        "WGS 72 / UTM zone 19S");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"32076\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32077, "epsg", 32077,
+        "NAD27 / BLM 17N (feet) (deprecated)", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "1016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 19S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / BLM 17N (feet) (deprecated)\",GEOGCS[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4267\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",-69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "idian\",-81],PARAMETER[\"scale_factor\",0.9996],PARAMETE");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "R[\"false_easting\",1640416.67],PARAMETER[\"false_northi");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "ng\",0],UNIT[\"US survey foot\",0.3048006096012192,AUTHO");
     add_srs_wkt (p, 12,
-        "PSG\",\"32319\"]]");
-    p = add_epsg_def (filter, first, last, 32320, "epsg", 32320,
-        "WGS 72 / UTM zone 20S");
+        "RITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR");
+    add_srs_wkt (p, 13,
+        "TH],AUTHORITY[\"EPSG\",\"32077\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32081, "epsg", 32081,
+        "NAD27 / MTM zone 1", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "_0=0 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 20S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / MTM zone 1\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        ",-63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",-53],PA");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "RAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ng\",304800],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 12,
-        "PSG\",\"32320\"]]");
-    p = add_epsg_def (filter, first, last, 32321, "epsg", 32321,
-        "WGS 72 / UTM zone 21S");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32081\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 32082, "epsg", 32082,
+        "NAD27 / MTM zone 2", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "_0=0 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 21S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / MTM zone 2\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        ",-57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",-56],PA");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "RAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_easti");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ng\",304800],PARAMETER[\"false_northing\",0],UNIT[\"metr");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAS");
     add_srs_wkt (p, 12,
-        "PSG\",\"32321\"]]");
-    p = add_epsg_def (filter, first, last, 32322, "epsg", 32322,
-        "WGS 72 / UTM zone 22S");
+        "T],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32082\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 32083, "epsg", 32083,
+        "NAD27 / MTM zone 3", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "+y_0=0 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 22S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / MTM zone 3\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        ",-51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",-58.5],");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "PSG\",\"32322\"]]");
-    p = add_epsg_def (filter, first, last, 32323, "epsg", 32323,
-        "WGS 72 / UTM zone 23S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32083");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32084, "epsg", 32084,
+        "NAD27 / MTM zone 4", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "+y_0=0 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 23S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / MTM zone 4\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        ",-45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",-61.5],");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "PSG\",\"32323\"]]");
-    p = add_epsg_def (filter, first, last, 32324, "epsg", 32324,
-        "WGS 72 / UTM zone 24S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32084");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32085, "epsg", 32085,
+        "NAD27 / MTM zone 5", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "+y_0=0 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 24S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / MTM zone 5\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        ",-39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",-64.5],");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "PSG\",\"32324\"]]");
-    p = add_epsg_def (filter, first, last, 32325, "epsg", 32325,
-        "WGS 72 / UTM zone 25S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32085");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32086, "epsg", 32086,
+        "NAD27 / MTM zone 6", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "+y_0=0 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 25S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / MTM zone 6\",GEOGCS[\"NAD27\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4267\"]");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu");
     add_srs_wkt (p, 8,
-        ",-33],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "de_of_origin\",0],PARAMETER[\"central_meridian\",-67.5],");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "PARAMETER[\"scale_factor\",0.9999],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ting\",304800],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "PSG\",\"32325\"]]");
-    p = add_epsg_def (filter, first, last, 32326, "epsg", 32326,
-        "WGS 72 / UTM zone 26S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32086");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32098, "epsg", 32098,
+        "NAD27 / Quebec Lambert", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "0=0 +y_0=0 +datum=NAD27 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 26S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Quebec Lambert\",GEOGCS[\"NAD27\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"426");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "7\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAME");
     add_srs_wkt (p, 8,
-        ",-27],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "TER[\"standard_parallel_1\",60],PARAMETER[\"standard_par");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "allel_2\",46],PARAMETER[\"latitude_of_origin\",44],PARAM");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ETER[\"central_meridian\",-68.5],PARAMETER[\"false_easti");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "ng\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1");
     add_srs_wkt (p, 12,
-        "PSG\",\"32326\"]]");
-    p = add_epsg_def (filter, first, last, 32327, "epsg", 32327,
-        "WGS 72 / UTM zone 27S");
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32098\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32099, "epsg", 32099,
+        "NAD27 / Louisiana Offshore", 0, 0,
+        "Clarke 1866", "Greenwich",
+        "North_American_Datum_1927", "Lambert_Conformal_Conic_2SP", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "667 +lat_0=25.66666666666667 +lon_0=-91.33333333333333 +");
+    add_proj4text (p, 2,
+        "x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-ft +");
+    add_proj4text (p, 3,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 27S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD27 / Louisiana Offshore\",GEOGCS[\"NAD27\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "4267\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PAR");
     add_srs_wkt (p, 8,
-        ",-21],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "AMETER[\"standard_parallel_1\",27.83333333333333],PARAME");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "TER[\"standard_parallel_2\",26.16666666666667],PARAMETER");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "[\"latitude_of_origin\",25.66666666666667],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "entral_meridian\",-91.33333333333333],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "PSG\",\"32327\"]]");
-    p = add_epsg_def (filter, first, last, 32328, "epsg", 32328,
-        "WGS 72 / UTM zone 28S");
+        "easting\",2000000],PARAMETER[\"false_northing\",0],UNIT[");
+    add_srs_wkt (p, 13,
+        "\"US survey foot\",0.3048006096012192,AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 15,
+        "[\"EPSG\",\"32099\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32100, "epsg", 32100,
+        "NAD83 / Montana", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        " +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 ");
+    add_proj4text (p, 2,
+        "+units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 28S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Montana\",GEOGCS[\"NAD83\",DATUM[\"Nort");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "h_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,29");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        ",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],");
     add_srs_wkt (p, 8,
-        ",-15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "PARAMETER[\"standard_parallel_1\",49],PARAMETER[\"standa");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "rd_parallel_2\",45],PARAMETER[\"latitude_of_origin\",44.");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "25],PARAMETER[\"central_meridian\",-109.5],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "alse_easting\",600000],PARAMETER[\"false_northing\",0],U");
     add_srs_wkt (p, 12,
-        "PSG\",\"32328\"]]");
-    p = add_epsg_def (filter, first, last, 32329, "epsg", 32329,
-        "WGS 72 / UTM zone 29S");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 13,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32100\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32104, "epsg", 32104,
+        "NAD83 / Nebraska", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,");
+    add_proj4text (p, 2,
+        "0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 29S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Nebraska\",GEOGCS[\"NAD83\",DATUM[\"Nor");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "th_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,2");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "98.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenwi");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        ",-9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "],PARAMETER[\"standard_parallel_1\",43],PARAMETER[\"stan");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "dard_parallel_2\",40],PARAMETER[\"latitude_of_origin\",3");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "9.83333333333334],PARAMETER[\"central_meridian\",-100],P");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor");
     add_srs_wkt (p, 12,
-        "G\",\"32329\"]]");
-    p = add_epsg_def (filter, first, last, 32330, "epsg", 32330,
-        "WGS 72 / UTM zone 30S");
+        "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]");
+    add_srs_wkt (p, 13,
+        "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"32104\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32107, "epsg", 32107,
+        "NAD83 / Nevada East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +towgs84=0,0,");
+    add_proj4text (p, 2,
+        "0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 30S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Nevada East\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",-3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",34.75],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "_meridian\",-115.5833333333333],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "\",0.9999],PARAMETER[\"false_easting\",200000],PARAMETER");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "[\"false_northing\",8000000],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "G\",\"32330\"]]");
-    p = add_epsg_def (filter, first, last, 32331, "epsg", 32331,
-        "WGS 72 / UTM zone 31S");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"32107\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32108, "epsg", 32108,
+        "NAD83 / Nevada Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,");
+    add_proj4text (p, 2,
+        "0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 31S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Nevada Central\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        ",3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "PARAMETER[\"latitude_of_origin\",34.75],PARAMETER[\"cent");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",10000000");
+        "ral_meridian\",-116.6666666666667],PARAMETER[\"scale_fac");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "tor\",0.9999],PARAMETER[\"false_easting\",500000],PARAME");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "TER[\"false_northing\",6000000],UNIT[\"metre\",1,AUTHORI");
     add_srs_wkt (p, 12,
-        "G\",\"32331\"]]");
-    p = add_epsg_def (filter, first, last, 32332, "epsg", 32332,
-        "WGS 72 / UTM zone 32S");
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 13,
+        "],AUTHORITY[\"EPSG\",\"32108\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32109, "epsg", 32109,
+        "NAD83 / Nevada West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,");
+    add_proj4text (p, 2,
+        "0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 32S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Nevada West\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false");
+        "AMETER[\"latitude_of_origin\",34.75],PARAMETER[\"central");
     add_srs_wkt (p, 9,
-        "_easting\",500000],PARAMETER[\"false_northing\",10000000");
+        "_meridian\",-118.5833333333333],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "\",0.9999],PARAMETER[\"false_easting\",800000],PARAMETER");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "[\"false_northing\",4000000],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "G\",\"32332\"]]");
-    p = add_epsg_def (filter, first, last, 32333, "epsg", 32333,
-        "WGS 72 / UTM zone 33S");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"32109\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32110, "epsg", 32110,
+        "NAD83 / New Hampshire", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "99966667 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,");
+    add_proj4text (p, 2,
+        "0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 33S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / New Hampshire\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",42.5],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "meridian\",-71.66666666666667],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        ",0.999966667],PARAMETER[\"false_easting\",300000],PARAME");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 12,
-        "G\",\"32333\"]]");
-    p = add_epsg_def (filter, first, last, 32334, "epsg", 32334,
-        "WGS 72 / UTM zone 34S");
+        "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"32110\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32111, "epsg", 32111,
+        "NAD83 / New Jersey", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 34S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / New Jersey\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        ",21],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "METER[\"latitude_of_origin\",38.83333333333334],PARAMETE");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "R[\"central_meridian\",-74.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        ",0.9999],PARAMETER[\"false_easting\",150000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "G\",\"32334\"]]");
-    p = add_epsg_def (filter, first, last, 32335, "epsg", 32335,
-        "WGS 72 / UTM zone 35S");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"32111\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32112, "epsg", 32112,
+        "NAD83 / New Mexico East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "909091 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 35S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / New Mexico East\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        ",27],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        ",PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "l_meridian\",-104.3333333333333],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "r\",0.999909091],PARAMETER[\"false_easting\",165000],PAR");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "G\",\"32335\"]]");
-    p = add_epsg_def (filter, first, last, 32336, "epsg", 32336,
-        "WGS 72 / UTM zone 36S");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"32112\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32113, "epsg", 32113,
+        "NAD83 / New Mexico Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=5000");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "00 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +");
+    add_proj4text (p, 2,
+        "no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 36S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / New Mexico Central\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator");
     add_srs_wkt (p, 8,
-        ",33],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "\"],PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"cen");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "tral_meridian\",-106.25],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "99],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90");
     add_srs_wkt (p, 12,
-        "G\",\"32336\"]]");
-    p = add_epsg_def (filter, first, last, 32337, "epsg", 32337,
-        "WGS 72 / UTM zone 37S");
+        "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"32113\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32114, "epsg", 32114,
+        "NAD83 / New Mexico West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "916667 +x_0=830000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 37S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / New Mexico West\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        ",39],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        ",PARAMETER[\"latitude_of_origin\",31],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "l_meridian\",-107.8333333333333],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "r\",0.999916667],PARAMETER[\"false_easting\",830000],PAR");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "G\",\"32337\"]]");
-    p = add_epsg_def (filter, first, last, 32338, "epsg", 32338,
-        "WGS 72 / UTM zone 38S");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"32114\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32115, "epsg", 32115,
+        "NAD83 / New York East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 38S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / New York East\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",45],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",38.83333333333334],PARAMET");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "ER[\"central_meridian\",-74.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        ",0.9999],PARAMETER[\"false_easting\",150000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "G\",\"32338\"]]");
-    p = add_epsg_def (filter, first, last, 32339, "epsg", 32339,
-        "WGS 72 / UTM zone 39S");
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"32115\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32116, "epsg", 32116,
+        "NAD83 / New York Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "9375 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 39S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / New York Central\",GEOGCS[\"NAD83\",DAT");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"]");
     add_srs_wkt (p, 8,
-        ",51],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        ",PARAMETER[\"latitude_of_origin\",40],PARAMETER[\"centra");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "l_meridian\",-76.58333333333333],PARAMETER[\"scale_facto");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "r\",0.9999375],PARAMETER[\"false_easting\",250000],PARAM");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 12,
-        "G\",\"32339\"]]");
-    p = add_epsg_def (filter, first, last, 32340, "epsg", 32340,
-        "WGS 72 / UTM zone 40S");
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 13,
+        "HORITY[\"EPSG\",\"32116\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32117, "epsg", 32117,
+        "NAD83 / New York West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "9375 +x_0=350000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 40S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / New York West\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",57],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "AMETER[\"latitude_of_origin\",40],PARAMETER[\"central_me");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "ridian\",-78.58333333333333],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "0.9999375],PARAMETER[\"false_easting\",350000],PARAMETER");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "G\",\"32340\"]]");
-    p = add_epsg_def (filter, first, last, 32341, "epsg", 32341,
-        "WGS 72 / UTM zone 41S");
+        "\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"32117\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32118, "epsg", 32118,
+        "NAD83 / New York Long Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0");
+    add_proj4text (p, 2,
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 41S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / New York Long Island\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        ",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIM");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal");
     add_srs_wkt (p, 8,
-        ",63],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",41.03333");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "333333333],PARAMETER[\"standard_parallel_2\",40.66666666");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "666666],PARAMETER[\"latitude_of_origin\",40.166666666666");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "66],PARAMETER[\"central_meridian\",-74],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "G\",\"32341\"]]");
-    p = add_epsg_def (filter, first, last, 32342, "epsg", 32342,
-        "WGS 72 / UTM zone 42S");
+        "e_easting\",300000],PARAMETER[\"false_northing\",0],UNIT");
+    add_srs_wkt (p, 13,
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 14,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32118\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32119, "epsg", 32119,
+        "NAD83 / North Carolina", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps");
+    add_proj4text (p, 2,
+        "=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 42S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / North Carolina\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        ",69],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",36.16666666666");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "666],PARAMETER[\"standard_parallel_2\",34.33333333333334");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "],PARAMETER[\"latitude_of_origin\",33.75],PARAMETER[\"ce");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "ntral_meridian\",-79],PARAMETER[\"false_easting\",609601");
     add_srs_wkt (p, 12,
-        "G\",\"32342\"]]");
-    p = add_epsg_def (filter, first, last, 32343, "epsg", 32343,
-        "WGS 72 / UTM zone 43S");
+        ".22],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU");
+    add_srs_wkt (p, 13,
+        "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 14,
+        "NORTH],AUTHORITY[\"EPSG\",\"32119\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32120, "epsg", 32120,
+        "NAD83 / North Dakota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GR");
+    add_proj4text (p, 2,
+        "S80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 43S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / North Dakota North\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",75],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",48.7333333");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "3333333],PARAMETER[\"standard_parallel_2\",47.4333333333");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "3333],PARAMETER[\"latitude_of_origin\",47],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "entral_meridian\",-100.5],PARAMETER[\"false_easting\",60");
     add_srs_wkt (p, 12,
-        "G\",\"32343\"]]");
-    p = add_epsg_def (filter, first, last, 32344, "epsg", 32344,
-        "WGS 72 / UTM zone 44S");
+        "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32120\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32121, "epsg", 32121,
+        "NAD83 / North Dakota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +");
+    add_proj4text (p, 2,
+        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 3,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 44S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / North Dakota South\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",81],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",47.4833333");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "3333333],PARAMETER[\"standard_parallel_2\",46.1833333333");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "3333],PARAMETER[\"latitude_of_origin\",45.66666666666666");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "],PARAMETER[\"central_meridian\",-100.5],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "G\",\"32344\"]]");
-    p = add_epsg_def (filter, first, last, 32345, "epsg", 32345,
-        "WGS 72 / UTM zone 45S");
+        "se_easting\",600000],PARAMETER[\"false_northing\",0],UNI");
+    add_srs_wkt (p, 13,
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+    add_srs_wkt (p, 14,
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32121\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32122, "epsg", 32122,
+        "NAD83 / Ohio North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        ".66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=G");
+    add_proj4text (p, 2,
+        "RS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 45S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Ohio North\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "SG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        ",87],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "\"],PARAMETER[\"standard_parallel_1\",41.7],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "standard_parallel_2\",40.43333333333333],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "itude_of_origin\",39.66666666666666],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "_meridian\",-82.5],PARAMETER[\"false_easting\",600000],P");
     add_srs_wkt (p, 12,
-        "G\",\"32345\"]]");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"32122\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_44.c b/src/srsinit/epsg_inlined_44.c
index be3c099..3f609c6 100644
--- a/src/srsinit/epsg_inlined_44.c
+++ b/src/srsinit/epsg_inlined_44.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,3238 +54,3951 @@ initialize_epsg_44 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 32346, "epsg", 32346,
-        "WGS 72 / UTM zone 46S");
+    p = add_epsg_def_ex (filter, first, last, 32123, "epsg", 32123,
+        "NAD83 / Ohio South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS");
+    add_proj4text (p, 2,
+        "80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 46S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Ohio South\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "SG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        ",93],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "\"],PARAMETER[\"standard_parallel_1\",40.03333333333333]");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        ",PARAMETER[\"standard_parallel_2\",38.73333333333333],PA");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "RAMETER[\"latitude_of_origin\",38],PARAMETER[\"central_m");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "eridian\",-82.5],PARAMETER[\"false_easting\",600000],PAR");
     add_srs_wkt (p, 12,
-        "G\",\"32346\"]]");
-    p = add_epsg_def (filter, first, last, 32347, "epsg", 32347,
-        "WGS 72 / UTM zone 47S");
+        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 13,
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 14,
+        "UTHORITY[\"EPSG\",\"32123\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32124, "epsg", 32124,
+        "NAD83 / Oklahoma North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80");
+    add_proj4text (p, 2,
+        " +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 47S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Oklahoma North\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        ",99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fals");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",36.76666666666");
     add_srs_wkt (p, 9,
-        "e_easting\",500000],PARAMETER[\"false_northing\",1000000");
+        "667],PARAMETER[\"standard_parallel_2\",35.56666666666667");
     add_srs_wkt (p, 10,
-        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+        "],PARAMETER[\"latitude_of_origin\",35],PARAMETER[\"centr");
     add_srs_wkt (p, 11,
-        "Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPS");
+        "al_meridian\",-98],PARAMETER[\"false_easting\",600000],P");
     add_srs_wkt (p, 12,
-        "G\",\"32347\"]]");
-    p = add_epsg_def (filter, first, last, 32348, "epsg", 32348,
-        "WGS 72 / UTM zone 48S");
+        "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT");
+    add_srs_wkt (p, 13,
+        "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]");
+    add_srs_wkt (p, 14,
+        ",AUTHORITY[\"EPSG\",\"32124\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32125, "epsg", 32125,
+        "NAD83 / Oklahoma South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0");
+    add_proj4text (p, 2,
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 48S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Oklahoma South\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        ",105],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",35.23333333333");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "333],PARAMETER[\"standard_parallel_2\",33.93333333333333");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "],PARAMETER[\"latitude_of_origin\",33.33333333333334],PA");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "RAMETER[\"central_meridian\",-98],PARAMETER[\"false_east");
     add_srs_wkt (p, 12,
-        "PSG\",\"32348\"]]");
-    p = add_epsg_def (filter, first, last, 32349, "epsg", 32349,
-        "WGS 72 / UTM zone 49S");
+        "ing\",600000],PARAMETER[\"false_northing\",0],UNIT[\"met");
+    add_srs_wkt (p, 13,
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX");
+    add_srs_wkt (p, 14,
+        "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32125\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32126, "epsg", 32126,
+        "NAD83 / Oregon North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.6");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "6666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=G");
+    add_proj4text (p, 2,
+        "RS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 49S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Oregon North\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        ",111],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "P\"],PARAMETER[\"standard_parallel_1\",46],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "tandard_parallel_2\",44.33333333333334],PARAMETER[\"lati");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "tude_of_origin\",43.66666666666666],PARAMETER[\"central_");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "meridian\",-120.5],PARAMETER[\"false_easting\",2500000],");
     add_srs_wkt (p, 12,
-        "PSG\",\"32349\"]]");
-    p = add_epsg_def (filter, first, last, 32350, "epsg", 32350,
-        "WGS 72 / UTM zone 50S");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"32126\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32127, "epsg", 32127,
+        "NAD83 / Oregon South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.6");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "6666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=G");
+    add_proj4text (p, 2,
+        "RS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 50S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Oregon South\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        ",117],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "P\"],PARAMETER[\"standard_parallel_1\",44],PARAMETER[\"s");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "tandard_parallel_2\",42.33333333333334],PARAMETER[\"lati");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "tude_of_origin\",41.66666666666666],PARAMETER[\"central_");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "meridian\",-120.5],PARAMETER[\"false_easting\",1500000],");
     add_srs_wkt (p, 12,
-        "PSG\",\"32350\"]]");
-    p = add_epsg_def (filter, first, last, 32351, "epsg", 32351,
-        "WGS 72 / UTM zone 51S");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"32127\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32128, "epsg", 32128,
+        "NAD83 / Pennsylvania North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=4");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "0.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps");
+    add_proj4text (p, 2,
+        "=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 51S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Pennsylvania North\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",123],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",41.95],PAR");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "AMETER[\"standard_parallel_2\",40.88333333333333],PARAME");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "TER[\"latitude_of_origin\",40.16666666666666],PARAMETER[");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "\"central_meridian\",-77.75],PARAMETER[\"false_easting\"");
     add_srs_wkt (p, 12,
-        "PSG\",\"32351\"]]");
-    p = add_epsg_def (filter, first, last, 32352, "epsg", 32352,
-        "WGS 72 / UTM zone 52S");
+        ",600000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",");
+    add_srs_wkt (p, 13,
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32128\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32129, "epsg", 32129,
+        "NAD83 / Pennsylvania South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +");
+    add_proj4text (p, 2,
+        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 3,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 52S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Pennsylvania South\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",129],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",40.9666666");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "6666667],PARAMETER[\"standard_parallel_2\",39.9333333333");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "3333],PARAMETER[\"latitude_of_origin\",39.33333333333334");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "],PARAMETER[\"central_meridian\",-77.75],PARAMETER[\"fal");
     add_srs_wkt (p, 12,
-        "PSG\",\"32352\"]]");
-    p = add_epsg_def (filter, first, last, 32353, "epsg", 32353,
-        "WGS 72 / UTM zone 53S");
+        "se_easting\",600000],PARAMETER[\"false_northing\",0],UNI");
+    add_srs_wkt (p, 13,
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E");
+    add_srs_wkt (p, 14,
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32129\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32130, "epsg", 32130,
+        "NAD83 / Rhode Island", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "9999375 +x_0=100000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0");
+    add_proj4text (p, 2,
+        ",0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 53S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Rhode Island\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",135],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "AMETER[\"latitude_of_origin\",41.08333333333334],PARAMET");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "ER[\"central_meridian\",-71.5],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        ",0.99999375],PARAMETER[\"false_easting\",100000],PARAMET");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 12,
-        "PSG\",\"32353\"]]");
-    p = add_epsg_def (filter, first, last, 32354, "epsg", 32354,
-        "WGS 72 / UTM zone 54S");
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 13,
+        "RITY[\"EPSG\",\"32130\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32133, "epsg", 32133,
+        "NAD83 / South Carolina", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        ".83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS");
+    add_proj4text (p, 2,
+        "80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 54S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / South Carolina\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        ",141],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",34.83333333333");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "334],PARAMETER[\"standard_parallel_2\",32.5],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "latitude_of_origin\",31.83333333333333],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "ral_meridian\",-81],PARAMETER[\"false_easting\",609600],");
     add_srs_wkt (p, 12,
-        "PSG\",\"32354\"]]");
-    p = add_epsg_def (filter, first, last, 32355, "epsg", 32355,
-        "WGS 72 / UTM zone 55S");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"32133\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32134, "epsg", 32134,
+        "NAD83 / South Dakota North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_");
+    add_proj4text (p, 2,
+        "0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_def");
+    add_proj4text (p, 3,
+        "s");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 55S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / South Dakota North\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",147],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",45.6833333");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "3333333],PARAMETER[\"standard_parallel_2\",44.4166666666");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "6666],PARAMETER[\"latitude_of_origin\",43.83333333333334");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "],PARAMETER[\"central_meridian\",-100],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "PSG\",\"32355\"]]");
-    p = add_epsg_def (filter, first, last, 32356, "epsg", 32356,
-        "WGS 72 / UTM zone 56S");
+        "_easting\",600000],PARAMETER[\"false_northing\",0],UNIT[");
+    add_srs_wkt (p, 13,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32134\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32135, "epsg", 32135,
+        "NAD83 / South Dakota South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        ".33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y");
+    add_proj4text (p, 2,
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 3,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 56S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / South Dakota South\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",153],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",44.4],PARA");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "METER[\"standard_parallel_2\",42.83333333333334],PARAMET");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ER[\"latitude_of_origin\",42.33333333333334],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "central_meridian\",-100.3333333333333],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "PSG\",\"32356\"]]");
-    p = add_epsg_def (filter, first, last, 32357, "epsg", 32357,
-        "WGS 72 / UTM zone 57S");
+        "_easting\",600000],PARAMETER[\"false_northing\",0],UNIT[");
+    add_srs_wkt (p, 13,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32135\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32136, "epsg", 32136,
+        "NAD83 / Tennessee", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=3");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "4.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GR");
+    add_proj4text (p, 2,
+        "S80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 57S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Tennessee\",GEOGCS[\"NAD83\",DATUM[\"No");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "rth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenw");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "G\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"");
     add_srs_wkt (p, 8,
-        ",159],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "],PARAMETER[\"standard_parallel_1\",36.41666666666666],P");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "ARAMETER[\"standard_parallel_2\",35.25],PARAMETER[\"lati");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "tude_of_origin\",34.33333333333334],PARAMETER[\"central_");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "meridian\",-86],PARAMETER[\"false_easting\",600000],PARA");
     add_srs_wkt (p, 12,
-        "PSG\",\"32357\"]]");
-    p = add_epsg_def (filter, first, last, 32358, "epsg", 32358,
-        "WGS 72 / UTM zone 58S");
+        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT");
+    add_srs_wkt (p, 14,
+        "HORITY[\"EPSG\",\"32136\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32137, "epsg", 32137,
+        "NAD83 / Texas North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=3");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "4 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +t");
+    add_proj4text (p, 2,
+        "owgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 58S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Texas North\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        ",165],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "P\"],PARAMETER[\"standard_parallel_1\",36.18333333333333");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "],PARAMETER[\"standard_parallel_2\",34.65],PARAMETER[\"l");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "atitude_of_origin\",34],PARAMETER[\"central_meridian\",-");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "101.5],PARAMETER[\"false_easting\",200000],PARAMETER[\"f");
     add_srs_wkt (p, 12,
-        "PSG\",\"32358\"]]");
-    p = add_epsg_def (filter, first, last, 32359, "epsg", 32359,
-        "WGS 72 / UTM zone 59S");
+        "alse_northing\",1000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
+    add_srs_wkt (p, 13,
+        "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO");
+    add_srs_wkt (p, 14,
+        "RITY[\"EPSG\",\"32137\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32138, "epsg", 32138,
+        "NAD83 / Texas North Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y");
+    add_proj4text (p, 2,
+        "_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 59S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Texas North Central\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",171],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",33.9666666");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "6666667],PARAMETER[\"standard_parallel_2\",32.1333333333");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "3333],PARAMETER[\"latitude_of_origin\",31.66666666666667");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "],PARAMETER[\"central_meridian\",-98.5],PARAMETER[\"fals");
     add_srs_wkt (p, 12,
-        "PSG\",\"32359\"]]");
-    p = add_epsg_def (filter, first, last, 32360, "epsg", 32360,
-        "WGS 72 / UTM zone 60S");
+        "e_easting\",600000],PARAMETER[\"false_northing\",2000000");
+    add_srs_wkt (p, 13,
+        "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32138\"");
+    add_srs_wkt (p, 15,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 32139, "epsg", 32139,
+        "NAD83 / Texas Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+        "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666");
     add_proj4text (p, 1,
-        "0,0,0.554,0.2263 +units=m +no_defs");
+        "667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +");
+    add_proj4text (p, 2,
+        "x_0=700000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,");
+    add_proj4text (p, 3,
+        "0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72 / UTM zone 60S\",GEOGCS[\"WGS 72\",DATUM");
+        "PROJCS[\"NAD83 / Texas Central\",GEOGCS[\"NAD83\",DATUM[");
     add_srs_wkt (p, 1,
-        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+        "\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378");
     add_srs_wkt (p, 2,
-        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+        "137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[");
     add_srs_wkt (p, 3,
-        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+        "0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gr");
     add_srs_wkt (p, 4,
-        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+        "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\"");
     add_srs_wkt (p, 5,
-        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",");
+        ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"4322\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\"");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        ",177],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"fal");
+        "P\"],PARAMETER[\"standard_parallel_1\",31.88333333333333");
     add_srs_wkt (p, 9,
-        "se_easting\",500000],PARAMETER[\"false_northing\",100000");
+        "],PARAMETER[\"standard_parallel_2\",30.11666666666667],P");
     add_srs_wkt (p, 10,
-        "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+        "ARAMETER[\"latitude_of_origin\",29.66666666666667],PARAM");
     add_srs_wkt (p, 11,
-        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+        "ETER[\"central_meridian\",-100.3333333333333],PARAMETER[");
     add_srs_wkt (p, 12,
-        "PSG\",\"32360\"]]");
-    p = add_epsg_def (filter, first, last, 32401, "epsg", 32401,
-        "WGS 72BE / UTM zone 1N");
+        "\"false_easting\",700000],PARAMETER[\"false_northing\",3");
+    add_srs_wkt (p, 13,
+        "000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 15,
+        "2139\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32140, "epsg", 32140,
+        "NAD83 / Texas South Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
+        "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333");
     add_proj4text (p, 1,
-        "4,-0.38 +units=m +no_defs");
+        "333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0");
+    add_proj4text (p, 2,
+        "=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +n");
+    add_proj4text (p, 3,
+        "o_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 1N\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"NAD83 / Texas South Central\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-177],PARAMETER[\"scale_");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",30.2833333");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "3333333],PARAMETER[\"standard_parallel_2\",28.3833333333");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "3333],PARAMETER[\"latitude_of_origin\",27.83333333333333");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "],PARAMETER[\"central_meridian\",-99],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32401\"]]");
-    p = add_epsg_def (filter, first, last, 32402, "epsg", 32402,
-        "WGS 72BE / UTM zone 2N");
+        "easting\",600000],PARAMETER[\"false_northing\",4000000],");
+    add_srs_wkt (p, 13,
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32140\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32141, "epsg", 32141,
+        "NAD83 / Texas South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
+        "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
-        "4,-0.38 +units=m +no_defs");
+        "667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y");
+    add_proj4text (p, 2,
+        "_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 3,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 2N\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"NAD83 / Texas South\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-171],PARAMETER[\"scale_");
+        "P\"],PARAMETER[\"standard_parallel_1\",27.83333333333333");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "],PARAMETER[\"standard_parallel_2\",26.16666666666667],P");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "ARAMETER[\"latitude_of_origin\",25.66666666666667],PARAM");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "ETER[\"central_meridian\",-98.5],PARAMETER[\"false_easti");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32402\"]]");
-    p = add_epsg_def (filter, first, last, 32403, "epsg", 32403,
-        "WGS 72BE / UTM zone 3N");
+        "ng\",300000],PARAMETER[\"false_northing\",5000000],UNIT[");
+    add_srs_wkt (p, 13,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32141\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32142, "epsg", 32142,
+        "NAD83 / Utah North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
+        "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666");
     add_proj4text (p, 1,
-        "4,-0.38 +units=m +no_defs");
+        "667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +");
+    add_proj4text (p, 2,
+        "y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 3N\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"NAD83 / Utah North\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-165],PARAMETER[\"scale_");
+        "\"],PARAMETER[\"standard_parallel_1\",41.78333333333333]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"standard_parallel_2\",40.71666666666667],PA");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "RAMETER[\"latitude_of_origin\",40.33333333333334],PARAME");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "TER[\"central_meridian\",-111.5],PARAMETER[\"false_easti");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32403\"]]");
-    p = add_epsg_def (filter, first, last, 32404, "epsg", 32404,
-        "WGS 72BE / UTM zone 4N");
+        "ng\",500000],PARAMETER[\"false_northing\",1000000],UNIT[");
+    add_srs_wkt (p, 13,
+        "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAS");
+    add_srs_wkt (p, 14,
+        "T],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32142\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32143, "epsg", 32143,
+        "NAD83 / Utah Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
+        "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=3");
     add_proj4text (p, 1,
-        "4,-0.38 +units=m +no_defs");
+        "8.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 ");
+    add_proj4text (p, 2,
+        "+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 4N\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"NAD83 / Utah Central\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2S");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-159],PARAMETER[\"scale_");
+        "P\"],PARAMETER[\"standard_parallel_1\",40.65],PARAMETER[");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "\"standard_parallel_2\",39.01666666666667],PARAMETER[\"l");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "atitude_of_origin\",38.33333333333334],PARAMETER[\"centr");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "al_meridian\",-111.5],PARAMETER[\"false_easting\",500000");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32404\"]]");
-    p = add_epsg_def (filter, first, last, 32405, "epsg", 32405,
-        "WGS 72BE / UTM zone 5N");
+        "],PARAMETER[\"false_northing\",2000000],UNIT[\"metre\",1");
+    add_srs_wkt (p, 13,
+        ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y");
+    add_srs_wkt (p, 14,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32143\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32144, "epsg", 32144,
+        "NAD83 / Utah South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
+        "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=3");
     add_proj4text (p, 1,
-        "4,-0.38 +units=m +no_defs");
+        "6.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 ");
+    add_proj4text (p, 2,
+        "+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 5N\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"NAD83 / Utah South\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-153],PARAMETER[\"scale_");
+        "\"],PARAMETER[\"standard_parallel_1\",38.35],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "standard_parallel_2\",37.21666666666667],PARAMETER[\"lat");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "itude_of_origin\",36.66666666666666],PARAMETER[\"central");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "_meridian\",-111.5],PARAMETER[\"false_easting\",500000],");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32405\"]]");
-    p = add_epsg_def (filter, first, last, 32406, "epsg", 32406,
-        "WGS 72BE / UTM zone 6N");
+        "PARAMETER[\"false_northing\",3000000],UNIT[\"metre\",1,A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 14,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32144\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32145, "epsg", 32145,
+        "NAD83 / Vermont", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
+        "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0");
     add_proj4text (p, 1,
-        "4,-0.38 +units=m +no_defs");
+        "=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 6N\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"NAD83 / Vermont\",GEOGCS[\"NAD83\",DATUM[\"Nort");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "h_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137,29");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "8.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Greenwic");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        ",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-147],PARAMETER[\"scale_");
+        "R[\"latitude_of_origin\",42.5],PARAMETER[\"central_merid");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "ian\",-72.5],PARAMETER[\"scale_factor\",0.999964286],PAR");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "AMETER[\"false_easting\",500000],PARAMETER[\"false_north");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "ing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32406\"]]");
-    p = add_epsg_def (filter, first, last, 32407, "epsg", 32407,
-        "WGS 72BE / UTM zone 7N");
+        "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "32145\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32146, "epsg", 32146,
+        "NAD83 / Virginia North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
+        "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37");
     add_proj4text (p, 1,
-        "4,-0.38 +units=m +no_defs");
+        ".66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +");
+    add_proj4text (p, 2,
+        "ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 7N\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"NAD83 / Virginia North\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-141],PARAMETER[\"scale_");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",39.2],PARAMETE");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "R[\"standard_parallel_2\",38.03333333333333],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "latitude_of_origin\",37.66666666666666],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "ral_meridian\",-78.5],PARAMETER[\"false_easting\",350000");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32407\"]]");
-    p = add_epsg_def (filter, first, last, 32408, "epsg", 32408,
-        "WGS 72BE / UTM zone 8N");
+        "0],PARAMETER[\"false_northing\",2000000],UNIT[\"metre\",");
+    add_srs_wkt (p, 13,
+        "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"");
+    add_srs_wkt (p, 14,
+        "Y\",NORTH],AUTHORITY[\"EPSG\",\"32146\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32147, "epsg", 32147,
+        "NAD83 / Virginia South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
+        "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666");
     add_proj4text (p, 1,
-        "4,-0.38 +units=m +no_defs");
+        "667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +");
+    add_proj4text (p, 2,
+        "y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m");
+    add_proj4text (p, 3,
+        " +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 8N\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"NAD83 / Virginia South\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-135],PARAMETER[\"scale_");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",37.96666666666");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "667],PARAMETER[\"standard_parallel_2\",36.76666666666667");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "],PARAMETER[\"latitude_of_origin\",36.33333333333334],PA");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "RAMETER[\"central_meridian\",-78.5],PARAMETER[\"false_ea");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32408\"]]");
-    p = add_epsg_def (filter, first, last, 32409, "epsg", 32409,
-        "WGS 72BE / UTM zone 9N");
+        "sting\",3500000],PARAMETER[\"false_northing\",1000000],U");
+    add_srs_wkt (p, 13,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\"");
+    add_srs_wkt (p, 14,
+        ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32147\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32148, "epsg", 32148,
+        "NAD83 / Washington North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
+        "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47");
     add_proj4text (p, 1,
-        "4,-0.38 +units=m +no_defs");
+        " +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS");
+    add_proj4text (p, 2,
+        "80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 9N\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"NAD83 / Washington North\",GEOGCS[\"NAD83\",DAT");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-129],PARAMETER[\"scale_");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",48.7333333333");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "3333],PARAMETER[\"standard_parallel_2\",47.5],PARAMETER[");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "\"latitude_of_origin\",47],PARAMETER[\"central_meridian\"");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        ",-120.8333333333333],PARAMETER[\"false_easting\",500000]");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32409\"]]");
-    p = add_epsg_def (filter, first, last, 32410, "epsg", 32410,
-        "WGS 72BE / UTM zone 10N");
+        ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORT");
+    add_srs_wkt (p, 14,
+        "H],AUTHORITY[\"EPSG\",\"32148\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32149, "epsg", 32149,
+        "NAD83 / Washington South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +");
+    add_proj4text (p, 2,
+        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 3,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 10N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Washington South\",GEOGCS[\"NAD83\",DAT");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "UM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",6");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-123],PARAMETER[\"scale_");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",47.3333333333");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "3334],PARAMETER[\"standard_parallel_2\",45.8333333333333");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "4],PARAMETER[\"latitude_of_origin\",45.33333333333334],P");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "ARAMETER[\"central_meridian\",-120.5],PARAMETER[\"false_");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32410\"]]");
-    p = add_epsg_def (filter, first, last, 32411, "epsg", 32411,
-        "WGS 72BE / UTM zone 11N");
+        "easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
+    add_srs_wkt (p, 13,
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+    add_srs_wkt (p, 14,
+        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32149\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32150, "epsg", 32150,
+        "NAD83 / West Virginia North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0");
+    add_proj4text (p, 2,
+        " +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 11N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / West Virginia North\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-117],PARAMETER[\"scale_");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",40.25],PAR");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "AMETER[\"standard_parallel_2\",39],PARAMETER[\"latitude_");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "of_origin\",38.5],PARAMETER[\"central_meridian\",-79.5],");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "PARAMETER[\"false_easting\",600000],PARAMETER[\"false_no");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32411\"]]");
-    p = add_epsg_def (filter, first, last, 32412, "epsg", 32412,
-        "WGS 72BE / UTM zone 12N");
+        "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"");
+    add_srs_wkt (p, 13,
+        "]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 14,
+        ",\"32150\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32151, "epsg", 32151,
+        "NAD83 / West Virginia South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80");
+    add_proj4text (p, 2,
+        " +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 12N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / West Virginia South\",GEOGCS[\"NAD83\",");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-111],PARAMETER[\"scale_");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",38.8833333");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "3333333],PARAMETER[\"standard_parallel_2\",37.4833333333");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "3333],PARAMETER[\"latitude_of_origin\",37],PARAMETER[\"c");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "entral_meridian\",-81],PARAMETER[\"false_easting\",60000");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32412\"]]");
-    p = add_epsg_def (filter, first, last, 32413, "epsg", 32413,
-        "WGS 72BE / UTM zone 13N");
+        "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH");
+    add_srs_wkt (p, 13,
+        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO");
+    add_srs_wkt (p, 14,
+        "RTH],AUTHORITY[\"EPSG\",\"32151\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32152, "epsg", 32152,
+        "NAD83 / Wisconsin North", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0");
+    add_proj4text (p, 2,
+        "=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 13N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Wisconsin North\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-105],PARAMETER[\"scale_");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",46.7666666666");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "6667],PARAMETER[\"standard_parallel_2\",45.5666666666666");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[");
+        "7],PARAMETER[\"latitude_of_origin\",45.16666666666666],P");
     add_srs_wkt (p, 11,
-        "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi");
+        "ARAMETER[\"central_meridian\",-90],PARAMETER[\"false_eas");
     add_srs_wkt (p, 12,
-        "ng\",NORTH],AUTHORITY[\"EPSG\",\"32413\"]]");
-    p = add_epsg_def (filter, first, last, 32414, "epsg", 32414,
-        "WGS 72BE / UTM zone 14N");
+        "ting\",600000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+    add_srs_wkt (p, 13,
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],A");
+    add_srs_wkt (p, 14,
+        "XIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32152\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32153, "epsg", 32153,
+        "NAD83 / Wisconsin Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=");
+    add_proj4text (p, 2,
+        "0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 14N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Wisconsin Central\",GEOGCS[\"NAD83\",DA");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "TUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWG");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "S84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "TY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Co");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-99],PARAMETER[\"scale_f");
+        "nic_2SP\"],PARAMETER[\"standard_parallel_1\",45.5],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"standard_parallel_2\",44.25],PARAMETER[\"latitude");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "_of_origin\",43.83333333333334],PARAMETER[\"central_meri");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "dian\",-90],PARAMETER[\"false_easting\",600000],PARAMETE");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32414\"]]");
-    p = add_epsg_def (filter, first, last, 32415, "epsg", 32415,
-        "WGS 72BE / UTM zone 15N");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+    add_srs_wkt (p, 13,
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 14,
+        "ITY[\"EPSG\",\"32153\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32154, "epsg", 32154,
+        "NAD83 / Wisconsin South", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80");
+    add_proj4text (p, 2,
+        " +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 15N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Wisconsin South\",GEOGCS[\"NAD83\",DATU");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "M[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",63");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "78137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS8");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "4[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Coni");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-93],PARAMETER[\"scale_f");
+        "c_2SP\"],PARAMETER[\"standard_parallel_1\",44.0666666666");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "6667],PARAMETER[\"standard_parallel_2\",42.7333333333333");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "3],PARAMETER[\"latitude_of_origin\",42],PARAMETER[\"cent");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "ral_meridian\",-90],PARAMETER[\"false_easting\",600000],");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32415\"]]");
-    p = add_epsg_def (filter, first, last, 32416, "epsg", 32416,
-        "WGS 72BE / UTM zone 16N");
+        "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI");
+    add_srs_wkt (p, 13,
+        "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH");
+    add_srs_wkt (p, 14,
+        "],AUTHORITY[\"EPSG\",\"32154\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32155, "epsg", 32155,
+        "NAD83 / Wyoming East", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "999375 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,");
+    add_proj4text (p, 2,
+        "0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 16N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Wyoming East\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-87],PARAMETER[\"scale_f");
+        "AMETER[\"latitude_of_origin\",40.5],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "meridian\",-105.1666666666667],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9999375],PARAMETER[\"false_easting\",200000],PARAMETE");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32416\"]]");
-    p = add_epsg_def (filter, first, last, 32417, "epsg", 32417,
-        "WGS 72BE / UTM zone 17N");
+        "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR");
+    add_srs_wkt (p, 13,
+        "ITY[\"EPSG\",\"32155\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32156, "epsg", 32156,
+        "NAD83 / Wyoming East Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +towgs84=0,0");
+    add_proj4text (p, 2,
+        ",0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 17N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Wyoming East Central\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        ",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIM");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_f");
+        "or\"],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "central_meridian\",-107.3333333333333],PARAMETER[\"scale");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "_factor\",0.9999375],PARAMETER[\"false_easting\",400000]");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",PARAMETER[\"false_northing\",100000],UNIT[\"metre\",1,A");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32417\"]]");
-    p = add_epsg_def (filter, first, last, 32418, "epsg", 32418,
-        "WGS 72BE / UTM zone 18N");
+        "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\"");
+    add_srs_wkt (p, 13,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32156\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32157, "epsg", 32157,
+        "NAD83 / Wyoming West Central", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 18N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Wyoming West Central\",GEOGCS[\"NAD83\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        ",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],T");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "OWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIM");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "ORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-75],PARAMETER[\"scale_f");
+        "or\"],PARAMETER[\"latitude_of_origin\",40.5],PARAMETER[\"");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "central_meridian\",-108.75],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ".9999375],PARAMETER[\"false_easting\",600000],PARAMETER[");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32418\"]]");
-    p = add_epsg_def (filter, first, last, 32419, "epsg", 32419,
-        "WGS 72BE / UTM zone 19N");
+        ",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY");
+    add_srs_wkt (p, 13,
+        "[\"EPSG\",\"32157\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32158, "epsg", 32158,
+        "NAD83 / Wyoming West", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0");
+    add_proj4text (p, 2,
+        ",0,0,0,0,0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 19N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Wyoming West\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_f");
+        "AMETER[\"latitude_of_origin\",40.5],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "meridian\",-110.0833333333333],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9999375],PARAMETER[\"false_easting\",800000],PARAMETE");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "R[\"false_northing\",100000],UNIT[\"metre\",1,AUTHORITY[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32419\"]]");
-    p = add_epsg_def (filter, first, last, 32420, "epsg", 32420,
-        "WGS 72BE / UTM zone 20N");
+        "\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],A");
+    add_srs_wkt (p, 13,
+        "UTHORITY[\"EPSG\",\"32158\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32161, "epsg", 32161,
+        "NAD83 / Puerto Rico & Virgin Is.", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +");
+    add_proj4text (p, 2,
+        "x_0=200000 +y_0=200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0");
+    add_proj4text (p, 3,
+        ",0 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 20N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Puerto Rico & Virgin Is.\",GEOGCS[\"NAD");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS ");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Confo");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_f");
+        "rmal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",18.4");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "3333333333333],PARAMETER[\"standard_parallel_2\",18.0333");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "3333333333],PARAMETER[\"latitude_of_origin\",17.83333333");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "333333],PARAMETER[\"central_meridian\",-66.4333333333333");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32420\"]]");
-    p = add_epsg_def (filter, first, last, 32421, "epsg", 32421,
-        "WGS 72BE / UTM zone 21N");
+        "4],PARAMETER[\"false_easting\",200000],PARAMETER[\"false");
+    add_srs_wkt (p, 13,
+        "_northing\",200000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 14,
+        "\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[");
+    add_srs_wkt (p, 15,
+        "\"EPSG\",\"32161\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32164, "epsg", 32164,
+        "NAD83 / BLM 14N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "1016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 21N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / BLM 14N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_f");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "meridian\",-99],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ETER[\"false_easting\",1640416.67],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32421\"]]");
-    p = add_epsg_def (filter, first, last, 32422, "epsg", 32422,
-        "WGS 72BE / UTM zone 22N");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"32164\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32165, "epsg", 32165,
+        "NAD83 / BLM 15N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "1016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 22N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / BLM 15N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-51],PARAMETER[\"scale_f");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "meridian\",-93],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ETER[\"false_easting\",1640416.67],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32422\"]]");
-    p = add_epsg_def (filter, first, last, 32423, "epsg", 32423,
-        "WGS 72BE / UTM zone 23N");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"32165\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32166, "epsg", 32166,
+        "NAD83 / BLM 16N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "1016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 23N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / BLM 16N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-45],PARAMETER[\"scale_f");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "meridian\",-87],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ETER[\"false_easting\",1640416.67],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32423\"]]");
-    p = add_epsg_def (filter, first, last, 32424, "epsg", 32424,
-        "WGS 72BE / UTM zone 24N");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"32166\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32167, "epsg", 32167,
+        "NAD83 / BLM 17N (ftUS)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "1016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +unit");
+    add_proj4text (p, 2,
+        "s=us-ft +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 24N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / BLM 17N (ftUS)\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-39],PARAMETER[\"scale_f");
+        "PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "meridian\",-81],PARAMETER[\"scale_factor\",0.9996],PARAM");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ETER[\"false_easting\",1640416.67],PARAMETER[\"false_nor");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "thing\",0],UNIT[\"US survey foot\",0.3048006096012192,AU");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32424\"]]");
-    p = add_epsg_def (filter, first, last, 32425, "epsg", 32425,
-        "WGS 72BE / UTM zone 25N");
+        "THORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",EAST],AXIS[\"Y\",");
+    add_srs_wkt (p, 13,
+        "NORTH],AUTHORITY[\"EPSG\",\"32167\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32180, "epsg", 32180,
+        "NAD83 / SCoPQ zone 2 (deprecated)", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 25N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / SCoPQ zone 2 (deprecated)\",GEOGCS[\"NA");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "D83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        " 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AUTHORITY[\"EPSG\",\"4269\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-33],PARAMETER[\"scale_f");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "\"central_meridian\",-55.5],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ".9999],PARAMETER[\"false_easting\",304800],PARAMETER[\"f");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32425\"]]");
-    p = add_epsg_def (filter, first, last, 32426, "epsg", 32426,
-        "WGS 72BE / UTM zone 26N");
+        "9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"32180\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32181, "epsg", 32181,
+        "NAD83 / MTM zone 1", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 26N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 1\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-27],PARAMETER[\"scale_f");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "dian\",-53],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "[\"false_easting\",304800],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32426\"]]");
-    p = add_epsg_def (filter, first, last, 32427, "epsg", 32427,
-        "WGS 72BE / UTM zone 27N");
+        "E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 13,
+        "2181\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32182, "epsg", 32182,
+        "NAD83 / MTM zone 2", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 27N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 2\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-21],PARAMETER[\"scale_f");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "dian\",-56],PARAMETER[\"scale_factor\",0.9999],PARAMETER");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "[\"false_easting\",304800],PARAMETER[\"false_northing\",");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32427\"]]");
-    p = add_epsg_def (filter, first, last, 32428, "epsg", 32428,
-        "WGS 72BE / UTM zone 28N");
+        "E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"3");
+    add_srs_wkt (p, 13,
+        "2182\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32183, "epsg", 32183,
+        "NAD83 / MTM zone 3", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 28N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 3\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-15],PARAMETER[\"scale_f");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "dian\",-58.5],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ER[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32428\"]]");
-    p = add_epsg_def (filter, first, last, 32429, "epsg", 32429,
-        "WGS 72BE / UTM zone 29N");
+        "\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "32183\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32184, "epsg", 32184,
+        "NAD83 / MTM zone 4", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 29N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 4\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-9],PARAMETER[\"scale_fa");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "dian\",-61.5],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ER[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32429\"]]");
-    p = add_epsg_def (filter, first, last, 32430, "epsg", 32430,
-        "WGS 72BE / UTM zone 30N");
+        "\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "32184\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32185, "epsg", 32185,
+        "NAD83 / MTM zone 5", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 30N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 5\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-3],PARAMETER[\"scale_fa");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "dian\",-64.5],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ER[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32430\"]]");
-    p = add_epsg_def (filter, first, last, 32431, "epsg", 32431,
-        "WGS 72BE / UTM zone 31N");
+        "\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "32185\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32186, "epsg", 32186,
+        "NAD83 / MTM zone 6", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 31N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 6\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",3],PARAMETER[\"scale_fac");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "dian\",-67.5],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32431\"]]");
-    p = add_epsg_def (filter, first, last, 32432, "epsg", 32432,
-        "WGS 72BE / UTM zone 32N");
+        "\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "32186\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32187, "epsg", 32187,
+        "NAD83 / MTM zone 7", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 32N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 7\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fac");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "dian\",-70.5],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "ER[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32432\"]]");
-    p = add_epsg_def (filter, first, last, 32433, "epsg", 32433,
-        "WGS 72BE / UTM zone 33N");
+        "\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "32187\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32188, "epsg", 32188,
+        "NAD83 / MTM zone 8", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 33N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 8\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fa");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "dian\",-73.5],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ER[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32433\"]]");
-    p = add_epsg_def (filter, first, last, 32434, "epsg", 32434,
-        "WGS 72BE / UTM zone 34N");
+        "\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "32188\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32189, "epsg", 32189,
+        "NAD83 / MTM zone 9", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 34N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 9\",GEOGCS[\"NAD83\",DATUM[\"N");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "orth_American_Datum_1983\",SPHEROID[\"GRS 1980\",6378137");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Green");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "SG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PARA");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_fa");
+        "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "dian\",-76.5],PARAMETER[\"scale_factor\",0.9999],PARAMET");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ER[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32434\"]]");
-    p = add_epsg_def (filter, first, last, 32435, "epsg", 32435,
-        "WGS 72BE / UTM zone 35N");
+        "\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "32189\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32190, "epsg", 32190,
+        "NAD83 / MTM zone 10", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "E(X)", "East", "N(Y)", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 35N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 10\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",27],PARAMETER[\"scale_fa");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "idian\",-79.5],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "TER[\"false_easting\",304800],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32435\"]]");
-    p = add_epsg_def (filter, first, last, 32436, "epsg", 32436,
-        "WGS 72BE / UTM zone 36N");
+        "S[\"E(X)\",EAST],AXIS[\"N(Y)\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32190\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32191, "epsg", 32191,
+        "NAD83 / MTM zone 11", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 ");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "+y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_");
+    add_proj4text (p, 2,
+        "defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 36N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 11\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",33],PARAMETER[\"scale_fa");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "idian\",-82.5],PARAMETER[\"scale_factor\",0.9999],PARAME");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "TER[\"false_easting\",304800],PARAMETER[\"false_northing");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32436\"]]");
-    p = add_epsg_def (filter, first, last, 32437, "epsg", 32437,
-        "WGS 72BE / UTM zone 37N");
+        "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"");
+    add_srs_wkt (p, 13,
+        "EPSG\",\"32191\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32192, "epsg", 32192,
+        "NAD83 / MTM zone 12", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 37N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 12\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",39],PARAMETER[\"scale_fa");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "idian\",-81],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "R[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32437\"]]");
-    p = add_epsg_def (filter, first, last, 32438, "epsg", 32438,
-        "WGS 72BE / UTM zone 38N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"32192\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32193, "epsg", 32193,
+        "NAD83 / MTM zone 13", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 38N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 13\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",45],PARAMETER[\"scale_fa");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "idian\",-84],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "R[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32438\"]]");
-    p = add_epsg_def (filter, first, last, 32439, "epsg", 32439,
-        "WGS 72BE / UTM zone 39N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"32193\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32194, "epsg", 32194,
+        "NAD83 / MTM zone 14", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 39N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 14\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",51],PARAMETER[\"scale_fa");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "idian\",-87],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "R[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32439\"]]");
-    p = add_epsg_def (filter, first, last, 32440, "epsg", 32440,
-        "WGS 72BE / UTM zone 40N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"32194\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32195, "epsg", 32195,
+        "NAD83 / MTM zone 15", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 40N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 15\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",57],PARAMETER[\"scale_fa");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "idian\",-90],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "R[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32440\"]]");
-    p = add_epsg_def (filter, first, last, 32441, "epsg", 32441,
-        "WGS 72BE / UTM zone 41N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"32195\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32196, "epsg", 32196,
+        "NAD83 / MTM zone 16", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 41N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 16\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",63],PARAMETER[\"scale_fa");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "idian\",-93],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "R[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32441\"]]");
-    p = add_epsg_def (filter, first, last, 32442, "epsg", 32442,
-        "WGS 72BE / UTM zone 42N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"32196\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32197, "epsg", 32197,
+        "NAD83 / MTM zone 17", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_de");
+    add_proj4text (p, 2,
+        "fs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 42N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / MTM zone 17\",GEOGCS[\"NAD83\",DATUM[\"");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637813");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "7,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"Gree");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "PSG\",\"4269\"]],PROJECTION[\"Transverse_Mercator\"],PAR");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",69],PARAMETER[\"scale_fa");
+        "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "idian\",-96],PARAMETER[\"scale_factor\",0.9999],PARAMETE");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "R[\"false_easting\",304800],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32442\"]]");
-    p = add_epsg_def (filter, first, last, 32443, "epsg", 32443,
-        "WGS 72BE / UTM zone 43N");
+        "\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"E");
+    add_srs_wkt (p, 13,
+        "PSG\",\"32197\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32198, "epsg", 32198,
+        "NAD83 / Quebec Lambert", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m ");
+    add_proj4text (p, 2,
+        "+no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 43N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Quebec Lambert\",GEOGCS[\"NAD83\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\",637");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "8137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM[\"G");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_Conic");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",75],PARAMETER[\"scale_fa");
+        "_2SP\"],PARAMETER[\"standard_parallel_1\",60],PARAMETER[");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "\"standard_parallel_2\",46],PARAMETER[\"latitude_of_orig");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "in\",44],PARAMETER[\"central_meridian\",-68.5],PARAMETER");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "[\"false_easting\",0],PARAMETER[\"false_northing\",0],UN");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32443\"]]");
-    p = add_epsg_def (filter, first, last, 32444, "epsg", 32444,
-        "WGS 72BE / UTM zone 44N");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",");
+    add_srs_wkt (p, 13,
+        "EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32198\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32199, "epsg", 32199,
+        "NAD83 / Louisiana Offshore", 0, 0,
+        "GRS 1980", "Greenwich",
+        "North_American_Datum_1983", "Lambert_Conformal_Conic_2SP", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=1000000 +");
+    add_proj4text (p, 2,
+        "y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_d");
+    add_proj4text (p, 3,
+        "efs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 44N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"NAD83 / Louisiana Offshore\",GEOGCS[\"NAD83\",D");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "ATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\"");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        ",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOW");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "GS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],PRIMEM");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "ITY[\"EPSG\",\"4269\"]],PROJECTION[\"Lambert_Conformal_C");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",81],PARAMETER[\"scale_fa");
+        "onic_2SP\"],PARAMETER[\"standard_parallel_1\",27.8333333");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "3333333],PARAMETER[\"standard_parallel_2\",26.1666666666");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "6667],PARAMETER[\"latitude_of_origin\",25.5],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "central_meridian\",-91.33333333333333],PARAMETER[\"false");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32444\"]]");
-    p = add_epsg_def (filter, first, last, 32445, "epsg", 32445,
-        "WGS 72BE / UTM zone 45N");
+        "_easting\",1000000],PARAMETER[\"false_northing\",0],UNIT");
+    add_srs_wkt (p, 13,
+        "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA");
+    add_srs_wkt (p, 14,
+        "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32199\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32201, "epsg", 32201,
+        "WGS 72 / UTM zone 1N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "4,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 45N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 1N\",GEOGCS[\"WGS 72\",DATUM[");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",87],PARAMETER[\"scale_fa");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32445\"]]");
-    p = add_epsg_def (filter, first, last, 32446, "epsg", 32446,
-        "WGS 72BE / UTM zone 46N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32201");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32202, "epsg", 32202,
+        "WGS 72 / UTM zone 2N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "4,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 46N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 2N\",GEOGCS[\"WGS 72\",DATUM[");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",93],PARAMETER[\"scale_fa");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32446\"]]");
-    p = add_epsg_def (filter, first, last, 32447, "epsg", 32447,
-        "WGS 72BE / UTM zone 47N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32202");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32203, "epsg", 32203,
+        "WGS 72 / UTM zone 3N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "4,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 47N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 3N\",GEOGCS[\"WGS 72\",DATUM[");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",99],PARAMETER[\"scale_fa");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-165],");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32447\"]]");
-    p = add_epsg_def (filter, first, last, 32448, "epsg", 32448,
-        "WGS 72BE / UTM zone 48N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32203");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32204, "epsg", 32204,
+        "WGS 72 / UTM zone 4N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "4,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 48N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 4N\",GEOGCS[\"WGS 72\",DATUM[");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",105],PARAMETER[\"scale_f");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-159],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32448\"]]");
-    p = add_epsg_def (filter, first, last, 32449, "epsg", 32449,
-        "WGS 72BE / UTM zone 49N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32204");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32205, "epsg", 32205,
+        "WGS 72 / UTM zone 5N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "4,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 49N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 5N\",GEOGCS[\"WGS 72\",DATUM[");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",111],PARAMETER[\"scale_f");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-153],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32449\"]]");
-    p = add_epsg_def (filter, first, last, 32450, "epsg", 32450,
-        "WGS 72BE / UTM zone 50N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32205");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32206, "epsg", 32206,
+        "WGS 72 / UTM zone 6N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "4,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 50N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 6N\",GEOGCS[\"WGS 72\",DATUM[");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",117],PARAMETER[\"scale_f");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-147],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32450\"]]");
-    p = add_epsg_def (filter, first, last, 32451, "epsg", 32451,
-        "WGS 72BE / UTM zone 51N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32206");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32207, "epsg", 32207,
+        "WGS 72 / UTM zone 7N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "4,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 51N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 7N\",GEOGCS[\"WGS 72\",DATUM[");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",123],PARAMETER[\"scale_f");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-141],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32451\"]]");
-    p = add_epsg_def (filter, first, last, 32452, "epsg", 32452,
-        "WGS 72BE / UTM zone 52N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32207");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32208, "epsg", 32208,
+        "WGS 72 / UTM zone 8N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "4,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 52N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 8N\",GEOGCS[\"WGS 72\",DATUM[");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",129],PARAMETER[\"scale_f");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-135],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32452\"]]");
-    p = add_epsg_def (filter, first, last, 32453, "epsg", 32453,
-        "WGS 72BE / UTM zone 53N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32208");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32209, "epsg", 32209,
+        "WGS 72 / UTM zone 9N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.55");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "4,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 53N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 9N\",GEOGCS[\"WGS 72\",DATUM[");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",135],PARAMETER[\"scale_f");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-129],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32453\"]]");
-    p = add_epsg_def (filter, first, last, 32454, "epsg", 32454,
-        "WGS 72BE / UTM zone 54N");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32209");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32210, "epsg", 32210,
+        "WGS 72 / UTM zone 10N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 54N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 10N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",141],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-123");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32454\"]]");
-    p = add_epsg_def (filter, first, last, 32455, "epsg", 32455,
-        "WGS 72BE / UTM zone 55N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"322");
+    add_srs_wkt (p, 13,
+        "10\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32211, "epsg", 32211,
+        "WGS 72 / UTM zone 11N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 55N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 11N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",147],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-117");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32455\"]]");
-    p = add_epsg_def (filter, first, last, 32456, "epsg", 32456,
-        "WGS 72BE / UTM zone 56N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"322");
+    add_srs_wkt (p, 13,
+        "11\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32212, "epsg", 32212,
+        "WGS 72 / UTM zone 12N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 56N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 12N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",153],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-111");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32456\"]]");
-    p = add_epsg_def (filter, first, last, 32457, "epsg", 32457,
-        "WGS 72BE / UTM zone 57N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"322");
+    add_srs_wkt (p, 13,
+        "12\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32213, "epsg", 32213,
+        "WGS 72 / UTM zone 13N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 57N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 13N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",159],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-105");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\"");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32457\"]]");
-    p = add_epsg_def (filter, first, last, 32458, "epsg", 32458,
-        "WGS 72BE / UTM zone 58N");
+        ",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"322");
+    add_srs_wkt (p, 13,
+        "13\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32214, "epsg", 32214,
+        "WGS 72 / UTM zone 14N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 58N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 14N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",165],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-99]");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32458\"]]");
-    p = add_epsg_def (filter, first, last, 32459, "epsg", 32459,
-        "WGS 72BE / UTM zone 59N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3221");
+    add_srs_wkt (p, 13,
+        "4\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32215, "epsg", 32215,
+        "WGS 72 / UTM zone 15N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 59N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 15N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",171],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-93]");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32459\"]]");
-    p = add_epsg_def (filter, first, last, 32460, "epsg", 32460,
-        "WGS 72BE / UTM zone 60N");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3221");
+    add_srs_wkt (p, 13,
+        "5\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32216, "epsg", 32216,
+        "WGS 72 / UTM zone 16N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+        "+proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "14,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 60N\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 16N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",177],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-87]");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32460\"]]");
-    p = add_epsg_def (filter, first, last, 32501, "epsg", 32501,
-        "WGS 72BE / UTM zone 1S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3221");
+    add_srs_wkt (p, 13,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32217, "epsg", 32217,
+        "WGS 72 / UTM zone 17N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+        "+proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        ",0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 1S\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"WGS 72 / UTM zone 17N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-177],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-81]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32501\"]]");
-    p = add_epsg_def (filter, first, last, 32502, "epsg", 32502,
-        "WGS 72BE / UTM zone 2S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3221");
+    add_srs_wkt (p, 13,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32218, "epsg", 32218,
+        "WGS 72 / UTM zone 18N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+        "+proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        ",0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 2S\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"WGS 72 / UTM zone 18N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-171],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-75]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32502\"]]");
-    p = add_epsg_def (filter, first, last, 32503, "epsg", 32503,
-        "WGS 72BE / UTM zone 3S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3221");
+    add_srs_wkt (p, 13,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32219, "epsg", 32219,
+        "WGS 72 / UTM zone 19N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+        "+proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        ",0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 3S\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"WGS 72 / UTM zone 19N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-165],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-69]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32503\"]]");
-    p = add_epsg_def (filter, first, last, 32504, "epsg", 32504,
-        "WGS 72BE / UTM zone 4S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3221");
+    add_srs_wkt (p, 13,
+        "9\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32220, "epsg", 32220,
+        "WGS 72 / UTM zone 20N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+        "+proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        ",0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 4S\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"WGS 72 / UTM zone 20N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-159],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-63]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32504\"]]");
-    p = add_epsg_def (filter, first, last, 32505, "epsg", 32505,
-        "WGS 72BE / UTM zone 5S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3222");
+    add_srs_wkt (p, 13,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32221, "epsg", 32221,
+        "WGS 72 / UTM zone 21N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+        "+proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        ",0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 5S\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"WGS 72 / UTM zone 21N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-153],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-57]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32505\"]]");
-    p = add_epsg_def (filter, first, last, 32506, "epsg", 32506,
-        "WGS 72BE / UTM zone 6S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3222");
+    add_srs_wkt (p, 13,
+        "1\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32222, "epsg", 32222,
+        "WGS 72 / UTM zone 22N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+        "+proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        ",0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 6S\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"WGS 72 / UTM zone 22N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-147],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-51]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32506\"]]");
-    p = add_epsg_def (filter, first, last, 32507, "epsg", 32507,
-        "WGS 72BE / UTM zone 7S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3222");
+    add_srs_wkt (p, 13,
+        "2\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32223, "epsg", 32223,
+        "WGS 72 / UTM zone 23N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+        "+proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        ",0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 7S\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"WGS 72 / UTM zone 23N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-141],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-45]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32507\"]]");
-    p = add_epsg_def (filter, first, last, 32508, "epsg", 32508,
-        "WGS 72BE / UTM zone 8S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3222");
+    add_srs_wkt (p, 13,
+        "3\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32224, "epsg", 32224,
+        "WGS 72 / UTM zone 24N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+        "+proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        ",0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 8S\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"WGS 72 / UTM zone 24N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-135],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-39]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32508\"]]");
-    p = add_epsg_def (filter, first, last, 32509, "epsg", 32509,
-        "WGS 72BE / UTM zone 9S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3222");
+    add_srs_wkt (p, 13,
+        "4\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32225, "epsg", 32225,
+        "WGS 72 / UTM zone 25N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+        "+proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        ",0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 9S\",GEOGCS[\"WGS 72BE\",DA");
+        "PROJCS[\"WGS 72 / UTM zone 25N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-129],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-33]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32509\"]]");
-    p = add_epsg_def (filter, first, last, 32510, "epsg", 32510,
-        "WGS 72BE / UTM zone 10S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3222");
+    add_srs_wkt (p, 13,
+        "5\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32226, "epsg", 32226,
+        "WGS 72 / UTM zone 26N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 10S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 26N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-123],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-27]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32510\"]]");
-    p = add_epsg_def (filter, first, last, 32511, "epsg", 32511,
-        "WGS 72BE / UTM zone 11S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3222");
+    add_srs_wkt (p, 13,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32227, "epsg", 32227,
+        "WGS 72 / UTM zone 27N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 11S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 27N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-117],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-21]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32511\"]]");
-    p = add_epsg_def (filter, first, last, 32512, "epsg", 32512,
-        "WGS 72BE / UTM zone 12S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3222");
+    add_srs_wkt (p, 13,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32228, "epsg", 32228,
+        "WGS 72 / UTM zone 28N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 12S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 28N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-111],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-15]");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32512\"]]");
-    p = add_epsg_def (filter, first, last, 32513, "epsg", 32513,
-        "WGS 72BE / UTM zone 13S");
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3222");
+    add_srs_wkt (p, 13,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32229, "epsg", 32229,
+        "WGS 72 / UTM zone 29N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 13S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 29N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-105],PARAMETER[\"scale_");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-9],");
     add_srs_wkt (p, 9,
-        "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "AMETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUT");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "HORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32513\"]]");
-    p = add_epsg_def (filter, first, last, 32514, "epsg", 32514,
-        "WGS 72BE / UTM zone 14S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32229");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32230, "epsg", 32230,
+        "WGS 72 / UTM zone 30N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 14S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 30N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-99],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-3],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32514\"]]");
-    p = add_epsg_def (filter, first, last, 32515, "epsg", 32515,
-        "WGS 72BE / UTM zone 15S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32230");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32231, "epsg", 32231,
+        "WGS 72 / UTM zone 31N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 15S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 31N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-93],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",3],P");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32515\"]]");
-    p = add_epsg_def (filter, first, last, 32516, "epsg", 32516,
-        "WGS 72BE / UTM zone 16S");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32231\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 32232, "epsg", 32232,
+        "WGS 72 / UTM zone 32N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 16S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 32N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-87],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",9],P");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ing\",500000],PARAMETER[\"false_northing\",0],UNIT[\"met");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EA");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32516\"]]");
-    p = add_epsg_def (filter, first, last, 32517, "epsg", 32517,
-        "WGS 72BE / UTM zone 17S");
+        "ST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32232\"");
+    add_srs_wkt (p, 13,
+        "]]");
+    p = add_epsg_def_ex (filter, first, last, 32233, "epsg", 32233,
+        "WGS 72 / UTM zone 33N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 17S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 33N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",15],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32517\"]]");
-    p = add_epsg_def (filter, first, last, 32518, "epsg", 32518,
-        "WGS 72BE / UTM zone 18S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32233");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32234, "epsg", 32234,
+        "WGS 72 / UTM zone 34N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 18S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 34N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-75],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",21],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32518\"]]");
-    p = add_epsg_def (filter, first, last, 32519, "epsg", 32519,
-        "WGS 72BE / UTM zone 19S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32234");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32235, "epsg", 32235,
+        "WGS 72 / UTM zone 35N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 19S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 35N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",27],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32519\"]]");
-    p = add_epsg_def (filter, first, last, 32520, "epsg", 32520,
-        "WGS 72BE / UTM zone 20S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32235");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32236, "epsg", 32236,
+        "WGS 72 / UTM zone 36N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=36 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 20S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 36N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",33],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32520\"]]");
-    p = add_epsg_def (filter, first, last, 32521, "epsg", 32521,
-        "WGS 72BE / UTM zone 21S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32236");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32237, "epsg", 32237,
+        "WGS 72 / UTM zone 37N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 21S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 37N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",39],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32521\"]]");
-    p = add_epsg_def (filter, first, last, 32522, "epsg", 32522,
-        "WGS 72BE / UTM zone 22S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32237");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32238, "epsg", 32238,
+        "WGS 72 / UTM zone 38N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 22S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 38N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-51],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",45],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32522\"]]");
-    p = add_epsg_def (filter, first, last, 32523, "epsg", 32523,
-        "WGS 72BE / UTM zone 23S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32238");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32239, "epsg", 32239,
+        "WGS 72 / UTM zone 39N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 23S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 39N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-45],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",51],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32523\"]]");
-    p = add_epsg_def (filter, first, last, 32524, "epsg", 32524,
-        "WGS 72BE / UTM zone 24S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32239");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32240, "epsg", 32240,
+        "WGS 72 / UTM zone 40N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 24S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 40N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-39],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",57],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32524\"]]");
-    p = add_epsg_def (filter, first, last, 32525, "epsg", 32525,
-        "WGS 72BE / UTM zone 25S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32240");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32241, "epsg", 32241,
+        "WGS 72 / UTM zone 41N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 25S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 41N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-33],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",63],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32525\"]]");
-    p = add_epsg_def (filter, first, last, 32526, "epsg", 32526,
-        "WGS 72BE / UTM zone 26S");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32241");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32242, "epsg", 32242,
+        "WGS 72 / UTM zone 42N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "54,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 26S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 42N\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-27],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",69],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32526\"]]");
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32242");
+    add_srs_wkt (p, 13,
+        "\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_45.c b/src/srsinit/epsg_inlined_45.c
index 7775252..52b250f 100644
--- a/src/srsinit/epsg_inlined_45.c
+++ b/src/srsinit/epsg_inlined_45.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
@@ -52,368 +54,2905 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
 {
 /* initializing the EPSG defs list */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 32527, "epsg", 32527,
-        "WGS 72BE / UTM zone 27S");
+    p = add_epsg_def_ex (filter, first, last, 32243, "epsg", 32243,
+        "WGS 72 / UTM zone 43N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 43N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",75],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+    add_srs_wkt (p, 11,
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+    add_srs_wkt (p, 12,
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32243");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32244, "epsg", 32244,
+        "WGS 72 / UTM zone 44N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 44N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",81],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+    add_srs_wkt (p, 11,
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+    add_srs_wkt (p, 12,
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32244");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32245, "epsg", 32245,
+        "WGS 72 / UTM zone 45N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 45N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",87],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+    add_srs_wkt (p, 11,
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+    add_srs_wkt (p, 12,
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32245");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32246, "epsg", 32246,
+        "WGS 72 / UTM zone 46N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 46N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",93],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+    add_srs_wkt (p, 11,
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+    add_srs_wkt (p, 12,
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32246");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32247, "epsg", 32247,
+        "WGS 72 / UTM zone 47N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 47N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",99],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"me");
+    add_srs_wkt (p, 11,
+        "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",E");
+    add_srs_wkt (p, 12,
+        "AST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32247");
+    add_srs_wkt (p, 13,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32248, "epsg", 32248,
+        "WGS 72 / UTM zone 48N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 48N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",105]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3224");
+    add_srs_wkt (p, 13,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32249, "epsg", 32249,
+        "WGS 72 / UTM zone 49N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 49N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",111]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3224");
+    add_srs_wkt (p, 13,
+        "9\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32250, "epsg", 32250,
+        "WGS 72 / UTM zone 50N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 50N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",117]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225");
+    add_srs_wkt (p, 13,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32251, "epsg", 32251,
+        "WGS 72 / UTM zone 51N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 51N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",123]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225");
+    add_srs_wkt (p, 13,
+        "1\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32252, "epsg", 32252,
+        "WGS 72 / UTM zone 52N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 52N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",129]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225");
+    add_srs_wkt (p, 13,
+        "2\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32253, "epsg", 32253,
+        "WGS 72 / UTM zone 53N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 53N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",135]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225");
+    add_srs_wkt (p, 13,
+        "3\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32254, "epsg", 32254,
+        "WGS 72 / UTM zone 54N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 54N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",141]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225");
+    add_srs_wkt (p, 13,
+        "4\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32255, "epsg", 32255,
+        "WGS 72 / UTM zone 55N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 55N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",147]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225");
+    add_srs_wkt (p, 13,
+        "5\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32256, "epsg", 32256,
+        "WGS 72 / UTM zone 56N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 56N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",153]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225");
+    add_srs_wkt (p, 13,
+        "6\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32257, "epsg", 32257,
+        "WGS 72 / UTM zone 57N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 57N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",159]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225");
+    add_srs_wkt (p, 13,
+        "7\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32258, "epsg", 32258,
+        "WGS 72 / UTM zone 58N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 58N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",165]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225");
+    add_srs_wkt (p, 13,
+        "8\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32259, "epsg", 32259,
+        "WGS 72 / UTM zone 59N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 59N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",171]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3225");
+    add_srs_wkt (p, 13,
+        "9\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32260, "epsg", 32260,
+        "WGS 72 / UTM zone 60N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.5");
+    add_proj4text (p, 1,
+        "54,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 60N\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",177]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"m");
+    add_srs_wkt (p, 11,
+        "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",");
+    add_srs_wkt (p, 12,
+        "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"3226");
+    add_srs_wkt (p, 13,
+        "0\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32301, "epsg", 32301,
+        "WGS 72 / UTM zone 1S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+    add_proj4text (p, 1,
+        ",0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 1S\",GEOGCS[\"WGS 72\",DATUM[");
+    add_srs_wkt (p, 1,
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+    add_srs_wkt (p, 2,
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+    add_srs_wkt (p, 3,
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+    add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+    add_srs_wkt (p, 5,
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
+    add_srs_wkt (p, 6,
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
+    add_srs_wkt (p, 7,
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+    add_srs_wkt (p, 8,
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32301\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32302, "epsg", 32302,
+        "WGS 72 / UTM zone 2S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+    add_proj4text (p, 1,
+        ",0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 2S\",GEOGCS[\"WGS 72\",DATUM[");
+    add_srs_wkt (p, 1,
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+    add_srs_wkt (p, 2,
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+    add_srs_wkt (p, 3,
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+    add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+    add_srs_wkt (p, 5,
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
+    add_srs_wkt (p, 6,
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
+    add_srs_wkt (p, 7,
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+    add_srs_wkt (p, 8,
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32302\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32303, "epsg", 32303,
+        "WGS 72 / UTM zone 3S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+    add_proj4text (p, 1,
+        ",0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 3S\",GEOGCS[\"WGS 72\",DATUM[");
+    add_srs_wkt (p, 1,
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+    add_srs_wkt (p, 2,
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+    add_srs_wkt (p, 3,
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+    add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+    add_srs_wkt (p, 5,
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
+    add_srs_wkt (p, 6,
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
+    add_srs_wkt (p, 7,
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+    add_srs_wkt (p, 8,
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-165],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32303\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32304, "epsg", 32304,
+        "WGS 72 / UTM zone 4S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+    add_proj4text (p, 1,
+        ",0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 4S\",GEOGCS[\"WGS 72\",DATUM[");
+    add_srs_wkt (p, 1,
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+    add_srs_wkt (p, 2,
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+    add_srs_wkt (p, 3,
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+    add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+    add_srs_wkt (p, 5,
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
+    add_srs_wkt (p, 6,
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
+    add_srs_wkt (p, 7,
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+    add_srs_wkt (p, 8,
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-159],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32304\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32305, "epsg", 32305,
+        "WGS 72 / UTM zone 5S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+    add_proj4text (p, 1,
+        ",0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 5S\",GEOGCS[\"WGS 72\",DATUM[");
+    add_srs_wkt (p, 1,
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+    add_srs_wkt (p, 2,
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+    add_srs_wkt (p, 3,
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+    add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+    add_srs_wkt (p, 5,
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
+    add_srs_wkt (p, 6,
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
+    add_srs_wkt (p, 7,
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+    add_srs_wkt (p, 8,
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-153],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32305\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32306, "epsg", 32306,
+        "WGS 72 / UTM zone 6S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+    add_proj4text (p, 1,
+        ",0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 6S\",GEOGCS[\"WGS 72\",DATUM[");
+    add_srs_wkt (p, 1,
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+    add_srs_wkt (p, 2,
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+    add_srs_wkt (p, 3,
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+    add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+    add_srs_wkt (p, 5,
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
+    add_srs_wkt (p, 6,
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
+    add_srs_wkt (p, 7,
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+    add_srs_wkt (p, 8,
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-147],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32306\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32307, "epsg", 32307,
+        "WGS 72 / UTM zone 7S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+    add_proj4text (p, 1,
+        ",0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 7S\",GEOGCS[\"WGS 72\",DATUM[");
+    add_srs_wkt (p, 1,
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+    add_srs_wkt (p, 2,
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+    add_srs_wkt (p, 3,
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+    add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+    add_srs_wkt (p, 5,
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
+    add_srs_wkt (p, 6,
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
+    add_srs_wkt (p, 7,
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+    add_srs_wkt (p, 8,
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-141],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32307\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32308, "epsg", 32308,
+        "WGS 72 / UTM zone 8S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+    add_proj4text (p, 1,
+        ",0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 8S\",GEOGCS[\"WGS 72\",DATUM[");
+    add_srs_wkt (p, 1,
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+    add_srs_wkt (p, 2,
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+    add_srs_wkt (p, 3,
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+    add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+    add_srs_wkt (p, 5,
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
+    add_srs_wkt (p, 6,
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
+    add_srs_wkt (p, 7,
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+    add_srs_wkt (p, 8,
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-135],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32308\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32309, "epsg", 32309,
+        "WGS 72 / UTM zone 9S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,4.5,0");
+    add_proj4text (p, 1,
+        ",0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 9S\",GEOGCS[\"WGS 72\",DATUM[");
+    add_srs_wkt (p, 1,
+        "\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORIT");
+    add_srs_wkt (p, 2,
+        "Y[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263],");
+    add_srs_wkt (p, 3,
+        "AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AUT");
+    add_srs_wkt (p, 4,
+        "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251");
+    add_srs_wkt (p, 5,
+        "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO");
+    add_srs_wkt (p, 6,
+        "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322\"");
+    add_srs_wkt (p, 7,
+        "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit");
+    add_srs_wkt (p, 8,
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",-129],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32309\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32310, "epsg", 32310,
+        "WGS 72 / UTM zone 10S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 10S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-123");
+    add_srs_wkt (p, 9,
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
+    add_srs_wkt (p, 10,
+        "asting\",500000],PARAMETER[\"false_northing\",10000000],");
+    add_srs_wkt (p, 11,
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+    add_srs_wkt (p, 12,
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32310\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32311, "epsg", 32311,
+        "WGS 72 / UTM zone 11S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 11S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-117");
+    add_srs_wkt (p, 9,
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
+    add_srs_wkt (p, 10,
+        "asting\",500000],PARAMETER[\"false_northing\",10000000],");
+    add_srs_wkt (p, 11,
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+    add_srs_wkt (p, 12,
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32311\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32312, "epsg", 32312,
+        "WGS 72 / UTM zone 12S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 12S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-111");
+    add_srs_wkt (p, 9,
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
+    add_srs_wkt (p, 10,
+        "asting\",500000],PARAMETER[\"false_northing\",10000000],");
+    add_srs_wkt (p, 11,
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+    add_srs_wkt (p, 12,
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32312\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32313, "epsg", 32313,
+        "WGS 72 / UTM zone 13S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 13S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-105");
+    add_srs_wkt (p, 9,
+        "],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_e");
+    add_srs_wkt (p, 10,
+        "asting\",500000],PARAMETER[\"false_northing\",10000000],");
+    add_srs_wkt (p, 11,
+        "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Ea");
+    add_srs_wkt (p, 12,
+        "sting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32313\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32314, "epsg", 32314,
+        "WGS 72 / UTM zone 14S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 14S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-99]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32314\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32315, "epsg", 32315,
+        "WGS 72 / UTM zone 15S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 15S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-93]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32315\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32316, "epsg", 32316,
+        "WGS 72 / UTM zone 16S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 16S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-87]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32316\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32317, "epsg", 32317,
+        "WGS 72 / UTM zone 17S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 17S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-81]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32317\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32318, "epsg", 32318,
+        "WGS 72 / UTM zone 18S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 18S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-75]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32318\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32319, "epsg", 32319,
+        "WGS 72 / UTM zone 19S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 19S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-69]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32319\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32320, "epsg", 32320,
+        "WGS 72 / UTM zone 20S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 20S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-63]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32320\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32321, "epsg", 32321,
+        "WGS 72 / UTM zone 21S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 21S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-57]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32321\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32322, "epsg", 32322,
+        "WGS 72 / UTM zone 22S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 22S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-51]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32322\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32323, "epsg", 32323,
+        "WGS 72 / UTM zone 23S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 23S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-45]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32323\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32324, "epsg", 32324,
+        "WGS 72 / UTM zone 24S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 24S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-39]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32324\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32325, "epsg", 32325,
+        "WGS 72 / UTM zone 25S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 25S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-33]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32325\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32326, "epsg", 32326,
+        "WGS 72 / UTM zone 26S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 26S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-27]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32326\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32327, "epsg", 32327,
+        "WGS 72 / UTM zone 27S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 27S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-21]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32327\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32328, "epsg", 32328,
+        "WGS 72 / UTM zone 28S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 28S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-15]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32328\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32329, "epsg", 32329,
+        "WGS 72 / UTM zone 29S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 29S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-9],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32329\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32330, "epsg", 32330,
+        "WGS 72 / UTM zone 30S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 30S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",-3],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32330\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32331, "epsg", 32331,
+        "WGS 72 / UTM zone 31S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 31S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",3],P");
+    add_srs_wkt (p, 9,
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
+    add_srs_wkt (p, 10,
+        "ing\",500000],PARAMETER[\"false_northing\",10000000],UNI");
+    add_srs_wkt (p, 11,
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+    add_srs_wkt (p, 12,
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "32331\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32332, "epsg", 32332,
+        "WGS 72 / UTM zone 32S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 32S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",9],P");
+    add_srs_wkt (p, 9,
+        "ARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_east");
+    add_srs_wkt (p, 10,
+        "ing\",500000],PARAMETER[\"false_northing\",10000000],UNI");
+    add_srs_wkt (p, 11,
+        "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easti");
+    add_srs_wkt (p, 12,
+        "ng\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 13,
+        "32332\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32333, "epsg", 32333,
+        "WGS 72 / UTM zone 33S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 33S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",15],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32333\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32334, "epsg", 32334,
+        "WGS 72 / UTM zone 34S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 34S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",21],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32334\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32335, "epsg", 32335,
+        "WGS 72 / UTM zone 35S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 35S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",27],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32335\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32336, "epsg", 32336,
+        "WGS 72 / UTM zone 36S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 36S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",33],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32336\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32337, "epsg", 32337,
+        "WGS 72 / UTM zone 37S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 37S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",39],");
+    add_srs_wkt (p, 9,
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
+    add_srs_wkt (p, 10,
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
+    add_srs_wkt (p, 11,
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32337\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32338, "epsg", 32338,
+        "WGS 72 / UTM zone 38S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 27S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 38S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-21],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",45],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32527\"]]");
-    p = add_epsg_def (filter, first, last, 32528, "epsg", 32528,
-        "WGS 72BE / UTM zone 28S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32338\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32339, "epsg", 32339,
+        "WGS 72 / UTM zone 39S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 28S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 39S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-15],PARAMETER[\"scale_f");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",51],");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32528\"]]");
-    p = add_epsg_def (filter, first, last, 32529, "epsg", 32529,
-        "WGS 72BE / UTM zone 29S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32339\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32340, "epsg", 32340,
+        "WGS 72 / UTM zone 40S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 29S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 40S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-9],PARAMETER[\"scale_fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",57],");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32529\"]]");
-    p = add_epsg_def (filter, first, last, 32530, "epsg", 32530,
-        "WGS 72BE / UTM zone 30S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32340\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32341, "epsg", 32341,
+        "WGS 72 / UTM zone 41S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 30S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 41S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",-3],PARAMETER[\"scale_fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",63],");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32530\"]]");
-    p = add_epsg_def (filter, first, last, 32531, "epsg", 32531,
-        "WGS 72BE / UTM zone 31S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32341\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32342, "epsg", 32342,
+        "WGS 72 / UTM zone 42S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 31S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 42S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",3],PARAMETER[\"scale_fac");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",69],");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32531\"]]");
-    p = add_epsg_def (filter, first, last, 32532, "epsg", 32532,
-        "WGS 72BE / UTM zone 32S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32342\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32343, "epsg", 32343,
+        "WGS 72 / UTM zone 43S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 32S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 43S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fac");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",75],");
     add_srs_wkt (p, 9,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32532\"]]");
-    p = add_epsg_def (filter, first, last, 32533, "epsg", 32533,
-        "WGS 72BE / UTM zone 33S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32343\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32344, "epsg", 32344,
+        "WGS 72 / UTM zone 44S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 33S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 44S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",81],");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32533\"]]");
-    p = add_epsg_def (filter, first, last, 32534, "epsg", 32534,
-        "WGS 72BE / UTM zone 34S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32344\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32345, "epsg", 32345,
+        "WGS 72 / UTM zone 45S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 34S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 45S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",87],");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32534\"]]");
-    p = add_epsg_def (filter, first, last, 32535, "epsg", 32535,
-        "WGS 72BE / UTM zone 35S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32345\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32346, "epsg", 32346,
+        "WGS 72 / UTM zone 46S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 35S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 46S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",27],PARAMETER[\"scale_fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",93],");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32535\"]]");
-    p = add_epsg_def (filter, first, last, 32536, "epsg", 32536,
-        "WGS 72BE / UTM zone 36S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32346\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32347, "epsg", 32347,
+        "WGS 72 / UTM zone 47S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 36S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 47S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",33],PARAMETER[\"scale_fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",99],");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "ting\",500000],PARAMETER[\"false_northing\",10000000],UN");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32536\"]]");
-    p = add_epsg_def (filter, first, last, 32537, "epsg", 32537,
-        "WGS 72BE / UTM zone 37S");
+        "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 13,
+        "\"32347\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32348, "epsg", 32348,
+        "WGS 72 / UTM zone 48S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 37S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 48S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
     add_srs_wkt (p, 2,
-        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
     add_srs_wkt (p, 3,
-        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
     add_srs_wkt (p, 4,
-        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
     add_srs_wkt (p, 5,
-        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",39],PARAMETER[\"scale_fa");
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",105]");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32537\"]]");
-    p = add_epsg_def (filter, first, last, 32538, "epsg", 32538,
-        "WGS 72BE / UTM zone 38S");
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32348\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32349, "epsg", 32349,
+        "WGS 72 / UTM zone 49S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,4.5,");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "0,0,0.554,0.2263 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 38S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72 / UTM zone 49S\",GEOGCS[\"WGS 72\",DATUM");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",111]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32349\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32350, "epsg", 32350,
+        "WGS 72 / UTM zone 50S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 50S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",117]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32350\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32351, "epsg", 32351,
+        "WGS 72 / UTM zone 51S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 51S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",123]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32351\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32352, "epsg", 32352,
+        "WGS 72 / UTM zone 52S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 52S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",129]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32352\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32353, "epsg", 32353,
+        "WGS 72 / UTM zone 53S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 53S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",135]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32353\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32354, "epsg", 32354,
+        "WGS 72 / UTM zone 54S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 54S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",141]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32354\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32355, "epsg", 32355,
+        "WGS 72 / UTM zone 55S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 55S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",147]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32355\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32356, "epsg", 32356,
+        "WGS 72 / UTM zone 56S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 56S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",153]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32356\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32357, "epsg", 32357,
+        "WGS 72 / UTM zone 57S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 57S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",159]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32357\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32358, "epsg", 32358,
+        "WGS 72 / UTM zone 58S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 58S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",165]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32358\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32359, "epsg", 32359,
+        "WGS 72 / UTM zone 59S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 59S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",171]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32359\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32360, "epsg", 32360,
+        "WGS 72 / UTM zone 60S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,4.5,");
+    add_proj4text (p, 1,
+        "0,0,0.554,0.2263 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72 / UTM zone 60S\",GEOGCS[\"WGS 72\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1972\",SPHEROID[\"WGS 72\",6378135,298.26,AUTHORI");
+    add_srs_wkt (p, 2,
+        "TY[\"EPSG\",\"7043\"]],TOWGS84[0,0,4.5,0,0,0.554,0.2263]");
+    add_srs_wkt (p, 3,
+        ",AUTHORITY[\"EPSG\",\"6322\"]],PRIMEM[\"Greenwich\",0,AU");
+    add_srs_wkt (p, 4,
+        "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925");
+    add_srs_wkt (p, 5,
+        "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N");
+    add_srs_wkt (p, 6,
+        "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4322");
+    add_srs_wkt (p, 7,
+        "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat");
+    add_srs_wkt (p, 8,
+        "itude_of_origin\",0],PARAMETER[\"central_meridian\",177]");
+    add_srs_wkt (p, 9,
+        ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea");
+    add_srs_wkt (p, 10,
+        "sting\",500000],PARAMETER[\"false_northing\",10000000],U");
+    add_srs_wkt (p, 11,
+        "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas");
+    add_srs_wkt (p, 12,
+        "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\"");
+    add_srs_wkt (p, 13,
+        ",\"32360\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32401, "epsg", 32401,
+        "WGS 72BE / UTM zone 1N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
+    add_proj4text (p, 1,
+        "4,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 1N\",GEOGCS[\"WGS 72BE\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
         "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
     add_srs_wkt (p, 3,
@@ -423,29 +2962,34 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",45],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-177],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32538\"]]");
-    p = add_epsg_def (filter, first, last, 32539, "epsg", 32539,
-        "WGS 72BE / UTM zone 39S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32401\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32402, "epsg", 32402,
+        "WGS 72BE / UTM zone 2N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "4,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 39S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 2N\",GEOGCS[\"WGS 72BE\",DA");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
         "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
     add_srs_wkt (p, 3,
@@ -455,29 +2999,34 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",51],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-171],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32539\"]]");
-    p = add_epsg_def (filter, first, last, 32540, "epsg", 32540,
-        "WGS 72BE / UTM zone 40S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32402\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32403, "epsg", 32403,
+        "WGS 72BE / UTM zone 3N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "4,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 40S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 3N\",GEOGCS[\"WGS 72BE\",DA");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
         "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
     add_srs_wkt (p, 3,
@@ -487,29 +3036,34 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",57],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-165],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32540\"]]");
-    p = add_epsg_def (filter, first, last, 32541, "epsg", 32541,
-        "WGS 72BE / UTM zone 41S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32403\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32404, "epsg", 32404,
+        "WGS 72BE / UTM zone 4N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "4,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 41S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 4N\",GEOGCS[\"WGS 72BE\",DA");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
         "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
     add_srs_wkt (p, 3,
@@ -519,29 +3073,34 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",63],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-159],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32541\"]]");
-    p = add_epsg_def (filter, first, last, 32542, "epsg", 32542,
-        "WGS 72BE / UTM zone 42S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32404\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32405, "epsg", 32405,
+        "WGS 72BE / UTM zone 5N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "4,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 42S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 5N\",GEOGCS[\"WGS 72BE\",DA");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
         "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
     add_srs_wkt (p, 3,
@@ -551,29 +3110,34 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",69],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-153],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32542\"]]");
-    p = add_epsg_def (filter, first, last, 32543, "epsg", 32543,
-        "WGS 72BE / UTM zone 43S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32405\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32406, "epsg", 32406,
+        "WGS 72BE / UTM zone 6N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "4,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 43S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 6N\",GEOGCS[\"WGS 72BE\",DA");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
         "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
     add_srs_wkt (p, 3,
@@ -583,29 +3147,34 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",75],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-147],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32543\"]]");
-    p = add_epsg_def (filter, first, last, 32544, "epsg", 32544,
-        "WGS 72BE / UTM zone 44S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32406\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32407, "epsg", 32407,
+        "WGS 72BE / UTM zone 7N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "4,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 44S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 7N\",GEOGCS[\"WGS 72BE\",DA");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
         "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
     add_srs_wkt (p, 3,
@@ -615,29 +3184,34 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",81],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-141],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32544\"]]");
-    p = add_epsg_def (filter, first, last, 32545, "epsg", 32545,
-        "WGS 72BE / UTM zone 45S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32407\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32408, "epsg", 32408,
+        "WGS 72BE / UTM zone 8N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "4,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 45S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 8N\",GEOGCS[\"WGS 72BE\",DA");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
         "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
     add_srs_wkt (p, 3,
@@ -647,29 +3221,34 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",87],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-135],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32545\"]]");
-    p = add_epsg_def (filter, first, last, 32546, "epsg", 32546,
-        "WGS 72BE / UTM zone 46S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32408\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32409, "epsg", 32409,
+        "WGS 72BE / UTM zone 9N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.81");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "4,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 46S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 9N\",GEOGCS[\"WGS 72BE\",DA");
     add_srs_wkt (p, 1,
-        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
         "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
     add_srs_wkt (p, 3,
@@ -679,27 +3258,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",93],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-129],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32546\"]]");
-    p = add_epsg_def (filter, first, last, 32547, "epsg", 32547,
-        "WGS 72BE / UTM zone 47S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32409\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32410, "epsg", 32410,
+        "WGS 72BE / UTM zone 10N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 47S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 10N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -711,27 +3295,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",99],PARAMETER[\"scale_fa");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ETER[\"central_meridian\",-123],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32547\"]]");
-    p = add_epsg_def (filter, first, last, 32548, "epsg", 32548,
-        "WGS 72BE / UTM zone 48S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32410\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32411, "epsg", 32411,
+        "WGS 72BE / UTM zone 11N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 48S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 11N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -743,27 +3332,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",105],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-117],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32548\"]]");
-    p = add_epsg_def (filter, first, last, 32549, "epsg", 32549,
-        "WGS 72BE / UTM zone 49S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32411\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32412, "epsg", 32412,
+        "WGS 72BE / UTM zone 12N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 49S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 12N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -775,27 +3369,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",111],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-111],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32549\"]]");
-    p = add_epsg_def (filter, first, last, 32550, "epsg", 32550,
-        "WGS 72BE / UTM zone 50S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32412\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32413, "epsg", 32413,
+        "WGS 72BE / UTM zone 13N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 50S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 13N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -807,27 +3406,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",117],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-105],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32550\"]]");
-    p = add_epsg_def (filter, first, last, 32551, "epsg", 32551,
-        "WGS 72BE / UTM zone 51S");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 13,
+        "ORTH],AUTHORITY[\"EPSG\",\"32413\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32414, "epsg", 32414,
+        "WGS 72BE / UTM zone 14N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 51S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 14N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -839,27 +3443,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",123],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-99],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32551\"]]");
-    p = add_epsg_def (filter, first, last, 32552, "epsg", 32552,
-        "WGS 72BE / UTM zone 52S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32414\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32415, "epsg", 32415,
+        "WGS 72BE / UTM zone 15N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 52S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 15N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -871,27 +3480,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",129],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-93],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32552\"]]");
-    p = add_epsg_def (filter, first, last, 32553, "epsg", 32553,
-        "WGS 72BE / UTM zone 53S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32415\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32416, "epsg", 32416,
+        "WGS 72BE / UTM zone 16N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 53S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 16N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -903,27 +3517,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",135],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-87],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32553\"]]");
-    p = add_epsg_def (filter, first, last, 32554, "epsg", 32554,
-        "WGS 72BE / UTM zone 54S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32416\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32417, "epsg", 32417,
+        "WGS 72BE / UTM zone 17N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 54S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 17N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -935,27 +3554,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",141],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-81],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32554\"]]");
-    p = add_epsg_def (filter, first, last, 32555, "epsg", 32555,
-        "WGS 72BE / UTM zone 55S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32417\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32418, "epsg", 32418,
+        "WGS 72BE / UTM zone 18N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 55S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 18N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -967,27 +3591,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",147],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-75],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32555\"]]");
-    p = add_epsg_def (filter, first, last, 32556, "epsg", 32556,
-        "WGS 72BE / UTM zone 56S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32418\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32419, "epsg", 32419,
+        "WGS 72BE / UTM zone 19N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 56S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 19N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -999,27 +3628,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",153],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-69],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32556\"]]");
-    p = add_epsg_def (filter, first, last, 32557, "epsg", 32557,
-        "WGS 72BE / UTM zone 57S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32419\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32420, "epsg", 32420,
+        "WGS 72BE / UTM zone 20N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 57S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 20N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -1031,27 +3665,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",159],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-63],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32557\"]]");
-    p = add_epsg_def (filter, first, last, 32558, "epsg", 32558,
-        "WGS 72BE / UTM zone 58S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32420\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32421, "epsg", 32421,
+        "WGS 72BE / UTM zone 21N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 58S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 21N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -1063,27 +3702,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",165],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-57],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32558\"]]");
-    p = add_epsg_def (filter, first, last, 32559, "epsg", 32559,
-        "WGS 72BE / UTM zone 59S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32421\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32422, "epsg", 32422,
+        "WGS 72BE / UTM zone 22N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 59S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 22N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -1095,27 +3739,32 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",171],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-51],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32559\"]]");
-    p = add_epsg_def (filter, first, last, 32560, "epsg", 32560,
-        "WGS 72BE / UTM zone 60S");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32422\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32423, "epsg", 32423,
+        "WGS 72BE / UTM zone 23N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
-        "+proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+        "+proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
     add_proj4text (p, 1,
-        "0,0,0.814,-0.38 +units=m +no_defs");
+        "14,-0.38 +units=m +no_defs");
     add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 72BE / UTM zone 60S\",GEOGCS[\"WGS 72BE\",D");
+        "PROJCS[\"WGS 72BE / UTM zone 23N\",GEOGCS[\"WGS 72BE\",D");
     add_srs_wkt (p, 1,
         "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
     add_srs_wkt (p, 2,
@@ -1127,19 +3776,21 @@ initialize_epsg_45 (int filter, struct epsg_defs **first, struct epsg_defs **las
     add_srs_wkt (p, 5,
         "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 6,
-        "\"9122\"]],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Tr");
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
     add_srs_wkt (p, 7,
-        "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]");
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
     add_srs_wkt (p, 8,
-        ",PARAMETER[\"central_meridian\",177],PARAMETER[\"scale_f");
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
     add_srs_wkt (p, 9,
-        "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA");
+        "ETER[\"central_meridian\",-45],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 10,
-        "METER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTH");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 11,
-        "ORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 12,
-        "Northing\",NORTH],AUTHORITY[\"EPSG\",\"32560\"]]");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32423\"]]");
 }
 
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_46.c b/src/srsinit/epsg_inlined_46.c
new file mode 100644
index 0000000..6a523f2
--- /dev/null
+++ b/src/srsinit/epsg_inlined_46.c
@@ -0,0 +1,3649 @@
+/*
+
+ helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
+
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
+
+ Author: Sandro Furieri a.furieri at lqt.it
+
+ -----------------------------------------------------------------------------
+
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
+
+The Original Code is the SpatiaLite library
+
+The Initial Developer of the Original Code is Alessandro Furieri
+
+Portions created by the Initial Developer are Copyright (C) 2008
+the Initial Developer. All Rights Reserved.
+
+Contributor(s):
+
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+
+*/
+
+#include "config.h"
+
+#include <spatialite_private.h>
+
+#ifndef OMIT_EPSG    /* full EPSG initialization enabled */
+
+SPATIALITE_PRIVATE void
+initialize_epsg_46 (int filter, struct epsg_defs **first, struct epsg_defs **last)
+{
+/* initializing the EPSG defs list */
+    struct epsg_defs *p;
+    p = add_epsg_def_ex (filter, first, last, 32424, "epsg", 32424,
+        "WGS 72BE / UTM zone 24N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 24N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-39],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32424\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32425, "epsg", 32425,
+        "WGS 72BE / UTM zone 25N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 25N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-33],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32425\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32426, "epsg", 32426,
+        "WGS 72BE / UTM zone 26N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 26N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-27],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32426\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32427, "epsg", 32427,
+        "WGS 72BE / UTM zone 27N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 27N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-21],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32427\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32428, "epsg", 32428,
+        "WGS 72BE / UTM zone 28N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 28N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-15],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32428\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32429, "epsg", 32429,
+        "WGS 72BE / UTM zone 29N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 29N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-9],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32429\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32430, "epsg", 32430,
+        "WGS 72BE / UTM zone 30N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 30N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-3],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32430\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32431, "epsg", 32431,
+        "WGS 72BE / UTM zone 31N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 31N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",3],PARAMETER[\"scale_factor\",");
+    add_srs_wkt (p, 10,
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32431\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32432, "epsg", 32432,
+        "WGS 72BE / UTM zone 32N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 32N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",9],PARAMETER[\"scale_factor\",");
+    add_srs_wkt (p, 10,
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32432\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32433, "epsg", 32433,
+        "WGS 72BE / UTM zone 33N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 33N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",15],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32433\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32434, "epsg", 32434,
+        "WGS 72BE / UTM zone 34N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 34N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",21],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32434\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32435, "epsg", 32435,
+        "WGS 72BE / UTM zone 35N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 35N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",27],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32435\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32436, "epsg", 32436,
+        "WGS 72BE / UTM zone 36N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=36 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 36N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",33],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32436\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32437, "epsg", 32437,
+        "WGS 72BE / UTM zone 37N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 37N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",39],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32437\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32438, "epsg", 32438,
+        "WGS 72BE / UTM zone 38N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 38N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",45],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32438\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32439, "epsg", 32439,
+        "WGS 72BE / UTM zone 39N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 39N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",51],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32439\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32440, "epsg", 32440,
+        "WGS 72BE / UTM zone 40N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 40N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",57],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32440\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32441, "epsg", 32441,
+        "WGS 72BE / UTM zone 41N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 41N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",63],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32441\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32442, "epsg", 32442,
+        "WGS 72BE / UTM zone 42N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 42N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",69],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32442\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32443, "epsg", 32443,
+        "WGS 72BE / UTM zone 43N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 43N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",75],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32443\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32444, "epsg", 32444,
+        "WGS 72BE / UTM zone 44N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 44N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",81],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32444\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32445, "epsg", 32445,
+        "WGS 72BE / UTM zone 45N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 45N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",87],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32445\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32446, "epsg", 32446,
+        "WGS 72BE / UTM zone 46N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 46N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",93],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32446\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32447, "epsg", 32447,
+        "WGS 72BE / UTM zone 47N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 47N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",99],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32447\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32448, "epsg", 32448,
+        "WGS 72BE / UTM zone 48N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 48N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",105],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32448\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32449, "epsg", 32449,
+        "WGS 72BE / UTM zone 49N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 49N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",111],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32449\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32450, "epsg", 32450,
+        "WGS 72BE / UTM zone 50N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 50N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",117],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32450\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32451, "epsg", 32451,
+        "WGS 72BE / UTM zone 51N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 51N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",123],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32451\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32452, "epsg", 32452,
+        "WGS 72BE / UTM zone 52N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 52N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",129],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32452\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32453, "epsg", 32453,
+        "WGS 72BE / UTM zone 53N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 53N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",135],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32453\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32454, "epsg", 32454,
+        "WGS 72BE / UTM zone 54N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 54N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",141],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32454\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32455, "epsg", 32455,
+        "WGS 72BE / UTM zone 55N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 55N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",147],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32455\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32456, "epsg", 32456,
+        "WGS 72BE / UTM zone 56N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 56N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",153],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32456\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32457, "epsg", 32457,
+        "WGS 72BE / UTM zone 57N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 57N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",159],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32457\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32458, "epsg", 32458,
+        "WGS 72BE / UTM zone 58N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 58N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",165],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32458\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32459, "epsg", 32459,
+        "WGS 72BE / UTM zone 59N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 59N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",171],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32459\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32460, "epsg", 32460,
+        "WGS 72BE / UTM zone 60N", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8");
+    add_proj4text (p, 1,
+        "14,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 60N\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",177],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 12,
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 13,
+        "H],AUTHORITY[\"EPSG\",\"32460\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32501, "epsg", 32501,
+        "WGS 72BE / UTM zone 1S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+    add_proj4text (p, 1,
+        ",0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 1S\",GEOGCS[\"WGS 72BE\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-177],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32501\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32502, "epsg", 32502,
+        "WGS 72BE / UTM zone 2S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+    add_proj4text (p, 1,
+        ",0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 2S\",GEOGCS[\"WGS 72BE\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-171],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32502\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32503, "epsg", 32503,
+        "WGS 72BE / UTM zone 3S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+    add_proj4text (p, 1,
+        ",0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 3S\",GEOGCS[\"WGS 72BE\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-165],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32503\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32504, "epsg", 32504,
+        "WGS 72BE / UTM zone 4S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+    add_proj4text (p, 1,
+        ",0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 4S\",GEOGCS[\"WGS 72BE\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-159],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32504\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32505, "epsg", 32505,
+        "WGS 72BE / UTM zone 5S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+    add_proj4text (p, 1,
+        ",0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 5S\",GEOGCS[\"WGS 72BE\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-153],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32505\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32506, "epsg", 32506,
+        "WGS 72BE / UTM zone 6S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+    add_proj4text (p, 1,
+        ",0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 6S\",GEOGCS[\"WGS 72BE\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-147],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32506\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32507, "epsg", 32507,
+        "WGS 72BE / UTM zone 7S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+    add_proj4text (p, 1,
+        ",0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 7S\",GEOGCS[\"WGS 72BE\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-141],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32507\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32508, "epsg", 32508,
+        "WGS 72BE / UTM zone 8S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+    add_proj4text (p, 1,
+        ",0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 8S\",GEOGCS[\"WGS 72BE\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-135],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32508\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32509, "epsg", 32509,
+        "WGS 72BE / UTM zone 9S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,1.9,0");
+    add_proj4text (p, 1,
+        ",0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 9S\",GEOGCS[\"WGS 72BE\",DA");
+    add_srs_wkt (p, 1,
+        "TUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-129],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32509\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32510, "epsg", 32510,
+        "WGS 72BE / UTM zone 10S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 10S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-123],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32510\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32511, "epsg", 32511,
+        "WGS 72BE / UTM zone 11S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 11S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-117],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32511\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32512, "epsg", 32512,
+        "WGS 72BE / UTM zone 12S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 12S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-111],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32512\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32513, "epsg", 32513,
+        "WGS 72BE / UTM zone 13S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 13S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-105],PARAMETER[\"scale_factor");
+    add_srs_wkt (p, 10,
+        "\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER");
+    add_srs_wkt (p, 11,
+        "[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY");
+    add_srs_wkt (p, 12,
+        "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North");
+    add_srs_wkt (p, 13,
+        "ing\",NORTH],AUTHORITY[\"EPSG\",\"32513\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32514, "epsg", 32514,
+        "WGS 72BE / UTM zone 14S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 14S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-99],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32514\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32515, "epsg", 32515,
+        "WGS 72BE / UTM zone 15S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 15S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-93],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32515\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32516, "epsg", 32516,
+        "WGS 72BE / UTM zone 16S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 16S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-87],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32516\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32517, "epsg", 32517,
+        "WGS 72BE / UTM zone 17S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 17S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-81],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32517\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32518, "epsg", 32518,
+        "WGS 72BE / UTM zone 18S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 18S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-75],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32518\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32519, "epsg", 32519,
+        "WGS 72BE / UTM zone 19S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 19S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-69],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32519\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32520, "epsg", 32520,
+        "WGS 72BE / UTM zone 20S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 20S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-63],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32520\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32521, "epsg", 32521,
+        "WGS 72BE / UTM zone 21S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 21S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-57],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32521\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32522, "epsg", 32522,
+        "WGS 72BE / UTM zone 22S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 22S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-51],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32522\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32523, "epsg", 32523,
+        "WGS 72BE / UTM zone 23S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 23S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-45],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32523\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32524, "epsg", 32524,
+        "WGS 72BE / UTM zone 24S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 24S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-39],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32524\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32525, "epsg", 32525,
+        "WGS 72BE / UTM zone 25S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 25S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-33],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32525\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32526, "epsg", 32526,
+        "WGS 72BE / UTM zone 26S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 26S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-27],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32526\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32527, "epsg", 32527,
+        "WGS 72BE / UTM zone 27S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 27S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-21],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32527\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32528, "epsg", 32528,
+        "WGS 72BE / UTM zone 28S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 28S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-15],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32528\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32529, "epsg", 32529,
+        "WGS 72BE / UTM zone 29S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 29S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-9],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32529\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32530, "epsg", 32530,
+        "WGS 72BE / UTM zone 30S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 30S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",-3],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32530\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32531, "epsg", 32531,
+        "WGS 72BE / UTM zone 31S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 31S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",3],PARAMETER[\"scale_factor\",");
+    add_srs_wkt (p, 10,
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32531\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32532, "epsg", 32532,
+        "WGS 72BE / UTM zone 32S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 32S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",9],PARAMETER[\"scale_factor\",");
+    add_srs_wkt (p, 10,
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32532\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32533, "epsg", 32533,
+        "WGS 72BE / UTM zone 33S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 33S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",15],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32533\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32534, "epsg", 32534,
+        "WGS 72BE / UTM zone 34S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 34S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",21],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32534\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32535, "epsg", 32535,
+        "WGS 72BE / UTM zone 35S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 35S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",27],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32535\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32536, "epsg", 32536,
+        "WGS 72BE / UTM zone 36S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 36S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",33],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32536\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32537, "epsg", 32537,
+        "WGS 72BE / UTM zone 37S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 37S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",39],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32537\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32538, "epsg", 32538,
+        "WGS 72BE / UTM zone 38S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 38S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",45],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32538\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32539, "epsg", 32539,
+        "WGS 72BE / UTM zone 39S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 39S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",51],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32539\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32540, "epsg", 32540,
+        "WGS 72BE / UTM zone 40S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 40S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",57],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32540\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32541, "epsg", 32541,
+        "WGS 72BE / UTM zone 41S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 41S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",63],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32541\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32542, "epsg", 32542,
+        "WGS 72BE / UTM zone 42S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 42S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",69],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32542\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32543, "epsg", 32543,
+        "WGS 72BE / UTM zone 43S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 43S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",75],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32543\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32544, "epsg", 32544,
+        "WGS 72BE / UTM zone 44S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 44S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",81],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32544\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32545, "epsg", 32545,
+        "WGS 72BE / UTM zone 45S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 45S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",87],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32545\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32546, "epsg", 32546,
+        "WGS 72BE / UTM zone 46S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 46S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",93],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32546\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32547, "epsg", 32547,
+        "WGS 72BE / UTM zone 47S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 47S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",99],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32547\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32548, "epsg", 32548,
+        "WGS 72BE / UTM zone 48S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 48S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",105],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32548\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32549, "epsg", 32549,
+        "WGS 72BE / UTM zone 49S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 49S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",111],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32549\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32550, "epsg", 32550,
+        "WGS 72BE / UTM zone 50S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 50S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",117],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32550\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32551, "epsg", 32551,
+        "WGS 72BE / UTM zone 51S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 51S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",123],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32551\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32552, "epsg", 32552,
+        "WGS 72BE / UTM zone 52S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 52S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",129],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32552\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32553, "epsg", 32553,
+        "WGS 72BE / UTM zone 53S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 53S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",135],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32553\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32554, "epsg", 32554,
+        "WGS 72BE / UTM zone 54S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 54S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",141],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32554\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32555, "epsg", 32555,
+        "WGS 72BE / UTM zone 55S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 55S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",147],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32555\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32556, "epsg", 32556,
+        "WGS 72BE / UTM zone 56S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 56S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",153],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32556\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32557, "epsg", 32557,
+        "WGS 72BE / UTM zone 57S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 57S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",159],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32557\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32558, "epsg", 32558,
+        "WGS 72BE / UTM zone 58S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 58S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",165],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32558\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32559, "epsg", 32559,
+        "WGS 72BE / UTM zone 59S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 59S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",171],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32559\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32560, "epsg", 32560,
+        "WGS 72BE / UTM zone 60S", 0, 0,
+        "WGS 72", "Greenwich",
+        "WGS_1972_Transit_Broadcast_Ephemeris", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,1.9,");
+    add_proj4text (p, 1,
+        "0,0,0.814,-0.38 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 72BE / UTM zone 60S\",GEOGCS[\"WGS 72BE\",D");
+    add_srs_wkt (p, 1,
+        "ATUM[\"WGS_1972_Transit_Broadcast_Ephemeris\",SPHEROID[\"");
+    add_srs_wkt (p, 2,
+        "WGS 72\",6378135,298.26,AUTHORITY[\"EPSG\",\"7043\"]],TO");
+    add_srs_wkt (p, 3,
+        "WGS84[0,0,1.9,0,0,0.814,-0.38],AUTHORITY[\"EPSG\",\"6324");
+    add_srs_wkt (p, 4,
+        "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]");
+    add_srs_wkt (p, 5,
+        "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",");
+    add_srs_wkt (p, 6,
+        "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E");
+    add_srs_wkt (p, 7,
+        "AST],AUTHORITY[\"EPSG\",\"4324\"]],PROJECTION[\"Transver");
+    add_srs_wkt (p, 8,
+        "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM");
+    add_srs_wkt (p, 9,
+        "ETER[\"central_meridian\",177],PARAMETER[\"scale_factor\"");
+    add_srs_wkt (p, 10,
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+    add_srs_wkt (p, 11,
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+    add_srs_wkt (p, 12,
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 13,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32560\"]]");
+}
+
+#endif /* full EPSG initialization enabled/disabled */
+
diff --git a/src/srsinit/epsg_inlined_extra.c b/src/srsinit/epsg_inlined_extra.c
index cda02b2..c4c42cd 100644
--- a/src/srsinit/epsg_inlined_extra.c
+++ b/src/srsinit/epsg_inlined_extra.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 /* declaring prototypes */
@@ -138,6 +140,8 @@ SPATIALITE_PRIVATE void initialize_epsg_44 (
 	int filter, struct epsg_defs **first, struct epsg_defs **last);
 SPATIALITE_PRIVATE void initialize_epsg_45 (
 	int filter, struct epsg_defs **first, struct epsg_defs **last);
+SPATIALITE_PRIVATE void initialize_epsg_46 (
+	int filter, struct epsg_defs **first, struct epsg_defs **last);
 SPATIALITE_PRIVATE void initialize_epsg_wgs84_00 (
 	int filter, struct epsg_defs **first, struct epsg_defs **last);
 SPATIALITE_PRIVATE void initialize_epsg_wgs84_01 (
@@ -249,6 +253,7 @@ initialize_epsg (int filter, struct epsg_defs **first, struct epsg_defs **last)
         initialize_epsg_43 (filter, first, last);
         initialize_epsg_44 (filter, first, last);
         initialize_epsg_45 (filter, first, last);
+        initialize_epsg_46 (filter, first, last);
         initialize_epsg_prussian (filter, first, last);
         initialize_epsg_extra (filter, first, last);
 #endif /* full EPSG initialization enabled/disabled */
diff --git a/src/srsinit/epsg_inlined_prussian.c b/src/srsinit/epsg_inlined_prussian.c
index 5067ec0..d082cb3 100644
--- a/src/srsinit/epsg_inlined_prussian.c
+++ b/src/srsinit/epsg_inlined_prussian.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 #ifndef OMIT_EPSG    /* full EPSG initialization enabled */
diff --git a/src/srsinit/epsg_inlined_wgs84_00.c b/src/srsinit/epsg_inlined_wgs84_00.c
index 9c98ce6..6f68286 100644
--- a/src/srsinit/epsg_inlined_wgs84_00.c
+++ b/src/srsinit/epsg_inlined_wgs84_00.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 SPATIALITE_PRIVATE void
@@ -50,8 +52,11 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
 {
 /* initializing the EPSG defs list [WGS84] */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 4326, "epsg", 4326,
-        "WGS 84");
+    p = add_epsg_def_ex (filter, first, last, 4326, "epsg", 4326,
+        "WGS 84", 1, 1,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "none", "degree",
+        "Latitude", "North", "Longitude", "East");
     add_proj4text (p, 0,
         "+proj=longlat +datum=WGS84 +no_defs");
     add_srs_wkt (p, 0,
@@ -63,11 +68,14 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 3,
         "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994");
     add_srs_wkt (p, 4,
-        "33,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"43");
+        "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH");
     add_srs_wkt (p, 5,
-        "26\"]]");
-    p = add_epsg_def (filter, first, last, 32601, "epsg", 32601,
-        "WGS 84 / UTM zone 1N");
+        "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32601, "epsg", 32601,
+        "WGS 84 / UTM zone 1N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=1 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -81,21 +89,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-177],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-177],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32601\"]]");
-    p = add_epsg_def (filter, first, last, 32602, "epsg", 32602,
-        "WGS 84 / UTM zone 2N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32601\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32602, "epsg", 32602,
+        "WGS 84 / UTM zone 2N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=2 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -109,21 +122,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-171],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-171],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32602\"]]");
-    p = add_epsg_def (filter, first, last, 32603, "epsg", 32603,
-        "WGS 84 / UTM zone 3N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32602\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32603, "epsg", 32603,
+        "WGS 84 / UTM zone 3N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=3 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -137,21 +155,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-165],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-165],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32603\"]]");
-    p = add_epsg_def (filter, first, last, 32604, "epsg", 32604,
-        "WGS 84 / UTM zone 4N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32603\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32604, "epsg", 32604,
+        "WGS 84 / UTM zone 4N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=4 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -165,21 +188,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-159],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-159],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32604\"]]");
-    p = add_epsg_def (filter, first, last, 32605, "epsg", 32605,
-        "WGS 84 / UTM zone 5N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32604\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32605, "epsg", 32605,
+        "WGS 84 / UTM zone 5N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=5 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -193,21 +221,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-153],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-153],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32605\"]]");
-    p = add_epsg_def (filter, first, last, 32606, "epsg", 32606,
-        "WGS 84 / UTM zone 6N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32605\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32606, "epsg", 32606,
+        "WGS 84 / UTM zone 6N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=6 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -221,21 +254,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-147],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-147],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32606\"]]");
-    p = add_epsg_def (filter, first, last, 32607, "epsg", 32607,
-        "WGS 84 / UTM zone 7N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32606\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32607, "epsg", 32607,
+        "WGS 84 / UTM zone 7N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=7 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -249,21 +287,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-141],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-141],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32607\"]]");
-    p = add_epsg_def (filter, first, last, 32608, "epsg", 32608,
-        "WGS 84 / UTM zone 8N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32607\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32608, "epsg", 32608,
+        "WGS 84 / UTM zone 8N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=8 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -277,21 +320,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-135],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-135],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32608\"]]");
-    p = add_epsg_def (filter, first, last, 32609, "epsg", 32609,
-        "WGS 84 / UTM zone 9N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32608\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32609, "epsg", 32609,
+        "WGS 84 / UTM zone 9N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=9 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -305,21 +353,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-129],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-129],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32609\"]]");
-    p = add_epsg_def (filter, first, last, 32610, "epsg", 32610,
-        "WGS 84 / UTM zone 10N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32609\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32610, "epsg", 32610,
+        "WGS 84 / UTM zone 10N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=10 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -333,21 +386,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-123],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-123],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32610\"]]");
-    p = add_epsg_def (filter, first, last, 32611, "epsg", 32611,
-        "WGS 84 / UTM zone 11N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32610\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32611, "epsg", 32611,
+        "WGS 84 / UTM zone 11N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=11 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -361,21 +419,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-117],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-117],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32611\"]]");
-    p = add_epsg_def (filter, first, last, 32612, "epsg", 32612,
-        "WGS 84 / UTM zone 12N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32611\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32612, "epsg", 32612,
+        "WGS 84 / UTM zone 12N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=12 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -389,21 +452,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-111],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-111],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32612\"]]");
-    p = add_epsg_def (filter, first, last, 32613, "epsg", 32613,
-        "WGS 84 / UTM zone 13N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32612\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32613, "epsg", 32613,
+        "WGS 84 / UTM zone 13N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=13 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -417,21 +485,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-105],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-105],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32613\"]]");
-    p = add_epsg_def (filter, first, last, 32614, "epsg", 32614,
-        "WGS 84 / UTM zone 14N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32613\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32614, "epsg", 32614,
+        "WGS 84 / UTM zone 14N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=14 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -445,21 +518,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-99],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-99],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32614\"]]");
-    p = add_epsg_def (filter, first, last, 32615, "epsg", 32615,
-        "WGS 84 / UTM zone 15N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32614\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32615, "epsg", 32615,
+        "WGS 84 / UTM zone 15N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=15 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -473,21 +551,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-93],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-93],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32615\"]]");
-    p = add_epsg_def (filter, first, last, 32616, "epsg", 32616,
-        "WGS 84 / UTM zone 16N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32615\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32616, "epsg", 32616,
+        "WGS 84 / UTM zone 16N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=16 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -501,21 +584,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-87],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-87],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32616\"]]");
-    p = add_epsg_def (filter, first, last, 32617, "epsg", 32617,
-        "WGS 84 / UTM zone 17N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32616\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32617, "epsg", 32617,
+        "WGS 84 / UTM zone 17N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -529,21 +617,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-81],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32617\"]]");
-    p = add_epsg_def (filter, first, last, 32618, "epsg", 32618,
-        "WGS 84 / UTM zone 18N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32617\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32618, "epsg", 32618,
+        "WGS 84 / UTM zone 18N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -557,21 +650,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-75],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-75],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32618\"]]");
-    p = add_epsg_def (filter, first, last, 32619, "epsg", 32619,
-        "WGS 84 / UTM zone 19N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32618\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32619, "epsg", 32619,
+        "WGS 84 / UTM zone 19N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -585,21 +683,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-69],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32619\"]]");
-    p = add_epsg_def (filter, first, last, 32620, "epsg", 32620,
-        "WGS 84 / UTM zone 20N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32619\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32620, "epsg", 32620,
+        "WGS 84 / UTM zone 20N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -613,21 +716,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-63],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32620\"]]");
-    p = add_epsg_def (filter, first, last, 32621, "epsg", 32621,
-        "WGS 84 / UTM zone 21N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32620\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32621, "epsg", 32621,
+        "WGS 84 / UTM zone 21N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -641,21 +749,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-57],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32621\"]]");
-    p = add_epsg_def (filter, first, last, 32622, "epsg", 32622,
-        "WGS 84 / UTM zone 22N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32621\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32622, "epsg", 32622,
+        "WGS 84 / UTM zone 22N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=22 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -669,21 +782,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-51],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-51],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32622\"]]");
-    p = add_epsg_def (filter, first, last, 32623, "epsg", 32623,
-        "WGS 84 / UTM zone 23N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32622\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32623, "epsg", 32623,
+        "WGS 84 / UTM zone 23N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=23 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -697,21 +815,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-45],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-45],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32623\"]]");
-    p = add_epsg_def (filter, first, last, 32624, "epsg", 32624,
-        "WGS 84 / UTM zone 24N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32623\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32624, "epsg", 32624,
+        "WGS 84 / UTM zone 24N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=24 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -725,21 +848,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-39],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-39],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32624\"]]");
-    p = add_epsg_def (filter, first, last, 32625, "epsg", 32625,
-        "WGS 84 / UTM zone 25N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32624\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32625, "epsg", 32625,
+        "WGS 84 / UTM zone 25N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=25 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -753,21 +881,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-33],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-33],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32625\"]]");
-    p = add_epsg_def (filter, first, last, 32626, "epsg", 32626,
-        "WGS 84 / UTM zone 26N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32625\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32626, "epsg", 32626,
+        "WGS 84 / UTM zone 26N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -781,21 +914,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-27],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-27],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32626\"]]");
-    p = add_epsg_def (filter, first, last, 32627, "epsg", 32627,
-        "WGS 84 / UTM zone 27N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32626\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32627, "epsg", 32627,
+        "WGS 84 / UTM zone 27N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=27 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -809,21 +947,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-21],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-21],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32627\"]]");
-    p = add_epsg_def (filter, first, last, 32628, "epsg", 32628,
-        "WGS 84 / UTM zone 28N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32627\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32628, "epsg", 32628,
+        "WGS 84 / UTM zone 28N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -837,21 +980,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-15],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-15],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32628\"]]");
-    p = add_epsg_def (filter, first, last, 32629, "epsg", 32629,
-        "WGS 84 / UTM zone 29N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32628\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32629, "epsg", 32629,
+        "WGS 84 / UTM zone 29N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -865,21 +1013,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-9],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",-9],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32629\"]]");
-    p = add_epsg_def (filter, first, last, 32630, "epsg", 32630,
-        "WGS 84 / UTM zone 30N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32629\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32630, "epsg", 32630,
+        "WGS 84 / UTM zone 30N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=30 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -893,21 +1046,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-3],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",-3],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32630\"]]");
-    p = add_epsg_def (filter, first, last, 32631, "epsg", 32631,
-        "WGS 84 / UTM zone 31N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32630\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32631, "epsg", 32631,
+        "WGS 84 / UTM zone 31N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=31 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -921,21 +1079,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",3],PARAMETER[\"scale_facto");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "ER[\"central_meridian\",3],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 9,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        "NORTH],AUTHORITY[\"EPSG\",\"32631\"]]");
-    p = add_epsg_def (filter, first, last, 32632, "epsg", 32632,
-        "WGS 84 / UTM zone 32N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32631\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32632, "epsg", 32632,
+        "WGS 84 / UTM zone 32N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=32 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -949,21 +1112,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",9],PARAMETER[\"scale_facto");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "ER[\"central_meridian\",9],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 9,
-        "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",");
+        "lse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        "NORTH],AUTHORITY[\"EPSG\",\"32632\"]]");
-    p = add_epsg_def (filter, first, last, 32633, "epsg", 32633,
-        "WGS 84 / UTM zone 33N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32632\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32633, "epsg", 32633,
+        "WGS 84 / UTM zone 33N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=33 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -977,21 +1145,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",15],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32633\"]]");
-    p = add_epsg_def (filter, first, last, 32634, "epsg", 32634,
-        "WGS 84 / UTM zone 34N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32633\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32634, "epsg", 32634,
+        "WGS 84 / UTM zone 34N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=34 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1005,21 +1178,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",21],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",21],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32634\"]]");
-    p = add_epsg_def (filter, first, last, 32635, "epsg", 32635,
-        "WGS 84 / UTM zone 35N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32634\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32635, "epsg", 32635,
+        "WGS 84 / UTM zone 35N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=35 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1033,21 +1211,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",27],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",27],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32635\"]]");
-    p = add_epsg_def (filter, first, last, 32636, "epsg", 32636,
-        "WGS 84 / UTM zone 36N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32635\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32636, "epsg", 32636,
+        "WGS 84 / UTM zone 36N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=36 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1061,21 +1244,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",33],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",33],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32636\"]]");
-    p = add_epsg_def (filter, first, last, 32637, "epsg", 32637,
-        "WGS 84 / UTM zone 37N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32636\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32637, "epsg", 32637,
+        "WGS 84 / UTM zone 37N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=37 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1089,21 +1277,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",39],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",39],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32637\"]]");
-    p = add_epsg_def (filter, first, last, 32638, "epsg", 32638,
-        "WGS 84 / UTM zone 38N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32637\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32638, "epsg", 32638,
+        "WGS 84 / UTM zone 38N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1117,21 +1310,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",45],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",45],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32638\"]]");
-    p = add_epsg_def (filter, first, last, 32639, "epsg", 32639,
-        "WGS 84 / UTM zone 39N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32638\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32639, "epsg", 32639,
+        "WGS 84 / UTM zone 39N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=39 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1145,21 +1343,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",51],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",51],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32639\"]]");
-    p = add_epsg_def (filter, first, last, 32640, "epsg", 32640,
-        "WGS 84 / UTM zone 40N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32639\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32640, "epsg", 32640,
+        "WGS 84 / UTM zone 40N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=40 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1173,21 +1376,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",57],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",57],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32640\"]]");
-    p = add_epsg_def (filter, first, last, 32641, "epsg", 32641,
-        "WGS 84 / UTM zone 41N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32640\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32641, "epsg", 32641,
+        "WGS 84 / UTM zone 41N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=41 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1201,21 +1409,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",63],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",63],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32641\"]]");
-    p = add_epsg_def (filter, first, last, 32642, "epsg", 32642,
-        "WGS 84 / UTM zone 42N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32641\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32642, "epsg", 32642,
+        "WGS 84 / UTM zone 42N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=42 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1229,21 +1442,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",69],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",69],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32642\"]]");
-    p = add_epsg_def (filter, first, last, 32643, "epsg", 32643,
-        "WGS 84 / UTM zone 43N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32642\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32643, "epsg", 32643,
+        "WGS 84 / UTM zone 43N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=43 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1257,21 +1475,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",75],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",75],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32643\"]]");
-    p = add_epsg_def (filter, first, last, 32644, "epsg", 32644,
-        "WGS 84 / UTM zone 44N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32643\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32644, "epsg", 32644,
+        "WGS 84 / UTM zone 44N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=44 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1285,21 +1508,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",81],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",81],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32644\"]]");
-    p = add_epsg_def (filter, first, last, 32645, "epsg", 32645,
-        "WGS 84 / UTM zone 45N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32644\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32645, "epsg", 32645,
+        "WGS 84 / UTM zone 45N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=45 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1313,21 +1541,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",87],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",87],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32645\"]]");
-    p = add_epsg_def (filter, first, last, 32646, "epsg", 32646,
-        "WGS 84 / UTM zone 46N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32645\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32646, "epsg", 32646,
+        "WGS 84 / UTM zone 46N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=46 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1341,21 +1574,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",93],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",93],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32646\"]]");
-    p = add_epsg_def (filter, first, last, 32647, "epsg", 32647,
-        "WGS 84 / UTM zone 47N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32646\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32647, "epsg", 32647,
+        "WGS 84 / UTM zone 47N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=47 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1369,21 +1607,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",99],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",99],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "alse_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32647\"]]");
-    p = add_epsg_def (filter, first, last, 32648, "epsg", 32648,
-        "WGS 84 / UTM zone 48N");
+        "9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]");
+    add_srs_wkt (p, 12,
+        ",AUTHORITY[\"EPSG\",\"32647\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32648, "epsg", 32648,
+        "WGS 84 / UTM zone 48N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=48 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1397,21 +1640,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",105],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",105],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32648\"]]");
-    p = add_epsg_def (filter, first, last, 32649, "epsg", 32649,
-        "WGS 84 / UTM zone 49N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32648\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32649, "epsg", 32649,
+        "WGS 84 / UTM zone 49N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=49 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1425,21 +1673,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",111],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",111],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32649\"]]");
-    p = add_epsg_def (filter, first, last, 32650, "epsg", 32650,
-        "WGS 84 / UTM zone 50N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32649\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32650, "epsg", 32650,
+        "WGS 84 / UTM zone 50N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=50 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1453,21 +1706,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",117],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",117],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32650\"]]");
-    p = add_epsg_def (filter, first, last, 32651, "epsg", 32651,
-        "WGS 84 / UTM zone 51N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32650\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32651, "epsg", 32651,
+        "WGS 84 / UTM zone 51N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=51 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1481,21 +1739,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",123],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",123],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32651\"]]");
-    p = add_epsg_def (filter, first, last, 32652, "epsg", 32652,
-        "WGS 84 / UTM zone 52N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32651\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32652, "epsg", 32652,
+        "WGS 84 / UTM zone 52N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=52 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1509,21 +1772,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",129],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",129],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32652\"]]");
-    p = add_epsg_def (filter, first, last, 32653, "epsg", 32653,
-        "WGS 84 / UTM zone 53N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32652\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32653, "epsg", 32653,
+        "WGS 84 / UTM zone 53N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=53 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1537,21 +1805,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",135],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",135],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32653\"]]");
-    p = add_epsg_def (filter, first, last, 32654, "epsg", 32654,
-        "WGS 84 / UTM zone 54N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32653\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32654, "epsg", 32654,
+        "WGS 84 / UTM zone 54N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=54 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1565,21 +1838,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",141],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",141],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32654\"]]");
-    p = add_epsg_def (filter, first, last, 32655, "epsg", 32655,
-        "WGS 84 / UTM zone 55N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32654\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32655, "epsg", 32655,
+        "WGS 84 / UTM zone 55N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=55 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1593,21 +1871,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",147],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",147],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32655\"]]");
-    p = add_epsg_def (filter, first, last, 32656, "epsg", 32656,
-        "WGS 84 / UTM zone 56N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32655\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32656, "epsg", 32656,
+        "WGS 84 / UTM zone 56N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=56 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1621,21 +1904,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",153],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",153],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32656\"]]");
-    p = add_epsg_def (filter, first, last, 32657, "epsg", 32657,
-        "WGS 84 / UTM zone 57N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32656\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32657, "epsg", 32657,
+        "WGS 84 / UTM zone 57N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=57 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1649,21 +1937,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",159],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",159],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32657\"]]");
-    p = add_epsg_def (filter, first, last, 32658, "epsg", 32658,
-        "WGS 84 / UTM zone 58N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32657\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32658, "epsg", 32658,
+        "WGS 84 / UTM zone 58N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1677,21 +1970,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",165],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",165],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32658\"]]");
-    p = add_epsg_def (filter, first, last, 32659, "epsg", 32659,
-        "WGS 84 / UTM zone 59N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32658\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32659, "epsg", 32659,
+        "WGS 84 / UTM zone 59N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=59 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1705,21 +2003,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",171],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",171],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32659\"]]");
-    p = add_epsg_def (filter, first, last, 32660, "epsg", 32660,
-        "WGS 84 / UTM zone 60N");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32659\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32660, "epsg", 32660,
+        "WGS 84 / UTM zone 60N", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=60 +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1733,21 +2036,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",177],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",177],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+        "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",");
     add_srs_wkt (p, 11,
-        ",NORTH],AUTHORITY[\"EPSG\",\"32660\"]]");
-    p = add_epsg_def (filter, first, last, 32661, "epsg", 32661,
-        "WGS 84 / UPS North (N,E)");
+        "\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORT");
+    add_srs_wkt (p, 12,
+        "H],AUTHORITY[\"EPSG\",\"32660\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32661, "epsg", 32661,
+        "WGS 84 / UPS North (N,E)", 0, 1,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=");
     add_proj4text (p, 1,
@@ -1763,19 +2071,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"P");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "olar_Stereographic\"],PARAMETER[\"latitude_of_origin\",9");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_S");
     add_srs_wkt (p, 7,
-        "0],PARAMETER[\"central_meridian\",0],PARAMETER[\"scale_f");
+        "tereographic\"],PARAMETER[\"latitude_of_origin\",90],PAR");
     add_srs_wkt (p, 8,
-        "actor\",0.994],PARAMETER[\"false_easting\",2000000],PARA");
+        "AMETER[\"central_meridian\",0],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "METER[\"false_northing\",2000000],UNIT[\"metre\",1,AUTHO");
+        ",0.994],PARAMETER[\"false_easting\",2000000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"32661\"]]");
-    p = add_epsg_def (filter, first, last, 32662, "epsg", 32662,
-        "WGS 84 / Plate Carree (deprecated)");
+        "false_northing\",2000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 11,
+        "PSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"Easting");
+    add_srs_wkt (p, 12,
+        "\",EAST],AUTHORITY[\"EPSG\",\"32661\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32662, "epsg", 32662,
+        "WGS 84 / Plate Carree (deprecated)", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Equirectangular", "metre",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +dat");
     add_proj4text (p, 1,
@@ -1791,19 +2106,59 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI");
     add_srs_wkt (p, 5,
-        "TY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PRO");
+        "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L");
+    add_srs_wkt (p, 6,
+        "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTIO");
+    add_srs_wkt (p, 7,
+        "N[\"Equirectangular\"],PARAMETER[\"latitude_of_origin\",");
+    add_srs_wkt (p, 8,
+        "0],PARAMETER[\"central_meridian\",0],PARAMETER[\"false_e");
+    add_srs_wkt (p, 9,
+        "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre");
+    add_srs_wkt (p, 10,
+        "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS");
+    add_srs_wkt (p, 11,
+        "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32662\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32663, "epsg", 32663,
+        "WGS 84 / World Equidistant Cylindrical (deprecated)", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Equirectangular", "metre",
+        "X", "East", "Y", "North");
+    add_proj4text (p, 0,
+        "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +dat");
+    add_proj4text (p, 1,
+        "um=WGS84 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 84 / World Equidistant Cylindrical (depreca");
+    add_srs_wkt (p, 1,
+        "ted)\",GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"W");
+    add_srs_wkt (p, 2,
+        "GS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"");
+    add_srs_wkt (p, 3,
+        "]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,");
+    add_srs_wkt (p, 4,
+        "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329");
+    add_srs_wkt (p, 5,
+        "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\"");
     add_srs_wkt (p, 6,
-        "JECTION[\"Equirectangular\"],PARAMETER[\"latitude_of_ori");
+        ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"43");
     add_srs_wkt (p, 7,
-        "gin\",0],PARAMETER[\"central_meridian\",0],PARAMETER[\"f");
+        "26\"]],PROJECTION[\"Equirectangular\"],PARAMETER[\"latit");
     add_srs_wkt (p, 8,
-        "alse_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"");
+        "ude_of_origin\",0],PARAMETER[\"central_meridian\",0],PAR");
     add_srs_wkt (p, 9,
-        "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]");
+        "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\"");
     add_srs_wkt (p, 10,
-        ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32662\"]]");
-    p = add_epsg_def (filter, first, last, 32664, "epsg", 32664,
-        "WGS 84 / BLM 14N (ftUS)");
+        ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[");
+    add_srs_wkt (p, 11,
+        "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32663");
+    add_srs_wkt (p, 12,
+        "\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32664, "epsg", 32664,
+        "WGS 84 / BLM 14N (ftUS)", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
@@ -1819,23 +2174,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"central_meridian\",-99],PARAMETER[\"scale_");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 8,
-        "factor\",0.9996],PARAMETER[\"false_easting\",1640416.67]");
+        "METER[\"central_meridian\",-99],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "\",0.9996],PARAMETER[\"false_easting\",1640416.67],PARAM");
     add_srs_wkt (p, 10,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 11,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32664\"");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 32665, "epsg", 32665,
-        "WGS 84 / BLM 15N (ftUS)");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32664\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32665, "epsg", 32665,
+        "WGS 84 / BLM 15N (ftUS)", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
@@ -1851,23 +2209,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"central_meridian\",-93],PARAMETER[\"scale_");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 8,
-        "factor\",0.9996],PARAMETER[\"false_easting\",1640416.67]");
+        "METER[\"central_meridian\",-93],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "\",0.9996],PARAMETER[\"false_easting\",1640416.67],PARAM");
     add_srs_wkt (p, 10,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 11,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32665\"");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 32666, "epsg", 32666,
-        "WGS 84 / BLM 16N (ftUS)");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32665\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32666, "epsg", 32666,
+        "WGS 84 / BLM 16N (ftUS)", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
@@ -1883,23 +2244,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"central_meridian\",-87],PARAMETER[\"scale_");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 8,
-        "factor\",0.9996],PARAMETER[\"false_easting\",1640416.67]");
+        "METER[\"central_meridian\",-87],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "\",0.9996],PARAMETER[\"false_easting\",1640416.67],PARAM");
     add_srs_wkt (p, 10,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 11,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32666\"");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 32667, "epsg", 32667,
-        "WGS 84 / BLM 17N (ftUS)");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32666\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32667, "epsg", 32667,
+        "WGS 84 / BLM 17N (ftUS)", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "US survey foot",
+        "X", "East", "Y", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.00");
     add_proj4text (p, 1,
@@ -1915,23 +2279,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"T");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transve");
     add_srs_wkt (p, 7,
-        "],PARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_");
+        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
     add_srs_wkt (p, 8,
-        "factor\",0.9996],PARAMETER[\"false_easting\",1640416.67]");
+        "METER[\"central_meridian\",-81],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 9,
-        ",PARAMETER[\"false_northing\",0],UNIT[\"US survey foot\"");
+        "\",0.9996],PARAMETER[\"false_easting\",1640416.67],PARAM");
     add_srs_wkt (p, 10,
-        ",0.3048006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"");
+        "ETER[\"false_northing\",0],UNIT[\"US survey foot\",0.304");
     add_srs_wkt (p, 11,
-        "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32667\"");
+        "8006096012192,AUTHORITY[\"EPSG\",\"9003\"]],AXIS[\"X\",E");
     add_srs_wkt (p, 12,
-        "]]");
-    p = add_epsg_def (filter, first, last, 32701, "epsg", 32701,
-        "WGS 84 / UTM zone 1S");
+        "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32667\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32701, "epsg", 32701,
+        "WGS 84 / UTM zone 1S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=1 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1945,21 +2312,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-177],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-177],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32701\"]]");
-    p = add_epsg_def (filter, first, last, 32702, "epsg", 32702,
-        "WGS 84 / UTM zone 2S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32701\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32702, "epsg", 32702,
+        "WGS 84 / UTM zone 2S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=2 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -1973,21 +2345,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-171],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-171],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32702\"]]");
-    p = add_epsg_def (filter, first, last, 32703, "epsg", 32703,
-        "WGS 84 / UTM zone 3S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32702\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32703, "epsg", 32703,
+        "WGS 84 / UTM zone 3S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=3 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2001,21 +2378,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-165],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-165],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32703\"]]");
-    p = add_epsg_def (filter, first, last, 32704, "epsg", 32704,
-        "WGS 84 / UTM zone 4S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32703\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32704, "epsg", 32704,
+        "WGS 84 / UTM zone 4S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=4 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2029,21 +2411,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-159],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-159],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32704\"]]");
-    p = add_epsg_def (filter, first, last, 32705, "epsg", 32705,
-        "WGS 84 / UTM zone 5S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32704\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32705, "epsg", 32705,
+        "WGS 84 / UTM zone 5S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=5 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2057,21 +2444,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-153],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-153],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32705\"]]");
-    p = add_epsg_def (filter, first, last, 32706, "epsg", 32706,
-        "WGS 84 / UTM zone 6S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32705\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32706, "epsg", 32706,
+        "WGS 84 / UTM zone 6S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=6 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2085,21 +2477,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-147],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-147],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32706\"]]");
-    p = add_epsg_def (filter, first, last, 32707, "epsg", 32707,
-        "WGS 84 / UTM zone 7S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32706\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32707, "epsg", 32707,
+        "WGS 84 / UTM zone 7S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=7 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2113,21 +2510,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-141],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-141],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32707\"]]");
-    p = add_epsg_def (filter, first, last, 32708, "epsg", 32708,
-        "WGS 84 / UTM zone 8S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32707\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32708, "epsg", 32708,
+        "WGS 84 / UTM zone 8S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=8 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2141,21 +2543,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-135],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-135],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32708\"]]");
-    p = add_epsg_def (filter, first, last, 32709, "epsg", 32709,
-        "WGS 84 / UTM zone 9S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32708\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32709, "epsg", 32709,
+        "WGS 84 / UTM zone 9S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=9 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2169,21 +2576,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-129],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-129],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32709\"]]");
-    p = add_epsg_def (filter, first, last, 32710, "epsg", 32710,
-        "WGS 84 / UTM zone 10S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32709\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32710, "epsg", 32710,
+        "WGS 84 / UTM zone 10S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=10 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2197,21 +2609,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-123],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-123],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32710\"]]");
-    p = add_epsg_def (filter, first, last, 32711, "epsg", 32711,
-        "WGS 84 / UTM zone 11S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32710\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32711, "epsg", 32711,
+        "WGS 84 / UTM zone 11S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=11 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2225,21 +2642,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-117],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-117],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32711\"]]");
-    p = add_epsg_def (filter, first, last, 32712, "epsg", 32712,
-        "WGS 84 / UTM zone 12S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32711\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32712, "epsg", 32712,
+        "WGS 84 / UTM zone 12S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=12 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2253,21 +2675,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-111],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-111],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32712\"]]");
-    p = add_epsg_def (filter, first, last, 32713, "epsg", 32713,
-        "WGS 84 / UTM zone 13S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32712\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32713, "epsg", 32713,
+        "WGS 84 / UTM zone 13S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=13 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2281,21 +2708,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-105],PARAMETER[\"scale_fa");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM");
+        "ER[\"central_meridian\",-105],PARAMETER[\"scale_factor\"");
     add_srs_wkt (p, 9,
-        "ETER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHO");
+        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "RITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"N");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "orthing\",NORTH],AUTHORITY[\"EPSG\",\"32713\"]]");
-    p = add_epsg_def (filter, first, last, 32714, "epsg", 32714,
-        "WGS 84 / UTM zone 14S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32713\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32714, "epsg", 32714,
+        "WGS 84 / UTM zone 14S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=14 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2309,21 +2741,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-99],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-99],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32714\"]]");
-    p = add_epsg_def (filter, first, last, 32715, "epsg", 32715,
-        "WGS 84 / UTM zone 15S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32714\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32715, "epsg", 32715,
+        "WGS 84 / UTM zone 15S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=15 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2337,21 +2774,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-93],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-93],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32715\"]]");
-    p = add_epsg_def (filter, first, last, 32716, "epsg", 32716,
-        "WGS 84 / UTM zone 16S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32715\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32716, "epsg", 32716,
+        "WGS 84 / UTM zone 16S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=16 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2365,21 +2807,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-87],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-87],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32716\"]]");
-    p = add_epsg_def (filter, first, last, 32717, "epsg", 32717,
-        "WGS 84 / UTM zone 17S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32716\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32717, "epsg", 32717,
+        "WGS 84 / UTM zone 17S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=17 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2393,21 +2840,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-81],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-81],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32717\"]]");
-    p = add_epsg_def (filter, first, last, 32718, "epsg", 32718,
-        "WGS 84 / UTM zone 18S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32717\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32718, "epsg", 32718,
+        "WGS 84 / UTM zone 18S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=18 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2421,21 +2873,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-75],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-75],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32718\"]]");
-    p = add_epsg_def (filter, first, last, 32719, "epsg", 32719,
-        "WGS 84 / UTM zone 19S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32718\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32719, "epsg", 32719,
+        "WGS 84 / UTM zone 19S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2449,21 +2906,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-69],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-69],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32719\"]]");
-    p = add_epsg_def (filter, first, last, 32720, "epsg", 32720,
-        "WGS 84 / UTM zone 20S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32719\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32720, "epsg", 32720,
+        "WGS 84 / UTM zone 20S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=20 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2477,21 +2939,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-63],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-63],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32720\"]]");
-    p = add_epsg_def (filter, first, last, 32721, "epsg", 32721,
-        "WGS 84 / UTM zone 21S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32720\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32721, "epsg", 32721,
+        "WGS 84 / UTM zone 21S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=21 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2505,21 +2972,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-57],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-57],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32721\"]]");
-    p = add_epsg_def (filter, first, last, 32722, "epsg", 32722,
-        "WGS 84 / UTM zone 22S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32721\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32722, "epsg", 32722,
+        "WGS 84 / UTM zone 22S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=22 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2533,21 +3005,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-51],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-51],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32722\"]]");
-    p = add_epsg_def (filter, first, last, 32723, "epsg", 32723,
-        "WGS 84 / UTM zone 23S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32722\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32723, "epsg", 32723,
+        "WGS 84 / UTM zone 23S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=23 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2561,21 +3038,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-45],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-45],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32723\"]]");
-    p = add_epsg_def (filter, first, last, 32724, "epsg", 32724,
-        "WGS 84 / UTM zone 24S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32723\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32724, "epsg", 32724,
+        "WGS 84 / UTM zone 24S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=24 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2589,21 +3071,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-39],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-39],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32724\"]]");
-    p = add_epsg_def (filter, first, last, 32725, "epsg", 32725,
-        "WGS 84 / UTM zone 25S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32724\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32725, "epsg", 32725,
+        "WGS 84 / UTM zone 25S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=25 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2617,21 +3104,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-33],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-33],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32725\"]]");
-    p = add_epsg_def (filter, first, last, 32726, "epsg", 32726,
-        "WGS 84 / UTM zone 26S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32725\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32726, "epsg", 32726,
+        "WGS 84 / UTM zone 26S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=26 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2645,21 +3137,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-27],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-27],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32726\"]]");
-    p = add_epsg_def (filter, first, last, 32727, "epsg", 32727,
-        "WGS 84 / UTM zone 27S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32726\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32727, "epsg", 32727,
+        "WGS 84 / UTM zone 27S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=27 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2673,21 +3170,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-21],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-21],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32727\"]]");
-    p = add_epsg_def (filter, first, last, 32728, "epsg", 32728,
-        "WGS 84 / UTM zone 28S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32727\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32728, "epsg", 32728,
+        "WGS 84 / UTM zone 28S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=28 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2701,21 +3203,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-15],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",-15],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32728\"]]");
-    p = add_epsg_def (filter, first, last, 32729, "epsg", 32729,
-        "WGS 84 / UTM zone 29S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32728\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32729, "epsg", 32729,
+        "WGS 84 / UTM zone 29S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=29 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2729,21 +3236,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-9],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",-9],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32729\"]]");
-    p = add_epsg_def (filter, first, last, 32730, "epsg", 32730,
-        "WGS 84 / UTM zone 30S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32729\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32730, "epsg", 32730,
+        "WGS 84 / UTM zone 30S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=30 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2757,21 +3269,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",-3],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",-3],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32730\"]]");
-    p = add_epsg_def (filter, first, last, 32731, "epsg", 32731,
-        "WGS 84 / UTM zone 31S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32730\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32731, "epsg", 32731,
+        "WGS 84 / UTM zone 31S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=31 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2785,21 +3302,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",3],PARAMETER[\"scale_facto");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "ER[\"central_meridian\",3],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 9,
-        "R[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORIT");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 11,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"32731\"]]");
-    p = add_epsg_def (filter, first, last, 32732, "epsg", 32732,
-        "WGS 84 / UTM zone 32S");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32731\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32732, "epsg", 32732,
+        "WGS 84 / UTM zone 32S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=32 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2813,21 +3335,26 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",9],PARAMETER[\"scale_facto");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE");
+        "ER[\"central_meridian\",9],PARAMETER[\"scale_factor\",0.");
     add_srs_wkt (p, 9,
-        "R[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORIT");
+        "9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"fa");
     add_srs_wkt (p, 10,
-        "Y[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nort");
+        "lse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EP");
     add_srs_wkt (p, 11,
-        "hing\",NORTH],AUTHORITY[\"EPSG\",\"32732\"]]");
-    p = add_epsg_def (filter, first, last, 32733, "epsg", 32733,
-        "WGS 84 / UTM zone 33S");
+        "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32732\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32733, "epsg", 32733,
+        "WGS 84 / UTM zone 33S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=33 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -2841,46 +3368,20 @@ initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",15],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32733\"]]");
-    p = add_epsg_def (filter, first, last, 32734, "epsg", 32734,
-        "WGS 84 / UTM zone 34S");
-    add_proj4text (p, 0,
-        "+proj=utm +zone=34 +south +datum=WGS84 +units=m +no_defs");
-    add_srs_wkt (p, 0,
-        "PROJCS[\"WGS 84 / UTM zone 34S\",GEOGCS[\"WGS 84\",DATUM");
-    add_srs_wkt (p, 1,
-        "[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,");
-    add_srs_wkt (p, 2,
-        "AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"");
-    add_srs_wkt (p, 3,
-        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
-    add_srs_wkt (p, 4,
-        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
-    add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
-    add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
-    add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",21],PARAMETER[\"scale_fact");
-    add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
-    add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
-    add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
-    add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32734\"]]");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32733\"]]");
 }
 
diff --git a/src/srsinit/epsg_inlined_wgs84_01.c b/src/srsinit/epsg_inlined_wgs84_01.c
index ddc9f0e..b5bf9be 100644
--- a/src/srsinit/epsg_inlined_wgs84_01.c
+++ b/src/srsinit/epsg_inlined_wgs84_01.c
@@ -2,7 +2,7 @@
 
  helper function for srs_init.c -- populating the SPATIAL_REF_SYS table
 
- this code was autogenerated by "auto_epsg" on Fri May 16 09:57:30 2014
+ this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015
 
  Author: Sandro Furieri a.furieri at lqt.it
 
@@ -43,6 +43,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 
 */
 
+#include "config.h"
+
 #include <spatialite_private.h>
 
 SPATIALITE_PRIVATE void
@@ -50,8 +52,44 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
 {
 /* initializing the EPSG defs list [WGS84] */
     struct epsg_defs *p;
-    p = add_epsg_def (filter, first, last, 32735, "epsg", 32735,
-        "WGS 84 / UTM zone 35S");
+    p = add_epsg_def_ex (filter, first, last, 32734, "epsg", 32734,
+        "WGS 84 / UTM zone 34S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
+    add_proj4text (p, 0,
+        "+proj=utm +zone=34 +south +datum=WGS84 +units=m +no_defs");
+    add_srs_wkt (p, 0,
+        "PROJCS[\"WGS 84 / UTM zone 34S\",GEOGCS[\"WGS 84\",DATUM");
+    add_srs_wkt (p, 1,
+        "[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,");
+    add_srs_wkt (p, 2,
+        "AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"");
+    add_srs_wkt (p, 3,
+        "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],");
+    add_srs_wkt (p, 4,
+        "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
+    add_srs_wkt (p, 5,
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
+    add_srs_wkt (p, 6,
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
+    add_srs_wkt (p, 7,
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
+    add_srs_wkt (p, 8,
+        "ER[\"central_meridian\",21],PARAMETER[\"scale_factor\",0");
+    add_srs_wkt (p, 9,
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
+    add_srs_wkt (p, 10,
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
+    add_srs_wkt (p, 11,
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32734\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32735, "epsg", 32735,
+        "WGS 84 / UTM zone 35S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=35 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -65,21 +103,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",27],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",27],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32735\"]]");
-    p = add_epsg_def (filter, first, last, 32736, "epsg", 32736,
-        "WGS 84 / UTM zone 36S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32735\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32736, "epsg", 32736,
+        "WGS 84 / UTM zone 36S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=36 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -93,21 +136,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",33],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",33],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32736\"]]");
-    p = add_epsg_def (filter, first, last, 32737, "epsg", 32737,
-        "WGS 84 / UTM zone 37S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32736\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32737, "epsg", 32737,
+        "WGS 84 / UTM zone 37S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=37 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -121,21 +169,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",39],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",39],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32737\"]]");
-    p = add_epsg_def (filter, first, last, 32738, "epsg", 32738,
-        "WGS 84 / UTM zone 38S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32737\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32738, "epsg", 32738,
+        "WGS 84 / UTM zone 38S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=38 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -149,21 +202,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",45],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",45],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32738\"]]");
-    p = add_epsg_def (filter, first, last, 32739, "epsg", 32739,
-        "WGS 84 / UTM zone 39S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32738\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32739, "epsg", 32739,
+        "WGS 84 / UTM zone 39S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=39 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -177,21 +235,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",51],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",51],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32739\"]]");
-    p = add_epsg_def (filter, first, last, 32740, "epsg", 32740,
-        "WGS 84 / UTM zone 40S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32739\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32740, "epsg", 32740,
+        "WGS 84 / UTM zone 40S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=40 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -205,21 +268,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",57],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",57],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32740\"]]");
-    p = add_epsg_def (filter, first, last, 32741, "epsg", 32741,
-        "WGS 84 / UTM zone 41S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32740\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32741, "epsg", 32741,
+        "WGS 84 / UTM zone 41S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=41 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -233,21 +301,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",63],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",63],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32741\"]]");
-    p = add_epsg_def (filter, first, last, 32742, "epsg", 32742,
-        "WGS 84 / UTM zone 42S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32741\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32742, "epsg", 32742,
+        "WGS 84 / UTM zone 42S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=42 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -261,21 +334,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",69],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",69],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32742\"]]");
-    p = add_epsg_def (filter, first, last, 32743, "epsg", 32743,
-        "WGS 84 / UTM zone 43S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32742\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32743, "epsg", 32743,
+        "WGS 84 / UTM zone 43S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=43 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -289,21 +367,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",75],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",75],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32743\"]]");
-    p = add_epsg_def (filter, first, last, 32744, "epsg", 32744,
-        "WGS 84 / UTM zone 44S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32743\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32744, "epsg", 32744,
+        "WGS 84 / UTM zone 44S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=44 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -317,21 +400,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",81],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",81],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32744\"]]");
-    p = add_epsg_def (filter, first, last, 32745, "epsg", 32745,
-        "WGS 84 / UTM zone 45S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32744\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32745, "epsg", 32745,
+        "WGS 84 / UTM zone 45S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=45 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -345,21 +433,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",87],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",87],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32745\"]]");
-    p = add_epsg_def (filter, first, last, 32746, "epsg", 32746,
-        "WGS 84 / UTM zone 46S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32745\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32746, "epsg", 32746,
+        "WGS 84 / UTM zone 46S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=46 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -373,21 +466,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",93],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",93],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32746\"]]");
-    p = add_epsg_def (filter, first, last, 32747, "epsg", 32747,
-        "WGS 84 / UTM zone 47S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32746\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32747, "epsg", 32747,
+        "WGS 84 / UTM zone 47S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=47 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -401,21 +499,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",99],PARAMETER[\"scale_fact");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET");
+        "ER[\"central_meridian\",99],PARAMETER[\"scale_factor\",0");
     add_srs_wkt (p, 9,
-        "ER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHORI");
+        ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f");
     add_srs_wkt (p, 10,
-        "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor");
+        "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E");
     add_srs_wkt (p, 11,
-        "thing\",NORTH],AUTHORITY[\"EPSG\",\"32747\"]]");
-    p = add_epsg_def (filter, first, last, 32748, "epsg", 32748,
-        "WGS 84 / UTM zone 48S");
+        "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\"");
+    add_srs_wkt (p, 12,
+        ",NORTH],AUTHORITY[\"EPSG\",\"32747\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32748, "epsg", 32748,
+        "WGS 84 / UTM zone 48S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=48 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -429,21 +532,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",105],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",105],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32748\"]]");
-    p = add_epsg_def (filter, first, last, 32749, "epsg", 32749,
-        "WGS 84 / UTM zone 49S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32748\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32749, "epsg", 32749,
+        "WGS 84 / UTM zone 49S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=49 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -457,21 +565,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",111],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",111],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32749\"]]");
-    p = add_epsg_def (filter, first, last, 32750, "epsg", 32750,
-        "WGS 84 / UTM zone 50S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32749\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32750, "epsg", 32750,
+        "WGS 84 / UTM zone 50S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=50 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -485,21 +598,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",117],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",117],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32750\"]]");
-    p = add_epsg_def (filter, first, last, 32751, "epsg", 32751,
-        "WGS 84 / UTM zone 51S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32750\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32751, "epsg", 32751,
+        "WGS 84 / UTM zone 51S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=51 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -513,21 +631,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",123],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",123],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32751\"]]");
-    p = add_epsg_def (filter, first, last, 32752, "epsg", 32752,
-        "WGS 84 / UTM zone 52S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32751\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32752, "epsg", 32752,
+        "WGS 84 / UTM zone 52S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=52 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -541,21 +664,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",129],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",129],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32752\"]]");
-    p = add_epsg_def (filter, first, last, 32753, "epsg", 32753,
-        "WGS 84 / UTM zone 53S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32752\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32753, "epsg", 32753,
+        "WGS 84 / UTM zone 53S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=53 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -569,21 +697,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",135],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",135],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32753\"]]");
-    p = add_epsg_def (filter, first, last, 32754, "epsg", 32754,
-        "WGS 84 / UTM zone 54S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32753\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32754, "epsg", 32754,
+        "WGS 84 / UTM zone 54S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=54 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -597,21 +730,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",141],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",141],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32754\"]]");
-    p = add_epsg_def (filter, first, last, 32755, "epsg", 32755,
-        "WGS 84 / UTM zone 55S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32754\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32755, "epsg", 32755,
+        "WGS 84 / UTM zone 55S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=55 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -625,21 +763,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",147],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",147],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32755\"]]");
-    p = add_epsg_def (filter, first, last, 32756, "epsg", 32756,
-        "WGS 84 / UTM zone 56S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32755\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32756, "epsg", 32756,
+        "WGS 84 / UTM zone 56S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=56 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -653,21 +796,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",153],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",153],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32756\"]]");
-    p = add_epsg_def (filter, first, last, 32757, "epsg", 32757,
-        "WGS 84 / UTM zone 57S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32756\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32757, "epsg", 32757,
+        "WGS 84 / UTM zone 57S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=57 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -681,21 +829,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",159],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",159],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32757\"]]");
-    p = add_epsg_def (filter, first, last, 32758, "epsg", 32758,
-        "WGS 84 / UTM zone 58S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32757\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32758, "epsg", 32758,
+        "WGS 84 / UTM zone 58S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=58 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -709,21 +862,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",165],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",165],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32758\"]]");
-    p = add_epsg_def (filter, first, last, 32759, "epsg", 32759,
-        "WGS 84 / UTM zone 59S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32758\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32759, "epsg", 32759,
+        "WGS 84 / UTM zone 59S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=59 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -737,21 +895,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",171],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",171],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32759\"]]");
-    p = add_epsg_def (filter, first, last, 32760, "epsg", 32760,
-        "WGS 84 / UTM zone 60S");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32759\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32760, "epsg", 32760,
+        "WGS 84 / UTM zone 60S", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=utm +zone=60 +south +datum=WGS84 +units=m +no_defs");
     add_srs_wkt (p, 0,
@@ -765,21 +928,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"");
     add_srs_wkt (p, 5,
-        "9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Tran");
+        "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS");
     add_srs_wkt (p, 6,
-        "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P");
+        "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse");
     add_srs_wkt (p, 7,
-        "ARAMETER[\"central_meridian\",177],PARAMETER[\"scale_fac");
+        "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET");
     add_srs_wkt (p, 8,
-        "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME");
+        "ER[\"central_meridian\",177],PARAMETER[\"scale_factor\",");
     add_srs_wkt (p, 9,
-        "TER[\"false_northing\",10000000],UNIT[\"metre\",1,AUTHOR");
+        "0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
     add_srs_wkt (p, 10,
-        "ITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"No");
+        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
     add_srs_wkt (p, 11,
-        "rthing\",NORTH],AUTHORITY[\"EPSG\",\"32760\"]]");
-    p = add_epsg_def (filter, first, last, 32761, "epsg", 32761,
-        "WGS 84 / UPS South (N,E)");
+        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+    add_srs_wkt (p, 12,
+        "\",NORTH],AUTHORITY[\"EPSG\",\"32760\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32761, "epsg", 32761,
+        "WGS 84 / UPS South (N,E)", 0, 1,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Polar_Stereographic", "metre",
+        "Northing", "North", "Easting", "East");
     add_proj4text (p, 0,
         "+proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_");
     add_proj4text (p, 1,
@@ -795,19 +963,26 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\"");
     add_srs_wkt (p, 5,
-        ",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"P");
+        ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",");
     add_srs_wkt (p, 6,
-        "olar_Stereographic\"],PARAMETER[\"latitude_of_origin\",-");
+        "EAST],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Polar_S");
     add_srs_wkt (p, 7,
-        "90],PARAMETER[\"central_meridian\",0],PARAMETER[\"scale_");
+        "tereographic\"],PARAMETER[\"latitude_of_origin\",-90],PA");
     add_srs_wkt (p, 8,
-        "factor\",0.994],PARAMETER[\"false_easting\",2000000],PAR");
+        "RAMETER[\"central_meridian\",0],PARAMETER[\"scale_factor");
     add_srs_wkt (p, 9,
-        "AMETER[\"false_northing\",2000000],UNIT[\"metre\",1,AUTH");
+        "\",0.994],PARAMETER[\"false_easting\",2000000],PARAMETER");
     add_srs_wkt (p, 10,
-        "ORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"32761\"]]");
-    p = add_epsg_def (filter, first, last, 32766, "epsg", 32766,
-        "WGS 84 / TM 36 SE");
+        "[\"false_northing\",2000000],UNIT[\"metre\",1,AUTHORITY[");
+    add_srs_wkt (p, 11,
+        "\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXIS[\"East");
+    add_srs_wkt (p, 12,
+        "ing\",EAST],AUTHORITY[\"EPSG\",\"32761\"]]");
+    p = add_epsg_def_ex (filter, first, last, 32766, "epsg", 32766,
+        "WGS 84 / TM 36 SE", 0, 0,
+        "WGS 84", "Greenwich",
+        "WGS_1984", "Transverse_Mercator", "metre",
+        "Easting", "East", "Northing", "North");
     add_proj4text (p, 0,
         "+proj=tmerc +lat_0=0 +lon_0=36 +k=0.9996 +x_0=500000 +y_");
     add_proj4text (p, 1,
@@ -823,18 +998,20 @@ initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs
     add_srs_wkt (p, 4,
         "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912");
     add_srs_wkt (p, 5,
-        "2\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transve");
+        "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],");
     add_srs_wkt (p, 6,
-        "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA");
+        "AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Me");
     add_srs_wkt (p, 7,
-        "METER[\"central_meridian\",36],PARAMETER[\"scale_factor\"");
+        "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[");
     add_srs_wkt (p, 8,
-        ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"");
+        "\"central_meridian\",36],PARAMETER[\"scale_factor\",0.99");
     add_srs_wkt (p, 9,
-        "false_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"");
+        "96],PARAMETER[\"false_easting\",500000],PARAMETER[\"fals");
     add_srs_wkt (p, 10,
-        "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing");
+        "e_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"EPSG");
     add_srs_wkt (p, 11,
-        "\",NORTH],AUTHORITY[\"EPSG\",\"32766\"]]");
+        "\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",N");
+    add_srs_wkt (p, 12,
+        "ORTH],AUTHORITY[\"EPSG\",\"32766\"]]");
 }
 
diff --git a/src/srsinit/epsg_update/Makefile.am b/src/srsinit/epsg_update/Makefile.am
index 384cbc3..d341910 100644
--- a/src/srsinit/epsg_update/Makefile.am
+++ b/src/srsinit/epsg_update/Makefile.am
@@ -1,3 +1,4 @@
 
-EXTRA_DIST = README.txt auto_epsg.c
+EXTRA_DIST = README.txt README-obsolete.txt auto_epsg.c \
+	epsg_from_gdal.c auto_epsg_ext.c
 
diff --git a/src/srsinit/epsg_update/Makefile.in b/src/srsinit/epsg_update/Makefile.in
index d9390fd..e0a1169 100644
--- a/src/srsinit/epsg_update/Makefile.in
+++ b/src/srsinit/epsg_update/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/srsinit/epsg_update
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -240,7 +251,9 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-EXTRA_DIST = README.txt auto_epsg.c
+EXTRA_DIST = README.txt README-obsolete.txt auto_epsg.c \
+	epsg_from_gdal.c auto_epsg_ext.c
+
 all: all-am
 
 .SUFFIXES:
@@ -256,7 +269,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/srsinit/epsg_update/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/srsinit/epsg_update/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -431,6 +443,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/srsinit/epsg_update/README-obsolete.txt b/src/srsinit/epsg_update/README-obsolete.txt
new file mode 100644
index 0000000..07a994f
--- /dev/null
+++ b/src/srsinit/epsg_update/README-obsolete.txt
@@ -0,0 +1,67 @@
+****************************************************************************
+***
+*** WARNING     WARNING     WARNING     WARNING     WARNING
+***
+*** this procedure was discontinued since 4.2.1 and is now obsolete
+*** the currecnt procedure is documented in README.txt
+***
+****************************************************************************
+
+
+HOW-TO: UPDATE spatial_ref_sys SELF-INITIALIZING C CODE
+============================================================================
+When updating is required: each time a new GDAL version will be released.
+============================================================================
+
+STEP #1: getting the basic EPSG files
+--------
+- download the latest GDAL sources
+- build and install 
+  be sure to set: ./configure --with-python=yes
+
+# cd {gdal-sources}/data 
+# rm epsg
+# epsg_tr.py --config OVERRIDE_PROJ_DATUM_WITH_TOWGS84 FALSE \
+#    -proj4 -skip -list gcs.csv > epsg
+# epsg_tr.py --config OVERRIDE_PROJ_DATUM_WITH_TOWGS84 FALSE \
+#    -proj4 -skip -list pcs.csv >> epsg
+# rm wkt
+# epsg_tr.py -wkt -skip -list gcs.csv > wkt
+# epsg_tr.py -wkt -skip -list pcs.csv >> wkt
+
+all right: these "epsg" and "wkt" files will be used as "seeds" into the
+next step:
+- copy both "epsg" and "wkt" files into: 
+  {libspatialite-source}/src/srcinit/epsg_update
+
+
+
+STEP #2: compiling the C generator tool
+--------
+# cd {libspatialite-source}/src/srsinit/epsg_update
+
+Linux:
+# gcc auto_epsg.c -o auto_epsg
+
+Windows [MinGW]:
+# gcc auto_epsg.c -o auto_epsg.exe
+
+
+
+STEP #3: generating the C code [inlined EPSG dataset]
+--------
+# rm epsg_inlined_*.c
+# ./auto_epsg
+
+at the end of this step several "epsg_inlined_*.c" files will be generated
+
+
+
+STEP #4: final setup
+--------
+- copy the generated file into the parent dir:
+  rm ../epsg_inlined*.c
+  cp epsg_inlined*.c ..
+- be sure to update as required the repository (ADD/DEL)
+- be sure to update as required Makefile.am
+- and finally commit into the repository
diff --git a/src/srsinit/epsg_update/README.txt b/src/srsinit/epsg_update/README.txt
index b07d746..792e043 100644
--- a/src/srsinit/epsg_update/README.txt
+++ b/src/srsinit/epsg_update/README.txt
@@ -3,51 +3,60 @@ HOW-TO: UPDATE spatial_ref_sys SELF-INITIALIZING C CODE
 When updating is required: each time a new GDAL version will be released.
 ============================================================================
 
-STEP #1: getting the basic EPSG files
+STEP #0: building the most recent GDAL
 --------
 - download the latest GDAL sources
-- build and install 
-  be sure to set: ./configure --with-python=yes
+- build and install (no special settings are required)
+- CAVEAT: set the LD_LIBRARY_PATH env variable so to be
+  absolutely sure to target this custom built GDAL and
+  not the default system installation
+  
 
-# cd {gdal-sources}/data 
+STEP #1: compiling the C GDAL utility
+--------
+# cd {libspatialite-source}/src/srsinit/epsg_update
+
+Linux:
+# gcc epsg_from_gdal.c -o epsg_from_gdal -lgdal
+
+Windows [MinGW]:
+# gcc -I/usr/local/include epsg_from_gdal.c -o epsg_from_gdal.exe \
+      -L/usr/local/lib -lgdal
+
+
+
+STEP #2: getting the basic EPSG file
+--------
 # rm epsg
-# epsg_tr.py --config OVERRIDE_PROJ_DATUM_WITH_TOWGS84 FALSE \
-#    -proj4 -skip -list gcs.csv > epsg
-# epsg_tr.py --config OVERRIDE_PROJ_DATUM_WITH_TOWGS84 FALSE \
-#    -proj4 -skip -list pcs.csv >> epsg
-# rm wkt
-# epsg_tr.py -wkt -skip -list gcs.csv > wkt
-# epsg_tr.py -wkt -skip -list pcs.csv >> wkt
+# epsg_from_gdal >epsg
 
-all right: these "epsg" and "wkt" files will be used as "seeds" into the
-next step:
-- copy both "epsg" and "wkt" files into: 
-  {libspatialite-source}/src/srcinit/epsg_update
+all right: this "epsg" output file will be used as a "seed" 
+into the next step
 
 
 
-STEP #2: compiling the C generator tool
+STEP #3: compiling the C generator tool
 --------
 # cd {libspatialite-source}/src/srsinit/epsg_update
 
 Linux:
-# gcc auto_epsg.c -o auto_epsg
+# gcc auto_epsg_ext.c -o auto_epsg_ext
 
 Windows [MinGW]:
-# gcc auto_epsg.c -o auto_epsg.exe
+# gcc auto_epsg_ext.c -o auto_epsg_ext.exe
 
 
 
-STEP #3: generating the C code [inlined EPSG dataset]
+STEP #4: generating the C code [inlined EPSG dataset]
 --------
 # rm epsg_inlined_*.c
-# ./auto_epsg
+# ./auto_epsg_ext
 
 at the end of this step several "epsg_inlined_*.c" files will be generated
 
 
 
-STEP #4: final setup
+STEP #5: final setup
 --------
 - copy the generated file into the parent dir:
   rm ../epsg_inlined*.c
diff --git a/src/srsinit/epsg_update/auto_epsg.c b/src/srsinit/epsg_update/auto_epsg.c
index ad4ce8e..ee736f0 100644
--- a/src/srsinit/epsg_update/auto_epsg.c
+++ b/src/srsinit/epsg_update/auto_epsg.c
@@ -1825,6 +1825,7 @@ do_header (FILE * out, int macro)
 	     "the provisions above, a recipient may use your version of this file under\n");
     fprintf (out,
 	     "the terms of any one of the MPL, the GPL or the LGPL.\n\n*/\n\n");
+    fprintf (out, "#include \"config.h\"\n\n");
     fprintf (out, "#include <spatialite_private.h>\n\n");
 
     if (macro)
diff --git a/src/srsinit/epsg_update/auto_epsg_ext.c b/src/srsinit/epsg_update/auto_epsg_ext.c
new file mode 100644
index 0000000..e339478
--- /dev/null
+++ b/src/srsinit/epsg_update/auto_epsg_ext.c
@@ -0,0 +1,2335 @@
+/* 
+/ auto_epsg_ext
+/
+/ a tool autogenerating C code for SpatiaLite
+/ [spatial_ref_sys self-initialization routines]
+/
+/ version 1.0, 2014 December 3
+/
+/ Author: Sandro Furieri a.furieri at lqt.it
+/
+/ Copyright (C) 2014  Alessandro Furieri
+/
+/    This program is free software: you can redistribute it and/or modify
+/    it under the terms of the GNU General Public License as published by
+/    the Free Software Foundation, either version 3 of the License, or
+/    (at your option) any later version.
+/
+/    This program is distributed in the hope that it will be useful,
+/    but WITHOUT ANY WARRANTY; without even the implied warranty of
+/    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+/    GNU General Public License for more details.
+/
+/    You should have received a copy of the GNU General Public License
+/    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+/
+*/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+
+struct epsg_entry
+{
+/* a struct wrapping an EPSG entry */
+    int srid;
+    int is_geographic;
+    int flipped_axes;
+    char *ref_sys_name;
+    char *proj4text;
+    char *srtext;
+    char *spheroid;
+    char *prime_meridian;
+    char *datum;
+    char *projection;
+    char *unit;
+    char *axis_1;
+    char *orientation_1;
+    char *axis_2;
+    char *orientation_2;
+    struct epsg_entry *next;
+};
+
+struct epsg_dict
+{
+/* the EPSG dictionary */
+    struct epsg_entry *first;
+    struct epsg_entry *last;
+    struct epsg_entry **sorted;
+    int count;
+};
+
+static void
+free_epsg_entry (struct epsg_entry *p)
+{
+/* destroying an epsg_entry */
+    if (p->ref_sys_name)
+	free (p->ref_sys_name);
+    if (p->proj4text)
+	free (p->proj4text);
+    if (p->srtext)
+	free (p->srtext);
+    if (p->spheroid)
+	free (p->spheroid);
+	if (p->prime_meridian)
+	free(p->prime_meridian);
+    if (p->datum)
+	free (p->datum);
+    if (p->projection)
+	free (p->projection);
+    if (p->unit)
+	free (p->unit);
+    if (p->axis_1)
+	free (p->axis_1);
+    if (p->orientation_1)
+	free (p->orientation_1);
+    if (p->axis_2)
+	free (p->axis_2);
+    if (p->orientation_2)
+	free (p->orientation_2);
+    free (p);
+}
+
+static void
+free_epsg (struct epsg_dict *epsg)
+{
+/* destroying the EPSG dictionary */
+    struct epsg_entry *pE;
+    struct epsg_entry *pEn;
+    pE = epsg->first;
+    while (pE)
+      {
+	  pEn = pE->next;
+	  free_epsg_entry (pE);
+	  pE = pEn;
+      }
+    if (epsg->sorted)
+	free (epsg->sorted);
+}
+
+static void
+epsg_insert (struct epsg_dict *epsg, int srid, int is_geographic,
+	     int flipped_axes, const char *unit, const char *axis_1,
+	     const char *orientation_1, const char *axis_2,
+	     const char *orientation_2, const char *spheroid, const char *prime_meridian, const char *datum,
+	     const char *projection, const char *name, const char *proj4text,
+	     const char *srtext)
+{
+/* inserting an entry into the EPSG dictionary */
+    int len;
+    struct epsg_entry *p = malloc (sizeof (struct epsg_entry));
+    p->srid = srid;
+    p->is_geographic = is_geographic;
+    p->flipped_axes = flipped_axes;
+    len = strlen (name);
+    p->ref_sys_name = malloc (len + 1);
+    strcpy (p->ref_sys_name, name);
+    len = strlen (proj4text);
+    p->proj4text = malloc (len + 1);
+    strcpy (p->proj4text, proj4text);
+    len = strlen (srtext);
+    p->srtext = malloc (len + 1);
+    strcpy (p->srtext, srtext);
+    len = strlen (unit);
+    p->unit = malloc (len + 1);
+    strcpy (p->unit, unit);
+    len = strlen (axis_1);
+    p->axis_1 = malloc (len + 1);
+    strcpy (p->axis_1, axis_1);
+    len = strlen (orientation_1);
+    p->orientation_1 = malloc (len + 1);
+    strcpy (p->orientation_1, orientation_1);
+    len = strlen (axis_2);
+    p->axis_2 = malloc (len + 1);
+    strcpy (p->axis_2, axis_2);
+    len = strlen (orientation_2);
+    p->orientation_2 = malloc (len + 1);
+    strcpy (p->orientation_2, orientation_2);
+    len = strlen (spheroid);
+    p->spheroid = malloc (len + 1);
+    strcpy (p->spheroid, spheroid);
+    len = strlen(prime_meridian);
+    p->prime_meridian = malloc(len + 1);
+    strcpy(p->prime_meridian, prime_meridian);
+    len = strlen (datum);
+    p->datum = malloc (len + 1);
+    strcpy (p->datum, datum);
+    len = strlen (projection);
+    p->projection = malloc (len + 1);
+    strcpy (p->projection, projection);
+    p->next = NULL;
+
+/* updating the linked list */
+    if (epsg->first == NULL)
+	epsg->first = p;
+    if (epsg->last != NULL)
+	epsg->last->next = p;
+    epsg->last = p;
+}
+
+static int
+parse_epsg (FILE * fl_epsg, struct epsg_dict *epsg)
+{
+/* parsing the EPSG input file */
+    char srid[64];
+    char is_geographic[64];
+    char flipped_axes[64];
+    char unit[128];
+    char axis_1[128];
+    char orientation_1[128];
+    char axis_2[128];
+    char orientation_2[128];
+    char spheroid[128];
+    char prime_meridian[128];
+    char datum[128];
+    char projection[128];
+    char name[512];
+    char proj4text[512];
+    char srtext[8192];
+    char *out = srid;
+    int count = 0;
+    int row_no = 1;
+    int c;
+    int err = 0;
+
+    *srid = '\0';
+    *is_geographic = '\0';
+    *flipped_axes = '\0';
+    *unit = '\0';
+    *axis_1 = '\0';
+    *orientation_1 = '\0';
+    *axis_2 = '\0';
+    *orientation_2 = '\0';
+    *spheroid = '\0';
+    *prime_meridian = '\0';
+    *datum = '\0';
+    *projection = '\0';
+    *name = '\0';
+    *proj4text = '\0';
+    *srtext = '\0';
+    while ((c = getc (fl_epsg)) != EOF)
+      {
+	  if (c == '\r')
+	      continue;
+	  if (c == '\t')
+	    {
+		if (out != NULL)
+		    *out = '\0';
+		count++;
+		if (count == 1)
+		    out = is_geographic;
+		else if (count == 2)
+		    out = flipped_axes;
+		else if (count == 3)
+		    out = unit;
+		else if (count == 4)
+		    out = axis_1;
+		else if (count == 5)
+		    out = orientation_1;
+		else if (count == 6)
+		    out = axis_2;
+		else if (count == 7)
+		    out = orientation_2;
+		else if (count == 8)
+		    out = spheroid;
+		else if (count == 9)
+		    out = prime_meridian;
+		else if (count == 10)
+		    out = datum;
+		else if (count == 11)
+		    out = projection;
+		else if (count == 12)
+		    out = name;
+		else if (count == 13)
+		    out = proj4text;
+		else if (count == 14)
+		    out = srtext;
+		else
+		  {
+		      out = NULL;
+		      fprintf (stderr, "invalid line #%d\n", row_no);
+		      err = 1;
+		  }
+		continue;
+	    }
+	  if (c == '\n')
+	    {
+		if (out != NULL)
+		    *out = '\0';
+		if (!err)
+		    epsg_insert (epsg, atoi (srid), atoi (is_geographic),
+				 atoi (flipped_axes), unit, axis_1,
+				 orientation_1, axis_2, orientation_2, spheroid, prime_meridian,
+				 datum, projection, name, proj4text, srtext);
+		row_no++;
+		*srid = '\0';
+		*is_geographic = '\0';
+		*flipped_axes = '\0';
+		*unit = '\0';
+		*axis_1 = '\0';
+		*orientation_1 = '\0';
+		*axis_2 = '\0';
+		*orientation_2 = '\0';
+		*spheroid = '\0';
+		*prime_meridian = '\0';
+		*datum = '\0';
+		*projection = '\0';
+		*name = '\0';
+		*proj4text = '\0';
+		*srtext = '\0';
+		err = 0;
+		count = 0;
+		out = srid;
+		continue;
+	    }
+	  if (out != NULL)
+	      *out++ = c;
+      }
+    return 1;
+}
+
+static int
+cmp_sort (const void *p1, const void *p2)
+{
+/* comparison function for QSORT */
+    struct epsg_entry *e1 = *(struct epsg_entry **) p1;
+    struct epsg_entry *e2 = *(struct epsg_entry **) p2;
+    if (e1->srid == e2->srid)
+	return 0;
+    if (e1->srid < e2->srid)
+	return -1;
+    return 1;
+}
+
+static int
+sort_epsg (struct epsg_dict *epsg)
+{
+/* sorting the EPSG defs by ascending SRID */
+    int count = 0;
+    int i;
+    struct epsg_entry *p = epsg->first;
+    while (p)
+      {
+	  /* counting how many entries are there */
+	  count++;
+	  p = p->next;
+      }
+    if (count == 0)
+	return 0;
+    if (epsg->sorted)
+	free (epsg->sorted);
+    epsg->sorted = malloc (sizeof (struct epsg_dict *) * count);
+    epsg->count = count;
+    i = 0;
+    p = epsg->first;
+    while (p)
+      {
+	  /* feeding the pointer array */
+	  *(epsg->sorted + i) = p;
+	  i++;
+	  p = p->next;
+      }
+/* sorting the pointer array by ascending SRID */
+    qsort (epsg->sorted, count, sizeof (struct epsg_dict *), cmp_sort);
+    return 1;
+}
+
+static FILE *
+open_file (int file_no)
+{
+/* opening an output file */
+    char path[1024];
+    FILE *out = NULL;
+
+    sprintf (path, "epsg_inlined_%02d.c", file_no);
+    out = fopen (path, "wb");
+    if (out == NULL)
+      {
+	  fprintf (stderr,
+		   "ERROR: unable to open the \"%s\" output file\n", path);
+	  return NULL;
+      }
+    return out;
+}
+
+static FILE *
+open_file2 ()
+{
+/* opening the "extra" output file */
+    FILE *out = NULL;
+
+    out = fopen ("epsg_inlined_extra.c", "wb");
+    if (out == NULL)
+      {
+	  fprintf (stderr,
+		   "ERROR: unable to open the \"epsg_inlined_extra.c\" output file\n");
+	  return NULL;
+      }
+    return out;
+}
+
+static FILE *
+open_file3 ()
+{
+/* opening the "prussian" output file */
+    FILE *out = NULL;
+
+    out = fopen ("epsg_inlined_prussian.c", "wb");
+    if (out == NULL)
+      {
+	  fprintf (stderr,
+		   "ERROR: unable to open the \"epsg_inlined_prussian.c\" output file\n");
+	  return NULL;
+      }
+    return out;
+}
+
+static FILE *
+open_file_wgs84 (int file_no)
+{
+/* opening an output file "wgs84" */
+    char path[1024];
+    FILE *out = NULL;
+
+    sprintf (path, "epsg_inlined_wgs84_%02d.c", file_no);
+    out = fopen (path, "wb");
+    if (out == NULL)
+      {
+	  fprintf (stderr,
+		   "ERROR: unable to open the \"%s\" output file\n", path);
+	  return NULL;
+      }
+    return out;
+}
+
+static void
+do_prussian (FILE * out)
+{
+/* writing the "prussian" body */
+    fprintf (out,
+	     "SPATIALITE_PRIVATE void\ninitialize_epsg_prussian(int filter,struct epsg_defs **first, struct epsg_defs **last)\n");
+    fprintf (out,
+	     "{\n/* old Prussian based on Cassini-Soldner - kindly contributed by Mark Johnson */\n");
+    fprintf (out, "    struct epsg_defs *p;\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187900,\"mj10777.de\",187900,\"DHDN / Soldner Rathausnetz 660\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=14741.77 +y_0=-11288.28 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner Rathausnetz 660\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.41864827777778],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.62720366666667],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",14741.77],PARAMETER[\\\"false_northing\\\",-11288.28],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187900\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187901,\"mj10777.de\",187901,\"DHDN / Soldner 1 Kucklinsberg\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=54.46022375 +lon_0=21.95509736 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 1 Kucklinsberg\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.46022375],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",21.95509736],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187901\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187902,\"mj10777.de\",187902,\"DHDN / Soldner 2 Paulinen\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=54.28921067 +lon_0=20.73315431 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 2 Paulinen\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.28921067],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",20.73315431],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187902\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187903,\"mj10777.de\",187903,\"DHDN / Soldner 3 Markushof I\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=54.05881333 +lon_0=19.37343583 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 3 Markushof I\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.05881333],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",19.37343583],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187903\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187904,\"mj10777.de\",187904,\"DHDN / Soldner 4 Thurmberg\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=54.22552092 +lon_0=18.12569375 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 4 Thurmberg\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.22552092],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",18.12569375],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187904\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187905,\"mj10777.de\",187905,\"DHDN / Soldner 5 Kauernick I\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=53.38933197 +lon_0=19.59810438 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 5 Kauernick I\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.38933197],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",19.59810438],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187905\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187906,\"mj10777.de\",187906,\"DHDN / Soldner 6 Thorn, Rathausturm\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=53.01181586 +lon_0=18.60725428 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 6 Thorn, Rathausturm\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.01181586],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",18.60725428],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187906\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187907,\"mj10777.de\",187907,\"DHDN / Soldner 7 Heinrichsthal\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=53.71289217 +lon_0=17.49676781 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 7 Heinrichsthal\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.71289217],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",17.49676781],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187907\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187908,\"mj10777.de\",187908,\"DHDN / Soldner 8 Gollenberg, Denkmal\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=54.20857178 +lon_0=16.22956781 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 8 Gollenberg, Denkmal\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.20857178],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",16.22956781],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187908\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187909,\"mj10777.de\",187909,\"DHDN / Soldner 9 Gnesen\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=52.53820406 +lon_0=17.59450500 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 9 Gnesen\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.53820406],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",17.59450500],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187909\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187910,\"mj10777.de\",187910,\"DHDN / Soldner 10 Josefsberg\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.98768806 +lon_0=16.20044389 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 10 Josefsberg\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.98768806],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",16.20044389],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187910\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187911,\"mj10777.de\",187911,\"DHDN / Soldner 11 Schroda\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=52.23137372 +lon_0=17.27795372 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 11 Schroda\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.23137372],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",17.27795372],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187911\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187912,\"mj10777.de\",187912,\"DHDN / Soldner 12 Pschow\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=50.04206544 +lon_0=18.39610692 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 12 Pschow\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.04206544],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",18.39610692],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187912\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187913,\"mj10777.de\",187913,\"DHDN / Soldner 13 Rummelsberg\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=50.70352314 +lon_0=17.11233917 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 13 Rummelsberg\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.70352314],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",17.11233917],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187913\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187914,\"mj10777.de\",187914,\"DHDN / Soldner 14 Gröditzberg I\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.17819342 +lon_0=15.76127086 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 14 Gröditzberg I\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.17819342],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",15.76127086],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187914\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187915,\"mj10777.de\",187915,\"DHDN / Soldner 15 Kaltenborn\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.92903708 +lon_0=14.66212942 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 15 Kaltenborn\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.92903708],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",14.66212942],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187915\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187917,\"mj10777.de\",187917,\"DHDN / Soldner 17 Greifswald, Nikolaikirche\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=54.09698872 +lon_0=13.37880703 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 17 Greifswald, Nikolaikirche\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.09698872],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.37880703],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187917\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187916,\"mj10777.de\",187916,\"DHDN / Soldner 16 Bahn I\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=53.10184583 +lon_0=14.70144539 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 16 Bahn I\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.10184583],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",14.70144539],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187916\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187918,\"mj10777.de\",187918,\"DHDN / Soldner 18 Müggelberg 600\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 18 Müggelberg 600\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.41864827777778],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.62720366666667],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187918\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187919,\"mj10777.de\",187919,\"DHDN / Soldner 19 Götzer Berg 650\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=52.43725961111112 +lon_0=12.72882972222223 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 19 Götzer Berg 650\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.43725961111112],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",12.72882972222223],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187919\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187920,\"mj10777.de\",187920,\"DHDN / Soldner 20 Torgau, Stadtkirche\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.56136217 +lon_0=13.00760264 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 20 Torgau, Stadtkirche\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.56136217],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.00760264],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187920\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187921,\"mj10777.de\",187921,\"DHDN / Soldner 21 Burkersroda, Kirchturm\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.17656322 +lon_0=11.64139367 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 21 Burkersroda, Kirchturm\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.17656322],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",11.64139367],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187921\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187922,\"mj10777.de\",187922,\"DHDN / Soldner 22 Inselsberg\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=50.85237983 +lon_0=10.46776506 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 22 Inselsberg\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.85237983],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",10.46776506],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187922\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187923,\"mj10777.de\",187923,\"DHDN / Soldner 23 Magdeburg\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=52.12625311 +lon_0=11.63550325 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 23 Magdeburg\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.12625311],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",11.63550325],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187923\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187924,\"mj10777.de\",187924,\"DHDN / Soldner 24 Ostenfeld I\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=54.47018733 +lon_0=9.23411097 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 24 Ostenfeld I\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.47018733],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",9.23411097],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187924\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187925,\"mj10777.de\",187925,\"DHDN / Soldner 25 Rathkrügen\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=53.81839364 +lon_0=10.04220189 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 25 Rathkrügen\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.81839364],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",10.04220189],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187925\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187926,\"mj10777.de\",187926,\"DHDN / Soldner 26 Bungsberg, Aussichtsturm\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=54.21110653 +lon_0=10.72636431 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 26 Bungsberg, Aussichtsturm\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",54.21110653],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",10.72636431],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187926\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187927,\"mj10777.de\",187927,\"DHDN / Soldner 27 Celle, Stadtkirche\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=52.62574192 +lon_0=10.08190214 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 27 Celle, Stadtkirche\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.62574192],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",10.08190214],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187927\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187928,\"mj10777.de\",187928,\"DHDN / Soldner 28 Kaltenborn\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.79646722 +lon_0=10.27322494 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 28 Kaltenborn\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.79646722],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",10.27322494],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187928\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187929,\"mj10777.de\",187929,\"DHDN / Soldner 29 Silberberg\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=53.73123461 +lon_0=9.05774925 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 29 Silberberg\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",53.73123461],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",9.05774925],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187929\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187930,\"mj10777.de\",187930,\"DHDN / Soldner 30 Windberg\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=52.88088372 +lon_0=7.53062114 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 30 Windberg\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.88088372],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",7.53062114],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187930\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187931,\"mj10777.de\",187931,\"DHDN / Soldner 31 Hermannsdenkmal\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.91301647 +lon_0=8.84051853 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 31 Hermannsdenkmal\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.91301647],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",8.84051853],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187931\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187932,\"mj10777.de\",187932,\"DHDN / Soldner 32 Münster\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.96547642 +lon_0=7.62334994 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 32 Münster\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.96547642],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",7.62334994],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187932\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187933,\"mj10777.de\",187933,\"DHDN / Soldner 33 Bochum, Peter-Paul-Kirche\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.48373533 +lon_0=7.22115822 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 33 Bochum, Peter-Paul-Kirche\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.48373533],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",7.22115822],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187933\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187934,\"mj10777.de\",187934,\"DHDN / Soldner 34 Homert\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.26480147 +lon_0=8.10687050 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 34 Homert\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.26480147],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",8.10687050],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187934\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187935,\"mj10777.de\",187935,\"DHDN / Soldner 35 Kassel, Martinskirche\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=51.31846489 +lon_0=9.50203072 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 35 Kassel, Martinskirche\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",51.31846489],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",9.50203072],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187935\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187936,\"mj10777.de\",187936,\"DHDN / Soldner 36 Schaumburg, Schloßturm\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=50.34048964 +lon_0=7.97808156 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 36 Schaumburg, Schloßturm\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.34048964],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",7.97808156],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187936\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187937,\"mj10777.de\",187937,\"DHDN / Soldner 37 Fleckert\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=50.18762544 +lon_0=7.60594289 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 37 Fleckert\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.18762544],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",7.60594289],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187937\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187938,\"mj10777.de\",187938,\"DHDN / Soldner 38 Cöln, Dom\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=50.94257242 +lon_0=6.95897600 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 38 Cöln, Dom\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.94257242],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",6.95897600],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187938\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187939,\"mj10777.de\",187939,\"DHDN / Soldner 39 Langschoß\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=50.66738711 +lon_0=6.28935703 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 39 Langschoß\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",50.66738711],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",6.28935703],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187939\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187940,\"mj10777.de\",187940,\"DHDN / Soldner 40 Rissenthal\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=49.47801819 +lon_0=6.75864339 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner 40 Rissenthal\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",49.47801819],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",6.75864339],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187940\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187941,\"mj10777.de\",187941,\"DHDN / Soldner Bayern\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=48.13959111 +lon_0=11.57437083 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=0 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner Bayern\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",48.13959111],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",11.57437083],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",0],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187941\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def (filter,first, last, 187998, \"mj10777.de\", 187998,\"DHDN / Ferro / Deutsches_Hauptdreiecksnetz\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=longlat +ellps=bessel +datum=potsdam +pm=ferro +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Ferro / Deutsches_Hauptdreiecksnetz\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"SPHEROID[\\\"Bessel 1841\\\",6377397.155,299.1528128,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]], AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"PRIMEM[\\\"ferro\\\",-17.66666666666667],UNIT[\\\"Degree\\\",0.017453292519943295,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187998\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]]\");\n");
+    fprintf (out,
+	     "/* mj10777: Not exsiting System, used for testing purposes. */\n");
+    fprintf (out,
+	     "    p = add_epsg_def(filter,first,last,187999,\"mj10777.de\",187999,\"DHDN / Brandenburger Tor\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 \");\n");
+    fprintf (out,
+	     "    add_proj4text(p,1,\"+x_0=16819.76033675660074 +y_0=-11046.08218553455117 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner Brandenburger Tor\\\",\");\n");
+    fprintf (out, "    add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"6377397.155,299.1528128,AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],PRIMEM[\\\"Greenwich\\\",0,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],UNIT[\\\"degree\\\",0.01745329251994328,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"UNIT[\\\"metre\\\",1,AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PROJECTION[\\\"Cassini_Soldner\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.41864827777778],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.62720366666667],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",16819.76033675660074],PARAMETER[\\\"false_northing\\\",-11046.08218553455117],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187999\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def (filter,first, last, 325833, \"mj10777.de\", 325833,\"ETRS89 / UTM zone 33N (Brandenburg)\");\n");
+    fprintf (out,
+	     "    add_proj4text(p,0,\"+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,0,\"PROJCS[\\\"ETRS89 / UTM zone 33N (Brandenburg)\\\",GEOGCS[\\\"ETRS89\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,1,\"DATUM[\\\"European_Terrestrial_Reference_System_1989\\\",\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,2,\"SPHEROID[\\\"GRS 1980\\\",6378137,298.257222101,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,3,\"AUTHORITY[\\\"EPSG\\\",\\\"7019\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"6258\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,4,\"PRIMEM[\\\"Greenwich\\\",0,AUTHORITY[\\\"EPSG\\\",\\\"8901\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,5,\"UNIT[\\\"degree\\\",0.01745329251994328,AUTHORITY[\\\"EPSG\\\",\\\"9122\\\"]],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,6,\"AUTHORITY[\\\"EPSG\\\",\\\"4258\\\"]],UNIT[\\\"metre\\\",1,\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,7,\"AUTHORITY[\\\"EPSG\\\",\\\"9001\\\"]],PROJECTION[\\\"Transverse_Mercator\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,8,\"PARAMETER[\\\"latitude_of_origin\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,9,\"PARAMETER[\\\"central_meridian\\\",15],PARAMETER[\\\"scale_factor\\\",0.9996],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,10,\"PARAMETER[\\\"false_easting\\\",3500000],PARAMETER[\\\"false_northing\\\",0],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,11,\"AUTHORITY[\\\"EPSG\\\",\\\"325833\\\"],\");\n");
+    fprintf (out,
+	     "    add_srs_wkt(p,12,\"AXIS[\\\"Easting\\\",EAST],AXIS[\\\"Northing\\\",NORTH]]\");\n");
+}
+
+static void
+do_header (FILE * out, int macro)
+{
+/* writing a file header */
+    time_t tm;
+    time (&tm);
+    fprintf (out, "/*\n\n");
+    fprintf (out,
+	     " helper function for srs_init.c -- populating the SPATIAL_REF_SYS table\n\n");
+    fprintf (out, " this code was autogenerated by \"auto_epsg_ext\" on %s\n",
+	     ctime (&tm));
+    fprintf (out, " Author: Sandro Furieri a.furieri at lqt.it\n\n");
+    fprintf (out,
+	     " -----------------------------------------------------------------------------\n\n");
+    fprintf (out, " Version: MPL 1.1/GPL 2.0/LGPL 2.1\n\n");
+    fprintf (out,
+	     " The contents of this file are subject to the Mozilla Public License Version\n");
+    fprintf (out,
+	     " 1.1 (the \"License\"); you may not use this file except in compliance with\n");
+    fprintf (out, " the License. You may obtain a copy of the License at\n");
+    fprintf (out, " http://www.mozilla.org/MPL/\n\n");
+    fprintf (out,
+	     "Software distributed under the License is distributed on an \"AS IS\" basis,\n");
+    fprintf (out,
+	     "WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\n");
+    fprintf (out,
+	     "for the specific language governing rights and limitations under the\n");
+    fprintf (out,
+	     "License.\n\nThe Original Code is the SpatiaLite library\n\n");
+    fprintf (out,
+	     "The Initial Developer of the Original Code is Alessandro Furieri\n\n");
+    fprintf (out,
+	     "Portions created by the Initial Developer are Copyright (C) 2008\n");
+    fprintf (out,
+	     "the Initial Developer. All Rights Reserved.\n\nContributor(s):\n\n");
+    fprintf (out,
+	     "Alternatively, the contents of this file may be used under the terms of\n");
+    fprintf (out,
+	     "either the GNU General Public License Version 2 or later (the \"GPL\"), or\n");
+    fprintf (out,
+	     "the GNU Lesser General Public License Version 2.1 or later (the \"LGPL\"),\n");
+    fprintf (out,
+	     "in which case the provisions of the GPL or the LGPL are applicable instead\n");
+    fprintf (out,
+	     "of those above. If you wish to allow use of your version of this file only\n");
+    fprintf (out,
+	     "under the terms of either the GPL or the LGPL, and not to allow others to\n");
+    fprintf (out,
+	     "use your version of this file under the terms of the MPL, indicate your\n");
+    fprintf (out,
+	     "decision by deleting the provisions above and replace them with the notice\n");
+    fprintf (out,
+	     "and other provisions required by the GPL or the LGPL. If you do not delete\n");
+    fprintf (out,
+	     "the provisions above, a recipient may use your version of this file under\n");
+    fprintf (out,
+	     "the terms of any one of the MPL, the GPL or the LGPL.\n\n*/\n\n");
+    fprintf (out, "#include \"config.h\"\n\n");
+    fprintf (out, "#include <spatialite_private.h>\n\n");
+
+    if (macro)
+	fprintf (out,
+		 "#ifndef OMIT_EPSG    /* full EPSG initialization enabled */\n\n");
+}
+
+
+static void
+do_footer (FILE * out, int macro)
+{
+/* writing a file footer */
+    fprintf (out, "}\n\n");
+    if (macro)
+	fprintf (out,
+		 "#endif /* full EPSG initialization enabled/disabled */\n\n");
+}
+
+static void
+output_c_code (FILE * out, struct epsg_dict *epsg)
+{
+/* generating the C code supporting spatial_ref_sys self-initialization */
+    struct epsg_entry *p = epsg->first;
+    int n;
+    int sect = 0;
+    int wgs84_sect = 0;
+    int def_cnt = 1000;
+    int out_cnt;
+    const char *in;
+    int i;
+    int pending_footer = 0;
+
+    for (i = 0; i < epsg->count; i++)
+      {
+	  p = *(epsg->sorted + i);
+	  if (p->srid == 4326 || (p->srid >= 32601 && p->srid <= 32766))
+	    {
+		/* skipping WGS84 defs */
+		continue;
+	    }
+
+	  if (def_cnt > 100)
+	    {
+		if (out != NULL)
+		  {
+		      if (pending_footer)
+			{
+			    do_footer (out, 1);
+			    pending_footer = 0;
+			}
+
+		      /* closing the output file */
+		      fclose (out);
+		      out = NULL;
+		  }
+
+		/* opening the next output file */
+		out = open_file (sect);
+		if (out == NULL)
+		    return;
+
+		/* function header */
+		do_header (out, 1);
+		fprintf (out, "SPATIALITE_PRIVATE void\n");
+		fprintf (out,
+			 "initialize_epsg_%02d (int filter, struct epsg_defs **first, struct epsg_defs **last)\n",
+			 sect++);
+		fprintf (out, "{\n/* initializing the EPSG defs list */\n");
+		fprintf (out, "    struct epsg_defs *p;\n");
+		def_cnt = 0;
+	    }
+	  pending_footer = 1;
+
+	  /* inserting the main EPSG def */
+	  def_cnt++;
+	  fprintf (out,
+		   "    p = add_epsg_def_ex (filter, first, last, %d, \"epsg\", %d,\n",
+		   p->srid, p->srid);
+	  fprintf (out,
+		   "        \"%s\", %d, %d,\n",
+		   p->ref_sys_name, p->is_geographic, p->flipped_axes);
+	  fprintf (out,
+		   "        \"%s\", \"%s\",\n",
+		   p->spheroid, p->prime_meridian);
+	  fprintf (out,
+		   "        \"%s\", \"%s\", \"%s\",\n",
+		   p->datum, p->projection, p->unit);
+	  fprintf (out,
+		   "        \"%s\", \"%s\", \"%s\", \"%s\");\n",
+		   p->axis_1, p->orientation_1, p->axis_2, p->orientation_2);
+
+	  /* inserting the proj4text string */
+	  n = 0;
+	  in = p->proj4text;
+	  while (*in != '\0')
+	    {
+		fprintf (out, "    add_proj4text (p, %d,\n        \"", n);
+		out_cnt = 0;
+		while (*in != '\0')
+		  {
+		      if (*in == '"')
+			{
+			    fprintf (out, "\\%c", *in++);
+			    out_cnt += 2;
+			}
+		      else
+			{
+			    fprintf (out, "%c", *in++);
+			    out_cnt++;
+			}
+		      if (out_cnt >= 56)
+			  break;
+		  }
+		fprintf (out, "\");\n");
+		n++;
+	    }
+
+	  if (p->srtext != NULL)
+	    {
+		/* inserting the srs_wkt string */
+		n = 0;
+		in = p->srtext;
+		while (*in != '\0')
+		  {
+		      fprintf (out, "    add_srs_wkt (p, %d,\n        \"", n);
+		      out_cnt = 0;
+		      while (*in != '\0')
+			{
+			    if (*in == '"')
+			      {
+				  fprintf (out, "\\%c", *in++);
+				  out_cnt += 2;
+			      }
+			    else
+			      {
+				  fprintf (out, "%c", *in++);
+				  out_cnt++;
+			      }
+			    if (out_cnt >= 56)
+				break;
+			}
+		      fprintf (out, "\");\n");
+		      n++;
+		  }
+	    }
+	  else
+	      fprintf (out, "    add_srs_wkt (p, 0, \"\");\n");
+      }
+    if (out != NULL)
+      {
+	  /* closing the output file */
+	  if (pending_footer)
+	    {
+		do_footer (out, 1);
+		pending_footer = 0;
+	    }
+
+	  /* closing the output file */
+	  fclose (out);
+	  out = NULL;
+      }
+
+    def_cnt = 1000;
+    pending_footer = 0;
+    for (i = 0; i < epsg->count; i++)
+      {
+	  p = *(epsg->sorted + i);
+	  if (p->srid == 4326 || (p->srid >= 32601 && p->srid <= 32766))
+	      ;
+	  else
+	    {
+		/* skipping not-WGS84 defs */
+		continue;
+	    }
+
+	  if (def_cnt > 100)
+	    {
+		if (out != NULL)
+		  {
+		      if (pending_footer)
+			{
+			    do_footer (out, 0);
+			    pending_footer = 0;
+			}
+
+		      /* closing the output file */
+		      fclose (out);
+		      out = NULL;
+		  }
+
+		/* opening the next output file */
+		out = open_file_wgs84 (wgs84_sect);
+		if (out == NULL)
+		    return;
+
+		/* function header */
+		do_header (out, 0);
+		fprintf (out, "SPATIALITE_PRIVATE void\n");
+		fprintf (out,
+			 "initialize_epsg_wgs84_%02d (int filter, struct epsg_defs **first, struct epsg_defs **last)\n",
+			 wgs84_sect++);
+		fprintf (out,
+			 "{\n/* initializing the EPSG defs list [WGS84] */\n");
+		fprintf (out, "    struct epsg_defs *p;\n");
+		def_cnt = 0;
+	    }
+	  pending_footer = 1;
+
+	  /* inserting the main EPSG def */
+	  def_cnt++;
+	  fprintf (out,
+		   "    p = add_epsg_def_ex (filter, first, last, %d, \"epsg\", %d,\n",
+		   p->srid, p->srid);
+	  fprintf (out,
+		   "        \"%s\", %d, %d,\n",
+		   p->ref_sys_name, p->is_geographic, p->flipped_axes);
+	  fprintf (out,
+		   "        \"%s\", \"%s\",\n",
+		   p->spheroid, p->prime_meridian);
+	  fprintf (out,
+		   "        \"%s\", \"%s\", \"%s\",\n",
+		   p->datum, p->projection, p->unit);
+	  fprintf (out,
+		   "        \"%s\", \"%s\", \"%s\", \"%s\");\n",
+		   p->axis_1, p->orientation_1, p->axis_2, p->orientation_2);
+
+	  /* inserting the proj4text string */
+	  n = 0;
+	  in = p->proj4text;
+	  while (*in != '\0')
+	    {
+		fprintf (out, "    add_proj4text (p, %d,\n        \"", n);
+		out_cnt = 0;
+		while (*in != '\0')
+		  {
+		      if (*in == '"')
+			{
+			    fprintf (out, "\\%c", *in++);
+			    out_cnt += 2;
+			}
+		      else
+			{
+			    fprintf (out, "%c", *in++);
+			    out_cnt++;
+			}
+		      if (out_cnt >= 56)
+			  break;
+		  }
+		fprintf (out, "\");\n");
+		n++;
+	    }
+
+	  if (p->srtext != NULL)
+	    {
+		/* inserting the srs_wkt string */
+		n = 0;
+		in = p->srtext;
+		while (*in != '\0')
+		  {
+		      fprintf (out, "    add_srs_wkt (p, %d,\n        \"", n);
+		      out_cnt = 0;
+		      while (*in != '\0')
+			{
+			    if (*in == '"')
+			      {
+				  fprintf (out, "\\%c", *in++);
+				  out_cnt += 2;
+			      }
+			    else
+			      {
+				  fprintf (out, "%c", *in++);
+				  out_cnt++;
+			      }
+			    if (out_cnt >= 56)
+				break;
+			}
+		      fprintf (out, "\");\n");
+		      n++;
+		  }
+	    }
+	  else
+	      fprintf (out, "    add_srs_wkt (p, 0, \"\");\n");
+      }
+    if (out != NULL)
+      {
+	  /* closing the output file */
+	  if (pending_footer)
+	    {
+		do_footer (out, 0);
+		pending_footer = 0;
+	    }
+
+	  /* closing the output file */
+	  fclose (out);
+	  out = NULL;
+      }
+
+/* opening the "prussian" output file */
+    out = open_file3 ();
+    if (out == NULL)
+	return;
+
+/* function header */
+    do_header (out, 1);
+    do_prussian (out);
+
+/* function footer */
+    do_footer (out, 1);
+
+/* closing the "prussian" output file */
+    fclose (out);
+    out = NULL;
+
+/* opening the "extra" output file */
+    out = open_file2 ();
+    if (out == NULL)
+	return;
+
+/* function header */
+    do_header (out, 0);
+    fprintf (out, "/* declaring prototypes */\n");
+    for (i = 0; i < sect; i++)
+	fprintf (out,
+		 "SPATIALITE_PRIVATE void initialize_epsg_%02d (\n\tint filter, struct epsg_defs **first, struct epsg_defs **last);\n",
+		 i);
+    for (i = 0; i < wgs84_sect; i++)
+	fprintf (out,
+		 "SPATIALITE_PRIVATE void initialize_epsg_wgs84_%02d (\n\tint filter, struct epsg_defs **first, struct epsg_defs **last);\n",
+		 i);
+    fprintf (out,
+	     "SPATIALITE_PRIVATE void initialize_epsg_prussian (\n\tint filter, struct epsg_defs **first, struct epsg_defs **last);\n");
+    fprintf (out,
+	     "SPATIALITE_PRIVATE void initialize_epsg_extra (\n\tint filter, struct epsg_defs **first, struct epsg_defs **last);\n\n");
+
+    fprintf (out, "SPATIALITE_PRIVATE void\n");
+    fprintf (out,
+	     "initialize_epsg_extra (int filter, struct epsg_defs **first, struct epsg_defs **last)\n\n");
+    fprintf (out, "{\n/* initializing the EPSG defs list [EXTRA] */\n");
+    fprintf (out, "    struct epsg_defs *p;\n");
+
+    fprintf (out,
+	     "    p = add_epsg_def (filter, first, last, 40000, \"gfoss.it\", 1,\n");
+    fprintf (out, "        \"Italy mainland zone 1 GB Roma40\");\n");
+    fprintf (out, "    add_proj4text (p, 0,\n");
+    fprintf (out,
+	     "        \"+proj=tmerc+lat_0=0 +lon_0=9  +k=0.9996 +x_0=1500000 +y_\");\n");
+    fprintf (out, "    add_proj4text (p, 1,\n");
+    fprintf (out,
+	     "        \"0=0 +ellps=intl +units=m +towgs84=-104.1,-49.1,-9.9,0.97\");\n");
+    fprintf (out,
+	     "    add_proj4text (p, 2, \"1,-2.917,0.714,-11.68 +no_defs\");\n");
+    fprintf (out, "    add_srs_wkt (p, 0, \"\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def (filter, first, last, 40001, \"gfoss.it\", 2,\n");
+    fprintf (out, "        \"Italy mainland zone 2 GB Roma40\");\n");
+    fprintf (out, "    add_proj4text (p, 0,\n");
+    fprintf (out,
+	     "        \"+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y\");\n");
+    fprintf (out, "    add_proj4text (p, 1,\n");
+    fprintf (out,
+	     "        \"_0=0 +ellps=intl +units=m +towgs84=-104.1,-49.1,-9.9,0.9\");\n");
+    fprintf (out,
+	     "    add_proj4text (p, 2, \"71,-2.917,0.714,-11.68 +no_defs\");\n");
+    fprintf (out, "    add_srs_wkt (p, 0, \"\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def (filter, first, last, 40002, \"gfoss.it\", 3,\n");
+    fprintf (out, "        \"Italy Sardinia GB Roma40\");\n");
+    fprintf (out, "    add_proj4text (p, 0,\n");
+    fprintf (out,
+	     "        \"+proj=tmerc +lat_0=0 +lon_0=9  +k=0.9996 +x_0=1500000 +y\");\n");
+    fprintf (out, "    add_proj4text (p, 1,\n");
+    fprintf (out,
+	     "        \"_0=0 +ellps=intl +units=m +towgs84=-168.6,-34.0,38.6,-0.\");\n");
+    fprintf (out,
+	     "    add_proj4text (p, 2, \"374,-0.679,-1.379,-9.48 +no_defs\");\n");
+    fprintf (out, "    add_srs_wkt (p, 0, \"\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def (filter, first, last, 40003, \"gfoss.it\", 4,\n");
+    fprintf (out, "        \"Italy Sicily GB Roma40\");\n");
+    fprintf (out, "    add_proj4text (p, 0,\n");
+    fprintf (out,
+	     "        \"+proj=tmerc +lat_0=0 +lon_0=9  +k=0.9996 +x_0=1500000 +y\");\n");
+    fprintf (out, "    add_proj4text (p, 1,\n");
+    fprintf (out,
+	     "        \"_0=0 +ellps=intl +units=m +towgs84=-50.2,-50.4,84.8,-0.6\");\n");
+    fprintf (out,
+	     "    add_proj4text (p, 2, \"90,-2.012,0.459,-28.08  +no_defs\");\n");
+    fprintf (out, "    add_srs_wkt (p, 0, \"\");\n");
+
+/* function footer */
+    do_footer (out, 0);
+
+/* inserting the pilot function */
+    fprintf (out, "SPATIALITE_PRIVATE void\n");
+    fprintf (out,
+	     "initialize_epsg (int filter, struct epsg_defs **first, struct epsg_defs **last)\n");
+    fprintf (out, "{\n/* initializing the EPSG defs list */\n");
+    fprintf (out, "    struct epsg_defs *p;\n ");
+    fprintf (out, "/* initializing the EPSG UNKNOWN def [-1] */\n");
+    fprintf (out,
+	     "    p = add_epsg_def (filter, first, last, -1, \"NONE\", -1, \"Undefined - Cartesian\");\n");
+    fprintf (out, "    add_proj4text (p, 0, \"\");\n");
+    fprintf (out, "    add_srs_wkt (p, 0, \"\");\n");
+    fprintf (out,
+	     "    p = add_epsg_def (filter, first, last, 0, \"NONE\", 0, \"Undefined - Geographic Long/Lat\");\n");
+    fprintf (out, "    add_proj4text (p, 0, \"\");\n");
+    fprintf (out, "    add_srs_wkt (p, 0, \"\");\n\n");
+    fprintf (out, "    if (filter != GAIA_EPSG_WGS84_ONLY)\n    {\n");
+    fprintf (out,
+	     "#ifndef OMIT_EPSG    /* full EPSG initialization enabled */\n");
+    for (i = 0; i < sect; i++)
+	fprintf (out,
+		 "        initialize_epsg_%02d (filter, first, last);\n", i);
+    fprintf (out, "        initialize_epsg_prussian (filter, first, last);\n");
+    fprintf (out, "        initialize_epsg_extra (filter, first, last);\n");
+    fprintf (out, "#endif /* full EPSG initialization enabled/disabled */\n");
+
+    fprintf (out, "    }\n");
+    for (i = 0; i < wgs84_sect; i++)
+	fprintf (out,
+		 "    initialize_epsg_wgs84_%02d (filter, first, last);\n", i);
+    fprintf (out, "}\n");
+
+/* closing the "extra" output file */
+    fclose (out);
+    out = NULL;
+}
+
+int
+main (void)
+{
+/*
+/
+/ Please note: no args are supported !!!
+/
+/ we'll expect to find two input files respectively named:
+/ - epsg
+/ - wkt
+/
+/ the C code will be generated into: epsg_inlined.c
+/
+*/
+    FILE *fl_epsg = NULL;
+    FILE *fl_out = NULL;
+    struct epsg_dict epsg;
+/* initializing the EPSG dictionary */
+    epsg.first = NULL;
+    epsg.last = NULL;
+    epsg.sorted = NULL;
+    epsg.count = 0;
+/* opening the EPSG input file */
+    fl_epsg = fopen ("epsg", "rb");
+    if (fl_epsg == NULL)
+      {
+	  fprintf (stderr, "ERROR: unable to open the \"epsg\" input file\n");
+	  goto stop;
+      }
+
+    if (!parse_epsg (fl_epsg, &epsg))
+      {
+	  fprintf (stderr, "ERROR: malformed EPSG input file\n");
+	  goto stop;
+      }
+
+    if (!sort_epsg (&epsg))
+      {
+	  fprintf (stderr, "ERROR: unable to sort EPSG entries\n");
+	  goto stop;
+      }
+
+    output_c_code (fl_out, &epsg);
+  stop:
+    free_epsg (&epsg);
+    if (fl_epsg)
+	fclose (fl_epsg);
+    if (fl_out)
+	fclose (fl_out);
+    return 0;
+}
diff --git a/src/srsinit/epsg_update/epsg_from_gdal.c b/src/srsinit/epsg_update/epsg_from_gdal.c
new file mode 100644
index 0000000..876ffbb
--- /dev/null
+++ b/src/srsinit/epsg_update/epsg_from_gdal.c
@@ -0,0 +1,210 @@
+/* 
+/ epsg_from_gdal
+/
+/ a tool autogenerating C code for SpatiaLite
+/ [spatial_ref_sys self-initialization routines]
+/
+/ version 1.0, 2014 December 2014
+/
+/ Author: Sandro Furieri a.furieri at lqt.it
+/
+/ Copyright (C) 20141  Alessandro Furieri
+/
+/    This program is free software: you can redistribute it and/or modify
+/    it under the terms of the GNU General Public License as published by
+/    the Free Software Foundation, either version 3 of the License, or
+/    (at your option) any later version.
+/
+/    This program is distributed in the hope that it will be useful,
+/    but WITHOUT ANY WARRANTY; without even the implied warranty of
+/    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+/    GNU General Public License for more details.
+/
+/    You should have received a copy of the GNU General Public License
+/    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+/
+*/
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <ogr_srs_api.h>
+
+static void
+print_wkt (int srid)
+{
+    OGRSpatialReferenceH handle;
+    handle = OSRNewSpatialReference (NULL);
+    if (handle == NULL)
+	;
+    else
+      {
+	  OGRErr err;
+	  char urn[1024];
+	  char *proj4 = NULL;
+	  char *wkt = NULL;
+	  const char *name = NULL;
+	  const char *unit = NULL;
+	  const char *axis_1 = NULL;
+	  const char *axis_2 = NULL;
+	  const char *orient_1;
+	  const char *orient_2;
+	  const char *spheroid = NULL;
+	  const char *prime_meridian = NULL;
+	  const char *datum = NULL;
+	  const char *projection = NULL;
+	  OGRAxisOrientation orientation_1 = OAO_Other;
+	  OGRAxisOrientation orientation_2 = OAO_Other;
+	  int flipped_axes = 0;
+	  int is_geographic = 0;
+
+	  sprintf (urn, "urn:ogc:def:crs:EPSG::%d", srid);
+	  err = OSRSetFromUserInput (handle, urn);
+	  if (err == 0)
+	    {
+		if (OSRIsGeocentric (handle))
+		    goto skip;
+		if (OSREPSGTreatsAsLatLong (handle))
+		    flipped_axes = 1;
+		if (OSREPSGTreatsAsNorthingEasting (handle))
+		    flipped_axes = 1;
+		if (OSRIsGeographic (handle))
+		    is_geographic = 1;
+		OSRExportToProj4 (handle, &proj4);
+		OSRExportToWkt (handle, &wkt);
+		name = OSRGetAttrValue (handle, "PROJCS", 0);
+		if (name == NULL)
+		    name = OSRGetAttrValue (handle, "GEOGCS", 0);
+		unit = OSRGetAttrValue (handle, "UNIT", 0);
+		spheroid = OSRGetAttrValue (handle, "SPHEROID", 0);
+		prime_meridian = OSRGetAttrValue (handle, "PRIMEM", 0);
+		datum = OSRGetAttrValue (handle, "DATUM", 0);
+		projection = OSRGetAttrValue (handle, "PROJECTION", 0);
+		if (is_geographic)
+		  {
+		      axis_1 = OSRGetAxis (handle, "GEOGCS", 0, &orientation_1);
+		      axis_2 = OSRGetAxis (handle, "GEOGCS", 1, &orientation_2);
+		  }
+		else
+		  {
+		      axis_1 = OSRGetAxis (handle, "PROJCS", 0, &orientation_1);
+		      axis_2 = OSRGetAxis (handle, "PROJCS", 1, &orientation_2);
+		  }
+	    }
+	  if (proj4 != NULL || wkt != NULL)
+	    {
+		if (strlen (proj4) > 0)
+		  {
+		      int i;
+		      int len = strlen (proj4);
+		      for (i = len - 1; i >= 0; i--)
+			{
+			    if (*(proj4 + i) == ' ')
+				*(proj4 + i) = '\0';
+			    else
+				break;
+			}
+		      if (unit == NULL)
+			  unit = "unknown";
+		      if (spheroid == NULL)
+			  spheroid = "unknown";
+		      if (prime_meridian == NULL)
+			  prime_meridian = "unknown";
+		      if (datum == NULL)
+			  datum = "unknown";
+		      if (is_geographic)
+			  projection = "none";
+		      else
+			{
+			    if (projection == NULL)
+				projection = "unknown";
+			}
+		      if (axis_1 == NULL)
+			{
+			    axis_1 = "unknown";
+			    orient_1 = "unknown";
+			}
+		      else
+			{
+			    switch (orientation_1)
+			      {
+			      case OAO_North:
+				  orient_1 = "North";
+				  break;
+			      case OAO_South:
+				  orient_1 = "South";
+				  break;
+			      case OAO_East:
+				  orient_1 = "East";
+				  break;
+			      case OAO_West:
+				  orient_1 = "West";
+				  break;
+			      case OAO_Up:
+				  orient_1 = "Up";
+				  break;
+			      case OAO_Down:
+				  orient_1 = "Down";
+				  break;
+			      default:
+				  orient_1 = "unknown";
+				  break;
+			      };
+			}
+		      if (axis_2 == NULL)
+			{
+			    axis_2 = "unknown";
+			    orient_2 = "unknown";
+			}
+		      else
+			{
+			    switch (orientation_2)
+			      {
+			      case OAO_North:
+				  orient_2 = "North";
+				  break;
+			      case OAO_South:
+				  orient_2 = "South";
+				  break;
+			      case OAO_East:
+				  orient_2 = "East";
+				  break;
+			      case OAO_West:
+				  orient_2 = "West";
+				  break;
+			      case OAO_Up:
+				  orient_2 = "Up";
+				  break;
+			      case OAO_Down:
+				  orient_2 = "Down";
+				  break;
+			      default:
+				  orient_2 = "unknown";
+				  break;
+			      };
+			}
+		      printf
+			  ("%d\t%d\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",
+			   srid, is_geographic, flipped_axes, unit,
+			   axis_1, orient_1, axis_2, orient_2,
+			   spheroid, prime_meridian, datum, projection, name,
+			   proj4, wkt);
+		  }
+	    }
+	skip:
+	  if (proj4 != NULL)
+	      OGRFree (proj4);
+	  if (wkt != NULL)
+	      OGRFree (wkt);
+	  OSRRelease (handle);
+      }
+}
+
+int
+main (void)
+{
+    int srid;
+    for (srid = 1; srid <= 32766; srid++)
+	print_wkt (srid);
+    return 0;
+}
diff --git a/src/srsinit/srs_init.c b/src/srsinit/srs_init.c
index 59111ad..49a5cd8 100644
--- a/src/srsinit/srs_init.c
+++ b/src/srsinit/srs_init.c
@@ -69,6 +69,24 @@ free_epsg_def (struct epsg_defs *ptr)
 	free (ptr->proj4text);
     if (ptr->srs_wkt)
 	free (ptr->srs_wkt);
+    if (ptr->spheroid)
+	free (ptr->spheroid);
+    if (ptr->prime_meridian)
+	free (ptr->prime_meridian);
+    if (ptr->datum)
+	free (ptr->datum);
+    if (ptr->projection)
+	free (ptr->projection);
+    if (ptr->unit)
+	free (ptr->unit);
+    if (ptr->axis_1)
+	free (ptr->axis_1);
+    if (ptr->orientation_1)
+	free (ptr->orientation_1);
+    if (ptr->axis_2)
+	free (ptr->axis_2);
+    if (ptr->orientation_2)
+	free (ptr->orientation_2);
     free (ptr);
 }
 
@@ -118,6 +136,161 @@ add_epsg_def (int filter_srid, struct epsg_defs **first,
 		strcpy (p->ref_sys_name, ref_sys_name);
 	    }
       }
+    p->is_geographic = -1;
+    p->flipped_axes = -1;
+    p->spheroid = NULL;
+    p->prime_meridian = NULL;
+    p->datum = NULL;
+    p->projection = NULL;
+    p->unit = NULL;
+    p->axis_1 = NULL;
+    p->orientation_1 = NULL;
+    p->axis_2 = NULL;
+    p->orientation_2 = NULL;
+    if (*first == NULL)
+	*first = p;
+    if (*last != NULL)
+	(*last)->next = p;
+    *last = p;
+    return p;
+  error:
+    free_epsg_def (p);
+    return NULL;
+}
+
+SPATIALITE_PRIVATE struct epsg_defs *
+add_epsg_def_ex (int filter_srid, struct epsg_defs **first,
+		 struct epsg_defs **last, int srid, const char *auth_name,
+		 int auth_srid, const char *ref_sys_name, int is_geographic,
+		 int flipped_axes, const char *spheroid,
+		 const char *prime_meridian, const char *datum,
+		 const char *projection, const char *unit, const char *axis_1,
+		 const char *orientation_1, const char *axis_2,
+		 const char *orientation_2)
+{
+/* appending an EPSG def to the list */
+    int len;
+    struct epsg_defs *p;
+    if (filter_srid == GAIA_EPSG_NONE)
+	return NULL;
+    if (filter_srid == GAIA_EPSG_ANY || filter_srid == GAIA_EPSG_WGS84_ONLY)
+	;
+    else if (srid != filter_srid)
+	return NULL;
+    p = malloc (sizeof (struct epsg_defs));
+    if (!p)
+	return NULL;
+    p->srid = srid;
+    p->auth_name = NULL;
+    p->auth_srid = auth_srid;
+    p->ref_sys_name = NULL;
+    p->proj4text = NULL;
+    p->srs_wkt = NULL;
+    p->spheroid = NULL;
+    p->prime_meridian = NULL;
+    p->datum = NULL;
+    p->unit = NULL;
+    p->axis_1 = NULL;
+    p->orientation_1 = NULL;
+    p->axis_2 = NULL;
+    p->orientation_2 = NULL;
+    p->next = NULL;
+    if (auth_name)
+      {
+	  len = strlen (auth_name);
+	  if (len > 0)
+	    {
+		p->auth_name = malloc (len + 1);
+		if (p->auth_name == NULL)
+		    goto error;
+		strcpy (p->auth_name, auth_name);
+	    }
+      }
+    if (ref_sys_name)
+      {
+	  len = strlen (ref_sys_name);
+	  if (len > 0)
+	    {
+		p->ref_sys_name = malloc (len + 1);
+		if (p->ref_sys_name == NULL)
+		    goto error;
+		strcpy (p->ref_sys_name, ref_sys_name);
+	    }
+      }
+    p->is_geographic = is_geographic;
+    p->flipped_axes = flipped_axes;
+    if (spheroid)
+      {
+	  len = strlen (spheroid);
+	  p->spheroid = malloc (len + 1);
+	  if (p->spheroid == NULL)
+	      goto error;
+	  strcpy (p->spheroid, spheroid);
+      }
+    if (prime_meridian)
+      {
+	  len = strlen (prime_meridian);
+	  p->prime_meridian = malloc (len + 1);
+	  if (p->prime_meridian == NULL)
+	      goto error;
+	  strcpy (p->prime_meridian, prime_meridian);
+      }
+    if (datum)
+      {
+	  len = strlen (datum);
+	  p->datum = malloc (len + 1);
+	  if (p->datum == NULL)
+	      goto error;
+	  strcpy (p->datum, datum);
+      }
+    if (projection)
+      {
+	  len = strlen (projection);
+	  p->projection = malloc (len + 1);
+	  if (p->projection == NULL)
+	      goto error;
+	  strcpy (p->projection, projection);
+      }
+    if (unit)
+      {
+	  len = strlen (unit);
+	  p->unit = malloc (len + 1);
+	  if (p->unit == NULL)
+	      goto error;
+	  strcpy (p->unit, unit);
+      }
+    if (axis_1)
+      {
+	  len = strlen (axis_1);
+	  p->axis_1 = malloc (len + 1);
+	  if (p->axis_1 == NULL)
+	      goto error;
+	  strcpy (p->axis_1, axis_1);
+      }
+    if (orientation_1)
+      {
+	  len = strlen (orientation_1);
+	  p->orientation_1 = malloc (len + 1);
+	  if (p->orientation_1 == NULL)
+	      goto error;
+	  strcpy (p->orientation_1, orientation_1);
+      }
+    if (axis_2)
+      {
+	  len = strlen (axis_2);
+	  p->axis_2 = malloc (len + 1);
+	  if (p->axis_2 == NULL)
+	      goto error;
+	  strcpy (p->axis_2, axis_2);
+      }
+    if (orientation_2)
+      {
+	  len = strlen (orientation_2);
+	  p->orientation_2 = malloc (len + 1);
+	  if (p->orientation_2 == NULL)
+	      goto error;
+	  strcpy (p->orientation_2, orientation_2);
+      }
     if (*first == NULL)
 	*first = p;
     if (*last != NULL)
@@ -203,6 +376,44 @@ free_epsg (struct epsg_defs *first)
       }
 }
 
+static void
+create_spatial_ref_sys_aux (sqlite3 * handle)
+{
+/* just in case, we'll create the SPATIAL_REF_SYS_AUX table */
+    const char *sql = "CREATE TABLE IF NOT EXISTS spatial_ref_sys_aux (\n"
+	"\tsrid INTEGER NOT NULL PRIMARY KEY,\n"
+	"\tis_geographic INTEGER,\n"
+	"\thas_flipped_axes INTEGER,\n"
+	"\tspheroid TEXT,\n"
+	"\tprime_meridian TEXT,\n"
+	"\tdatum TEXT,\n"
+	"\tprojection TEXT,\n"
+	"\tunit TEXT,\n"
+	"\taxis_1_name TEXT,\n"
+	"\taxis_1_orientation TEXT,\n"
+	"\taxis_2_name TEXT,\n"
+	"\taxis_2_orientation TEXT,\n"
+	"\tCONSTRAINT fk_sprefsys FOREIGN KEY (srid) "
+	"\tREFERENCES spatial_ref_sys (srid))";
+    sqlite3_exec (handle, sql, NULL, NULL, NULL);
+/* creating the SPATIAL_REF_SYS_ALL view */
+    sql = "CREATE VIEW IF NOT EXISTS spatial_ref_sys_all AS\n"
+	"SELECT a.srid AS srid, a.auth_name AS auth_name, "
+	"a.auth_srid AS auth_srid, a.ref_sys_name AS ref_sys_name,\n"
+	"b.is_geographic AS is_geographic, "
+	"b.has_flipped_axes AS has_flipped_axes, "
+	"b.spheroid AS spheroid, b.prime_meridian AS prime_meridian, "
+	"b.datum AS datum, b.projection AS projection, b.unit AS unit,\n"
+	"b.axis_1_name AS axis_1_name, "
+	"b.axis_1_orientation AS axis_1_orientation,\n"
+	"b.axis_2_name AS axis_2_name, "
+	"b.axis_2_orientation AS axis_2_orientation,\n"
+	"a.proj4text AS proj4text, a.srtext AS srtext\n"
+	"FROM spatial_ref_sys AS a\n"
+	"LEFT JOIN spatial_ref_sys_aux AS b ON (a.srid = b.srid)";
+    sqlite3_exec (handle, sql, NULL, NULL, NULL);
+}
+
 static int
 populate_spatial_ref_sys (sqlite3 * handle, int mode)
 {
@@ -212,12 +423,15 @@ populate_spatial_ref_sys (sqlite3 * handle, int mode)
     struct epsg_defs *p;
     char sql[1024];
     int ret;
-    sqlite3_stmt *stmt;
+    sqlite3_stmt *stmt = NULL;
+    sqlite3_stmt *stmt_aux = NULL;
+    int ok_aux;
 
 /* initializing the EPSG defs list */
     initialize_epsg (mode, &first, &last);
 
-/* preparing the SQL parameterized statement */
+    create_spatial_ref_sys_aux (handle);
+/* preparing the SQL parameterized statement (main) */
     strcpy (sql, "INSERT INTO spatial_ref_sys ");
     strcat (sql,
 	    "(srid, auth_name, auth_srid, ref_sys_name, proj4text, srtext) ");
@@ -228,11 +442,26 @@ populate_spatial_ref_sys (sqlite3 * handle, int mode)
 	  spatialite_e ("%s\n", sqlite3_errmsg (handle));
 	  goto error;
       }
+/* preparing the SQL parameterized statement (aux) */
+    strcpy (sql, "INSERT INTO spatial_ref_sys_aux ");
+    strcat (sql,
+	    "(srid, is_geographic, has_flipped_axes, spheroid, prime_meridian, ");
+    strcat (sql, "datum, projection, unit, axis_1_name, axis_1_orientation, ");
+    strcat (sql, "axis_2_name, axis_2_orientation) ");
+    strcat (sql, "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
+    ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_aux, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("%s\n", sqlite3_errmsg (handle));
+	  goto error;
+      }
+
     p = first;
     while (p)
       {
 	  if (p->auth_name == NULL)
 	      break;
+	  /* inserting into SPATIAL_REF_SYS */
 	  sqlite3_reset (stmt);
 	  sqlite3_clear_bindings (stmt);
 	  sqlite3_bind_int (stmt, 1, p->srid);
@@ -254,27 +483,133 @@ populate_spatial_ref_sys (sqlite3 * handle, int mode)
 	  else
 	    {
 		spatialite_e ("%s\n", sqlite3_errmsg (handle));
-		sqlite3_finalize (stmt);
 		goto error;
 	    }
+
+	  /* inserting into SPATIAL_REF_SYS_AUX */
+	  ok_aux = 0;
+	  sqlite3_reset (stmt_aux);
+	  sqlite3_clear_bindings (stmt_aux);
+	  sqlite3_bind_int (stmt_aux, 1, p->srid);
+	  if (p->is_geographic < 0)
+	      sqlite3_bind_null (stmt_aux, 2);
+	  else
+	    {
+		sqlite3_bind_int (stmt_aux, 2, p->is_geographic);
+		ok_aux = 1;
+	    }
+	  if (p->flipped_axes < 0)
+	      sqlite3_bind_null (stmt_aux, 3);
+	  else
+	    {
+		sqlite3_bind_int (stmt_aux, 3, p->flipped_axes);
+		ok_aux = 1;
+	    }
+	  if (p->spheroid == NULL)
+	      sqlite3_bind_null (stmt_aux, 4);
+	  else
+	    {
+		sqlite3_bind_text (stmt_aux, 4, p->spheroid,
+				   strlen (p->spheroid), SQLITE_STATIC);
+		ok_aux = 1;
+	    }
+	  if (p->prime_meridian == NULL)
+	      sqlite3_bind_null (stmt_aux, 5);
+	  else
+	    {
+		sqlite3_bind_text (stmt_aux, 5, p->prime_meridian,
+				   strlen (p->prime_meridian), SQLITE_STATIC);
+		ok_aux = 1;
+	    }
+	  if (p->datum == NULL)
+	      sqlite3_bind_null (stmt_aux, 6);
+	  else
+	    {
+		sqlite3_bind_text (stmt_aux, 6, p->datum, strlen (p->datum),
+				   SQLITE_STATIC);
+		ok_aux = 1;
+	    }
+	  if (p->projection == NULL)
+	      sqlite3_bind_null (stmt_aux, 7);
+	  else
+	    {
+		sqlite3_bind_text (stmt_aux, 7, p->projection,
+				   strlen (p->projection), SQLITE_STATIC);
+		ok_aux = 1;
+	    }
+	  if (p->unit == NULL)
+	      sqlite3_bind_null (stmt_aux, 8);
+	  else
+	    {
+		sqlite3_bind_text (stmt_aux, 8, p->unit, strlen (p->unit),
+				   SQLITE_STATIC);
+		ok_aux = 1;
+	    }
+	  if (p->axis_1 == NULL)
+	      sqlite3_bind_null (stmt_aux, 9);
+	  else
+	    {
+		sqlite3_bind_text (stmt_aux, 9, p->axis_1, strlen (p->axis_1),
+				   SQLITE_STATIC);
+		ok_aux = 1;
+	    }
+	  if (p->orientation_1 == NULL)
+	      sqlite3_bind_null (stmt_aux, 10);
+	  else
+	    {
+		sqlite3_bind_text (stmt_aux, 10, p->orientation_1,
+				   strlen (p->orientation_1), SQLITE_STATIC);
+		ok_aux = 1;
+	    }
+	  if (p->axis_2 == NULL)
+	      sqlite3_bind_null (stmt_aux, 11);
+	  else
+	    {
+		sqlite3_bind_text (stmt_aux, 11, p->axis_2, strlen (p->axis_2),
+				   SQLITE_STATIC);
+		ok_aux = 1;
+	    }
+	  if (p->orientation_2 == NULL)
+	      sqlite3_bind_null (stmt_aux, 12);
+	  else
+	    {
+		sqlite3_bind_text (stmt_aux, 12, p->orientation_2,
+				   strlen (p->orientation_2), SQLITE_STATIC);
+		ok_aux = 1;
+	    }
+	  if (ok_aux)
+	    {
+		ret = sqlite3_step (stmt_aux);
+		if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+		    ;
+		else
+		  {
+		      spatialite_e ("%s\n", sqlite3_errmsg (handle));
+		      goto error;
+		  }
+	    }
 	  p = p->next;
       }
     sqlite3_finalize (stmt);
+    sqlite3_finalize (stmt_aux);
 
 /* freeing the EPSG defs list */
     free_epsg (first);
-
     return 1;
-  error:
 
+  error:
+    if (stmt)
+	sqlite3_finalize (stmt);
+    if (stmt_aux)
+	sqlite3_finalize (stmt_aux);
 /* freeing the EPSG defs list */
     free_epsg (first);
 
     return 0;
 }
 
-static int
-exists_spatial_ref_sys (sqlite3 * handle)
+SPATIALITE_PRIVATE int
+exists_spatial_ref_sys (void *p_sqlite)
 {
 /* checking if the SPATIAL_REF_SYS table exists */
     int ret;
@@ -285,6 +620,8 @@ exists_spatial_ref_sys (sqlite3 * handle)
     int n_columns;
     char *err_msg = NULL;
 
+    sqlite3 *handle = (sqlite3 *) p_sqlite;
+
     strcpy (sql,
 	    "SELECT name FROM sqlite_master WHERE type = 'table' AND name LIKE 'spatial_ref_sys'");
     ret =
@@ -454,7 +791,9 @@ insert_epsg_srid (sqlite3 * handle, int srid)
     char sql[1024];
     int ret;
     int error = 0;
-    sqlite3_stmt *stmt;
+    sqlite3_stmt *stmt = NULL;
+    sqlite3_stmt *stmt_aux = NULL;
+    int ok_aux;
 
     if (!exists_spatial_ref_sys (handle))
       {
@@ -477,6 +816,7 @@ insert_epsg_srid (sqlite3 * handle, int srid)
 	  return 0;
       }
 
+    create_spatial_ref_sys_aux (handle);
 /* preparing the SQL parameterized statement */
     strcpy (sql, "INSERT INTO spatial_ref_sys ");
     strcat (sql,
@@ -489,6 +829,22 @@ insert_epsg_srid (sqlite3 * handle, int srid)
 	  error = 1;
 	  goto stop;
       }
+/* preparing the SQL parameterized statement (aux) */
+    strcpy (sql, "INSERT INTO spatial_ref_sys_aux ");
+    strcat (sql,
+	    "(srid, is_geographic, has_flipped_axes, spheroid, prime_meridian, ");
+    strcat (sql, "datum, projection, unit, axis_1_name, axis_1_orientation, ");
+    strcat (sql, "axis_2_name, axis_2_orientation) ");
+    strcat (sql, "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
+    ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_aux, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  spatialite_e ("%s\n", sqlite3_errmsg (handle));
+	  error = 1;
+	  goto stop;
+      }
+
+    /* inserting into SPATIAL_REF_SYS_AUX */
     sqlite3_reset (stmt);
     sqlite3_clear_bindings (stmt);
     sqlite3_bind_int (stmt, 1, first->srid);
@@ -513,9 +869,114 @@ insert_epsg_srid (sqlite3 * handle, int srid)
 	  error = 1;
 	  goto stop;
       }
+
+    /* inserting into SPATIAL_REF_SYS_AUX */
+    ok_aux = 0;
+    sqlite3_reset (stmt_aux);
+    sqlite3_clear_bindings (stmt_aux);
+    sqlite3_bind_int (stmt_aux, 1, first->srid);
+    if (first->is_geographic < 0)
+	sqlite3_bind_null (stmt_aux, 2);
+    else
+      {
+	  sqlite3_bind_int (stmt_aux, 2, first->is_geographic);
+	  ok_aux = 1;
+      }
+    if (first->flipped_axes < 0)
+	sqlite3_bind_null (stmt_aux, 3);
+    else
+      {
+	  sqlite3_bind_int (stmt_aux, 3, first->flipped_axes);
+	  ok_aux = 1;
+      }
+    if (first->spheroid == NULL)
+	sqlite3_bind_null (stmt_aux, 4);
+    else
+      {
+	  sqlite3_bind_text (stmt_aux, 4, first->spheroid,
+			     strlen (first->spheroid), SQLITE_STATIC);
+	  ok_aux = 1;
+      }
+    if (first->prime_meridian == NULL)
+	sqlite3_bind_null (stmt_aux, 5);
+    else
+      {
+	  sqlite3_bind_text (stmt_aux, 5, first->prime_meridian,
+			     strlen (first->prime_meridian), SQLITE_STATIC);
+	  ok_aux = 1;
+      }
+    if (first->datum == NULL)
+	sqlite3_bind_null (stmt_aux, 6);
+    else
+      {
+	  sqlite3_bind_text (stmt_aux, 6, first->datum, strlen (first->datum),
+			     SQLITE_STATIC);
+	  ok_aux = 1;
+      }
+    if (first->projection == NULL)
+	sqlite3_bind_null (stmt_aux, 7);
+    else
+      {
+	  sqlite3_bind_text (stmt_aux, 7, first->projection,
+			     strlen (first->projection), SQLITE_STATIC);
+	  ok_aux = 1;
+      }
+    if (first->unit == NULL)
+	sqlite3_bind_null (stmt_aux, 8);
+    else
+      {
+	  sqlite3_bind_text (stmt_aux, 8, first->unit, strlen (first->unit),
+			     SQLITE_STATIC);
+	  ok_aux = 1;
+      }
+    if (first->axis_1 == NULL)
+	sqlite3_bind_null (stmt_aux, 9);
+    else
+      {
+	  sqlite3_bind_text (stmt_aux, 9, first->axis_1, strlen (first->axis_1),
+			     SQLITE_STATIC);
+	  ok_aux = 1;
+      }
+    if (first->orientation_1 == NULL)
+	sqlite3_bind_null (stmt_aux, 10);
+    else
+      {
+	  sqlite3_bind_text (stmt_aux, 10, first->orientation_1,
+			     strlen (first->orientation_1), SQLITE_STATIC);
+	  ok_aux = 1;
+      }
+    if (first->axis_2 == NULL)
+	sqlite3_bind_null (stmt_aux, 11);
+    else
+      {
+	  sqlite3_bind_text (stmt_aux, 11, first->axis_2,
+			     strlen (first->axis_2), SQLITE_STATIC);
+	  ok_aux = 1;
+      }
+    if (first->orientation_2 == NULL)
+	sqlite3_bind_null (stmt_aux, 11);
+    else
+      {
+	  sqlite3_bind_text (stmt_aux, 11, first->orientation_2,
+			     strlen (first->orientation_2), SQLITE_STATIC);
+	  ok_aux = 1;
+      }
+    if (ok_aux)
+      {
+	  ret = sqlite3_step (stmt_aux);
+	  if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+	      ;
+	  else
+	    {
+		spatialite_e ("%s\n", sqlite3_errmsg (handle));
+		goto stop;
+	    }
+      }
   stop:
     if (stmt != NULL)
 	sqlite3_finalize (stmt);
+    if (stmt_aux != NULL)
+	sqlite3_finalize (stmt_aux);
 
 /* freeing the EPSG defs list */
     free_epsg (first);
diff --git a/src/virtualtext/Makefile.in b/src/virtualtext/Makefile.in
index 3967fa1..512e48b 100644
--- a/src/virtualtext/Makefile.in
+++ b/src/virtualtext/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/virtualtext
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -167,6 +176,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -322,7 +332,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/virtualtext/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/virtualtext/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -372,14 +381,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -605,6 +614,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/virtualtext/virtualtext.c b/src/virtualtext/virtualtext.c
index 60bae0e..a6c0c38 100644
--- a/src/virtualtext/virtualtext.c
+++ b/src/virtualtext/virtualtext.c
@@ -1150,7 +1150,7 @@ vrttxt_is_integer (const char *value)
 	  p++;
       }
     if (invalids)
-	return 0;		/* invalid chars where found */
+	return 0;		/* invalid chars were found */
     if (signs > 1)
 	return 0;		/* more than a single sign */
     if (signs)
@@ -1200,7 +1200,7 @@ vrttxt_is_double (const char *value, char decimal_separator)
 	  p++;
       }
     if (invalids)
-	return 0;		/* invalid chars where found */
+	return 0;		/* invalid chars were found */
     if (points > 1)
 	return 0;		/* more than a single decimal separator */
     if (signs > 1)
diff --git a/src/wfs/Makefile.in b/src/wfs/Makefile.in
index 7349796..0c0cba5 100644
--- a/src/wfs/Makefile.in
+++ b/src/wfs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/wfs
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -166,6 +175,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -321,7 +331,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/wfs/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign src/wfs/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -371,14 +380,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -604,6 +613,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/wfs/wfs_in.c b/src/wfs/wfs_in.c
index 34116c7..48b6d08 100644
--- a/src/wfs/wfs_in.c
+++ b/src/wfs/wfs_in.c
@@ -119,6 +119,7 @@ struct wfs_layer_def
 struct wfs_catalog
 {
 /* a list of WFS layers */
+    char *version;
     char *request_url;
     char *describe_url;
     struct wfs_layer_def *first;
@@ -485,6 +486,7 @@ alloc_wfs_catalog ()
 {
 /* allocating an empty WFS catalog object */
     struct wfs_catalog *ptr = malloc (sizeof (struct wfs_catalog));
+    ptr->version = NULL;
     ptr->first = NULL;
     ptr->last = NULL;
     ptr->request_url = NULL;
@@ -500,6 +502,8 @@ free_wfs_catalog (struct wfs_catalog *ptr)
     struct wfs_layer_def *n_lyr;
     if (ptr == NULL)
 	return;
+    if (ptr->version != NULL)
+	free (ptr->version);
     lyr = ptr->first;
     while (lyr != NULL)
       {
@@ -683,6 +687,22 @@ clean_copy (char *dest, const char *orig)
 }
 
 static void
+set_wfs_version (struct wfs_catalog *ptr, const char *version)
+{
+/* setting the WFS Version from GetCapabilities */
+    int len;
+    if (ptr == NULL)
+	return;
+    if (ptr->version != NULL)
+	free (ptr->version);
+    if (version == NULL)
+	return;
+    len = strlen (version);
+    ptr->version = malloc (len + 1);
+    strcpy (ptr->version, version);
+}
+
+static void
 set_wfs_catalog_base_request_url (struct wfs_catalog *ptr, const char *url)
 {
 /* setting the request-URL for a WFS catalog */
@@ -3496,7 +3516,11 @@ parse_wfs_layer (xmlNodePtr node, struct wfs_catalog *catalog)
 			  || strcmp ((const char *) (cur_node->name),
 				     "DefaultSRS") == 0
 			  || strcmp ((const char *) (cur_node->name),
-				     "OtherSRS") == 0)
+				     "OtherSRS") == 0
+			  || strcmp ((const char *) (cur_node->name),
+				     "DefaultCRS") == 0
+			  || strcmp ((const char *) (cur_node->name),
+				     "OtherCRS") == 0)
 			{
 			    int srid = parse_srsname (cur_node->children);
 			    if (srid > 0)
@@ -3762,12 +3786,36 @@ parse_wfs_base_url_110 (xmlNodePtr node, struct wfs_catalog *catalog)
 	  if (cur_node->type == XML_ELEMENT_NODE)
 	    {
 		if (strcmp ((const char *) (cur_node->name), "Operation") == 0)
-		    parse_wfs_operation_110 (cur_node, catalog);
+		  {
+		      parse_wfs_operation_110 (cur_node, catalog);
+		  }
 	    }
       }
 }
 
 static void
+parse_wfs_version (xmlNodePtr node, struct wfs_catalog *catalog)
+{
+/* parsing the WFS version from GetCapabilities */
+    struct _xmlAttr *attr = node->properties;
+    const char *version = NULL;
+
+    while (attr != NULL)
+      {
+	  if (attr->name != NULL)
+	    {
+		if (strcmp ((const char *) (attr->name), "version") == 0)
+		  {
+		      version = parse_attribute_name (attr->children);
+		      set_wfs_version (catalog, version);
+		  }
+	    }
+	  attr = attr->next;
+      }
+}
+
+
+static void
 parse_wfs_catalog (xmlNodePtr node, struct wfs_catalog *catalog,
 		   int *capabilities, int *list)
 {
@@ -3780,7 +3828,10 @@ parse_wfs_catalog (xmlNodePtr node, struct wfs_catalog *catalog,
 	    {
 		if (strcmp ((const char *) (cur_node->name), "WFS_Capabilities")
 		    == 0)
-		    *capabilities = 1;
+		  {
+		      *capabilities = 1;
+		      parse_wfs_version (cur_node, catalog);
+		  }
 		if (*capabilities != 0
 		    && strcmp ((const char *) (cur_node->name),
 			       "FeatureTypeList") == 0)
@@ -3874,6 +3925,16 @@ destroy_wfs_catalog (gaiaWFScatalogPtr handle)
 }
 
 SPATIALITE_DECLARE const char *
+get_wfs_version (gaiaWFScatalogPtr handle)
+{
+/* return the WFS-Version returned by GetCapabilities */
+    struct wfs_catalog *ptr = (struct wfs_catalog *) handle;
+    if (ptr == NULL)
+	return NULL;
+    return ptr->version;
+}
+
+SPATIALITE_DECLARE const char *
 get_wfs_base_request_url (gaiaWFScatalogPtr handle)
 {
 /* return the base URL for any WFS-GetFeature call */
@@ -4059,6 +4120,10 @@ build_request_url (struct wfs_catalog *ptr, struct wfs_layer_def *lyr,
       {
 	  if (strcmp (version, "1.0.0") == 0)
 	      ver = "1.0.0";
+	  if (strcmp (version, "2.0.0") == 0)
+	      ver = "2.0.0";
+	  if (strcmp (version, "2.0.2") == 0)
+	      ver = "2.0.2";
       }
     if (srid > 0)
       {
@@ -4144,6 +4209,10 @@ build_describe_url (struct wfs_catalog *ptr, struct wfs_layer_def *lyr,
       {
 	  if (strcmp (version, "1.0.0") == 0)
 	      ver = "1.0.0";
+	  if (strcmp (version, "2.0.0") == 0)
+	      ver = "2.0.0";
+	  if (strcmp (version, "2.0.2") == 0)
+	      ver = "2.0.2";
       }
     url =
 	sqlite3_mprintf
diff --git a/test/Makefile.am b/test/Makefile.am
index f36c997..cb28c6e 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -52,7 +52,9 @@ check_PROGRAMS = check_endian \
 		check_wfsin \
 		check_dxf \
 		check_metacatalog \
-		check_virtualelem
+		check_virtualelem \
+		check_srid_fncts \
+		check_control_points
 		
 if ENABLE_GEOPACKAGE
 check_PROGRAMS += \
@@ -60,7 +62,7 @@ check_PROGRAMS += \
 		check_gpkgCreateTilesTable \
 		check_gpkgCreateTilesTableMissingSRID \
 		check_gpkgCreateTilesZoomLevel \
-		check_gpkgInsertEpsgSRID \
+		check_gpkgInsertEpsgSRID check_gpkgMode \
 		check_gpkgCreateFeaturesTable \
 		check_gpkg_base_core_container_data_file_format_application_id \
 		check_gpkg_base_core_spatial_ref_sys_data_table_def \
@@ -165,7 +167,8 @@ EXTRA_DIST = asprintf4win.h \
 	books.xml books.xsd opera.xml opera.xsd \
 	movies.xml movies.xsd books-bad.xml books-bad.xsd \
 	inspire-data-example.xml stazioni_se.xml \
-	raster_se.xml sld_sample.xml thunderstorm_mild.svg \
+	stazioni2_se.xml raster_se.xml raster2_se.xml \
+	sld_sample.xml sld_sample2.xml thunderstorm_mild.svg \
 	tile000.jpeg  tile101.jpeg  tile111.jpeg \
 	test.webp tile100.jpeg  tile110.jpeg \
 	Apple-iPhone-4.jpg empty.png  empty.tif \
@@ -175,11 +178,13 @@ EXTRA_DIST = asprintf4win.h \
 	describefeaturetype.wfs	\
 	22.dxf f06.dxf l02.dxf p05.dxf \
 	archaic.dxf linked.dxf hatch.dxf \
-	symbol.dxf gpkg_test.sqlite gpkg_test.gpkg
+	symbol.dxf gpkg_test.sqlite gpkg_test.gpkg \
+	gpkg_test_broken.gpkg gpkg_test_extrasrid.gpkg
 
 SUBDIRS = sql_stmt_geosadvanced_tests sql_stmt_geos_tests \
 	sql_stmt_libxml2_tests sql_stmt_lwgeom_tests \
 	sql_stmt_mathsql_tests sql_stmt_proj_tests \
 	sql_stmt_security_tests sql_stmt_tests \
 	sql_stmt_xmlsec_tests sql_stmt_geopackage_tests \
-	sql_stmt_freexl_tests
+	sql_stmt_freexl_tests sql_stmt_cache_tests \
+	sql_stmt_nocache_tests
diff --git a/test/Makefile.in b/test/Makefile.in
index 3858d94..01e112a 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -103,13 +113,14 @@ check_PROGRAMS = check_endian$(EXEEXT) check_version$(EXEEXT) \
 	check_styling$(EXEEXT) check_virtualxpath$(EXEEXT) \
 	check_virtualbbox$(EXEEXT) check_wfsin$(EXEEXT) \
 	check_dxf$(EXEEXT) check_metacatalog$(EXEEXT) \
-	check_virtualelem$(EXEEXT) $(am__EXEEXT_1)
+	check_virtualelem$(EXEEXT) check_srid_fncts$(EXEEXT) \
+	check_control_points$(EXEEXT) $(am__EXEEXT_1)
 @ENABLE_GEOPACKAGE_TRUE at am__append_1 = \
 @ENABLE_GEOPACKAGE_TRUE@		check_createBaseTables \
 @ENABLE_GEOPACKAGE_TRUE@		check_gpkgCreateTilesTable \
 @ENABLE_GEOPACKAGE_TRUE@		check_gpkgCreateTilesTableMissingSRID \
 @ENABLE_GEOPACKAGE_TRUE@		check_gpkgCreateTilesZoomLevel \
- at ENABLE_GEOPACKAGE_TRUE@		check_gpkgInsertEpsgSRID \
+ at ENABLE_GEOPACKAGE_TRUE@		check_gpkgInsertEpsgSRID check_gpkgMode \
 @ENABLE_GEOPACKAGE_TRUE@		check_gpkgCreateFeaturesTable \
 @ENABLE_GEOPACKAGE_TRUE@		check_gpkg_base_core_container_data_file_format_application_id \
 @ENABLE_GEOPACKAGE_TRUE@		check_gpkg_base_core_spatial_ref_sys_data_table_def \
@@ -135,8 +146,6 @@ check_PROGRAMS = check_endian$(EXEEXT) check_version$(EXEEXT) \
 @ENABLE_GEOPACKAGE_TRUE@		check_gpkgVirtual
 
 subdir = test
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(top_srcdir)/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -144,6 +153,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -154,6 +164,7 @@ CONFIG_CLEAN_VPATH_FILES =
 @ENABLE_GEOPACKAGE_TRUE@	check_gpkgCreateTilesTableMissingSRID$(EXEEXT) \
 @ENABLE_GEOPACKAGE_TRUE@	check_gpkgCreateTilesZoomLevel$(EXEEXT) \
 @ENABLE_GEOPACKAGE_TRUE@	check_gpkgInsertEpsgSRID$(EXEEXT) \
+ at ENABLE_GEOPACKAGE_TRUE@	check_gpkgMode$(EXEEXT) \
 @ENABLE_GEOPACKAGE_TRUE@	check_gpkgCreateFeaturesTable$(EXEEXT) \
 @ENABLE_GEOPACKAGE_TRUE@	check_gpkg_base_core_container_data_file_format_application_id$(EXEEXT) \
 @ENABLE_GEOPACKAGE_TRUE@	check_gpkg_base_core_spatial_ref_sys_data_table_def$(EXEEXT) \
@@ -195,6 +206,9 @@ check_bufovflw_LDADD = $(LDADD)
 check_clone_table_SOURCES = check_clone_table.c
 check_clone_table_OBJECTS = check_clone_table.$(OBJEXT)
 check_clone_table_LDADD = $(LDADD)
+check_control_points_SOURCES = check_control_points.c
+check_control_points_OBJECTS = check_control_points.$(OBJEXT)
+check_control_points_LDADD = $(LDADD)
 check_create_SOURCES = check_create.c
 check_create_OBJECTS = check_create.$(OBJEXT)
 check_create_LDADD = $(LDADD)
@@ -333,6 +347,9 @@ check_gpkgGetImageFormat_webp_LDADD = $(LDADD)
 check_gpkgInsertEpsgSRID_SOURCES = check_gpkgInsertEpsgSRID.c
 check_gpkgInsertEpsgSRID_OBJECTS = check_gpkgInsertEpsgSRID.$(OBJEXT)
 check_gpkgInsertEpsgSRID_LDADD = $(LDADD)
+check_gpkgMode_SOURCES = check_gpkgMode.c
+check_gpkgMode_OBJECTS = check_gpkgMode.$(OBJEXT)
+check_gpkgMode_LDADD = $(LDADD)
 check_gpkgVirtual_SOURCES = check_gpkgVirtual.c
 check_gpkgVirtual_OBJECTS = check_gpkgVirtual.$(OBJEXT)
 check_gpkgVirtual_LDADD = $(LDADD)
@@ -401,6 +418,9 @@ check_spatialindex_LDADD = $(LDADD)
 check_sql_stmt_SOURCES = check_sql_stmt.c
 check_sql_stmt_OBJECTS = check_sql_stmt.$(OBJEXT)
 check_sql_stmt_LDADD = $(LDADD)
+check_srid_fncts_SOURCES = check_srid_fncts.c
+check_srid_fncts_OBJECTS = check_srid_fncts.$(OBJEXT)
+check_srid_fncts_LDADD = $(LDADD)
 check_styling_SOURCES = check_styling.c
 check_styling_OBJECTS = check_styling.$(OBJEXT)
 check_styling_LDADD = $(LDADD)
@@ -497,13 +517,14 @@ am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
 SOURCES = check_add_tile_triggers.c \
 	check_add_tile_triggers_bad_table_name.c check_bufovflw.c \
-	check_clone_table.c check_create.c check_createBaseTables.c \
-	check_dbf_load.c check_dxf.c check_endian.c check_exif.c \
-	check_exif2.c check_extension.c check_extra_relations_fncts.c \
-	check_fdo1.c check_fdo2.c check_fdo3.c check_fdo_bufovflw.c \
-	check_gaia_utf8.c check_gaia_util.c check_geom_aux.c \
-	check_geometry_cols.c check_geoscvt_fncts.c \
-	check_get_normal_row.c check_get_normal_row_bad_geopackage.c \
+	check_clone_table.c check_control_points.c check_create.c \
+	check_createBaseTables.c check_dbf_load.c check_dxf.c \
+	check_endian.c check_exif.c check_exif2.c check_extension.c \
+	check_extra_relations_fncts.c check_fdo1.c check_fdo2.c \
+	check_fdo3.c check_fdo_bufovflw.c check_gaia_utf8.c \
+	check_gaia_util.c check_geom_aux.c check_geometry_cols.c \
+	check_geoscvt_fncts.c check_get_normal_row.c \
+	check_get_normal_row_bad_geopackage.c \
 	check_get_normal_row_bad_geopackage2.c check_get_normal_zoom.c \
 	check_get_normal_zoom_bad_geopackage.c \
 	check_get_normal_zoom_bad_geopackage2.c \
@@ -515,7 +536,7 @@ SOURCES = check_add_tile_triggers.c \
 	check_gpkgGetImageFormat_nonimage.c \
 	check_gpkgGetImageFormat_png.c check_gpkgGetImageFormat_tiff.c \
 	check_gpkgGetImageFormat_webp.c check_gpkgInsertEpsgSRID.c \
-	check_gpkgVirtual.c \
+	check_gpkgMode.c check_gpkgVirtual.c \
 	check_gpkg_base_core_container_data_file_format_application_id.c \
 	check_gpkg_base_core_contents_data_table_def.c \
 	check_gpkg_base_core_spatial_ref_sys_data_table_def.c \
@@ -525,9 +546,9 @@ SOURCES = check_add_tile_triggers.c \
 	check_mbrcache.c check_md5.c check_metacatalog.c \
 	check_multithread.c check_recover_geom.c \
 	check_relations_fncts.c check_shp_load.c check_shp_load_3d.c \
-	check_spatialindex.c check_sql_stmt.c check_styling.c \
-	check_version.c check_virtual_ovflw.c check_virtualbbox.c \
-	check_virtualelem.c check_virtualtable1.c \
+	check_spatialindex.c check_sql_stmt.c check_srid_fncts.c \
+	check_styling.c check_version.c check_virtual_ovflw.c \
+	check_virtualbbox.c check_virtualelem.c check_virtualtable1.c \
 	check_virtualtable2.c check_virtualtable3.c \
 	check_virtualtable4.c check_virtualtable5.c \
 	check_virtualtable6.c check_virtualxpath.c check_wfsin.c \
@@ -535,13 +556,14 @@ SOURCES = check_add_tile_triggers.c \
 	shape_utf8_1.c shape_utf8_1ex.c shape_utf8_2.c
 DIST_SOURCES = check_add_tile_triggers.c \
 	check_add_tile_triggers_bad_table_name.c check_bufovflw.c \
-	check_clone_table.c check_create.c check_createBaseTables.c \
-	check_dbf_load.c check_dxf.c check_endian.c check_exif.c \
-	check_exif2.c check_extension.c check_extra_relations_fncts.c \
-	check_fdo1.c check_fdo2.c check_fdo3.c check_fdo_bufovflw.c \
-	check_gaia_utf8.c check_gaia_util.c check_geom_aux.c \
-	check_geometry_cols.c check_geoscvt_fncts.c \
-	check_get_normal_row.c check_get_normal_row_bad_geopackage.c \
+	check_clone_table.c check_control_points.c check_create.c \
+	check_createBaseTables.c check_dbf_load.c check_dxf.c \
+	check_endian.c check_exif.c check_exif2.c check_extension.c \
+	check_extra_relations_fncts.c check_fdo1.c check_fdo2.c \
+	check_fdo3.c check_fdo_bufovflw.c check_gaia_utf8.c \
+	check_gaia_util.c check_geom_aux.c check_geometry_cols.c \
+	check_geoscvt_fncts.c check_get_normal_row.c \
+	check_get_normal_row_bad_geopackage.c \
 	check_get_normal_row_bad_geopackage2.c check_get_normal_zoom.c \
 	check_get_normal_zoom_bad_geopackage.c \
 	check_get_normal_zoom_bad_geopackage2.c \
@@ -553,7 +575,7 @@ DIST_SOURCES = check_add_tile_triggers.c \
 	check_gpkgGetImageFormat_nonimage.c \
 	check_gpkgGetImageFormat_png.c check_gpkgGetImageFormat_tiff.c \
 	check_gpkgGetImageFormat_webp.c check_gpkgInsertEpsgSRID.c \
-	check_gpkgVirtual.c \
+	check_gpkgMode.c check_gpkgVirtual.c \
 	check_gpkg_base_core_container_data_file_format_application_id.c \
 	check_gpkg_base_core_contents_data_table_def.c \
 	check_gpkg_base_core_spatial_ref_sys_data_table_def.c \
@@ -563,9 +585,9 @@ DIST_SOURCES = check_add_tile_triggers.c \
 	check_mbrcache.c check_md5.c check_metacatalog.c \
 	check_multithread.c check_recover_geom.c \
 	check_relations_fncts.c check_shp_load.c check_shp_load_3d.c \
-	check_spatialindex.c check_sql_stmt.c check_styling.c \
-	check_version.c check_virtual_ovflw.c check_virtualbbox.c \
-	check_virtualelem.c check_virtualtable1.c \
+	check_spatialindex.c check_sql_stmt.c check_srid_fncts.c \
+	check_styling.c check_version.c check_virtual_ovflw.c \
+	check_virtualbbox.c check_virtualelem.c check_virtualtable1.c \
 	check_virtualtable2.c check_virtualtable3.c \
 	check_virtualtable4.c check_virtualtable5.c \
 	check_virtualtable6.c check_virtualxpath.c check_wfsin.c \
@@ -815,6 +837,8 @@ TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
 	$(TEST_LOG_FLAGS)
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
+	$(top_srcdir)/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -1047,7 +1071,8 @@ EXTRA_DIST = asprintf4win.h \
 	books.xml books.xsd opera.xml opera.xsd \
 	movies.xml movies.xsd books-bad.xml books-bad.xsd \
 	inspire-data-example.xml stazioni_se.xml \
-	raster_se.xml sld_sample.xml thunderstorm_mild.svg \
+	stazioni2_se.xml raster_se.xml raster2_se.xml \
+	sld_sample.xml sld_sample2.xml thunderstorm_mild.svg \
 	tile000.jpeg  tile101.jpeg  tile111.jpeg \
 	test.webp tile100.jpeg  tile110.jpeg \
 	Apple-iPhone-4.jpg empty.png  empty.tif \
@@ -1057,14 +1082,16 @@ EXTRA_DIST = asprintf4win.h \
 	describefeaturetype.wfs	\
 	22.dxf f06.dxf l02.dxf p05.dxf \
 	archaic.dxf linked.dxf hatch.dxf \
-	symbol.dxf gpkg_test.sqlite gpkg_test.gpkg
+	symbol.dxf gpkg_test.sqlite gpkg_test.gpkg \
+	gpkg_test_broken.gpkg gpkg_test_extrasrid.gpkg
 
 SUBDIRS = sql_stmt_geosadvanced_tests sql_stmt_geos_tests \
 	sql_stmt_libxml2_tests sql_stmt_lwgeom_tests \
 	sql_stmt_mathsql_tests sql_stmt_proj_tests \
 	sql_stmt_security_tests sql_stmt_tests \
 	sql_stmt_xmlsec_tests sql_stmt_geopackage_tests \
-	sql_stmt_freexl_tests
+	sql_stmt_freexl_tests sql_stmt_cache_tests \
+	sql_stmt_nocache_tests
 
 all: all-recursive
 
@@ -1082,7 +1109,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1126,6 +1152,10 @@ check_clone_table$(EXEEXT): $(check_clone_table_OBJECTS) $(check_clone_table_DEP
 	@rm -f check_clone_table$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(check_clone_table_OBJECTS) $(check_clone_table_LDADD) $(LIBS)
 
+check_control_points$(EXEEXT): $(check_control_points_OBJECTS) $(check_control_points_DEPENDENCIES) $(EXTRA_check_control_points_DEPENDENCIES) 
+	@rm -f check_control_points$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(check_control_points_OBJECTS) $(check_control_points_LDADD) $(LIBS)
+
 check_create$(EXEEXT): $(check_create_OBJECTS) $(check_create_DEPENDENCIES) $(EXTRA_check_create_DEPENDENCIES) 
 	@rm -f check_create$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(check_create_OBJECTS) $(check_create_LDADD) $(LIBS)
@@ -1274,6 +1304,10 @@ check_gpkgInsertEpsgSRID$(EXEEXT): $(check_gpkgInsertEpsgSRID_OBJECTS) $(check_g
 	@rm -f check_gpkgInsertEpsgSRID$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(check_gpkgInsertEpsgSRID_OBJECTS) $(check_gpkgInsertEpsgSRID_LDADD) $(LIBS)
 
+check_gpkgMode$(EXEEXT): $(check_gpkgMode_OBJECTS) $(check_gpkgMode_DEPENDENCIES) $(EXTRA_check_gpkgMode_DEPENDENCIES) 
+	@rm -f check_gpkgMode$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(check_gpkgMode_OBJECTS) $(check_gpkgMode_LDADD) $(LIBS)
+
 check_gpkgVirtual$(EXEEXT): $(check_gpkgVirtual_OBJECTS) $(check_gpkgVirtual_DEPENDENCIES) $(EXTRA_check_gpkgVirtual_DEPENDENCIES) 
 	@rm -f check_gpkgVirtual$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(check_gpkgVirtual_OBJECTS) $(check_gpkgVirtual_LDADD) $(LIBS)
@@ -1354,6 +1388,10 @@ check_sql_stmt$(EXEEXT): $(check_sql_stmt_OBJECTS) $(check_sql_stmt_DEPENDENCIES
 	@rm -f check_sql_stmt$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(check_sql_stmt_OBJECTS) $(check_sql_stmt_LDADD) $(LIBS)
 
+check_srid_fncts$(EXEEXT): $(check_srid_fncts_OBJECTS) $(check_srid_fncts_DEPENDENCIES) $(EXTRA_check_srid_fncts_DEPENDENCIES) 
+	@rm -f check_srid_fncts$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(check_srid_fncts_OBJECTS) $(check_srid_fncts_LDADD) $(LIBS)
+
 check_styling$(EXEEXT): $(check_styling_OBJECTS) $(check_styling_DEPENDENCIES) $(EXTRA_check_styling_DEPENDENCIES) 
 	@rm -f check_styling$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(check_styling_OBJECTS) $(check_styling_LDADD) $(LIBS)
@@ -1444,6 +1482,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_add_tile_triggers_bad_table_name.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_bufovflw.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_clone_table.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_control_points.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_create.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_createBaseTables.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_dbf_load.Po at am__quote@
@@ -1481,6 +1520,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_gpkgGetImageFormat_tiff.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_gpkgGetImageFormat_webp.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_gpkgInsertEpsgSRID.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_gpkgMode.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_gpkgVirtual.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_gpkg_base_core_container_data_file_format_application_id.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_gpkg_base_core_contents_data_table_def.Po at am__quote@
@@ -1501,6 +1541,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_shp_load_3d.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_spatialindex.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_sql_stmt.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_srid_fncts.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_styling.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_version.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/check_virtual_ovflw.Po at am__quote@
@@ -1527,14 +1568,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1678,7 +1719,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 	if test -n "$$am__remaking_logs"; then \
 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
 	       "recursion detected" >&2; \
-	else \
+	elif test -n "$$redo_logs"; then \
 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
 	fi; \
 	if $(am__make_dryrun); then :; else \
@@ -2160,6 +2201,20 @@ check_virtualelem.log: check_virtualelem$(EXEEXT)
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+check_srid_fncts.log: check_srid_fncts$(EXEEXT)
+	@p='check_srid_fncts$(EXEEXT)'; \
+	b='check_srid_fncts'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+check_control_points.log: check_control_points$(EXEEXT)
+	@p='check_control_points$(EXEEXT)'; \
+	b='check_control_points'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
 check_createBaseTables.log: check_createBaseTables$(EXEEXT)
 	@p='check_createBaseTables$(EXEEXT)'; \
 	b='check_createBaseTables'; \
@@ -2195,6 +2250,13 @@ check_gpkgInsertEpsgSRID.log: check_gpkgInsertEpsgSRID$(EXEEXT)
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+check_gpkgMode.log: check_gpkgMode$(EXEEXT)
+	@p='check_gpkgMode$(EXEEXT)'; \
+	b='check_gpkgMode'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
 check_gpkgCreateFeaturesTable.log: check_gpkgCreateFeaturesTable$(EXEEXT)
 	@p='check_gpkgCreateFeaturesTable$(EXEEXT)'; \
 	b='check_gpkgCreateFeaturesTable'; \
@@ -2555,6 +2617,8 @@ uninstall-am:
 	mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \
 	uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/WritingSQLTestCase.txt b/test/WritingSQLTestCase.txt
index 63b337d..c62d40b 100644
--- a/test/WritingSQLTestCase.txt
+++ b/test/WritingSQLTestCase.txt
@@ -5,11 +5,10 @@ moment. This is the case if you're running on Linux or some other Unix variant,
 including Mac OS X. It is the case for some kinds of Windows builds too (using
 MinGW / MSYS).
 
-I assume that you're mostly OK with building from subversion. If not, start
-at http://www.gaia-gis.it/spatialite/sources.html. Make sure you read
-Sandro's "short note" - it is at
-http://www.gaia-gis.it/spatialite/how_to_build_libspatialite.html
-if you missed it.
+I assume that you're mostly OK with building from fossil. If not, start
+at http://www.gaia-gis.it/gaia-sins/about-fossil.html. There are detailed
+build instructions linked off http://www.gaia-gis.it/gaia-sins/ for each
+major platform.
 
 Make sure you have all the dependencies. It is a bit of work but it will pay off
 in the long run.
@@ -20,9 +19,17 @@ Step 1. Just get the tests building.
 If you're in the build directory (i.e. where you ran the "./configure" and
 "make" steps), you should be able to run "make check" and have the tests
 build and run. Towards the end, it should report something like:
-===================
-All 15 tests passed
-===================
+============================================================================
+Testsuite summary for libspatialite 4.3.0-devel
+============================================================================
+# TOTAL: 83
+# PASS:  83
+# SKIP:  0
+# XFAIL: 0
+# FAIL:  0
+# XPASS: 0
+# ERROR: 0
+============================================================================
 
 If any of them fail, please let us know ASAP.
 
diff --git a/test/check_bufovflw.c b/test/check_bufovflw.c
index 95ca672..594dcfb 100644
--- a/test/check_bufovflw.c
+++ b/test/check_bufovflw.c
@@ -889,6 +889,7 @@ main (int argc, char *argv[])
 	  return -64;
       }
 
+#ifndef OMIT_EPSG /* only if full EPSG support is enabled */
 /* checking for validity (SRID from Auth) */
     sql = sqlite3_mprintf ("SELECT SridFromAuthCrs(%Q, %d)", auth, 1122);
     ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
@@ -915,6 +916,7 @@ main (int argc, char *argv[])
 	  return -67;
       }
     sqlite3_free_table (results);
+#endif
 
 /* deleting the odd CRS */
     sql = "DELETE FROM spatial_ref_sys WHERE srid = 325834";
diff --git a/test/check_control_points.c b/test/check_control_points.c
new file mode 100644
index 0000000..7e98f87
--- /dev/null
+++ b/test/check_control_points.c
@@ -0,0 +1,912 @@
+/*
+
+ check_contro_points.c -- SpatiaLite Test Case
+
+ Author: Sandro Furieri <a.furieri at lqt.it>
+
+ ------------------------------------------------------------------------------
+ 
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ 
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+ 
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
+
+The Original Code is the SpatiaLite library
+
+The Initial Developer of the Original Code is Alessandro Furieri
+ 
+Portions created by the Initial Developer are Copyright (C) 2011
+the Initial Developer. All Rights Reserved.
+
+Contributor(s):
+Brad Hards <bradh at frogmouth.net>
+
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "config.h"
+
+#include "sqlite3.h"
+#include "spatialite.h"
+
+static int
+test_query (sqlite3 * sqlite, const char *sql, const char *expected)
+{
+/* testing some SQL query */
+    int ret;
+    sqlite3_stmt *stmt = NULL;
+
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "%s\n: \"%s\"\n", sql, sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		const char *value;
+		if (sqlite3_column_type (stmt, 0) == SQLITE_NULL)
+		  {
+		      if (expected == NULL)
+			  continue;
+		      else
+			{
+			    fprintf (stderr,
+				     "Unexpected NULL result\nExpected: %s\n",
+				     expected);
+			    goto error;
+			}
+		  }
+		value = (const char *) sqlite3_column_text (stmt, 0);
+		if (expected == NULL)
+		  {
+		      fprintf (stderr, "Unexpected result %s\nExpected: NULL\n",
+			       value);
+		      goto error;
+		  }
+		if (strcasecmp (value, expected) != 0)
+		  {
+		      fprintf (stderr, "Unexpected result %s\nExpected: %s\n",
+			       value, expected);
+		      goto error;
+		  }
+	    }
+	  else
+	      goto error;
+      }
+    sqlite3_finalize (stmt);
+    return 1;
+
+  error:
+    if (stmt != NULL)
+	sqlite3_finalize (stmt);
+    return 0;
+}
+
+static int
+test_transform (sqlite3 * handle, int order)
+{
+/* testing GCP_Transform */
+    char *sql;
+    int ret;
+
+/* resolving Control Points 2D - CGP_Transform XY */
+    sql = sqlite3_mprintf ("SELECT AsText(GCP_Transform(g.geometry, b.gcp)) "
+			   "FROM test_xy AS g, "
+			   "(SELECT GCP_Compute(a.geometry, b.geometry, %d) AS gcp "
+			   "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id) AS b",
+			   order);
+    ret =
+	test_query (handle, sql,
+		    "GEOMETRYCOLLECTION(POINT(-161 -64), LINESTRING(-160 -63, -159 -62), "
+		    "POLYGON((-151 -54, -141 -54, -141 -44, -151 -44, -151 -54), "
+		    "(-147 -50, -145 -50, -145 -48, -147 -48, -147 -50)))");
+    sqlite3_free (sql);
+    if (!ret)
+	return 0;
+
+/* resolving Control Points 2D - CGP_Transform XYM */
+    sql = sqlite3_mprintf ("SELECT AsText(GCP_Transform(g.geometry, b.gcp)) "
+			   "FROM test_xym AS g, "
+			   "(SELECT GCP_Compute(a.geometry, b.geometry, %d) AS gcp "
+			   "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id) AS b",
+			   order);
+    ret =
+	test_query (handle, sql,
+		    "GEOMETRYCOLLECTION M(POINT M(-161 -64 1), "
+		    "LINESTRING M(-160 -63 1, -159 -62 3), "
+		    "POLYGON M((-151 -54 1, -141 -54 2, -141 -44 3, -151 -44 2, -151 -54 1), "
+		    "(-147 -50 1, -145 -50 2, -145 -48 2, -147 -48 2, -147 -50 1)))");
+    sqlite3_free (sql);
+    if (!ret)
+	return 0;
+
+/* resolving Control Points 3D - CGP_Transform XYZ */
+    sql =
+	sqlite3_mprintf
+	("SELECT IsValid(GCP_Transform(g.geometry, b.gcp)) "
+	 "FROM test_xyz AS g, "
+	 "(SELECT GCP_Compute(a.geometry, b.geometry, %d) AS gcp "
+	 "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b",
+	 order);
+    ret = test_query (handle, sql, "1");
+    sqlite3_free (sql);
+    if (!ret)
+	return 0;
+
+/* resolving Control Points 3D - CGP_Transform XYZM */
+    sql =
+	sqlite3_mprintf
+	("SELECT IsValid(GCP_Transform(g.geometry, b.gcp)) "
+	 "FROM test_xyzm AS g, "
+	 "(SELECT GCP_Compute(a.geometry, b.geometry, %d) AS gcp "
+	 "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b",
+	 order);
+    ret = test_query (handle, sql, "1");
+    sqlite3_free (sql);
+    if (!ret)
+	return 0;
+
+    return 1;
+}
+
+static int
+test_invalid (sqlite3 * handle)
+{
+/* testing invalid calls */
+    const char *sql;
+
+    sql = "SELECT GCP_Compute(NULL, GeomFromText('POINT(1 1)'))";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), NULL)";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql =
+	"SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('POINT(2 2)'), NULL)";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql =
+	"SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('POINT(2 2)'), -1)";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql =
+	"SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('POINT(2 2)'), 4)";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql =
+	"SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('POINTZ(2 2 2)'))";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql =
+	"SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('POINT(2 2)'))";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql =
+	"SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('LINESTRING(2 2, 3 2)'))";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql =
+	"SELECT GCP_Compute(GeomFromText('LINESTRING(2 2, 3 2)'), GeomFromText('POINT(1 1)'))";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), NULL)";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), zeroblob(10))";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_Transform(NULL, b.gcp) "
+	"FROM (SELECT GCP_Compute(a.geometry, b.geometry) AS gcp "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_Transform(zeroblob(10), b.gcp) "
+	"FROM (SELECT GCP_Compute(a.geometry, b.geometry) AS gcp "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_Transform(GeomFromText('POINT(1 1)'), zeroblob(4))";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_IsValid(NULL)";
+    if (!test_query (handle, sql, "-1"))
+	return 0;
+    sql = "SELECT GCP_IsValid(zeroblob(0))";
+    if (!test_query (handle, sql, "0"))
+	return 0;
+    sql = "SELECT GCP_AsText(NULL)";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_AsText(zeroblob(0))";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_Transform(GeomFromText('POINT(1 1)'), b.gcp, 1.0) "
+	"FROM (SELECT GCP_Compute(a.geometry, b.geometry) AS gcp "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_Transform(zeroblob(4), b.gcp, 32632) "
+	"FROM (SELECT GCP_Compute(a.geometry, b.geometry) AS gcp "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP_Transform(GeomFromText('POINT(1 1)'), NULL)";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP2ATM(NULL)";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP2ATM(zeroblob(100))";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP2ATM(b.gcp) "
+	"FROM (SELECT GCP_Compute(a.geometry, b.geometry, 2) AS gcp "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id) AS b";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP2ATM(b.gcp) "
+	"FROM (SELECT GCP_Compute(a.geometry, b.geometry, 3) AS gcp "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id) AS b";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+    sql = "SELECT GCP2ATM(b.gcp) "
+	"FROM (SELECT GCP_Compute(a.geometry, b.geometry, 0) AS gcp "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id) AS b";
+    if (!test_query (handle, sql, NULL))
+	return 0;
+
+    return 1;
+}
+
+int
+main (int argc, char *argv[])
+{
+#ifdef ENABLE_GCP		/* only if Control Points (Grass) is enabled */
+    int ret;
+    sqlite3 *handle;
+    char *err_msg = NULL;
+    const char *sql;
+    int order;
+    void *cache = spatialite_alloc_connection ();
+
+    if (argc > 1 || argv[0] == NULL)
+	argc = 1;		/* silencing stupid compiler warnings */
+
+    ret =
+	sqlite3_open_v2 (":memory:", &handle,
+			 SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "cannot open in-memory databse: %s\n",
+		   sqlite3_errmsg (handle));
+	  sqlite3_close (handle);
+	  return -1;
+      }
+
+    spatialite_init_ex (handle, cache, 0);
+
+    ret =
+	sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL,
+		      &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -2;
+      }
+
+/* creating and populating a test table - XY */
+    ret = sqlite3_exec (handle, "CREATE TABLE test_xy ("
+			"id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL,
+			&err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE test_xy error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -3;
+      }
+    ret = sqlite3_exec (handle, "SELECT AddGeometryColumn("
+			"'test_xy', 'geometry', 4326, 'GEOMETRYCOLLECTION', 'XY')",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE test_xy Geometry error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -4;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO test_xy VALUES (NULL, "
+			"GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2), "
+			"POLYGON((10 10, 20 10, 20 20, 10 20, 10 10), "
+			"(14 14, 16 14, 16 16, 14 16, 14 14)))', 4326))", NULL,
+			NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO test_xy Geometry error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -5;
+      }
+
+/* creating and populating a test table - XYZ */
+    ret = sqlite3_exec (handle, "CREATE TABLE test_xyz ("
+			"id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL,
+			&err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE test_xyz error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -6;
+      }
+    ret = sqlite3_exec (handle, "SELECT AddGeometryColumn("
+			"'test_xyz', 'geometry', 4326, 'GEOMETRYCOLLECTION', 'XYz')",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE test_xyz Geometry error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -7;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO test_xyz VALUES (NULL, "
+			"GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(0 0 1), "
+			"LINESTRINGZ(1 1 1, 2 2 3), "
+			"POLYGONZ((10 10 1, 20 10 2, 20 20 3, 10 20 2, 10 10 1), "
+			"(14 14 1, 16 14 2, 16 16 2, 14 16 2, 14 14 1)))', 4326))",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO test_xyz Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -8;
+      }
+
+/* creating and populating a test table - XYM */
+    ret = sqlite3_exec (handle, "CREATE TABLE test_xym ("
+			"id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL,
+			&err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE test_xym error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -9;
+      }
+    ret = sqlite3_exec (handle, "SELECT AddGeometryColumn("
+			"'test_xym', 'geometry', 4326, 'GEOMETRYCOLLECTION', 'XYM')",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE test_xym Geometry error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -10;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO test_xym VALUES (NULL, "
+			"GeomFromText('GEOMETRYCOLLECTIONM(POINTM(0 0 1), "
+			"LINESTRINGM(1 1 1, 2 2 3), "
+			"POLYGONM((10 10 1, 20 10 2, 20 20 3, 10 20 2, 10 10 1), "
+			"(14 14 1, 16 14 2, 16 16 2, 14 16 2, 14 14 1)))', 4326))",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO test_xym Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -11;
+      }
+
+/* creating and populating a test table - XYZM */
+    ret = sqlite3_exec (handle, "CREATE TABLE test_xyzm ("
+			"id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL,
+			&err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE test_xyzm error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -12;
+      }
+    ret = sqlite3_exec (handle, "SELECT AddGeometryColumn("
+			"'test_xyzm', 'geometry', 4326, 'GEOMETRYCOLLECTION', 'XYZM')",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE test_xyzm Geometry error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -13;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO test_xyzm VALUES (NULL, "
+			"GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(0 0 1 1), "
+			"LINESTRINGZM(1 1 1 1, 2 2 3 3), "
+			"POLYGONZM((10 10 1 1, 20 10 2 2, 20 20 3 3, 10 20 2 2, 10 10 1 1), "
+			"(14 14 1 1, 16 14 2 2, 16 16 2 2, 14 16 2 2, 14 14 1 1)))', 4326))",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO test_xyzm Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -14;
+      }
+
+/* creating and populating Point table #1 - XY */
+    ret = sqlite3_exec (handle, "CREATE TABLE point_a_xy ("
+			"id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL,
+			&err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE point_a_xy error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -15;
+      }
+    ret = sqlite3_exec (handle, "SELECT AddGeometryColumn("
+			"'point_a_xy', 'geometry', 4326, 'POINT', 'XY')", NULL,
+			NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE point_a_xy Geometry error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -16;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_a_xy VALUES "
+			"(NULL, MakePoint(0, 0, 4326)), (NULL, MakePoint(1, 1, 4326)), "
+			"(NULL, MakePoint(10, 10, 4326)), (NULL, MakePoint(11, 11, 4326)), "
+			"(NULL, MakePoint(10, 0, 4326)), (NULL, MakePoint(11, 1, 4326)), "
+			"(NULL, MakePoint(0, 10, 4326)), (NULL, MakePoint(1, 11, 4326)) ",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_a_xy Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -17;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_a_xy VALUES "
+			"(NULL, MakePoint(5, 4, 4326)), (NULL, MakePoint(4, 5, 4326)), "
+			"(NULL, MakePoint(8, 2, 4326)), (NULL, MakePoint(2, 8, 4326)), "
+			"(NULL, MakePoint(20, 20, 4326)), (NULL, MakePoint(21, 21, 4326)), "
+			"(NULL, MakePoint(30, 30, 4326)), (NULL, MakePoint(31, 31, 4326)), "
+			"(NULL, MakePoint(30, 20, 4326)), (NULL, MakePoint(31, 21, 4326)) ",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_a_xy Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -18;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_a_xy VALUES "
+			"(NULL, MakePoint(20, 30, 4326)), (NULL, MakePoint(21, 31, 4326)), "
+			"(NULL, MakePoint(25, 24, 4326)), (NULL, MakePoint(24, 25, 4326)), "
+			"(NULL, MakePoint(28, 22, 4326)), (NULL, MakePoint(22, 28, 4326)), "
+			"(NULL, MakePoint(30, 0, 4326)), (NULL, MakePoint(0, 30, 4326)) ",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_a_xy Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -19;
+      }
+
+/* creating and populating Point table #2 - XY */
+    ret = sqlite3_exec (handle, "CREATE TABLE point_b_xy ("
+			"id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL,
+			&err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE point_b_xy error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -20;
+      }
+    ret = sqlite3_exec (handle, "SELECT AddGeometryColumn("
+			"'point_b_xy', 'geometry', 4326, 'POINT', 'XY')", NULL,
+			NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE point_b_xy Geometry error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -21;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_b_xy VALUES "
+			"(NULL, MakePoint(-161 + 0, -64 + 0, 4326)), "
+			"(NULL, MakePoint(-161 + 1, -64 + 1, 4326)), "
+			"(NULL, MakePoint(-161 + 10, -64 + 10, 4326)), "
+			"(NULL, MakePoint(-161 + 11, -64 + 11, 4326)), "
+			"(NULL, MakePoint(-161 + 10, -64 + 0, 4326)), "
+			"(NULL, MakePoint(-161 + 11, -64 + 1, 4326)) ", NULL,
+			NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_b_xy Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -22;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_b_xy VALUES "
+			"(NULL, MakePoint(-161 + 0, -64 + 10, 4326)), "
+			"(NULL, MakePoint(-161 + 1, -64 + 11, 4326)), "
+			"(NULL, MakePoint(-161 + 5, -64 + 4, 4326)), "
+			"(NULL, MakePoint(-161 + 4, -64 + 5, 4326)), "
+			"(NULL, MakePoint(-161 + 8, -64 + 2, 4326)), "
+			"(NULL, MakePoint(-161 + 2, -64 + 8, 4326)) ", NULL,
+			NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_b_xy Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -23;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_b_xy VALUES "
+			"(NULL, MakePoint(-161 + 20, -64 + 20, 4326)), "
+			"(NULL, MakePoint(-161 + 21, -64 + 21, 4326)), "
+			"(NULL, MakePoint(-161 + 30, -64 + 30, 4326)), "
+			"(NULL, MakePoint(-161 + 31, -64 + 31, 4326)), "
+			"(NULL, MakePoint(-161 + 30, -64 + 20, 4326)), "
+			"(NULL, MakePoint(-161 + 31, -64 + 21, 4326)) ", NULL,
+			NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_b_xy Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -24;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_b_xy VALUES "
+			"(NULL, MakePoint(-161 + 20, -64 + 30, 4326)), "
+			"(NULL, MakePoint(-161 + 21, -64 + 31, 4326)), "
+			"(NULL, MakePoint(-161 + 25, -64 + 24, 4326)), "
+			"(NULL, MakePoint(-161 + 24, -64 + 25, 4326)), "
+			"(NULL, MakePoint(-161 + 28, -64 + 22, 4326)), "
+			"(NULL, MakePoint(-161 + 22, -64 + 28, 4326)), "
+			"(NULL, MakePoint(-161 + 30, -64 + 0, 4326)), "
+			"(NULL, MakePoint(-161 + 0, -64 + 30, 4326)) ", NULL,
+			NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_b_xy Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -25;
+      }
+
+/* creating and populating Point table #1 - XYZ */
+    ret = sqlite3_exec (handle, "CREATE TABLE point_a_xyz ("
+			"id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL,
+			&err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE point_a_xyz error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -26;
+      }
+    ret = sqlite3_exec (handle, "SELECT AddGeometryColumn("
+			"'point_a_xyz', 'geometry', 4326, 'POINT', 'XYZ')",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE point_a_xy Geometry error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -27;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_a_xyz VALUES "
+			"(NULL, MakePointZ(0, 0, 1, 4326)), (NULL, MakePointZ(1, 1, 2, 4326)), "
+			"(NULL, MakePointZ(10, 10, 1, 4326)), (NULL, MakePointZ(11, 11, 2, 4326)), "
+			"(NULL, MakePointZ(10, 0, 1, 4326)), (NULL, MakePointZ(11, 1, 2, 4326)), "
+			"(NULL, MakePointZ(0, 10, 1, 4326)), (NULL, MakePointZ(1, 11, 2, 4326)) ",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_a_xyz Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -28;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_a_xyz VALUES "
+			"(NULL, MakePointZ(5, 4, 1, 4326)), (NULL, MakePointZ(4, 5, 2, 4326)), "
+			"(NULL, MakePointZ(8, 2, 1, 4326)), (NULL, MakePointZ(2, 8, 2, 4326)), "
+			"(NULL, MakePointZ(20, 20, 1, 4326)), (NULL, MakePointZ(21, 21, 2, 4326)), "
+			"(NULL, MakePointZ(70, 70, 1, 4326)), (NULL, MakePointZ(51, 51, 2, 4326)), "
+			"(NULL, MakePointZ(30, 20, 1, 4326)), (NULL, MakePointZ(31, 21, 2, 4326)) ",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_a_xyz Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -29;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_a_xyz VALUES "
+			"(NULL, MakePointZ(20, 30, 1, 4326)), (NULL, MakePointZ(21, 31, 2, 4326)), "
+			"(NULL, MakePointZ(25, 24, 1, 4326)), (NULL, MakePointZ(24, 25, 2, 4326)), "
+			"(NULL, MakePointZ(28, 22, 1, 4326)), (NULL, MakePointZ(22, 28, 2, 4326)), "
+			"(NULL, MakePointZ(30, 0, 1, 4326)), (NULL, MakePointZ(0, 30, 2, 4326)) ",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_a_xyz Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -30;
+      }
+
+/* creating and populating Point table #2 - XYZ */
+    ret = sqlite3_exec (handle, "CREATE TABLE point_b_xyz ("
+			"id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL,
+			&err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE point_b_xyz error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -31;
+      }
+    ret = sqlite3_exec (handle, "SELECT AddGeometryColumn("
+			"'point_b_xyz', 'geometry', 4326, 'POINT', 'XYZ')",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "CREATE point_b_xyz Geometry error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -32;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_b_xyz VALUES "
+			"(NULL, MakePointZ(-161 + 0, -64 + 0, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 1, -64 + 1, 12, 4326)), "
+			"(NULL, MakePointZ(-161 + 10, -64 + 10, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 11, -64 + 11, 12, 4326)), "
+			"(NULL, MakePointZ(-161 + 10, -64 + 0, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 11, -64 + 1, 12, 4326)) ",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_b_xyz Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -33;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_b_xyz VALUES "
+			"(NULL, MakePointZ(-161 + 0, -64 + 10, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 1, -64 + 11, 12, 4326)), "
+			"(NULL, MakePointZ(-161 + 5, -64 + 4, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 4, -64 + 5, 12, 4326)), "
+			"(NULL, MakePointZ(-161 + 8, -64 + 2, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 2, -64 + 8, 12, 4326)) ",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_b_xyz Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -34;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_b_xyz VALUES "
+			"(NULL, MakePointZ(-161 + 20, -64 + 20, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 21, -64 + 21, 12, 4326)), "
+			"(NULL, MakePointZ(-161 + 70, -64 + 70, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 51, -64 + 51, 12, 4326)), "
+			"(NULL, MakePointZ(-161 + 30, -64 + 20, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 31, -64 + 21, 12, 4326)), "
+			"(NULL, MakePointZ(-161 + 20, -64 + 30, 11, 4326)) ",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_b_xyz Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -35;
+      }
+    ret = sqlite3_exec (handle, "INSERT INTO point_b_xyz VALUES "
+			"(NULL, MakePointZ(-161 + 21, -64 + 31, 12, 4326)), "
+			"(NULL, MakePointZ(-161 + 25, -64 + 24, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 24, -64 + 25, 12, 4326)), "
+			"(NULL, MakePointZ(-161 + 28, -64 + 22, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 22, -64 + 28, 12, 4326)), "
+			"(NULL, MakePointZ(-161 + 30, -64 + 0, 11, 4326)), "
+			"(NULL, MakePointZ(-161 + 0, -64 + 30, 12, 4326)) ",
+			NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "INSERT INTO point_b_xyz Geometry error: %s\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (handle);
+	  return -36;
+      }
+
+/* resolving Control Points 2D - 1st order - IsValid */
+    sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 1)) "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -37;
+/* resolving Control Points 2D  - 1st order- AsText */
+    sql = "SELECT GCP_AsText(GCP_Compute(a.geometry, b.geometry)) "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id";
+    if (!test_query
+	(handle, sql,
+	 "E{-161.0000000000,1.0000000000,-0.0000000000}, "
+	 "N{-64.0000000000,-0.0000000000,1.0000000000}"))
+	return -38;
+
+/* resolving Control Points 2D - 1st order - GCP2ATM */
+    sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry))) "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -39;
+
+/* resolving Control Points 3D - 1st order - IsValid */
+    sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 1)) "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -40;
+
+/* resolving Control Points 3D - 1st order - AsText */
+    sql = "SELECT GCP_AsText(GCP_Compute(a.geometry, b.geometry)) "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql,
+		     "E{-161.0000000000,1.0000000000,-0.0000000000,0.0000000000}, "
+		     "N{-64.0000000000,0.0000000000,1.0000000000,0.0000000000}, "
+		     "Z{10.0000000000,-0.0000000000,0.0000000000,1.0000000000}"))
+	return -41;
+
+/* resolving Control Points 3D - 1st order - GCP2ATM */
+    sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry))) "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -42;
+
+/* resolving Control Points 2D - 2nd order - IsValid */
+    sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 2)) "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -43;
+
+/* resolving Control Points 2D  - 2nd order- AsText */
+    sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 2)) "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id";
+    if (!test_query	(handle, sql,"1"))
+	return -44;
+
+/* resolving Control Points 2D - 2nd order - GCP2ATM */
+    sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry, 2))) "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "-1"))
+	return -45;
+
+/* resolving Control Points 3D - 2nd order - IsValid */
+    sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 2)) "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -46;
+
+/* resolving Control Points 3D - 2nd order - AsText */
+    sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 2)) "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -47;
+
+/* resolving Control Points 3D - 2nd order - GCP2ATM */
+    sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry, 2))) "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "-1"))
+	return -48;
+
+/* resolving Control Points 2D - 3nd order - IsValid */
+    sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 3)) "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -49;
+
+/* resolving Control Points 2D  - 3nd order- AsText */
+    sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 3)) "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -50;
+
+/* resolving Control Points 2D - 3nd order - GCP2ATM */
+    sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry, 3))) "
+	"FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "-1"))
+	return -51;
+
+/* resolving Control Points 3D - 3nd order - IsValid */
+    sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 3)) "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -52;
+
+/* resolving Control Points 3D - 3nd order - AsText */
+    sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 3)) "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "1"))
+	return -53;
+
+/* resolving Control Points 3D - 3nd order - GCP2ATM */
+    sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry, 3))) "
+	"FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id";
+    if (!test_query (handle, sql, "-1"))
+	return -54;
+
+    for (order = 0; order <= 3; order++)
+      {
+	  /* GCP_Trasform */
+	  if (!test_transform (handle, order))
+	      return -55;
+      }
+
+    if (!test_invalid (handle))
+	return -56;
+
+    ret = sqlite3_close (handle);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "sqlite3_close() error: %s\n",
+		   sqlite3_errmsg (handle));
+	  return -57;
+      }
+
+    spatialite_cleanup_ex (cache);
+
+#endif /* end CGP conditional */
+
+    spatialite_shutdown ();
+    return 0;
+}
diff --git a/test/check_extension.c b/test/check_extension.c
index 05769a3..7b4a698 100644
--- a/test/check_extension.c
+++ b/test/check_extension.c
@@ -285,6 +285,42 @@ main (int argc, char *argv[])
 #endif /* end LIBXML2 conditional */
     sqlite3_free_table (results);
 
+    asprintf (&sql_statement, "SELECT freexl_version()");
+    ret =
+	sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns,
+			   &err_msg);
+    free (sql_statement);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error2: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -30;
+      }
+
+#ifndef OMIT_FREEXL		/* only if FreeXL is supported */
+    if ((rows != 1) || (columns != 1))
+      {
+	  fprintf (stderr,
+		   "Unexpected error: freexl_version() bad result: %i/%i.\n",
+		   rows, columns);
+	  return -31;
+      }
+    /* we tolerate any string here, because versions always change */
+    if (strlen (results[1]) == 0)
+      {
+	  fprintf (stderr, "Unexpected error: freexl_version() bad result.\n");
+	  return -32;
+      }
+#else /* FreeXL is not supported */
+    /* in this case we expect a NULL */
+    if (results[1] != NULL)
+      {
+	  fprintf (stderr, "Unexpected error: freexl_version() bad result.\n");
+	  return -33;
+      }
+#endif /* end FreeXL conditional */
+    sqlite3_free_table (results);
+
     sqlite3_close (db_handle);
     spatialite_cleanup ();
     spatialite_shutdown ();
diff --git a/test/check_gpkgInsertEpsgSRID.c b/test/check_gpkgInsertEpsgSRID.c
index 9848ff9..743b6ed 100644
--- a/test/check_gpkgInsertEpsgSRID.c
+++ b/test/check_gpkgInsertEpsgSRID.c
@@ -46,6 +46,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include <stdio.h>
 #include <string.h>
 
+#include "config.h"
+
 #include "sqlite3.h"
 #include "spatialite.h"
 
@@ -57,8 +59,10 @@ main (int argc UNUSED, char *argv[]UNUSED)
     sqlite3 *db_handle = NULL;
     int ret;
     char *err_msg = NULL;
+#ifndef OMIT_EPSG /* only if full EPSG support is enabled */
     char *sql_statement;
     sqlite3_stmt *stmt;
+#endif
     void *cache = spatialite_alloc_connection ();
 
     ret =
@@ -90,6 +94,7 @@ main (int argc UNUSED, char *argv[]UNUSED)
 	  return -100;
       }
 
+#ifndef OMIT_EPSG /* only if full EPSG support is enabled */
     ret =
 	sqlite3_exec (db_handle, "SELECT gpkgInsertEpsgSRID(3857)", NULL, NULL,
 		      &err_msg);
@@ -169,7 +174,7 @@ main (int argc UNUSED, char *argv[]UNUSED)
     ret = sqlite3_finalize (stmt);
 
     sqlite3_free (err_msg);
-
+    
     /* try no WKT, something of a hack here */
     ret =
 	sqlite3_exec (db_handle, "SELECT gpkgInsertEpsgSRID(40001)", NULL, NULL,
@@ -182,6 +187,7 @@ main (int argc UNUSED, char *argv[]UNUSED)
 	  sqlite3_free (err_msg);
 	  return -130;
       }
+#endif
 
     /* try some bad arguments */
     ret =
diff --git a/test/check_gpkgMode.c b/test/check_gpkgMode.c
new file mode 100644
index 0000000..803e741
--- /dev/null
+++ b/test/check_gpkgMode.c
@@ -0,0 +1,317 @@
+/*
+
+ check_gpkgMode.c - Test case for GeoPackage Extensions
+
+ Author: Sandro Furieri <a.furieri at lqt.it>
+
+ ------------------------------------------------------------------------------
+ 
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ 
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+ 
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
+
+The Original Code is GeoPackage extensions
+
+The Initial Developer of the Original Code is Sandro Furieri
+ 
+Portions created by the Initial Developer are Copyright (C) 2014
+the Initial Developer. All Rights Reserved.
+
+Contributor(s):
+
+
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "config.h"
+
+#ifdef ENABLE_GEOPACKAGE	/* only if GEOPACKAGE is enabled */
+
+#include "sqlite3.h"
+#include "spatialite.h"
+
+static int
+test_sql_query (sqlite3 * db_handle, const char *sql)
+{
+/* testing an SQL query in GeoPackage mode */
+    int ret;
+    char *err_msg = NULL;
+    char **results;
+    int rows;
+    int columns;
+    ret =
+	sqlite3_get_table (db_handle, sql, &results, &rows, &columns, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Test: %s\nError: %s\n", sql, err_msg);
+	  sqlite3_free (err_msg);
+	  return 0;
+      }
+    if ((rows != 1) || (columns != 1))
+      {
+	  fprintf (stderr,
+		   "Test: %s\nUnexpected error: select columns bad result: %i/%i.\n",
+		   sql, rows, columns);
+	  return 0;
+      }
+    if (strcmp (results[1], "1") != 0)
+      {
+	  fprintf (stderr,
+		   "Test: %s\nUnexpected error: bad result: %s.\n",
+		   sql, results[1]);
+	  return 0;
+      }
+    sqlite3_free_table (results);
+    return 1;
+}
+
+int
+main (int argc, char *argv[])
+{
+    sqlite3 *db_handle;
+    const char *sql;
+    void *cache = NULL;
+    int ret = 0;
+    char *err_msg = NULL;
+    if (argc > 1 || argv[0] == NULL)
+	argc = 1;		/* silencing stupid compiler warnings */
+
+/* directly testing GPKG */
+    cache = spatialite_alloc_connection ();
+    ret =
+	sqlite3_open_v2 ("./gpkg_test.gpkg", &db_handle,
+			 SQLITE_OPEN_READWRITE, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "cannot open '%s': %s\n", "copy-gpkg_test.gpkg",
+		   sqlite3_errmsg (db_handle));
+	  sqlite3_close (db_handle);
+	  spatialite_cleanup_ex (cache);
+	  spatialite_shutdown ();
+	  return -1;
+      }
+    spatialite_init_ex (db_handle, cache, 0);
+
+/* enabling GeoPackage Mode */
+    ret =
+	sqlite3_exec (db_handle, "SELECT EnableGpkgMode()", NULL, NULL,
+		      &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "EnableGpkgMode error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  ret = -2;
+	  goto end;
+      }
+    sql = "SELECT GetGpkgMode()";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -3;
+	  goto end;
+      }
+    ret = 0;
+
+/* testing POINTs */
+    sql =
+	"SELECT IsValidGPB( ShiftCoords(geom, 1.5, 2.5) ) FROM pt2d WHERE id = 3";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -3;
+	  goto end;
+      }
+    sql =
+	"SELECT IsValidGPB( ST_Translate(geom, 1.5, 2.5, 3.5) ) FROM pt3dz WHERE id = 3";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -4;
+	  goto end;
+      }
+    sql = "SELECT IsValidGPB( RotateCoords(geom, 30) ) FROM pt2dm WHERE id = 3";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -5;
+	  goto end;
+      }
+    sql = "SELECT IsValidGPB( SwapCoords(geom) ) FROM pt3dzm WHERE id = 3";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -6;
+	  goto end;
+      }
+
+/* testing LINESTRINGs */
+    sql = "SELECT IsValidGPB( ST_Collect(geom) ) FROM ln2d";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -7;
+	  goto end;
+      }
+    sql = "SELECT IsValidGPB( ST_Union(geom) ) FROM ln2dm";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -8;
+	  goto end;
+      }
+    sql = "SELECT IsValidGPB( ST_Buffer(geom, 0.01) ) FROM ln3dz WHERE id = 2";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -9;
+	  goto end;
+      }
+    sql =
+	"SELECT IsValidGPB( ST_OffsetCurve(geom, -0.1) ) FROM ln3dzm WHERE id = 1";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -10;
+	  goto end;
+      }
+
+/* testing POLYGONs */
+    sql = "SELECT IsValidGPB( ST_Collect(geom) ) FROM pg2d";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -11;
+	  goto end;
+      }
+    sql = "SELECT IsValidGPB( ST_Union(geom) ) FROM pg2dm";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -12;
+	  goto end;
+      }
+    sql = "SELECT IsValidGPB( ST_Buffer(geom, 0.01) ) FROM pg3dz WHERE id = 2";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -13;
+	  goto end;
+      }
+    sql = "SELECT IsValidGPB( ST_Envelope(geom) ) FROM pg3dzm WHERE id = 1";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -14;
+	  goto end;
+      }
+
+/* testing MULTIPOINTs */
+    sql = "SELECT IsValidGPB( ST_ConvexHull(geom) ) FROM mpt2d WHERE id = 2";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -15;
+	  goto end;
+      }
+    sql =
+	"SELECT IsValidGPB( ST_UnaryUnion( ST_Buffer(geom, 1.5) ) ) FROM mpt3dz WHERE id = 2";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -16;
+	  goto end;
+      }
+    sql = "SELECT IsValidGPB( ST_Difference( "
+	"ST_GeomFromText('POLYGON((0 0, 0 30, 30 30, 30 0, 0 0))'), "
+	"ST_Buffer(geom, 15) ) ) FROM mpt2dm WHERE id = 2";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -17;
+	  goto end;
+      }
+    sql = "SELECT IsValidGPB( ST_SymDifference( "
+	"ST_GeomFromText('POLYGON((0 0, 0 30, 30 30, 30 0, 0 0))'), "
+	"ST_Buffer(geom, 15) ) ) FROM mpt3dzm WHERE id = 1";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -18;
+	  goto end;
+      }
+
+/* testing MULTILINESTRINGs */
+    sql =
+	"SELECT IsValidGPB( ST_StartPoint( ST_GeometryN(geom, 1) ) ) FROM mln2d WHERE id = 1";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -19;
+	  goto end;
+      }
+    sql =
+	"SELECT IsValidGPB( ST_EndPoint( ST_GeometryN(geom, 1) ) ) FROM mln2dm WHERE id = 2";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -20;
+	  goto end;
+      }
+    sql =
+	"SELECT IsValidGPB( ST_Line_Interpolate_Point( ST_GeometryN(geom, 1), 0.66) ) FROM mln3dz WHERE id = 2";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -21;
+	  goto end;
+      }
+    sql =
+	"SELECT IsValidGPB(ST_Line_Substring( ST_GeometryN(geom, 1), 0.33, 0.66) ) FROM mln3dzm WHERE id = 1";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -22;
+	  goto end;
+      }
+
+/* testing MULTIPOLYGONs */
+    sql =
+	"SELECT IsValidGPB( ST_EndPoint( ST_ExteriorRing( ST_GeometryN(geom, 1) )  ) ) FROM mpg2d WHERE id = 2";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -23;
+	  goto end;
+      }
+    sql =
+	"SELECT IsValidGPB( ST_DissolvePoints( geom ) ) FROM mpg2dm WHERE id = 2";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -24;
+	  goto end;
+      }
+    sql =
+	"SELECT IsValidGPB( ST_DissolveSegments( geom ) ) FROM mpg3dz WHERE id = 2";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -25;
+	  goto end;
+      }
+    sql =
+	"SELECT IsValidGPB( ST_LinesFromRings(geom) ) FROM mpg3dzm WHERE id = 1";
+    if (!test_sql_query (db_handle, sql))
+      {
+	  ret = -26;
+	  goto end;
+      }
+
+  end:
+    sqlite3_close (db_handle);
+    spatialite_cleanup_ex (cache);
+    spatialite_shutdown ();
+    return ret;
+}
+
+#endif /* endif GEOPACKAGE enabled */
diff --git a/test/check_gpkg_base_core_contents_data_table_def.c b/test/check_gpkg_base_core_contents_data_table_def.c
index b8c228e..8366b06 100644
--- a/test/check_gpkg_base_core_contents_data_table_def.c
+++ b/test/check_gpkg_base_core_contents_data_table_def.c
@@ -268,10 +268,10 @@ main (int argc UNUSED, char *argv[]UNUSED)
 		strcpy (fulltoken, token);
 		strcat (fulltoken, ",");
 		strcat (fulltoken, nexttoken);
-		if (!strcasestr (fulltoken, "TEXT"))
+		if (!strcasestr (fulltoken, "DATETIME"))
 		  {
 		      fprintf (stderr,
-			       "missing COLUMN TYPE TEXT for last_change: %s\n",
+			       "missing COLUMN TYPE DATETIME for last_change: %s\n",
 			       fulltoken);
 		      free (fulltoken);
 		      return -40;
diff --git a/test/check_init2.c b/test/check_init2.c
index fc59094..e27d960 100644
--- a/test/check_init2.c
+++ b/test/check_init2.c
@@ -45,6 +45,8 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include <stdio.h>
 #include <string.h>
 
+#include "config.h"
+
 #include "sqlite3.h"
 #include "spatialite.h"
 
@@ -98,6 +100,8 @@ main (int argc, char *argv[])
 	  return -3;
       }
 
+#ifndef OMIT_EPSG
+/* only if full EPSG support is enabled */
     ret =
 	sqlite3_exec (handle, "SELECT InsertEpsgSrid(2998)", NULL, NULL,
 		      &err_msg);
@@ -108,6 +112,7 @@ main (int argc, char *argv[])
 	  sqlite3_close (handle);
 	  return -4;
       }
+#endif
 
     ret = sqlite3_close (handle);
     if (ret != SQLITE_OK)
@@ -305,6 +310,8 @@ main (int argc, char *argv[])
       }
     sqlite3_free_table (results);
 
+#ifndef OMIT_EPSG
+/* only if full EPSG support is enabled */
     ret =
 	sqlite3_get_table (handle, "SELECT InsertEpsgSrid(3003)", &results,
 			   &rows, &columns, &err_msg);
@@ -328,6 +335,7 @@ main (int argc, char *argv[])
 	  return -28;
       }
     sqlite3_free_table (results);
+#endif
 
     ret =
 	sqlite3_get_table (handle, "SELECT InsertEpsgSrid(4326)", &results,
diff --git a/test/check_libxml2.c b/test/check_libxml2.c
index bc2d6b0..f67019e 100644
--- a/test/check_libxml2.c
+++ b/test/check_libxml2.c
@@ -407,15 +407,12 @@ check_extended (void *cache, const char *path, int mode)
 	  /* not ISO Metadata */
 	  if (strcmp (path, "stazioni_se.xml") == 0)
 	    {
-		if (strcmp (title, "SLD test - Point [Railway Stations]") != 0)
+		if (strcmp (title, "Railway Stations - blue star") != 0)
 		  {
 		      fprintf (stderr, "unexpected Title in \"%s\"\n", path);
 		      return 0;
 		  }
-		if (strcmp
-		    (abstract,
-		     "an SLD complex variable style [depending on actual scale]")
-		    != 0)
+		if (strcmp (abstract, "a simple SE Point Symbolizer") != 0)
 		  {
 		      fprintf (stderr, "unexpected Abstract in \"%s\"\n", path);
 		      return 0;
diff --git a/test/check_sql_stmt.c b/test/check_sql_stmt.c
index 631c9d1..321af2e 100644
--- a/test/check_sql_stmt.c
+++ b/test/check_sql_stmt.c
@@ -162,7 +162,7 @@ load_dyn_extension (sqlite3 * db_handle)
 
 int
 do_one_case (struct db_conn *conn, const struct test_data *data,
-	     int load_extension)
+	     int load_extension, int gpkg_amphibious_mode)
 {
     sqlite3 *db_handle = NULL;
     int ret;
@@ -262,9 +262,19 @@ do_one_case (struct db_conn *conn, const struct test_data *data,
       }
   skip_init:
 
+    if (gpkg_amphibious_mode)
+      {
+	  sqlite3_exec (db_handle, "SELECT EnableGpkgAmphibiousMode()",
+			NULL, NULL, NULL);
+      }
     ret =
 	sqlite3_get_table (db_handle, data->sql_statement, &results, &rows,
 			   &columns, &err_msg);
+    if (gpkg_amphibious_mode)
+      {
+	  sqlite3_exec (db_handle, "SELECT DisableGpkgAmphibiousMode()",
+			NULL, NULL, NULL);
+      }
     if (ret != SQLITE_OK)
       {
 	  fprintf (stderr, "Error: %s\n", err_msg);
@@ -457,7 +467,7 @@ test_case_filter (const struct dirent *entry)
 
 int
 run_subdir_test (const char *subdirname, struct db_conn *conn,
-		 int load_extension)
+		 int load_extension, int gpkg_amphibious_mode)
 {
     struct dirent **namelist;
     int n;
@@ -482,7 +492,8 @@ run_subdir_test (const char *subdirname, struct db_conn *conn,
 	  data = read_one_case (path);
 	  free (path);
 
-	  result = do_one_case (conn, data, load_extension);
+	  result =
+	      do_one_case (conn, data, load_extension, gpkg_amphibious_mode);
 
 	  cleanup_test_data (data);
 	  if (result != 0)
@@ -496,13 +507,13 @@ run_subdir_test (const char *subdirname, struct db_conn *conn,
 }
 
 int
-run_all_testcases (struct db_conn *conn, int load_extension)
+run_all_testcases (struct db_conn *conn, int load_extension, int legacy)
 {
     int ret;
     int result = 0;
     const char *security_level;
 
-    result = run_subdir_test ("sql_stmt_tests", conn, load_extension);
+    result = run_subdir_test ("sql_stmt_tests", conn, load_extension, 0);
     if (result != 0)
       {
 	  return result;
@@ -514,7 +525,8 @@ run_all_testcases (struct db_conn *conn, int load_extension)
     else if (strcasecmp (security_level, "relaxed") == 0)
       {
 	  result =
-	      run_subdir_test ("sql_stmt_security_tests", conn, load_extension);
+	      run_subdir_test ("sql_stmt_security_tests", conn, load_extension,
+			       0);
 	  if (result != 0)
 	    {
 		return result;
@@ -522,20 +534,23 @@ run_all_testcases (struct db_conn *conn, int load_extension)
       }
 
 #ifndef OMIT_MATHSQL		/* only if MATHSQL is supported */
-    result = run_subdir_test ("sql_stmt_mathsql_tests", conn, load_extension);
+    result =
+	run_subdir_test ("sql_stmt_mathsql_tests", conn, load_extension, 0);
     if (result != 0)
       {
 	  return result;
       }
 #endif /* end MATHSQL conditional */
 
+#ifndef OMIT_EPSG		/* only if full EPSG is supported */
 #ifndef OMIT_PROJ		/* only if PROJ is supported */
-    result = run_subdir_test ("sql_stmt_proj_tests", conn, load_extension);
+    result = run_subdir_test ("sql_stmt_proj_tests", conn, load_extension, 0);
     if (result != 0)
       {
 	  return result;
       }
 #endif /* end PROJ conditional */
+#endif /* end EPSG conditional */
 
 #ifndef OMIT_GEOS		/* only if GEOS is supported */
     if (strcmp (GEOSversion (), "3.3") < 0)
@@ -557,7 +572,7 @@ run_all_testcases (struct db_conn *conn, int load_extension)
 	  return -1;
       }
 
-    result = run_subdir_test ("sql_stmt_geos_tests", conn, load_extension);
+    result = run_subdir_test ("sql_stmt_geos_tests", conn, load_extension, 0);
     if (result != 0)
       {
 	  return result;
@@ -587,7 +602,8 @@ run_all_testcases (struct db_conn *conn, int load_extension)
       }
 
     result =
-	run_subdir_test ("sql_stmt_geosadvanced_tests", conn, load_extension);
+	run_subdir_test ("sql_stmt_geosadvanced_tests", conn, load_extension,
+			 0);
     if (result != 0)
       {
 	  return result;
@@ -597,7 +613,7 @@ run_all_testcases (struct db_conn *conn, int load_extension)
 #endif /* end GEOS_ADVANCED conditional */
 
 #ifdef ENABLE_LWGEOM		/* only if LWGEOM is supported */
-    result = run_subdir_test ("sql_stmt_lwgeom_tests", conn, load_extension);
+    result = run_subdir_test ("sql_stmt_lwgeom_tests", conn, load_extension, 0);
     if (result != 0)
       {
 	  return result;
@@ -606,7 +622,8 @@ run_all_testcases (struct db_conn *conn, int load_extension)
 #endif /* end LWGEOM conditional */
 
 #ifdef ENABLE_LIBXML2		/* only if LIBXML2 is supported */
-    result = run_subdir_test ("sql_stmt_libxml2_tests", conn, load_extension);
+    result =
+	run_subdir_test ("sql_stmt_libxml2_tests", conn, load_extension, 0);
     if (result != 0)
       {
 	  return result;
@@ -618,7 +635,8 @@ run_all_testcases (struct db_conn *conn, int load_extension)
     else if (strcasecmp (security_level, "relaxed") == 0)
       {
 	  result =
-	      run_subdir_test ("sql_stmt_xmlsec_tests", conn, load_extension);
+	      run_subdir_test ("sql_stmt_xmlsec_tests", conn, load_extension,
+			       0);
 	  if (result != 0)
 	    {
 		return result;
@@ -628,11 +646,15 @@ run_all_testcases (struct db_conn *conn, int load_extension)
 #endif /* end LIBXML2 conditional */
 
 #ifdef ENABLE_GEOPACKAGE	/* only if GeoPackage support is enabled */
-    result =
-	run_subdir_test ("sql_stmt_geopackage_tests", conn, load_extension);
-    if (result != 0)
+    if (!legacy)
       {
-	  return result;
+	  result =
+	      run_subdir_test ("sql_stmt_geopackage_tests", conn,
+			       load_extension, 1);
+	  if (result != 0)
+	    {
+		return result;
+	    }
       }
 
 #endif /* end GEOPACKAGE conditional */
@@ -644,7 +666,8 @@ run_all_testcases (struct db_conn *conn, int load_extension)
     else if (strcasecmp (security_level, "relaxed") == 0)
       {
 	  result =
-	      run_subdir_test ("sql_stmt_freexl_tests", conn, load_extension);
+	      run_subdir_test ("sql_stmt_freexl_tests", conn, load_extension,
+			       0);
 	  if (result != 0)
 	    {
 		return result;
@@ -652,6 +675,27 @@ run_all_testcases (struct db_conn *conn, int load_extension)
       }
 #endif /* end FREEXL support */
 
+/* testing global settings SQL functions */
+    if (legacy)
+      {
+	  result =
+	      run_subdir_test ("sql_stmt_nocache_tests", conn, load_extension,
+			       0);
+	  if (result != 0)
+	    {
+		return result;
+	    }
+      }
+    else
+      {
+	  result =
+	      run_subdir_test ("sql_stmt_cache_tests", conn, load_extension, 0);
+	  if (result != 0)
+	    {
+		return result;
+	    }
+      }
+
     return result;
 }
 
@@ -666,7 +710,7 @@ run_specified_testcases (int argc, char *argv[], struct db_conn *conn,
       {
 	  struct test_data *data;
 	  data = read_one_case (argv[i]);
-	  result = do_one_case (conn, data, load_extension);
+	  result = do_one_case (conn, data, load_extension, 0);
 	  cleanup_test_data (data);
 	  if (result != 0)
 	    {
@@ -689,7 +733,7 @@ main (int argc, char *argv[])
 /* testing in current mode */
     if (argc == 1)
       {
-	  result = run_all_testcases (&conn, 0);
+	  result = run_all_testcases (&conn, 0, 0);
       }
     else
       {
@@ -714,7 +758,7 @@ main (int argc, char *argv[])
 		   "\n****************** testing again in legacy mode\n\n");
 	  if (argc == 1)
 	    {
-		result = run_all_testcases (&conn, 0);
+		result = run_all_testcases (&conn, 0, 1);
 	    }
 	  else
 	    {
@@ -730,7 +774,7 @@ main (int argc, char *argv[])
 		   "\n****************** testing again in load_extension mode\n\n");
 	  if (argc == 1)
 	    {
-		result = run_all_testcases (&conn, 1);
+		result = run_all_testcases (&conn, 1, 0);
 	    }
 	  else
 	    {
diff --git a/test/check_srid_fncts.c b/test/check_srid_fncts.c
new file mode 100644
index 0000000..ec78a31
--- /dev/null
+++ b/test/check_srid_fncts.c
@@ -0,0 +1,426 @@
+/*
+
+ check_srid_fncts.c -- SpatiaLite Test Case
+
+ Author: Sandro Furieri <a.furieri at lqt.it>
+
+ ------------------------------------------------------------------------------
+ 
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ 
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+ 
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
+
+The Original Code is the SpatiaLite library
+
+The Initial Developer of the Original Code is Alessandro Furieri
+ 
+Portions created by the Initial Developer are Copyright (C) 2013
+the Initial Developer. All Rights Reserved.
+
+Contributor(s):
+
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+ 
+*/
+#define _GNU_SOURCE
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "config.h"
+
+#include "sqlite3.h"
+#include "spatialite.h"
+
+static int
+test_srid (sqlite3 * sqlite, int extended)
+{
+/* testing all SRID functions */
+    int ret;
+    const char *sql;
+    sqlite3_stmt *stmt = NULL;
+
+    sql = "SELECT srid, SridIsGeographic(srid), SridIsProjected(srid), "
+	"SridHasFlippedAxes(srid), SridGetSpheroid(srid), SridGetPrimeMeridian(srid), "
+	"SridGetDatum(srid), SridGetUnit(srid), SridGetProjection(srid), "
+	"SridGetAxis_1_Name(srid), SridGetAxis_1_Orientation(srid), "
+	"SridGetAxis_2_Name(srid), SridGetAxis_2_Orientation(srid) "
+	"FROM spatial_ref_sys";
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "SELECT FROM spatial_ref_sys: \"%s\"\n",
+		   sqlite3_errmsg (sqlite));
+	  return 0;
+      }
+    while (1)
+      {
+	  /* scrolling the result set rows */
+	  ret = sqlite3_step (stmt);
+	  if (ret == SQLITE_DONE)
+	      break;		/* end of result set */
+	  if (ret == SQLITE_ROW)
+	    {
+		int flag;
+		const char *value;
+		int srid = sqlite3_column_int (stmt, 0);
+		if (srid == 4326)
+		  {
+		      flag = sqlite3_column_int (stmt, 1);
+		      if (flag != 1)
+			{
+			    fprintf (stderr,
+				     "4326: Unexpected IsGeographic result (%d)\n",
+				     flag);
+			    goto error;
+			}
+		      flag = sqlite3_column_int (stmt, 2);
+		      if (flag != 0)
+			{
+			    fprintf (stderr,
+				     "4326: Unexpected IsProjected result (%d)\n",
+				     flag);
+			    goto error;
+			}
+		      flag = sqlite3_column_int (stmt, 3);
+		      if (flag != 1)
+			{
+			    fprintf (stderr,
+				     "4326: Unexpected HasFlippedAxes result (%d)\n",
+				     flag);
+			    goto error;
+			}
+		      if (extended)
+			{
+			    value =
+				(const char *) sqlite3_column_text (stmt, 4);
+			    if (strcasecmp (value, "WGS 84") != 0)
+			      {
+				  fprintf (stderr,
+					   "4326: Unexpected GetSpheroid result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 5);
+			    if (strcasecmp (value, "Greenwich") != 0)
+			      {
+				  fprintf (stderr,
+					   "4326: Unexpected GetPrimeMeridian result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 6);
+			    if (strcasecmp (value, "WGS_1984") != 0)
+			      {
+				  fprintf (stderr,
+					   "4326: Unexpected GetDatum result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 7);
+			    if (strcasecmp (value, "degree") != 0)
+			      {
+				  fprintf (stderr,
+					   "4326: Unexpected GetUnit result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    if (sqlite3_column_type (stmt, 8) == SQLITE_TEXT)
+			      {
+				  value =
+				      (const char *) sqlite3_column_text (stmt,
+									  8);
+				  if (strcasecmp (value, "none") != 0)
+				    {
+					fprintf (stderr,
+						 "4326: Unexpected GetProjection result (%s)\n",
+						 value);
+					goto error;
+				    }
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 9);
+			    if (strcasecmp (value, "Latitude") != 0)
+			      {
+				  fprintf (stderr,
+					   "4326: Unexpected GetAxis_1_Name result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 10);
+			    if (strcasecmp (value, "North") != 0)
+			      {
+				  fprintf (stderr,
+					   "4326: Unexpected GetAxis_1_Orientation result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 11);
+			    if (strcasecmp (value, "Longitude") != 0)
+			      {
+				  fprintf (stderr,
+					   "4326: Unexpected GetAxis_2_Name result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 12);
+			    if (strcasecmp (value, "East") != 0)
+			      {
+				  fprintf (stderr,
+					   "4326: Unexpected GetAxis_2_Orientation result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			}
+		  }
+		if (srid == 32632)
+		  {
+		      flag = sqlite3_column_int (stmt, 1);
+		      if (flag != 0)
+			{
+			    fprintf (stderr,
+				     "32632: Unexpected IsGeographic result (%d)\n",
+				     flag);
+			    goto error;
+			}
+		      flag = sqlite3_column_int (stmt, 2);
+		      if (flag != 1)
+			{
+			    fprintf (stderr,
+				     "32632: Unexpected IsProjected result (%d)\n",
+				     flag);
+			    goto error;
+			}
+		      flag = sqlite3_column_int (stmt, 3);
+		      if (flag != 0)
+			{
+			    fprintf (stderr,
+				     "32632: Unexpected HasFlippedAxes result (%d)\n",
+				     flag);
+			    goto error;
+			}
+		      if (extended)
+			{
+			    value =
+				(const char *) sqlite3_column_text (stmt, 4);
+			    if (strcasecmp (value, "WGS 84") != 0)
+			      {
+				  fprintf (stderr,
+					   "32632: Unexpected GetSpheroid result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 5);
+			    if (strcasecmp (value, "Greenwich") != 0)
+			      {
+				  fprintf (stderr,
+					   "32632: Unexpected GetPrimeMeridian result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 6);
+			    if (strcasecmp (value, "WGS_1984") != 0)
+			      {
+				  fprintf (stderr,
+					   "32632: Unexpected GetDatum result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 7);
+			    if (strcasecmp (value, "metre") != 0)
+			      {
+				  fprintf (stderr,
+					   "32632: Unexpected GetUnit result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    if (sqlite3_column_type (stmt, 8) == SQLITE_TEXT)
+			      {
+				  value =
+				      (const char *) sqlite3_column_text (stmt,
+									  8);
+				  if (strcasecmp (value, "Transverse_Mercator")
+				      != 0)
+				    {
+					fprintf (stderr,
+						 "32632: Unexpected GetProjection result (%s)\n",
+						 value);
+					goto error;
+				    }
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 9);
+			    if (strcasecmp (value, "Easting") != 0)
+			      {
+				  fprintf (stderr,
+					   "32632: Unexpected GetAxis_1_Name result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 10);
+			    if (strcasecmp (value, "East") != 0)
+			      {
+				  fprintf (stderr,
+					   "32632: Unexpected GetAxis_1_Orientation result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 11);
+			    if (strcasecmp (value, "Northing") != 0)
+			      {
+				  fprintf (stderr,
+					   "32632: Unexpected GetAxis_2_Name result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			    value =
+				(const char *) sqlite3_column_text (stmt, 12);
+			    if (strcasecmp (value, "North") != 0)
+			      {
+				  fprintf (stderr,
+					   "32632: Unexpected GetAxis_2_Orientation result (%s)\n",
+					   value);
+				  goto error;
+			      }
+			}
+		  }
+	    }
+	  else
+	      goto error;
+      }
+    sqlite3_finalize (stmt);
+    return 1;
+
+  error:
+    if (stmt != NULL)
+	sqlite3_finalize (stmt);
+    return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+    sqlite3 *db_handle = NULL;
+    int ret;
+    char *err_msg = NULL;
+    void *cache = spatialite_alloc_connection ();
+
+    if (argc > 1 || argv[0] == NULL)
+	argc = 1;		/* silencing stupid compiler warnings */
+
+    ret =
+	sqlite3_open_v2 (":memory:", &db_handle,
+			 SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "cannot open in-memory db: %s\n",
+		   sqlite3_errmsg (db_handle));
+	  sqlite3_close (db_handle);
+	  db_handle = NULL;
+	  return -1;
+      }
+
+    spatialite_init_ex (db_handle, cache, 0);
+
+    ret =
+	sqlite3_exec (db_handle, "SELECT InitSpatialMetadata(1)", NULL, NULL,
+		      &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (db_handle);
+	  return -2;
+      }
+
+/* Step #1: testing via "spatial_ref_sys_aux" */
+    ret = test_srid (db_handle, 1);
+    if (!ret)
+      {
+	  sqlite3_close (db_handle);
+	  return -3;
+      }
+
+    ret =
+	sqlite3_exec (db_handle, "DROP VIEW spatial_ref_sys_all", NULL, NULL,
+		      &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "DROP VIEW error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (db_handle);
+	  return -4;
+      }
+    ret =
+	sqlite3_exec (db_handle, "DROP TABLE spatial_ref_sys_aux", NULL, NULL,
+		      &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "DROP VIEW error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (db_handle);
+	  return -4;
+      }
+
+/* Step #2: testing via WKT */
+    ret = test_srid (db_handle, 1);
+    if (!ret)
+      {
+	  sqlite3_close (db_handle);
+	  return -5;
+      }
+
+    ret =
+	sqlite3_exec (db_handle, "UPDATE spatial_ref_sys SET srtext = ' '",
+		      NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "UPDATE WKT error: %s\n", err_msg);
+	  sqlite3_free (err_msg);
+	  sqlite3_close (db_handle);
+	  return -6;
+      }
+
+/* Step #3: testing via proj4 */
+    ret = test_srid (db_handle, 0);
+    if (!ret)
+      {
+	  sqlite3_close (db_handle);
+	  return -7;
+      }
+
+    sqlite3_close (db_handle);
+    spatialite_cleanup_ex (cache);
+    spatialite_shutdown ();
+
+    return 0;
+}
diff --git a/test/check_styling.c b/test/check_styling.c
index 84df8eb..87ebe38 100644
--- a/test/check_styling.c
+++ b/test/check_styling.c
@@ -51,6 +51,35 @@ the terms of any one of the MPL, the GPL or the LGPL.
 #include "sqlite3.h"
 #include "spatialite.h"
 
+int
+execute_check (sqlite3 * sqlite, const char *sql, char **error)
+{
+/* executing an SQL statement returning True/False */
+    sqlite3_stmt *stmt;
+    int ret;
+    int retcode = 0;
+
+    if (error != NULL)
+	*error = NULL;
+    ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  if (error != NULL)
+	      *error = sqlite3_mprintf ("%s", sqlite3_errmsg (sqlite));
+	  return SQLITE_ERROR;
+      }
+    ret = sqlite3_step (stmt);
+    if (ret == SQLITE_DONE || ret == SQLITE_ROW)
+      {
+	  if (sqlite3_column_int (stmt, 0) == 1)
+	      retcode = 1;
+      }
+    sqlite3_finalize (stmt);
+    if (retcode == 1)
+	return SQLITE_OK;
+    return SQLITE_ERROR;
+}
+
 static unsigned char *
 load_blob (const char *path, int *blob_len)
 {
@@ -125,606 +154,1668 @@ build_hex_blob (const unsigned char *blob, int blob_len)
     return hex;
 }
 
-int
-main (int argc, char *argv[])
+static int
+check_vector (sqlite3 * handle, void *cache)
 {
+/* testing Vector Styles */
     int ret;
-    sqlite3 *handle;
     char *err_msg = NULL;
-    char **results;
-    int rows;
-    int columns;
+    char *sql;
     unsigned char *blob;
     int blob_len;
     char *hexBlob;
     unsigned char *xml;
     int len;
-    char *sql;
-    void *cache = spatialite_alloc_connection ();
-
-    if (argc > 1 || argv[0] == NULL)
-	argc = 1;		/* silencing stupid compiler warnings */
-
-    ret =
-	sqlite3_open_v2 (":memory:", &handle,
-			 SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
-    if (ret != SQLITE_OK)
-      {
-	  fprintf (stderr, "cannot open in-memory db: %s\n",
-		   sqlite3_errmsg (handle));
-	  sqlite3_close (handle);
-	  return -1;
-      }
-
-    spatialite_init_ex (handle, cache, 0);
 
-    ret =
-	sqlite3_exec (handle, "SELECT InitSpatialMetadata(1, 'WGS84')", NULL,
-		      NULL, &err_msg);
+/* testing External Graphic */
+    blob = load_blob ("empty.png", &blob_len);
+    if (blob == NULL)
+	return -4;
+    hexBlob = build_hex_blob (blob, blob_len);
+    free (blob);
+    if (hexBlob == NULL)
+	return -5;
+    sql =
+	sqlite3_mprintf ("SELECT SE_RegisterExternalGraphic('url-A', x%Q)",
+			 hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Unexpected InitSpatialMetadata result: %i, (%s)\n",
-		   ret, err_msg);
+	  fprintf (stderr, "Error RegisterExternalGraphic #1: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
-	  return -2;
+	  return -6;
       }
 
-#ifdef ENABLE_LIBXML2		/* only if LIBXML2 is supported */
-
-    ret =
-	sqlite3_get_table (handle, "SELECT CreateStylingTables(1)", &results,
-			   &rows, &columns, &err_msg);
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterExternalGraphic('url-A', x%Q, 'title', 'abstract', 'file_name')",
+	 hexBlob);
+    free (hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error CreateStylingTables: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterExternalGraphic #2: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
-	  return -3;
-      }
-    if ((rows != 1) || (columns != 1))
-      {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -4;
-      }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
-      {
-	  fprintf (stderr, "Unexpected #0 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -5;
+	  return -7;
       }
-    sqlite3_free_table (results);
 
-    blob = load_blob ("empty.png", &blob_len);
-    if (blob == NULL)
-	return -6;
+    xml = load_xml ("thunderstorm_mild.svg", &len);
+    if (xml == NULL)
+	return -8;
+    gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
+    free (xml);
     hexBlob = build_hex_blob (blob, blob_len);
     free (blob);
     if (hexBlob == NULL)
-	return -7;
+	return -9;
     sql =
-	sqlite3_mprintf ("SELECT RegisterExternalGraphic('url-A', x%Q)",
+	sqlite3_mprintf ("SELECT SE_RegisterExternalGraphic('url-A', x%Q)",
 			 hexBlob);
-    ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
+    ret = execute_check (handle, sql, &err_msg);
     sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterExternalGraphic #1: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterExternalGraphic #3: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
-	  return -8;
-      }
-    if ((rows != 1) || (columns != 1))
-      {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -9;
-      }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
-      {
-	  fprintf (stderr, "Unexpected #1 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
 	  return -10;
       }
-    sqlite3_free_table (results);
 
     sql =
 	sqlite3_mprintf
-	("SELECT RegisterExternalGraphic('url-A', x%Q, 'title', 'abstract', 'file_name')",
+	("SELECT SE_RegisterExternalGraphic('url-B', x%Q, 'title', 'abstract', 'file_name')",
 	 hexBlob);
-    ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
     free (hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
     sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterExternalGraphic #2: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterExternalGraphic #4: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return -11;
       }
-    if ((rows != 1) || (columns != 1))
+
+/* creating two  vector Tables */
+    sql = "CREATE TABLE table1 (id INTEGER PRIMARY KEY AUTOINCREMENT)";
+    ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
+	  fprintf (stderr, "Error Create Table table1: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
 	  return -12;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
+    sql = "CREATE TABLE table2 (id INTEGER PRIMARY KEY AUTOINCREMENT)";
+    ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Unexpected #2 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
+	  fprintf (stderr, "Error Create Table table2: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
 	  return -13;
       }
-    sqlite3_free_table (results);
-
-    xml = load_xml ("thunderstorm_mild.svg", &len);
-    if (xml == NULL)
-	return -14;
-    gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
-    free (xml);
-    if (blob == NULL)
+    sql = "SELECT AddGeometryColumn('table1', 'geom', 4326, 'POINT', 'XY')";
+    ret = execute_check (handle, sql, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "this is not a well-formed XML !!!\n");
+	  fprintf (stderr, "Error AddGeometryColumn table1: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -14;
+      }
+    sql = "SELECT AddGeometryColumn('table2', 'geom', 32632, 'POINT', 'XY')";
+    ret = execute_check (handle, sql, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error AddGeometryColumn table2: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
 	  return -15;
       }
-    hexBlob = build_hex_blob (blob, blob_len);
-    free (blob);
-    if (hexBlob == NULL)
-	return -16;
+
+/* registering two Vector Coverages */
+    sql = "SELECT SE_RegisterVectorCoverage('table1', 'table1', 'geom')";
+    ret = execute_check (handle, sql, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterVectorCoverage table1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -16;
+      }
     sql =
-	sqlite3_mprintf
-	("SELECT RegisterExternalGraphic('url-B', x%Q, 'title', 'abstract', 'file_name')",
-	 hexBlob);
-    ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
-    sqlite3_free (sql);
+	"SELECT SE_RegisterVectorCoverage('table2', 'table2', 'geom', 'title-2', 'abstract-2')";
+    ret = execute_check (handle, sql, &err_msg);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterExternalGraphic #3: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterVectorCoverage table2: %s\n\n",
+		   err_msg);
 	  sqlite3_free (err_msg);
 	  return -17;
       }
-    if ((rows != 1) || (columns != 1))
+    sql = "SELECT SE_SetVectorCoverageInfos('table1', 'title-1', 'abstract-1')";
+    ret = execute_check (handle, sql, &err_msg);
+    if (ret != SQLITE_OK)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
+	  fprintf (stderr, "Error RegisterVectorCoverage table1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
 	  return -18;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
+
+/* testing Vector Styles */
+    xml = load_xml ("stazioni_se.xml", &len);
+    if (xml == NULL)
+	return -19;
+    gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
+    free (xml);
+    if (blob == NULL)
       {
-	  fprintf (stderr, "Unexpected #3 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -19;
+	  fprintf (stderr, "this is not a well-formed XML !!!\n");
+	  return -20;
       }
-    sqlite3_free_table (results);
+    hexBlob = build_hex_blob (blob, blob_len);
+    free (blob);
+    if (hexBlob == NULL)
+	return -21;
 
-    sql =
-	sqlite3_mprintf ("SELECT RegisterExternalGraphic('url-B', x%Q)",
-			 hexBlob);
-    ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
-    free (hexBlob);
+/* Register Vector Styled Layer */
+    sql = sqlite3_mprintf ("SELECT SE_RegisterVectorStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
     sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterExternalGraphic #4: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterVectorStyle #1: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
-	  return -20;
-      }
-    if ((rows != 1) || (columns != 1))
-      {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -21;
-      }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
-      {
-	  fprintf (stderr, "Unexpected #4 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
 	  return -22;
       }
-    sqlite3_free_table (results);
 
-    ret =
-	sqlite3_exec (handle,
-		      "CREATE TABLE table1 (id INTEGER PRIMARY KEY AUTOINCREMENT)",
-		      NULL, NULL, &err_msg);
+    sql = sqlite3_mprintf ("SELECT SE_RegisterVectorStyledLayer('table1',  1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error Create Table table1: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterVectorStyledLayer #1: %s\n\n",
+		   err_msg);
 	  sqlite3_free (err_msg);
 	  return -23;
       }
-    ret =
-	sqlite3_get_table (handle,
-			   "SELECT AddGeometryColumn('table1', 'geom', 4326, 'POINT', 'XY')",
-			   &results, &rows, &columns, &err_msg);
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterVectorStyledLayer('table2', 'Railway Stations')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error AddGeometryColumn: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterVectorStyledLayer #2: %s\n\n",
+		   err_msg);
 	  sqlite3_free (err_msg);
 	  return -24;
       }
-    if ((rows != 1) || (columns != 1))
-      {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -25;
-      }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
-      {
-	  fprintf (stderr, "Unexpected #5 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -26;
-      }
-    sqlite3_free_table (results);
+    free (hexBlob);
 
-    xml = load_xml ("stazioni_se.xml", &len);
+    xml = load_xml ("stazioni2_se.xml", &len);
     if (xml == NULL)
-	return -27;
+	return -25;
     gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
     free (xml);
     if (blob == NULL)
       {
 	  fprintf (stderr, "this is not a well-formed XML !!!\n");
-	  return -28;
+	  return -26;
       }
     hexBlob = build_hex_blob (blob, blob_len);
     free (blob);
     if (hexBlob == NULL)
-	return -29;
-    sql =
-	sqlite3_mprintf
-	("SELECT RegisterVectorStyledLayer('table1', 'geom', x%Q)", hexBlob);
-    ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
+	return -27;
+
+    sql = sqlite3_mprintf ("SELECT SE_RegisterVectorStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
     sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterVectorStyledLayer #6: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterVectorStyle #2: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
-	  return -30;
+	  return -29;
       }
-    if ((rows != 1) || (columns != 1))
+
+    sql = sqlite3_mprintf ("SELECT SE_RegisterVectorStyledLayer('table2', 2)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -31;
+	  fprintf (stderr, "Error RegisterVectorStyledLayer #3: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -30;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
+
+    sql = sqlite3_mprintf ("SELECT SE_RegisterVectorStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
       {
-	  fprintf (stderr, "Unexpected #6 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -32;
+	  fprintf (stderr, "Error RegisterVectorStyle #3: %s\n\n",
+		   "expected failure");
+	  return -31;
       }
-    sqlite3_free_table (results);
 
-    sql =
-	sqlite3_mprintf
-	("SELECT RegisterVectorStyledLayer('table1', 'geom', 0, x%Q)", hexBlob);
-    free (hexBlob);
-    ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
+/* Reload Vector Style */
+    sql = sqlite3_mprintf ("SELECT SE_ReloadVectorStyle(12, x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
     sqlite3_free (sql);
-    if (ret != SQLITE_OK)
+    if (ret == SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterVectorStyledLayer #7: %s\n", err_msg);
-	  sqlite3_free (err_msg);
+	  fprintf (stderr, "Error ReloadVectorStyle #1: %s\n\n",
+		   "expected failure");
 	  return -33;
       }
-    if ((rows != 1) || (columns != 1))
+
+    sql = sqlite3_mprintf ("SELECT SE_ReloadVectorStyle(1, x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
+	  fprintf (stderr, "Error ReloadVectorStyle #2: %s\n\n",
+		   "expected failure");
 	  return -34;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_ReloadVectorStyle('Railway Stations', x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
       {
-	  fprintf (stderr, "Unexpected #7 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -35;
+	  fprintf (stderr, "Error ReloadVectorStyle #4: %s\n\n",
+		   "expected failure");
+	  return -36;
       }
-    sqlite3_free_table (results);
 
-    xml = load_xml ("raster_se.xml", &len);
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_ReloadVectorStyle('Railway Stations', x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error ReloadVectorStyle #5: %s\n\n",
+		   "expected failure");
+	  return -37;
+      }
+    free (hexBlob);
+
+    xml = load_xml ("stazioni_se.xml", &len);
     if (xml == NULL)
-	return -36;
+	return -35;
     gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
     free (xml);
     if (blob == NULL)
       {
 	  fprintf (stderr, "this is not a well-formed XML !!!\n");
-	  return -37;
+	  return -39;
       }
     hexBlob = build_hex_blob (blob, blob_len);
     free (blob);
     if (hexBlob == NULL)
-	return -38;
-    sql =
-	sqlite3_mprintf ("SELECT RegisterRasterStyledLayer('srtm', x%Q)",
-			 hexBlob);
-    ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
+	return -40;
+    sql = sqlite3_mprintf ("SELECT SE_ReloadVectorStyle(1, x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
     sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterRasterStyledLayer #8: %s\n", err_msg);
+	  fprintf (stderr, "Error ReloadVectorStyle #7: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
-	  return -39;
-      }
-    if ((rows != 1) || (columns != 1))
-      {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -40;
-      }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
-      {
-	  fprintf (stderr, "Unexpected #8 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
 	  return -41;
       }
-    sqlite3_free_table (results);
 
     sql =
-	sqlite3_mprintf ("SELECT RegisterRasterStyledLayer('srtm', 0, x%Q)",
-			 hexBlob);
-    free (hexBlob);
-    ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
+	sqlite3_mprintf
+	("SELECT SE_ReloadVectorStyle('Railway Stations 2', x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
     sqlite3_free (sql);
-    if (ret != SQLITE_OK)
+    if (ret == SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterRasterStyledLayer #9: %s\n", err_msg);
-	  sqlite3_free (err_msg);
+	  fprintf (stderr, "Error ReloadVectorStyle #8: %s\n\n",
+		   "expected failure");
 	  return -42;
       }
-    if ((rows != 1) || (columns != 1))
+    free (hexBlob);
+
+/* Unregister Vector Style */
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterVectorStyle(5)");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
+	  fprintf (stderr, "Error UnRegisterVectorStyle #1: %s\n\n",
+		   "expected failure");
 	  return -43;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterVectorStyle('alpha')");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
       {
-	  fprintf (stderr, "Unexpected #9 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
+	  fprintf (stderr, "Error UnRegisterVectorStyle #2: %s\n\n",
+		   "expected failure");
 	  return -44;
       }
-    sqlite3_free_table (results);
 
-    ret =
-	sqlite3_get_table (handle,
-			   "SELECT RegisterStyledGroup('group', 'srtm')",
-			   &results, &rows, &columns, &err_msg);
-    if (ret != SQLITE_OK)
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnRegisterVectorStyle('Railway Stations 2')");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterStyledGroup #10: %s\n", err_msg);
-	  sqlite3_free (err_msg);
+	  fprintf (stderr, "Error UnRegisterVectorStyle #3: %s\n\n",
+		   "expected failure");
 	  return -45;
       }
-    if ((rows != 1) || (columns != 1))
-      {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -46;
-      }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
-      {
-	  fprintf (stderr, "Unexpected #10 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -47;
-      }
-    sqlite3_free_table (results);
 
-    ret =
-	sqlite3_get_table (handle,
-			   "SELECT RegisterStyledGroup('group', 'table1', 'geom')",
-			   &results, &rows, &columns, &err_msg);
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnRegisterVectorStyle('Railway Stations 2', 1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterStyledGroup #11: %s\n", err_msg);
+	  fprintf (stderr, "Error UnRegisterVectorStyle #5: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
-	  return -48;
+	  return -47;
       }
-    if ((rows != 1) || (columns != 1))
+
+/* Register Vector Styled Layer: again */
+    xml = load_xml ("stazioni2_se.xml", &len);
+    if (xml == NULL)
+	return -48;
+    gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
+    free (xml);
+    if (blob == NULL)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
+	  fprintf (stderr, "this is not a well-formed XML !!!\n");
 	  return -49;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
-      {
-	  fprintf (stderr, "Unexpected #12 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -50;
-      }
-    sqlite3_free_table (results);
+    hexBlob = build_hex_blob (blob, blob_len);
+    free (blob);
+    if (hexBlob == NULL)
+	return -50;
 
-    ret =
-	sqlite3_get_table (handle,
-			   "SELECT RegisterStyledGroup('group', 'srtm', 4)",
-			   &results, &rows, &columns, &err_msg);
+    sql = sqlite3_mprintf ("SELECT SE_RegisterVectorStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterStyledGroup #13: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterVectorStyle #3: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
 	  return -51;
       }
-    if ((rows != 1) || (columns != 1))
-      {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -52;
-      }
-    if (strcmp (results[1 * columns + 0], "0") != 0)
+    free (hexBlob);
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterVectorStyledLayer('table1', 'Railway Stations 2')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Unexpected #13 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
+	  fprintf (stderr, "Error RegisterVectorStyledLayer #5: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
 	  return -53;
       }
-    sqlite3_free_table (results);
 
-    ret =
-	sqlite3_get_table (handle,
-			   "SELECT RegisterStyledGroup('group', 'table1', 'geom', 1)",
-			   &results, &rows, &columns, &err_msg);
+/* Unregister Vector Style Layer */
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnRegisterVectorStyledLayer('table1', 'Railway Stations 2')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterStyledGroup #14: %s\n", err_msg);
+	  fprintf (stderr, "Error UnregisterVectorStyledLayer #1: %s\n\n",
+		   err_msg);
 	  sqlite3_free (err_msg);
 	  return -54;
       }
-    if ((rows != 1) || (columns != 1))
+
+    sql =
+	sqlite3_mprintf ("SELECT SE_UnRegisterVectorStyledLayer('table1', 1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
+	  fprintf (stderr, "Error UnregisterVectorStyledLayer #2: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
 	  return -55;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
-      {
-	  fprintf (stderr, "Unexpected #14 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -56;
-      }
-    sqlite3_free_table (results);
 
-    ret =
-	sqlite3_get_table (handle,
-			   "SELECT SetStyledGroupInfos('group', 'title', 'abstract')",
-			   &results, &rows, &columns, &err_msg);
+/* unregister External Graphic */
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterExternalGraphic('url-A')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error SetStyledGroupInfos #15: %s\n", err_msg);
+	  fprintf (stderr, "Error UnRegisterExternalGraphic #1: %s\n\n",
+		   err_msg);
 	  sqlite3_free (err_msg);
-	  return -57;
+	  return -56;
       }
-    if ((rows != 1) || (columns != 1))
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterExternalGraphic('jeroboam')");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -58;
+	  fprintf (stderr, "Error UnRegisterExternalGraphic #2: %s\n\n",
+		   "expected failure");
+	  return -57;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
+
+    return 0;
+}
+
+static int
+check_raster (sqlite3 * handle, void *cache)
+{
+/* testing Raster Styles */
+    int ret;
+    char *err_msg = NULL;
+    char *sql;
+    unsigned char *blob;
+    int blob_len;
+    char *hexBlob;
+    unsigned char *xml;
+    int len;
+
+/* testing Raster Styles */
+    xml = load_xml ("raster_se.xml", &len);
+    if (xml == NULL)
+	return -4;
+    gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
+    free (xml);
+    if (blob == NULL)
       {
-	  fprintf (stderr, "Unexpected #15 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -59;
+	  fprintf (stderr, "this is not a well-formed XML !!!\n");
+	  return -5;
       }
-    sqlite3_free_table (results);
+    hexBlob = build_hex_blob (blob, blob_len);
+    free (blob);
+    if (hexBlob == NULL)
+	return -6;
 
-    ret =
-	sqlite3_get_table (handle,
-			   "SELECT SetStyledGroupInfos('group-bis', 'title', 'abstract')",
-			   &results, &rows, &columns, &err_msg);
+/* Register Raster Styled Layer */
+    sql = sqlite3_mprintf ("SELECT SE_RegisterRasterStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error SetStyledGroupInfos #16: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterRasterStyle #1: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
-	  return 60;
+	  return -7;
       }
-    if ((rows != 1) || (columns != 1))
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterRasterStyledLayer('coverage_srtm1', 1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -61;
+	  fprintf (stderr, "Error RegisterRasterStyledLayer #1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -8;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterRasterStyledLayer('coverage_srtm2', 'srtm_style')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Unexpected #16 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -62;
+	  fprintf (stderr, "Error RegisterRasterStyledLayer #2: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -9;
       }
-    sqlite3_free_table (results);
+    free (hexBlob);
 
-    xml = load_xml ("sld_sample.xml", &len);
+    xml = load_xml ("raster2_se.xml", &len);
     if (xml == NULL)
-	return -63;
+	return -10;
     gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
     free (xml);
     if (blob == NULL)
       {
 	  fprintf (stderr, "this is not a well-formed XML !!!\n");
-	  return -64;
+	  return -11;
       }
     hexBlob = build_hex_blob (blob, blob_len);
     free (blob);
     if (hexBlob == NULL)
-	return -65;
-    sql = sqlite3_mprintf ("SELECT RegisterGroupStyle('group', x%Q)", hexBlob);
-    ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
+	return -12;
+
+    sql = sqlite3_mprintf ("SELECT SE_RegisterRasterStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
     sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterGroupStyle #1: %s\n", err_msg);
+	  fprintf (stderr, "Error RegisterRasterStyle #2: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
-	  return -66;
+	  return -13;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterRasterStyledLayer('srtm2_style', 2)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterRasterStyledLayer #3: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -14;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_RegisterRasterStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterRasterStyle #3: %s\n\n",
+		   "expected failure");
+	  return -15;
+      }
+
+/* Reload Raster Style */
+    sql = sqlite3_mprintf ("SELECT SE_ReloadRasterStyle(12, x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error ReloadRasterStyle #1: %s\n\n",
+		   "expected failure");
+	  return -17;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_ReloadRasterStyle(1, x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error ReloadRasterStyle #2: %s\n\n",
+		   "expected failure");
+	  return -18;
       }
-    if ((rows != 1) || (columns != 1))
+
+    sql =
+	sqlite3_mprintf ("SELECT SE_ReloadRasterStyle('srtm_style', x%Q)",
+			 hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error ReloadRasterStyle #4: %s\n\n",
+		   "expected failure");
+	  return -20;
+      }
+    free (hexBlob);
+
+    xml = load_xml ("raster_se.xml", &len);
+    if (xml == NULL)
+	return -22;
+    gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
+    free (xml);
+    if (blob == NULL)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -67;
+	  fprintf (stderr, "this is not a well-formed XML !!!\n");
+	  return -23;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
+    hexBlob = build_hex_blob (blob, blob_len);
+    free (blob);
+    if (hexBlob == NULL)
+	return -24;
+    sql = sqlite3_mprintf ("SELECT SE_ReloadRasterStyle(1, x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Unexpected #1 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -68;
+	  fprintf (stderr, "Error ReloadRasterStyle #6: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -25;
       }
-    sqlite3_free_table (results);
 
     sql =
-	sqlite3_mprintf ("SELECT RegisterGroupStyle('group', 0, x%Q)", hexBlob);
+	sqlite3_mprintf
+	("SELECT SE_ReloadRasterrStyle('Railway Stations 2', x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error ReloadVRasterStyle #4: %s\n\n",
+		   "expected failure");
+	  return -26;
+      }
+    free (hexBlob);
+
+/* Unregister Raster Style */
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterRasterStyle(5)");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterRasterStyle #1: %s\n\n",
+		   "expected failure");
+	  return -27;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterRasterStyle('alpha')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterRasterStyle #2: %s\n\n",
+		   "expected failure");
+	  return -28;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterRasterStyle('srtm2_style')");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterRasterStyle #3: %s\n\n",
+		   "expected failure");
+	  return -29;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterRasterStyle('srtm2_style', 1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterRasterStyle #4: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -31;
+      }
+
+/* Register Raster Styled Layer: again */
+    xml = load_xml ("raster2_se.xml", &len);
+    if (xml == NULL)
+	return -32;
+    gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
+    free (xml);
+    if (blob == NULL)
+      {
+	  fprintf (stderr, "this is not a well-formed XML !!!\n");
+	  return -33;
+      }
+    hexBlob = build_hex_blob (blob, blob_len);
+    free (blob);
+    if (hexBlob == NULL)
+	return -34;
+
+    sql = sqlite3_mprintf ("SELECT SE_RegisterRasterStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterRasterStyle #5: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -35;
+      }
     free (hexBlob);
-    ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg);
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterRasterStyledLayer('coverage_srtm1', 'srtm2_style')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterRasterStyledLayer #5: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -37;
+      }
+
+/* Unregister Raster Style Layer */
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnRegisterRasterStyledLayer('coverage_srtm1', 'srtm2_style')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnregisterRasterStyledLayer #1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -39;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnRegisterRasterStyledLayer('coverage_srtm1', 1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnregisterRasterStyledLayer #2: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -40;
+      }
+
+    return 0;
+}
+
+static int
+check_group (sqlite3 * handle, void *cache)
+{
+/* testing Group Styles */
+    int ret;
+    char *err_msg = NULL;
+    char *sql;
+    unsigned char *blob;
+    int blob_len;
+    char *hexBlob;
+    unsigned char *xml;
+    int len;
+
+/* testing Groups */
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupRaster('group1', 'coverage_srtm1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupRaster #1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -4;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_SetStyledGroupInfos('group1', 'title', 'abstract')");
+    ret = execute_check (handle, sql, &err_msg);
     sqlite3_free (sql);
     if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Error RegisterGroupStyle #2: %s\n", err_msg);
+	  fprintf (stderr, "Error SetStyledGroupInfos #1: %s\n\n", err_msg);
 	  sqlite3_free (err_msg);
-	  return -69;
+	  return -5;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupVector('group1', 'table1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupVector #1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -6;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupVector('group1', 'table2')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupVector #2: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -7;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_SetStyledGroupInfos('group1', 'changed title', 'changed abstract')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error SetStyledGroupInfos #2: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -8;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_SetStyledGroupInfos('group2', 'title2', 'abstract2')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error SetStyledGroupInfos #3: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -9;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupRaster('group2', 'coverage_srtm2')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupRaster #2: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -10;
       }
-    if ((rows != 1) || (columns != 1))
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupVector('group2', 'table1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
       {
-	  sqlite3_free_table (results);
-	  fprintf (stderr, "Unexpected row / column count: %i x %i\n", rows,
-		   columns);
-	  return -70;
+	  fprintf (stderr, "Error RegisterStyledGroupVector #3: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -11;
       }
-    if (strcmp (results[1 * columns + 0], "1") != 0)
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnregisterStyledGroupVector('group2', 'table1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
       {
-	  fprintf (stderr, "Unexpected #2 result (got %s, expected 1)",
-		   results[1 * columns + 0]);
-	  sqlite3_free_table (results);
-	  return -71;
+	  fprintf (stderr, "Error UnregisterStyledGroupVector #1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -12;
       }
-    sqlite3_free_table (results);
 
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupVector('group2', 'table2')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupVector #4: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -13;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupVector('group2', 'table1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupVector #5: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -14;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnregisterStyledGroupRaster('group2', 'coverage_srtm2')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnregisterStyledGroupRaster #2: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -15;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupRaster('group2', 'coverage_srtm1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupRaster #3: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -16;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupRaster('group2', 'coverage_srtm2')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupRaster #4: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -17;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnregisterStyledGroupLayer(8)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnregisterStyledGroupLayer #3: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -18;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_SetStyledGroupInfos('group3', 'title', 'abstract')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error SetStyledGroupInfos #4: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -19;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupRaster('group3', 'coverage_srtm1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroup #10: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -20;
+      }
+
+/* testing Paint Order */
+    sql = sqlite3_mprintf ("SELECT SE_SetStyledGroupLayerPaintOrder(7, 11)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error SetStyledGroupLayerPaintOrder #1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -21;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_SetStyledGroupVectorPaintOrder('group2', 'table2', 12)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error SetStyledGroupVectorPaintOrder #1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -22;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_SetStyledGroupRasterPaintOrder('group2', 'coverage_srtm2', 10)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error SetStyledGroupRasterPaintOrder #1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -23;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_SetStyledGroupLayerPaintOrder(3, -1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error SetStyledGroupLayerPaintOrder #2: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -24;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_SetStyledGroupVectorPaintOrder('group1', 'table1', -1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error SetStyledGroupLayerPaintOrder #3: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -25;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_SetStyledGroupRasterPaintOrder('group1', 'coverage_srtm1', -1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error SetStyledGroupRasterPaintOrder #2: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -26;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnregisterStyledGroup('group2')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnregisterStyledGroup #1: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -27;
+      }
+
+    xml = load_xml ("sld_sample.xml", &len);
+    if (xml == NULL)
+	return -29;
+    gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
+    free (xml);
+    if (blob == NULL)
+      {
+	  fprintf (stderr, "this is not a well-formed XML !!!\n");
+	  return -30;
+      }
+    hexBlob = build_hex_blob (blob, blob_len);
+    free (blob);
+    if (hexBlob == NULL)
+	return -31;
+
+/* Register Styled Group Style */
+    sql = sqlite3_mprintf ("SELECT SE_RegisterGroupStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterGroupStyle #1: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -32;
+      }
+    free (hexBlob);
+
+    xml = load_xml ("sld_sample2.xml", &len);
+    if (xml == NULL)
+	return -33;
+    gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
+    free (xml);
+    if (blob == NULL)
+      {
+	  fprintf (stderr, "this is not a well-formed XML !!!\n");
+	  return -34;
+      }
+    hexBlob = build_hex_blob (blob, blob_len);
+    free (blob);
+    if (hexBlob == NULL)
+	return -35;
+
+    sql = sqlite3_mprintf ("SELECT SE_RegisterGroupStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterGroupStyle #2: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -36;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_ReloadGroupStyle(1, x%Q)", hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error ReloadGroupStyle #1: %s\n\n",
+		   "expected failure");
+	  return -37;
+      }
+
+    sql =
+	sqlite3_mprintf ("SELECT SE_ReloadGroupStyle('group style 1', x%Q)",
+			 hexBlob);
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error ReloadGroupStyle #2: %s\n\n",
+		   "expected failure");
+	  return -38;
+      }
+
+    sql =
+	sqlite3_mprintf ("SELECT SE_ReloadGroupStyle('group style 2', x%Q)",
+			 hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error ReloadGroupStyle #3: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -39;
+      }
+    free (hexBlob);
+
+    xml = load_xml ("sld_sample.xml", &len);
+    if (xml == NULL)
+	return -42;
+    gaiaXmlToBlob (cache, xml, len, 1, NULL, &blob, &blob_len, NULL, NULL);
+    free (xml);
+    if (blob == NULL)
+      {
+	  fprintf (stderr, "this is not a well-formed XML !!!\n");
+	  return -43;
+      }
+    hexBlob = build_hex_blob (blob, blob_len);
+    free (blob);
+    if (hexBlob == NULL)
+	return -44;
+
+    sql = sqlite3_mprintf ("SELECT SE_UnregisterGroupStyle('group style 1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnregisterGroupStyle #2: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -46;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_RegisterGroupStyle(x%Q)", hexBlob);
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterGroupStyle #4: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -47;
+      }
+    free (hexBlob);
+
+    /* testing Styled Group Styles */
+    sql = sqlite3_mprintf ("SELECT SE_RegisterStyledGroupStyle('group1', 2)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupStyle #2: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -50;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupStyle('group1', 'group style 1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupStyle #3: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -51;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterStyledGroupStyle('group2', 'group style 1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterStyledGroupStyle #3: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -52;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterStyledGroupStyle('group1', 3)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterStyledGroupStyle #1: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -53;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnRegisterStyledGroupStyle('group2', 'group style 1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterStyledGroupStyle #2: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -54;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterGroupStyle(2, 1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterGroupStyle #3: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -55;
+      }
+
+    sql =
+	sqlite3_mprintf ("SELECT SE_UnRegisterGroupStyle('group style 1', 1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterGroupStyle #4: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -56;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterVectorStyle(1, 1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnregisterVectorStyle #6: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -57;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterRasterStyle(1)");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnregisterRasterStyle #5: %s\n\n",
+		   "expected failure");
+	  return -58;
+      }
+
+    return 0;
+}
+
+static int
+check_extent (sqlite3 * handle)
+{
+/* testing Vector Coverage Extents */
+    int ret;
+    char *err_msg = NULL;
+    char *sql;
+
+/* inserting more alternative SRIDs */
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterVectorCoverageSrid('table1', 32632)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterVectorCoverageSrid #1 %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -1;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterVectorCoverageSrid('table2', 4326)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterVectorCoverageSrid #2 %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -2;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterVectorCoverageSrid('table2', 32633)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterVectorCoverageSrid #3 %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -3;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterVectorCoverageSrid('table2', 32632)");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterVectorCoverageSrid #4 %s\n\n",
+		   "expected failure");
+	  return -4;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterVectorCoverageSrid('table99', 4326)");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterVectorCoverageSrid #5 %s\n\n",
+		   "expected failure");
+	  return -5;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterVectorCoverageSrid('table99', 4326)");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterVectorCoverageSrid #6 %s\n\n",
+		   "expected failure");
+	  return -6;
+      }
+
+/* inserting few Points just to set an Extent */
+    sql =
+	sqlite3_mprintf
+	("INSERT INTO table1 (id, geom) VALUES (NULL, MakePoint(11.4, 42.3, 4326))");
+    ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error Insert Point #1 %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -7;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("INSERT INTO table1 (id, geom) VALUES (NULL, MakePoint(11.8, 42.3, 4326))");
+    ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error Insert Point #2 %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -8;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("INSERT INTO table1 (id, geom) VALUES (NULL, MakePoint(11.8, 43.2, 4326))");
+    ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error Insert Point #3 %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -9;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("INSERT INTO table2 (id, geom) VALUES (NULL, MakePoint(697831.5121, 4685875.1570, 32632))");
+    ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error Insert Point #4 %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -10;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("INSERT INTO table2 (id, geom) VALUES (NULL, MakePoint(696831.123, 4685875.456, 32632))");
+    ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error Insert Point #5 %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -11;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("INSERT INTO table2 (id, geom) VALUES (NULL, MakePoint(696531.9876, 4688875.4321, 32632))");
+    ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error Insert Point #6 %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -12;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UpdateVectorCoverageExtent(1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UpdateVectorCoverageExtent #1 %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -13;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnRegisterVectorCoverageSrid('table2', 4326)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterVectorCoverageSrid #1 %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -14;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnRegisterVectorCoverageSrid('table2', 32632)");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterVectorCoverageSrid #2 %s\n\n",
+		   "expected failure");
+	  return -15;
+      }
+
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_UnRegisterVectorCoverageSrid('table99', 4326)");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterVectorCoverageSrid #3 %s\n\n",
+		   "expected failure");
+	  return -16;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterVectorCoverage('table1')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterVectorCoverage #1 %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -17;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterVectorCoverage('table99')");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterVectorCoverage #2 %s\n\n",
+		   "expected failure");
+	  return -18;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UpdateVectorCoverageExtent('table2', 1)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UpdateVectorCoverageExtent #2 %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -19;
+      }
+
+    sql = sqlite3_mprintf ("SELECT SE_UnRegisterVectorCoverage('table1')");
+    ret = execute_check (handle, sql, NULL);
+    sqlite3_free (sql);
+    if (ret == SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UnRegisterVectorCoverage #3 %s\n\n",
+		   "expected failure");
+	  return -20;
+      }
+
+/* creating a furher vector Tables */
+    sql = "CREATE TABLE tablex (id INTEGER PRIMARY KEY AUTOINCREMENT)";
+    ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error Create Table table3: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -21;
+      }
+    sql = "SELECT AddGeometryColumn('tablex', 'geom', 4326, 'POINT', 'XY')";
+    ret = execute_check (handle, sql, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error AddGeometryColumn tablex: %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -22;
+      }
+    sql = "SELECT SE_RegisterVectorCoverage('tablex', 'tablex', 'geom')";
+    ret = execute_check (handle, sql, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterVectorCoverage tablex: %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -23;
+      }
+    sql =
+	sqlite3_mprintf
+	("SELECT SE_RegisterVectorCoverageSrid('tablex', 32632)");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error RegisterVectorCoverageSrid #7 %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -24;
+      }
+    sql = sqlite3_mprintf ("SELECT SE_UpdateVectorCoverageExtent('tablex')");
+    ret = execute_check (handle, sql, &err_msg);
+    sqlite3_free (sql);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error UpdateVectorCoverageExtent #3 %s\n\n",
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -25;
+      }
+
+    return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+    int ret;
+    sqlite3 *handle;
+    char *err_msg = NULL;
+    char *sql;
+    void *cache = spatialite_alloc_connection ();
+
+    if (argc > 1 || argv[0] == NULL)
+	argc = 1;		/* silencing stupid compiler warnings */
+
+    ret =
+	sqlite3_open_v2 (":memory:", &handle,
+			 SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "cannot open in-memory db: %s\n",
+		   sqlite3_errmsg (handle));
+	  sqlite3_close (handle);
+	  return -1;
+      }
+
+    spatialite_init_ex (handle, cache, 0);
+
+    sql = "SELECT InitSpatialMetadata(1, 'WGS84')";
+    ret = execute_check (handle, sql, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr,
+		   "Unexpected InitSpatialMetadata result: %i, (%s)\n", ret,
+		   err_msg);
+	  sqlite3_free (err_msg);
+	  return -2;
+      }
+
+#ifdef ENABLE_LIBXML2		/* only if LIBXML2 is supported */
+
+/* creating the Styling Tables */
+    sql = "SELECT CreateStylingTables(1)";
+    ret = execute_check (handle, sql, &err_msg);
+    if (ret != SQLITE_OK)
+      {
+	  fprintf (stderr, "Error CreateStylingTables %s\n\n", err_msg);
+	  sqlite3_free (err_msg);
+	  return -3;
+      }
+
+    ret = check_vector (handle, cache);
+    if (ret != 0)
+	return -100 - ret;
+
+    ret = check_raster (handle, cache);
+    if (ret != 0)
+	return -200 - ret;
+
+    ret = check_group (handle, cache);
+    if (ret != 0)
+	return -300 - ret;
+
+    ret = check_extent (handle);
+    if (ret != 0)
+	return -400 - ret;
 
 #endif
 
diff --git a/test/gpkg_test.gpkg b/test/gpkg_test.gpkg
index 427b370..d57f048 100644
Binary files a/test/gpkg_test.gpkg and b/test/gpkg_test.gpkg differ
diff --git a/test/gpkg_test_broken.gpkg b/test/gpkg_test_broken.gpkg
new file mode 100644
index 0000000..9f69f57
Binary files /dev/null and b/test/gpkg_test_broken.gpkg differ
diff --git a/test/gpkg_test_extrasrid.gpkg b/test/gpkg_test_extrasrid.gpkg
new file mode 100644
index 0000000..454a728
Binary files /dev/null and b/test/gpkg_test_extrasrid.gpkg differ
diff --git a/test/raster2_se.xml b/test/raster2_se.xml
new file mode 100644
index 0000000..8fb5140
--- /dev/null
+++ b/test/raster2_se.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RasterSymbolizer version="1.1.0" xsi:schemaLocation="http://www.opengis.net/se http://schemas.opengis.net/se/1.1.0/Symbolizer.xsd" xmlns="http://www.opengis.net/se" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<Name>srtm2_style</Name>
+	<Description>
+		<Title>yet another SRTM Color Map</Title>
+		<Abstract>derived from the original "srtm_plus" color rule (GRASS GIS)</Abstract>
+	</Description>
+	<Opacity>1.0</Opacity>
+	<ColorMap>
+		<Interpolate fallbackValue="#ffffff">
+			<LookupValue>Rasterdata</LookupValue>
+			<InterpolationPoint>
+				<Data>-11000.00000000</Data>
+				<Value>#000000</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>-8000.00000000</Data>
+				<Value>#000032</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>-5000.00000000</Data>
+				<Value>#0a0a64</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>-3000.00000000</Data>
+				<Value>#1e1e96</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>-1000.00000000</Data>
+				<Value>#4646c8</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>-100.00000000</Data>
+				<Value>#6464e1</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>0.00000000</Data>
+				<Value>#aaaaff</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>0.10000000</Data>
+				<Value>#399769</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>100.00000000</Data>
+				<Value>#75c25d</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>500.00000000</Data>
+				<Value>#e6e680</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>1000.00000000</Data>
+				<Value>#ca9e4b</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>2000.00000000</Data>
+				<Value>#b99a64</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>3000.00000000</Data>
+				<Value>#dcdcdc</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>5000.00000000</Data>
+				<Value>#ffffff</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>8850.00000000</Data>
+				<Value>#6464c8</Value>
+			</InterpolationPoint>
+		</Interpolate>
+	</ColorMap>
+	<ShadedRelief/>
+</RasterSymbolizer>
diff --git a/test/raster_se.xml b/test/raster_se.xml
index bdb85d9..0d62614 100644
--- a/test/raster_se.xml
+++ b/test/raster_se.xml
@@ -1,42 +1,75 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
-  <Name>SLD raster - basic test</Name>
-  <NamedLayer>
-    <Name>raster - basic test</Name>
-    <UserStyle>
-      <Title>raster - fantasy raster</Title>
-      <Abstract>a style using "dont't care" rendering</Abstract>
-      <FeatureTypeStyle>
-        <Rule>
-          <Title>fantasy raster</Title>
-          <MinScaleDenominator>2000000</MinScaleDenominator>
-          <RasterSymbolizer>
-<Opacity>1.0</Opacity>
-<ColorMap><ColorMapEntry color="#00ff00" quantity="-500"/>
-<ColorMapEntry color="#00fa00" quantity="-417"/>
-<ColorMapEntry color="#14f500" quantity="-333"/>
-<ColorMapEntry color="#28f502" quantity="-250"/>
-<ColorMapEntry color="#3cf505" quantity="-167"/>
-<ColorMapEntry color="#50f50a" quantity="-83"/>
-<ColorMapEntry color="#64f014" quantity="-1"/>
-<ColorMapEntry color="#7deb32" quantity="0"/>
-<ColorMapEntry color="#78c818" quantity="30"/>
-<ColorMapEntry color="#38840c" quantity="105"/>
-<ColorMapEntry color="#2c4b04" quantity="300"/>
-<ColorMapEntry color="#ffff00" quantity="400"/>
-<ColorMapEntry color="#dcdc00" quantity="700"/>
-<ColorMapEntry color="#b47800" quantity="1200"/>
-<ColorMapEntry color="#c85000" quantity="1400"/>
-<ColorMapEntry color="#be4100" quantity="1600"/>
-<ColorMapEntry color="#963000" quantity="2000"/>
-<ColorMapEntry color="#3c0200" quantity="3000"/>
-<ColorMapEntry color="#ffffff" quantity="5000"/>
-<ColorMapEntry color="#ffffff" quantity="13000"/>
-</ColorMap>
-<ShadedRelief/>
+<?xml version="1.0" encoding="UTF-8"?>
+<RasterSymbolizer version="1.1.0" xsi:schemaLocation="http://www.opengis.net/se http://schemas.opengis.net/se/1.1.0/Symbolizer.xsd" xmlns="http://www.opengis.net/se" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<Name>srtm_style</Name>
+	<Description>
+		<Title>SRTM Color Map</Title>
+		<Abstract>derived from the original "srtm_plus" color rule (GRASS GIS)</Abstract>
+	</Description>
+	<Opacity>1.0</Opacity>
+	<ColorMap>
+		<Interpolate fallbackValue="#ffffff">
+			<LookupValue>Rasterdata</LookupValue>
+			<InterpolationPoint>
+				<Data>-11000.00000000</Data>
+				<Value>#000000</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>-8000.00000000</Data>
+				<Value>#000032</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>-5000.00000000</Data>
+				<Value>#0a0a64</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>-3000.00000000</Data>
+				<Value>#1e1e96</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>-1000.00000000</Data>
+				<Value>#4646c8</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>-100.00000000</Data>
+				<Value>#6464e1</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>0.00000000</Data>
+				<Value>#aaaaff</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>0.10000000</Data>
+				<Value>#399769</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>100.00000000</Data>
+				<Value>#75c25d</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>500.00000000</Data>
+				<Value>#e6e680</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>1000.00000000</Data>
+				<Value>#ca9e4b</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>2000.00000000</Data>
+				<Value>#b99a64</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>3000.00000000</Data>
+				<Value>#dcdcdc</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>5000.00000000</Data>
+				<Value>#ffffff</Value>
+			</InterpolationPoint>
+			<InterpolationPoint>
+				<Data>8850.00000000</Data>
+				<Value>#6464c8</Value>
+			</InterpolationPoint>
+		</Interpolate>
+	</ColorMap>
+	<ShadedRelief/>
 </RasterSymbolizer>
-        </Rule>
-      </FeatureTypeStyle>
-    </UserStyle>
-  </NamedLayer>
-</StyledLayerDescriptor>
diff --git a/test/sld_sample.xml b/test/sld_sample.xml
index 18b4e8e..ee31eaf 100644
--- a/test/sld_sample.xml
+++ b/test/sld_sample.xml
@@ -4,7 +4,7 @@
 	xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
 	xmlns:se="http://www.opengis.net/se" xmlns:xlink="http://www.w3.org/1999/xlink"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-	<se:Name>trento_ShRel_draped</se:Name>
+	<se:Name>group style 1</se:Name>
 	<se:Description>
 		<se:Title>Trento: Shaded Relief Orthophoto</se:Title>
 		<se:Abstract>RGB aerial orthophoto draped over LIDAR DEM with Shaded Relief</se:Abstract>
diff --git a/test/sld_sample2.xml b/test/sld_sample2.xml
new file mode 100644
index 0000000..456df8f
--- /dev/null
+++ b/test/sld_sample2.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<StyledLayerDescriptor version="1.1.0" 
+	xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd" 
+	xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
+	xmlns:se="http://www.opengis.net/se" xmlns:xlink="http://www.w3.org/1999/xlink"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<se:Name>group style 2</se:Name>
+	<se:Description>
+		<se:Title>Trento: Shaded Relief Orthophoto</se:Title>
+		<se:Abstract>RGB aerial orthophoto draped over LIDAR DEM with Shaded Relief</se:Abstract>
+	</se:Description>
+	<NamedLayer>
+		<se:Name>lidar_dem</se:Name>
+		<NamedStyle>
+			<se:Name>shaded_relief_default</se:Name>
+		</NamedStyle>
+	</NamedLayer>
+	<NamedLayer>
+		<se:Name>ortophoto</se:Name>
+	</NamedLayer>
+</StyledLayerDescriptor>
diff --git a/test/sql_stmt_cache_tests/Makefile.am b/test/sql_stmt_cache_tests/Makefile.am
new file mode 100644
index 0000000..afd56b8
--- /dev/null
+++ b/test/sql_stmt_cache_tests/Makefile.am
@@ -0,0 +1,13 @@
+
+EXTRA_DIST = amphibious1.testcase \
+	amphibious2.testcase \
+	precision1.testcase \
+	precision2.testcase \
+	precision3.testcase \
+	precision4.testcase \
+	precision5.testcase \
+	precision6.testcase \
+	precision7.testcase  \
+	gpkg1.testcase \
+	gpkg2.testcase 
+	
diff --git a/test/sql_stmt_cache_tests/Makefile.in b/test/sql_stmt_cache_tests/Makefile.in
new file mode 100644
index 0000000..346e8e8
--- /dev/null
+++ b/test/sql_stmt_cache_tests/Makefile.in
@@ -0,0 +1,460 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = test/sql_stmt_cache_tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_ at AM_V@)
+am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GEOSCONFIG = @GEOSCONFIG@
+GEOS_CFLAGS = @GEOS_CFLAGS@
+GEOS_LDFLAGS = @GEOS_LDFLAGS@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = amphibious1.testcase \
+	amphibious2.testcase \
+	precision1.testcase \
+	precision2.testcase \
+	precision3.testcase \
+	precision4.testcase \
+	precision5.testcase \
+	precision6.testcase \
+	precision7.testcase  \
+	gpkg1.testcase \
+	gpkg2.testcase 
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_cache_tests/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign test/sql_stmt_cache_tests/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/test/sql_stmt_cache_tests/amphibious1.testcase b/test/sql_stmt_cache_tests/amphibious1.testcase
new file mode 100644
index 0000000..802fad4
--- /dev/null
+++ b/test/sql_stmt_cache_tests/amphibious1.testcase
@@ -0,0 +1,9 @@
+GPKG amphibious mode - enable
+:memory:
+SELECT EnableGpkgAmphibiousMode(), GetGpkgAmphibiousMode();
+1 # rows
+2 # column
+EnableGpkgAmphibiousMode()
+GetGpkgAmphibiousMode()
+(NULL)
+1
diff --git a/test/sql_stmt_cache_tests/amphibious2.testcase b/test/sql_stmt_cache_tests/amphibious2.testcase
new file mode 100644
index 0000000..a31be68
--- /dev/null
+++ b/test/sql_stmt_cache_tests/amphibious2.testcase
@@ -0,0 +1,9 @@
+GPKG amphibious mode - disable
+:memory:
+SELECT DisableGpkgAmphibiousMode(), GetGpkgAmphibiousMode();
+1 # rows
+2 # column
+DisableGpkgAmphibiousMode()
+GetGpkgAmphibiousMode();
+(NULL)
+0
diff --git a/test/sql_stmt_cache_tests/gpkg1.testcase b/test/sql_stmt_cache_tests/gpkg1.testcase
new file mode 100644
index 0000000..21c163a
--- /dev/null
+++ b/test/sql_stmt_cache_tests/gpkg1.testcase
@@ -0,0 +1,9 @@
+GPKG mode - enable
+:memory:
+SELECT EnableGpkgMode(), GetGpkgMode();
+1 # rows
+2 # column
+EnableGpkgMode()
+GetGpkgMode()
+(NULL)
+0
diff --git a/test/sql_stmt_cache_tests/gpkg2.testcase b/test/sql_stmt_cache_tests/gpkg2.testcase
new file mode 100644
index 0000000..dc69d6c
--- /dev/null
+++ b/test/sql_stmt_cache_tests/gpkg2.testcase
@@ -0,0 +1,9 @@
+GPKG mode - disable
+:memory:
+SELECT DisableGpkgMode(), GetGpkgMode();
+1 # rows
+2 # column
+DisableGpkgMode()
+GetGpkgMode();
+(NULL)
+0
diff --git a/test/sql_stmt_cache_tests/precision1.testcase b/test/sql_stmt_cache_tests/precision1.testcase
new file mode 100644
index 0000000..075d3e5
--- /dev/null
+++ b/test/sql_stmt_cache_tests/precision1.testcase
@@ -0,0 +1,9 @@
+decimal precision - 10
+:memory:
+SELECT SetDecimalPrecision(10), GetDecimalPrecision();
+1 # rows
+2 # column
+SetDecimalPrecision(10)
+GetDecimalPrecision()
+(NULL)
+10
diff --git a/test/sql_stmt_cache_tests/precision2.testcase b/test/sql_stmt_cache_tests/precision2.testcase
new file mode 100644
index 0000000..40d4c53
--- /dev/null
+++ b/test/sql_stmt_cache_tests/precision2.testcase
@@ -0,0 +1,9 @@
+decimal precision - 100
+:memory:
+SELECT SetDecimalPrecision(100), GetDecimalPrecision();
+1 # rows
+2 # column
+SetDecimalPrecision(100)
+GetDecimalPrecision()
+(NULL)
+18
diff --git a/test/sql_stmt_cache_tests/precision3.testcase b/test/sql_stmt_cache_tests/precision3.testcase
new file mode 100644
index 0000000..94fd8f8
--- /dev/null
+++ b/test/sql_stmt_cache_tests/precision3.testcase
@@ -0,0 +1,9 @@
+decimal precision - -100
+:memory:
+SELECT SetDecimalPrecision(-100), GetDecimalPrecision();
+1 # rows
+2 # column
+SetDecimalPrecision(-100)
+GetDecimalPrecision()
+(NULL)
+-1
diff --git a/test/sql_stmt_cache_tests/precision4.testcase b/test/sql_stmt_cache_tests/precision4.testcase
new file mode 100644
index 0000000..01607e5
--- /dev/null
+++ b/test/sql_stmt_cache_tests/precision4.testcase
@@ -0,0 +1,7 @@
+decimal precision - NULL
+:memory:
+SELECT SetDecimalPrecision(NULL);
+1 # rows
+1 # column
+SetDecimalPrecision(NULL)
+(NULL)
diff --git a/test/sql_stmt_cache_tests/precision5.testcase b/test/sql_stmt_cache_tests/precision5.testcase
new file mode 100644
index 0000000..e2ed174
--- /dev/null
+++ b/test/sql_stmt_cache_tests/precision5.testcase
@@ -0,0 +1,7 @@
+decimal precision - TEXT
+:memory:
+SELECT SetDecimalPrecision('aleph');
+1 # rows
+1 # column
+SetDecimalPrecision('aleph')
+(NULL)
diff --git a/test/sql_stmt_cache_tests/precision6.testcase b/test/sql_stmt_cache_tests/precision6.testcase
new file mode 100644
index 0000000..08882f5
--- /dev/null
+++ b/test/sql_stmt_cache_tests/precision6.testcase
@@ -0,0 +1,7 @@
+decimal precision - DOUBLE
+:memory:
+SELECT SetDecimalPrecision(1.5);
+1 # rows
+1 # column
+SetDecimalPrecision(1.5)
+(NULL)
diff --git a/test/sql_stmt_cache_tests/precision7.testcase b/test/sql_stmt_cache_tests/precision7.testcase
new file mode 100644
index 0000000..b2d053a
--- /dev/null
+++ b/test/sql_stmt_cache_tests/precision7.testcase
@@ -0,0 +1,7 @@
+decimal precision - BLOB
+:memory:
+SELECT SetDecimalPrecision(zeroblob(10));
+1 # rows
+1 # column
+SetDecimalPrecision(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_freexl_tests/Makefile.in b/test/sql_stmt_freexl_tests/Makefile.in
index 9c3561c..41a424f 100644
--- a/test/sql_stmt_freexl_tests/Makefile.in
+++ b/test/sql_stmt_freexl_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_freexl_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -263,7 +274,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_freexl_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_freexl_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -438,6 +448,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/sql_stmt_geopackage_tests/Makefile.am b/test/sql_stmt_geopackage_tests/Makefile.am
index 8b873a9..201346d 100644
--- a/test/sql_stmt_geopackage_tests/Makefile.am
+++ b/test/sql_stmt_geopackage_tests/Makefile.am
@@ -71,4 +71,13 @@ EXTRA_DIST = asgpb1.testcase \
 	makepointzm6.testcase \
 	makepointzm7.testcase \
 	makepointzm8.testcase \
-	makepointzm9.testcase 
+	makepointzm9.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase 
+	
diff --git a/test/sql_stmt_geopackage_tests/Makefile.in b/test/sql_stmt_geopackage_tests/Makefile.in
index 57550c9..83ff3a4 100644
--- a/test/sql_stmt_geopackage_tests/Makefile.in
+++ b/test/sql_stmt_geopackage_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_geopackage_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -312,7 +323,15 @@ EXTRA_DIST = asgpb1.testcase \
 	makepointzm6.testcase \
 	makepointzm7.testcase \
 	makepointzm8.testcase \
-	makepointzm9.testcase 
+	makepointzm9.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase \
+	transform_geopackage1.testcase 
 
 all: all-am
 
@@ -329,7 +348,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_geopackage_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_geopackage_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -504,6 +522,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/sql_stmt_geopackage_tests/transform_geopackage1.testcase b/test/sql_stmt_geopackage_tests/transform_geopackage1.testcase
new file mode 100644
index 0000000..91da0b7
--- /dev/null
+++ b/test/sql_stmt_geopackage_tests/transform_geopackage1.testcase
@@ -0,0 +1,7 @@
+transform - null args
+gpkg_test.gpkg
+SELECT Transform(NULL, NULL)
+1 # rows (not including the header row)
+1 # columns
+Transform(NULL, NULL)
+(NULL)
diff --git a/test/sql_stmt_geos_tests/Makefile.in b/test/sql_stmt_geos_tests/Makefile.in
index 9b819fa..29cfa81 100644
--- a/test/sql_stmt_geos_tests/Makefile.in
+++ b/test/sql_stmt_geos_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_geos_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -1000,7 +1011,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_geos_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_geos_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1175,6 +1185,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/sql_stmt_geos_tests/hexgrid20.testcase b/test/sql_stmt_geos_tests/hexgrid20.testcase
index b78c96d..ef3914a 100644
--- a/test/sql_stmt_geos_tests/hexgrid20.testcase
+++ b/test/sql_stmt_geos_tests/hexgrid20.testcase
@@ -4,4 +4,4 @@ SELECT AsText(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.
 1 # rows (not including the header row)
 1 # columns
 AsText(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 0, GeomFromText('POINT(0.1 0.1)')))
-MULTIPOLYGON(((0.1 0.966025, 0.6 0.1, 1.6 0.1, 2.1 0.966025, 1.6 1.832051, 0.6 1.832051, 0.1 0.966025)), ((1.6 1.832051, 2.1 0.966025, 3.1 0.966025, 3.6 1.832051, 3.1 2.698076, 2.1 2.698076, 1.6 1.832051)))
+MULTIPOLYGON(((0.1 0.1, 0.6 -0.766025, 1.6 -0.766025, 2.1 0.1, 1.6 0.966025, 0.6 0.966025, 0.1 0.1)), ((-1.4 0.966025, -0.9 0.1, 0.1 0.1, 0.6 0.966025, 0.1 1.832051, -0.9 1.832051, -1.4 0.966025)), ((1.6 0.966025, 2.1 0.1, 3.1 0.1, 3.6 0.966025, 3.1 1.832051, 2.1 1.832051, 1.6 0.966025)), ((0.1 1.832051, 0.6 0.966025, 1.6 0.966025, 2.1 1.832051, 1.6 2.698076, 0.6 2.698076, 0.1 1.832051)))
diff --git a/test/sql_stmt_geos_tests/hexgrid21.testcase b/test/sql_stmt_geos_tests/hexgrid21.testcase
index 4642174..310cb8d 100644
--- a/test/sql_stmt_geos_tests/hexgrid21.testcase
+++ b/test/sql_stmt_geos_tests/hexgrid21.testcase
@@ -4,7 +4,4 @@ SELECT AsText(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.
 1 # rows (not including the header row)
 1 # columns
 AsText(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0))
-MULTIPOLYGON(((0 0.866025, 0.5 0, 1.5 0, 2 0.866025, 1.5 1.732051, 0.5 1.732051, 0 0.866025)), ((1.5 1.732051, 2 0.866025, 3 0.866025, 3.5 1.732051, 3 2.598076, 2 2.598076, 1.5 1.732051)))
-
-
-
+MULTIPOLYGON(((0 0, 0.5 -0.866025, 1.5 -0.866025, 2 0, 1.5 0.866025, 0.5 0.866025, 0 0)), ((-1.5 0.866025, -1 0, 0 0, 0.5 0.866025, 0 1.732051, -1 1.732051, -1.5 0.866025)), ((1.5 0.866025, 2 0, 3 0, 3.5 0.866025, 3 1.732051, 2 1.732051, 1.5 0.866025)), ((0 1.732051, 0.5 0.866025, 1.5 0.866025, 2 1.732051, 1.5 2.598076, 0.5 2.598076, 0 1.732051)))
diff --git a/test/sql_stmt_geos_tests/hexgrid22.testcase b/test/sql_stmt_geos_tests/hexgrid22.testcase
index f887c40..bad8a9c 100644
--- a/test/sql_stmt_geos_tests/hexgrid22.testcase
+++ b/test/sql_stmt_geos_tests/hexgrid22.testcase
@@ -4,4 +4,4 @@ SELECT ST_Length(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2,
 1 # rows (not including the header row)
 1 # columns
 ST_Length(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)')))
-12.0
+22.0
diff --git a/test/sql_stmt_geos_tests/hexgrid23.testcase b/test/sql_stmt_geos_tests/hexgrid23.testcase
index 4978418..a54198f 100644
--- a/test/sql_stmt_geos_tests/hexgrid23.testcase
+++ b/test/sql_stmt_geos_tests/hexgrid23.testcase
@@ -4,4 +4,4 @@ SELECT ST_Length(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2,
 1 # rows (not including the header row)
 1 # columns
 ST_Length(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1))
-11.0
+19.0
diff --git a/test/sql_stmt_geos_tests/offsetcurve1.testcase b/test/sql_stmt_geos_tests/offsetcurve1.testcase
index dcd2f63..828ed11 100644
--- a/test/sql_stmt_geos_tests/offsetcurve1.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve1.testcase
@@ -1,9 +1,9 @@
-OffsetCurve - non-int side
+OffsetCurve - non-num radius
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), 1, "hello"));
+SELECT AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), 'alpha'));
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), 1, "hello"))
+AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), 'alpha'))
 (NULL)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve10.testcase b/test/sql_stmt_geos_tests/offsetcurve10.testcase
index 6097b3c..c09a5bc 100644
--- a/test/sql_stmt_geos_tests/offsetcurve10.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve10.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - multilinestring, 1 linestring
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('MULTILINESTRING((0 0, 0 1, 4 1, 4 0))'), 1, 0));
+SELECT AsText(OffsetCurve(GeomFromText('MULTILINESTRING((0 0, 0 1, 4 1, 4 0))'), -1));
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('MULTILINESTRING((0 0, 0 1, 4 1, 4 0))'), 1, 0))
+AsText(OffsetCurve(GeomFromText('MULTILINESTRING((0 0, 0 1, 4 1, 4 0))'), -1))
 LINESTRING(3 0, 1 0)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve11.testcase b/test/sql_stmt_geos_tests/offsetcurve11.testcase
index 06ce475..68318b5 100644
--- a/test/sql_stmt_geos_tests/offsetcurve11.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve11.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - multilinestring, 2 linestring
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('MULTILINESTRING((0 0, 0 1, 4 1, 4 0),(4 1, 3 2))'), 1, 0))
+SELECT AsText(OffsetCurve(GeomFromText('MULTILINESTRING((0 0, 0 1, 4 1, 4 0),(4 1, 3 2))'), 1))
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('MULTILINESTRING((0 0, 0 1, 4 1, 4 0),(4 1, 3 2))'), 1, 0))
+AsText(OffsetCurve(GeomFromText('MULTILINESTRING((0 0, 0 1, 4 1, 4 0),(4 1, 3 2))'), 1))
 (NULL)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve12.testcase b/test/sql_stmt_geos_tests/offsetcurve12.testcase
index 0947e28..de7547f 100644
--- a/test/sql_stmt_geos_tests/offsetcurve12.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve12.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - linestringz
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('LINESTRINGZ(0 0 1, 0 1 2, 4 1 2, 4 0 1)'), 1, 0))
+SELECT AsText(OffsetCurve(GeomFromText('LINESTRINGZ(0 0 1, 0 1 2, 4 1 2, 4 0 1)'), -1))
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('LINESTRINGZ(0 0 1, 0 1 2, 4 1 2, 4 0 1)'), 1, 0))
+AsText(OffsetCurve(GeomFromText('LINESTRINGZ(0 0 1, 0 1 2, 4 1 2, 4 0 1)'), -1))
 LINESTRING Z(3 0 0, 1 0 0)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve13.testcase b/test/sql_stmt_geos_tests/offsetcurve13.testcase
index cfdd6f8..1d184d9 100644
--- a/test/sql_stmt_geos_tests/offsetcurve13.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve13.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - linestringm
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('LINESTRINGM(0 0 1, 0 1 2, 4 1 2, 4 0 1)'), 1, 0))
+SELECT AsText(OffsetCurve(GeomFromText('LINESTRINGM(0 0 1, 0 1 2, 4 1 2, 4 0 1)'), -1))
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('LINESTRINGM(0 0 1, 0 1 2, 4 1 2, 4 0 1)'), 1, 0))
+AsText(OffsetCurve(GeomFromText('LINESTRINGM(0 0 1, 0 1 2, 4 1 2, 4 0 1)'), -1))
 LINESTRING M(3 0 0, 1 0 0)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve14.testcase b/test/sql_stmt_geos_tests/offsetcurve14.testcase
index ac88cc1..9d7b0d9 100644
--- a/test/sql_stmt_geos_tests/offsetcurve14.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve14.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - linestringzm
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('LINESTRINGZM(0 0 1 4, 0 1 2 4, 4 1 2 4, 4 0 1 4)'), 1, 0))
+SELECT AsText(OffsetCurve(GeomFromText('LINESTRINGZM(0 0 1 4, 0 1 2 4, 4 1 2 4, 4 0 1 4)'), -1))
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('LINESTRINGZM(0 0 1 4, 0 1 2 4, 4 1 2 4, 4 0 1 4)'), 1, 0))
+AsText(OffsetCurve(GeomFromText('LINESTRINGZM(0 0 1 4, 0 1 2 4, 4 1 2 4, 4 0 1 4)'), -1))
 LINESTRING ZM(3 0 0 0, 1 0 0 0)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve2.testcase b/test/sql_stmt_geos_tests/offsetcurve2.testcase
index 66c7bbe..55dfe6b 100644
--- a/test/sql_stmt_geos_tests/offsetcurve2.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve2.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - polygon
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('POLYGON((0 0, 0 1, 4 1, 4 0, 0 0))'), 1, 0));
+SELECT AsText(OffsetCurve(GeomFromText('POLYGON((0 0, 0 1, 4 1, 4 0, 0 0))'), 1));
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('POLYGON((0 0, 0 1, 4 1, 4 0, 0 0))'), 1, 0))
+AsText(OffsetCurve(GeomFromText('POLYGON((0 0, 0 1, 4 1, 4 0, 0 0))'), 1))
 (NULL)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve3.testcase b/test/sql_stmt_geos_tests/offsetcurve3.testcase
index 7bac8d1..0fe8b6f 100644
--- a/test/sql_stmt_geos_tests/offsetcurve3.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve3.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - null
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(null, 1, 0));
+SELECT AsText(OffsetCurve(null, 1));
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(null, 1, 0))
+AsText(OffsetCurve(null, 1))
 (NULL)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve4.testcase b/test/sql_stmt_geos_tests/offsetcurve4.testcase
index 185dfbe..098d15d 100644
--- a/test/sql_stmt_geos_tests/offsetcurve4.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve4.testcase
@@ -1,9 +1,9 @@
 OffsetCurve
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), 1, 0));
+SELECT AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), -1));
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), 1, 0))
+AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), -1))
 LINESTRING(3 0, 1 0)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve5.testcase b/test/sql_stmt_geos_tests/offsetcurve5.testcase
index 419bb3d..2d38cd6 100644
--- a/test/sql_stmt_geos_tests/offsetcurve5.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve5.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - non-number radius
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), "not a number", 0));
+SELECT AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), "not a number"));
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), "not a number", 0))
+AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), "not a number"))
 (NULL)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve6.testcase b/test/sql_stmt_geos_tests/offsetcurve6.testcase
index 2efb49e..6223114 100644
--- a/test/sql_stmt_geos_tests/offsetcurve6.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve6.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - float radius
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), 1.0, 0));
+SELECT AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), -1.0));
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), 1.0, 0))
+AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0)'), -1.0))
 LINESTRING(3 0, 1 0)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve7.testcase b/test/sql_stmt_geos_tests/offsetcurve7.testcase
index cbed3b0..f2fa5a3 100644
--- a/test/sql_stmt_geos_tests/offsetcurve7.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve7.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - zeroblob
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(zeroblob(40), 1, 0));
+SELECT AsText(OffsetCurve(zeroblob(40), 1));
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(zeroblob(40), 1, 0))
+AsText(OffsetCurve(zeroblob(40), 1))
 (NULL)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve8.testcase b/test/sql_stmt_geos_tests/offsetcurve8.testcase
index 47db790..620536d 100644
--- a/test/sql_stmt_geos_tests/offsetcurve8.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve8.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - points
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('MULTIPOINT(0 0, 0 1, 4 1, 4 0)'), 1, 0));
+SELECT AsText(OffsetCurve(GeomFromText('MULTIPOINT(0 0, 0 1, 4 1, 4 0)'), 1));
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('MULTIPOINT(0 0, 0 1, 4 1, 4 0)'), 1, 0))
+AsText(OffsetCurve(GeomFromText('MULTIPOINT(0 0, 0 1, 4 1, 4 0)'), 1))
 (NULL)
 
 
diff --git a/test/sql_stmt_geos_tests/offsetcurve9.testcase b/test/sql_stmt_geos_tests/offsetcurve9.testcase
index 44255aa..733e4b8 100644
--- a/test/sql_stmt_geos_tests/offsetcurve9.testcase
+++ b/test/sql_stmt_geos_tests/offsetcurve9.testcase
@@ -1,9 +1,9 @@
 OffsetCurve - closed linestring
 :memory: #use in-memory database
-SELECT AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0, 0 0)'), 1, 0));
+SELECT AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0, 0 0)'), 1));
 1 # rows (not including the header row)
 1 # columns
-AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0, 0 0)'), 1, 0))
+AsText(OffsetCurve(GeomFromText('LINESTRING(0 0, 0 1, 4 1, 4 0, 0 0)'), 1))
 (NULL)
 
 
diff --git a/test/sql_stmt_geos_tests/trianggrid20.testcase b/test/sql_stmt_geos_tests/trianggrid20.testcase
index 542ec00..830dc63 100644
--- a/test/sql_stmt_geos_tests/trianggrid20.testcase
+++ b/test/sql_stmt_geos_tests/trianggrid20.testcase
@@ -4,7 +4,4 @@ SELECT AsText(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0
 1 # rows (not including the header row)
 1 # columns
 AsText(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0))
-MULTIPOLYGON(((0 0.866025, 1 0.866025, 0.5 1.732051, 0 0.866025)), ((0.5 1.732051, 1 0.866025, 1.5 1.732051, 0.5 1.732051)), ((1 0.866025, 2 0.866025, 1.5 1.732051, 1 0.866025)), ((1.5 1.732051, 2 0.866025, 2.5 1.732051, 1.5 1.732051)), ((2 0.866025, 3 0.866025, 2.5 1.732051, 2 0.866025)))
-
-
-
+MULTIPOLYGON(((-0.5 0, 0.5 0, 0 0.866025, -0.5 0)), ((0 0.866025, 0.5 0, 1 0.866025, 0 0.866025)), ((0.5 0, 1.5 0, 1 0.866025, 0.5 0)), ((1 0.866025, 1.5 0, 2 0.866025, 1 0.866025)), ((1.5 0, 2.5 0, 2 0.866025, 1.5 0)), ((2 0.866025, 2.5 0, 3 0.866025, 2 0.866025)), ((0 0.866025, 1 0.866025, 0.5 1.732051, 0 0.866025)), ((0.5 1.732051, 1 0.866025, 1.5 1.732051, 0.5 1.732051)), ((1 0.866025, 2 0.866025, 1.5 1.732051, 1 0.866025)), ((1.5 1.732051, 2 0.866025, 2.5 1.732051, 1.5 1.732051)), ( [...]
diff --git a/test/sql_stmt_geos_tests/trianggrid21.testcase b/test/sql_stmt_geos_tests/trianggrid21.testcase
index d691017..65ef51a 100644
--- a/test/sql_stmt_geos_tests/trianggrid21.testcase
+++ b/test/sql_stmt_geos_tests/trianggrid21.testcase
@@ -4,4 +4,4 @@ SELECT AsText(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0
 1 # rows (not including the header row)
 1 # columns
 AsText(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 0, GeomFromText('POINT(0.1 0.1)')))
-MULTIPOLYGON(((-0.4 1.832051, 0.1 0.966025, 0.6 1.832051, -0.4 1.832051)), ((0.1 0.966025, 1.1 0.966025, 0.6 1.832051, 0.1 0.966025)), ((0.6 1.832051, 1.1 0.966025, 1.6 1.832051, 0.6 1.832051)), ((1.1 0.966025, 2.1 0.966025, 1.6 1.832051, 1.1 0.966025)), ((1.6 1.832051, 2.1 0.966025, 2.6 1.832051, 1.6 1.832051)), ((2.1 0.966025, 3.1 0.966025, 2.6 1.832051, 2.1 0.966025)))
+MULTIPOLYGON(((-0.5 0.1, 0.5 0.1, 0 0.966025, -0.5 0.1)), ((0 0.966025, 0.5 0.1, 1 0.966025, 0 0.966025)), ((0.5 0.1, 1.5 0.1, 1 0.966025, 0.5 0.1)), ((1 0.966025, 1.5 0.1, 2 0.966025, 1 0.966025)), ((1.5 0.1, 2.5 0.1, 2 0.966025, 1.5 0.1)), ((2 0.966025, 2.5 0.1, 3 0.966025, 2 0.966025)), ((0 0.966025, 1 0.966025, 0.5 1.832051, 0 0.966025)), ((0.5 1.832051, 1 0.966025, 1.5 1.832051, 0.5 1.832051)), ((1 0.966025, 2 0.966025, 1.5 1.832051, 1 0.966025)), ((1.5 1.832051, 2 0.966025, 2.5 1.8 [...]
diff --git a/test/sql_stmt_geos_tests/trianggrid22.testcase b/test/sql_stmt_geos_tests/trianggrid22.testcase
index c6a1fd9..5c08ffd 100644
--- a/test/sql_stmt_geos_tests/trianggrid22.testcase
+++ b/test/sql_stmt_geos_tests/trianggrid22.testcase
@@ -4,7 +4,7 @@ SELECT ST_Length(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2
 1 # rows (not including the header row)
 1 # columns
 ST_Length(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1))
-9.0
+18.0
 
 
 
diff --git a/test/sql_stmt_geos_tests/trianggrid23.testcase b/test/sql_stmt_geos_tests/trianggrid23.testcase
index f8826bf..ada451e 100644
--- a/test/sql_stmt_geos_tests/trianggrid23.testcase
+++ b/test/sql_stmt_geos_tests/trianggrid23.testcase
@@ -4,4 +4,4 @@ SELECT ST_Length(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2
 1 # rows (not including the header row)
 1 # columns
 ST_Length(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)')))
-12.0
+18.0
diff --git a/test/sql_stmt_geosadvanced_tests/Makefile.in b/test/sql_stmt_geosadvanced_tests/Makefile.in
index a9da1ee..f8fa487 100644
--- a/test/sql_stmt_geosadvanced_tests/Makefile.in
+++ b/test/sql_stmt_geosadvanced_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_geosadvanced_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -313,7 +324,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_geosadvanced_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_geosadvanced_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -488,6 +498,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/sql_stmt_libxml2_tests/Makefile.am b/test/sql_stmt_libxml2_tests/Makefile.am
index 0c86ef8..3789e2b 100644
--- a/test/sql_stmt_libxml2_tests/Makefile.am
+++ b/test/sql_stmt_libxml2_tests/Makefile.am
@@ -25,6 +25,11 @@ EXTRA_DIST = addfileid1.testcase \
 	createstyling4.testcase \
 	createstyling5.testcase \
 	createstyling6.testcase \
+	createstyling7.testcase \
+	createstyling8.testcase \
+	createstyling9.testcase \
+	createstyling10.testcase \
+	createstyling11.testcase \
 	getIsoMetaId1.testcase \
 	getIsoMetaId2.testcase \
 	getIsoMetaId3.testcase \
@@ -99,41 +104,29 @@ EXTRA_DIST = addfileid1.testcase \
 	registerGraphic7.testcase \
 	registerGraphic8.testcase \
 	registerGraphic9.testcase \
-	registerGroup14.testcase \
-	registerGroup15.testcase \
-	registerGroup16.testcase \
-	registerGroup17.testcase \
-	registerGroup18.testcase \
-	registerGroup1.testcase \
-	registerGroup25.testcase \
-	registerGroup26.testcase \
-	registerGroup27.testcase \
-	registerGroup28.testcase \
-	registerGroup29.testcase \
-	registerGroup2.testcase \
-	registerGroup3.testcase \
-	registerGroup4.testcase \
-	registerGroup5.testcase \
-	registerGroup6.testcase \
-	registerGroup7.testcase \
-	registerGroup8.testcase \
+	registerGroupRaster1.testcase \
+	registerGroupRaster2.testcase \
+	registerGroupRaster3.testcase \
+	registerGroupRaster4.testcase \
+	registerGroupRaster5.testcase \
+	registerGroupRaster6.testcase \
+	registerGroupRaster7.testcase \
+	registerGroupRaster8.testcase \
+	registerGroupRaster9.testcase \
+	registerGroupVector1.testcase \
+	registerGroupVector2.testcase \
+	registerGroupVector3.testcase \
+	registerGroupVector4.testcase \
+	registerGroupVector5.testcase \
+	registerGroupVector6.testcase \
+	registerGroupVector7.testcase \
+	registerGroupVector8.testcase \
+	registerGroupVector9.testcase \
 	registerGroupStyle1.testcase \
 	registerGroupStyle2.testcase \
 	registerGroupStyle3.testcase \
 	registerGroupStyle4.testcase \
 	registerGroupStyle5.testcase \
-	registerGroupStyle6.testcase \
-	registerGroupStyle7.testcase \
-	registerGroupStyle8.testcase \
-	registerGroupStyle9.testcase \
-	registerGroupStyle10.testcase \
-	registerGroupStyle11.testcase \
-	registerGroupStyle12.testcase \
-	registerGroupStyle13.testcase \
-	registerGroupStyle14.testcase \
-	registerGroupStyle15.testcase \
-	registerGroupStyle16.testcase \
-	registerGroupStyle17.testcase \
 	registerIsoMeta10.testcase \
 	registerIsoMeta11.testcase \
 	registerIsoMeta12.testcase \
@@ -148,14 +141,6 @@ EXTRA_DIST = addfileid1.testcase \
 	registerIsoMeta7.testcase \
 	registerIsoMeta8.testcase \
 	registerIsoMeta9.testcase \
-	registerRaster10.testcase \
-	registerRaster11.testcase \
-	registerRaster12.testcase \
-	registerRaster13.testcase \
-	registerRaster14.testcase \
-	registerRaster15.testcase \
-	registerRaster16.testcase \
-	registerRaster17.testcase \
 	registerRaster1.testcase \
 	registerRaster2.testcase \
 	registerRaster3.testcase \
@@ -165,28 +150,120 @@ EXTRA_DIST = addfileid1.testcase \
 	registerRaster7.testcase \
 	registerRaster8.testcase \
 	registerRaster9.testcase \
+	registerrasterkeyword1.testcase \
+	registerrasterkeyword2.testcase \
+	registerrasterkeyword3.testcase \
+	registerrasterkeyword4.testcase \
+	registerrasterkeyword5.testcase \
+	registerrasterkeyword6.testcase \
+	registerrasterkeyword7.testcase \
+	registerrasterkeyword8.testcase \
+	registerrasterkeyword9.testcase \
+	registerrastersrid1.testcase \
+	registerrastersrid2.testcase \
+	registerrastersrid3.testcase \
+	registerrastersrid4.testcase \
+	registerrastersrid5.testcase \
+	registerrastersrid6.testcase \
+	registerrastersrid7.testcase \
+	registerrastersrid8.testcase \
+	registerrastersrid9.testcase \
+	registerRasterStyle1.testcase \
+	registerRasterStyle2.testcase \
+	registerRasterStyle3.testcase \
+	registerRasterStyle4.testcase \
+	registerRasterStyle5.testcase \
+	registerStllGroupStyle1.testcase \
+	registerStllGroupStyle3.testcase \
+	registerStllGroupStyle3.testcase \
+	registerStllGroupStyle4.testcase \
+	registerStllGroupStyle5.testcase \
+	registerStllGroupStyle6.testcase \
+	registerStllGroupStyle7.testcase \
+	registerStllGroupStyle8.testcase \
+	registerStllGroupStyle9.testcase \
+	registerVector1.testcase \
 	registerVector10.testcase \
 	registerVector11.testcase \
 	registerVector12.testcase \
 	registerVector13.testcase \
-	registerVector14.testcase \
-	registerVector15.testcase \
-	registerVector16.testcase \
-	registerVector17.testcase \
-	registerVector18.testcase \
-	registerVector19.testcase \
-	registerVector1.testcase \
-	registerVector20.testcase \
-	registerVector21.testcase \
-	registerVector22.testcase \
 	registerVector2.testcase \
 	registerVector3.testcase \
 	registerVector4.testcase \
-	registerVector5.testcase \
-	registerVector6.testcase \
-	registerVector7.testcase \
-	registerVector8.testcase \
 	registerVector9.testcase \
+	registervectorcvg1.testcase \
+	registervectorcvg2.testcase \
+	registervectorcvg3.testcase \
+	registervectorcvg4.testcase \
+	registervectorcvg5.testcase \
+	registervectorcvg6.testcase \
+	registervectorcvg7.testcase \
+	registervectorcvg8.testcase \
+	registervectorcvg9.testcase \
+	registervectorcvg10.testcase \
+	registervectorcvg11.testcase \
+	registervectorcvg12.testcase \
+	registervectorcvg13.testcase \
+	registervectorcvg14.testcase \
+	registervectorcvg15.testcase \
+	registervectorcvg16.testcase \
+	registervectorcvg17.testcase \
+	registervectorcvg18.testcase \
+	registervectorcvg19.testcase \
+	registervectorcvg20.testcase \
+	registervectorcvg21.testcase \
+	registervectorcvg22.testcase \
+	registervectorkeyword1.testcase \
+	registervectorkeyword2.testcase \
+	registervectorkeyword3.testcase \
+	registervectorkeyword4.testcase \
+	registervectorkeyword5.testcase \
+	registervectorkeyword6.testcase \
+	registervectorkeyword7.testcase \
+	registervectorkeyword8.testcase \
+	registervectorkeyword9.testcase \
+	registervectorsrid1.testcase \
+	registervectorsrid2.testcase \
+	registervectorsrid3.testcase \
+	registervectorsrid4.testcase \
+	registervectorsrid5.testcase \
+	registervectorsrid6.testcase \
+	registervectorsrid7.testcase \
+	registervectorsrid8.testcase \
+	registervectorsrid9.testcase \
+	registerVectorStyle1.testcase \
+	registerVectorStyle2.testcase \
+	registerVectorStyle3.testcase \
+	registerVectorStyle4.testcase \
+	registerVectorStyle5.testcase \
+	reloadGroupStyle1.testcase \
+	reloadGroupStyle2.testcase \
+	reloadGroupStyle3.testcase \
+	reloadGroupStyle4.testcase \
+	reloadGroupStyle5.testcase \
+	reloadGroupStyle6.testcase \
+	reloadGroupStyle7.testcase \
+	reloadGroupStyle8.testcase \
+	reloadGroupStyle9.testcase \
+	reloadGroupStyle10.testcase \
+	reloadRasterStyle1.testcase \
+	reloadRasterStyle2.testcase \
+	reloadRasterStyle3.testcase \
+	reloadRasterStyle5.testcase \
+	reloadRasterStyle6.testcase \
+	reloadRasterStyle7.testcase \
+	reloadRasterStyle8.testcase \
+	reloadRasterStyle9.testcase \
+	reloadRasterStyle10.testcase \
+	reloadVectorStyle1.testcase \
+	reloadVectorStyle2.testcase \
+	reloadVectorStyle3.testcase \
+	reloadVectorStyle5.testcase \
+	reloadVectorStyle6.testcase \
+	reloadVectorStyle7.testcase \
+	reloadVectorStyle8.testcase \
+	reloadVectorStyle9.testcase \
+	reloadVectorStyle10.testcase \
 	setfileid1.testcase \
 	setfileid2.testcase \
 	setfileid3.testcase \
@@ -205,11 +282,219 @@ EXTRA_DIST = addfileid1.testcase \
 	setGroupInfos7.testcase \
 	setGroupInfos8.testcase \
 	setGroupInfos9.testcase \
+	setPaintOrder1.testcase \
+	setPaintOrder2.testcase \
+	setPaintOrder3.testcase \
+	setPaintOrder4.testcase \
+	setPaintOrder5.testcase \
+	setPaintOrder6.testcase \
+	setPaintOrder7.testcase \
+	setPaintOrder8.testcase \
+	setRasterPaintOrder1.testcase \
+	setRasterPaintOrder2.testcase \
+	setRasterPaintOrder3.testcase \
+	setRasterPaintOrder4.testcase \
+	setRasterPaintOrder5.testcase \
+	setRasterPaintOrder6.testcase \
+	setRasterPaintOrder7.testcase \
+	setRasterPaintOrder8.testcase \
+	setRasterPaintOrder9.testcase \
+	setRasterPaintOrder10.testcase \
+	setRasterPaintOrder11.testcase \
+	setRasterPaintOrder12.testcase \
+	setRasterPaintOrder13.testcase \
+	setVectorPaintOrder1.testcase \
+	setVectorPaintOrder2.testcase \
+	setVectorPaintOrder3.testcase \
+	setVectorPaintOrder4.testcase \
+	setVectorPaintOrder5.testcase \
+	setVectorPaintOrder6.testcase \
+	setVectorPaintOrder7.testcase \
+	setVectorPaintOrder8.testcase \
+	setVectorPaintOrder9.testcase \
+	setVectorPaintOrder10.testcase \
+	setVectorPaintOrder11.testcase \
+	setVectorPaintOrder12.testcase \
+	setVectorPaintOrder13.testcase \
 	setparentid1.testcase \
 	setparentid2.testcase \
 	setparentid3.testcase \
 	setparentid4.testcase \
 	setparentid5.testcase \
+	setvectorinfos1.testcase \
+	setvectorinfos2.testcase \
+	setvectorinfos3.testcase \
+	setvectorinfos4.testcase \
+	setvectorinfos5.testcase \
+	setvectorinfos6.testcase \
+	setvectorinfos7.testcase \
+	setvectorinfos8.testcase \
+	setvectorinfos9.testcase \
+	setvectorinfos10.testcase \
+	setvectorinfos11.testcase \
+	setvectorinfos12.testcase \
+	setvectorinfos13.testcase \
+	unregisterGraphic1.testcase \
+	unregisterGraphic2.testcase \
+	unregisterGraphic3.testcase \
+	unregisterGraphic4.testcase \
+	unregisterGraphic5.testcase \
+	unregisterGroup1.testcase \
+	unregisterGroup2.testcase \
+	unregisterGroup3.testcase \
+	unregisterGroup4.testcase \
+	unregisterGroup5.testcase \
+	unregisterGroupStyle1.testcase \
+	unregisterGroupStyle2.testcase \
+	unregisterGroupStyle3.testcase \
+	unregisterGroupStyle4.testcase \
+	unregisterGroupStyle5.testcase \
+	unregisterGroupStyle6.testcase \
+	unregisterGroupStyle7.testcase \
+	unregisterGroupStyle8.testcase \
+	unregisterGroupStyle9.testcase \
+	unregisterGroupStyle10.testcase \
+	unregisterGroupLayer1.testcase \
+	unregisterGroupLayer2.testcase \
+	unregisterGroupLayer3.testcase \
+	unregisterGroupLayer4.testcase \
+	unregisterGroupLayer5.testcase \
+	unregisterGroupRaster1.testcase \
+	unregisterGroupRaster2.testcase \
+	unregisterGroupRaster3.testcase \
+	unregisterGroupRaster4.testcase \
+	unregisterGroupRaster5.testcase \
+	unregisterGroupRaster6.testcase \
+	unregisterGroupRaster7.testcase \
+	unregisterGroupRaster8.testcase \
+	unregisterGroupRaster9.testcase \
+	unregisterGroupVector1.testcase \
+	unregisterGroupVector2.testcase \
+	unregisterGroupVector3.testcase \
+	unregisterGroupVector4.testcase \
+	unregisterGroupVector5.testcase \
+	unregisterGroupVector6.testcase \
+	unregisterGroupVector7.testcase \
+	unregisterGroupVector8.testcase \
+	unregisterGroupVector9.testcase \
+	unregisterRaster1.testcase \
+	unregisterRaster2.testcase \
+	unregisterRaster3.testcase \
+	unregisterRaster4.testcase \
+	unregisterRaster5.testcase \
+	unregisterRaster6.testcase \
+	unregisterRaster7.testcase \
+	unregisterRaster8.testcase \
+	unregisterRaster9.testcase \
+	unregisterrasterkeyword1.testcase \
+	unregisterrasterkeyword2.testcase \
+	unregisterrasterkeyword3.testcase \
+	unregisterrasterkeyword4.testcase \
+	unregisterrasterkeyword5.testcase \
+	unregisterrasterkeyword6.testcase \
+	unregisterrasterkeyword7.testcase \
+	unregisterrasterkeyword8.testcase \
+	unregisterrasterkeyword9.testcase \
+	unregisterrastersrid1.testcase \
+	unregisterrastersrid2.testcase \
+	unregisterrastersrid3.testcase \
+	unregisterrastersrid4.testcase \
+	unregisterrastersrid5.testcase \
+	unregisterrastersrid6.testcase \
+	unregisterrastersrid7.testcase \
+	unregisterrastersrid8.testcase \
+	unregisterrastersrid9.testcase \
+	unregisterRasterStyle1.testcase \
+	unregisterRasterStyle2.testcase \
+	unregisterRasterStyle3.testcase \
+	unregisterRasterStyle4.testcase \
+	unregisterRasterStyle5.testcase \
+	unregisterRasterStyle6.testcase \
+	unregisterRasterStyle7.testcase \
+	unregisterRasterStyle8.testcase \
+	unregisterRasterStyle9.testcase \
+	unregisterRasterStyle10.testcase \
+	unregisterStllGroupStyle1.testcase \
+	unregisterStllGroupStyle3.testcase \
+	unregisterStllGroupStyle3.testcase \
+	unregisterStllGroupStyle4.testcase \
+	unregisterStllGroupStyle5.testcase \
+	unregisterStllGroupStyle6.testcase \
+	unregisterStllGroupStyle7.testcase \
+	unregisterStllGroupStyle8.testcase \
+	unregisterStllGroupStyle9.testcase \
+	unregisterVector1.testcase \
+	unregisterVector2.testcase \
+	unregisterVector3.testcase \
+	unregisterVector4.testcase \
+	unregisterVector9.testcase \
+	unregisterVector10.testcase \
+	unregisterVector11.testcase \
+	unregisterVector12.testcase \
+	unregisterVector13.testcase \
+	unregistervectorcvg1.testcase \
+	unregistervectorcvg2.testcase \
+	unregistervectorcvg3.testcase \
+	unregistervectorcvg4.testcase \
+	unregistervectorcvg5.testcase \
+	unregistervectorkeyword1.testcase \
+	unregistervectorkeyword2.testcase \
+	unregistervectorkeyword3.testcase \
+	unregistervectorkeyword4.testcase \
+	unregistervectorkeyword5.testcase \
+	unregistervectorkeyword6.testcase \
+	unregistervectorkeyword7.testcase \
+	unregistervectorkeyword8.testcase \
+	unregistervectorkeyword9.testcase \
+	unregistervectorsrid1.testcase \
+	unregistervectorsrid2.testcase \
+	unregistervectorsrid3.testcase \
+	unregistervectorsrid4.testcase \
+	unregistervectorsrid5.testcase \
+	unregistervectorsrid6.testcase \
+	unregistervectorsrid7.testcase \
+	unregistervectorsrid8.testcase \
+	unregistervectorsrid9.testcase \
+	unregisterVectorStyle1.testcase \
+	unregisterVectorStyle2.testcase \
+	unregisterVectorStyle3.testcase \
+	unregisterVectorStyle4.testcase \
+	unregisterVectorStyle5.testcase \
+	unregisterVectorStyle6.testcase \
+	unregisterVectorStyle7.testcase \
+	unregisterVectorStyle8.testcase \
+	unregisterVectorStyle9.testcase \
+	unregisterVectorStyle10.testcase \
+	updaterasterextent1.testcase \
+	updaterasterextent2.testcase \
+	updaterasterextent3.testcase \
+	updaterasterextent4.testcase \
+	updaterasterextent5.testcase \
+	updaterasterextent6.testcase \
+	updaterasterextent7.testcase \
+	updaterasterextent8.testcase \
+	updaterasterextent9.testcase \
+	updaterasterextent10.testcase \
+	updaterasterextent11.testcase \
+	updaterasterextent12.testcase \
+	updaterasterextent13.testcase \
+	updaterasterextent14.testcase \
+	updaterasterextent15.testcase \
+	updatevectorextent1.testcase \
+	updatevectorextent2.testcase \
+	updatevectorextent3.testcase \
+	updatevectorextent4.testcase \
+	updatevectorextent5.testcase \
+	updatevectorextent6.testcase \
+	updatevectorextent7.testcase \
+	updatevectorextent8.testcase \
+	updatevectorextent9.testcase \
+	updatevectorextent10.testcase \
+	updatevectorextent11.testcase \
+	updatevectorextent12.testcase \
+	updatevectorextent13.testcase \
+	updatevectorextent14.testcase \
+	updatevectorextent15.testcase \
 	xmlblobgetabstract1.testcase \
 	xmlblobgetabstract2.testcase \
 	xmlblobgetabstract3.testcase \
diff --git a/test/sql_stmt_libxml2_tests/Makefile.in b/test/sql_stmt_libxml2_tests/Makefile.in
index 9d39232..e811d72 100644
--- a/test/sql_stmt_libxml2_tests/Makefile.in
+++ b/test/sql_stmt_libxml2_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_libxml2_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -266,6 +277,11 @@ EXTRA_DIST = addfileid1.testcase \
 	createstyling4.testcase \
 	createstyling5.testcase \
 	createstyling6.testcase \
+	createstyling7.testcase \
+	createstyling8.testcase \
+	createstyling9.testcase \
+	createstyling10.testcase \
+	createstyling11.testcase \
 	getIsoMetaId1.testcase \
 	getIsoMetaId2.testcase \
 	getIsoMetaId3.testcase \
@@ -340,41 +356,29 @@ EXTRA_DIST = addfileid1.testcase \
 	registerGraphic7.testcase \
 	registerGraphic8.testcase \
 	registerGraphic9.testcase \
-	registerGroup14.testcase \
-	registerGroup15.testcase \
-	registerGroup16.testcase \
-	registerGroup17.testcase \
-	registerGroup18.testcase \
-	registerGroup1.testcase \
-	registerGroup25.testcase \
-	registerGroup26.testcase \
-	registerGroup27.testcase \
-	registerGroup28.testcase \
-	registerGroup29.testcase \
-	registerGroup2.testcase \
-	registerGroup3.testcase \
-	registerGroup4.testcase \
-	registerGroup5.testcase \
-	registerGroup6.testcase \
-	registerGroup7.testcase \
-	registerGroup8.testcase \
+	registerGroupRaster1.testcase \
+	registerGroupRaster2.testcase \
+	registerGroupRaster3.testcase \
+	registerGroupRaster4.testcase \
+	registerGroupRaster5.testcase \
+	registerGroupRaster6.testcase \
+	registerGroupRaster7.testcase \
+	registerGroupRaster8.testcase \
+	registerGroupRaster9.testcase \
+	registerGroupVector1.testcase \
+	registerGroupVector2.testcase \
+	registerGroupVector3.testcase \
+	registerGroupVector4.testcase \
+	registerGroupVector5.testcase \
+	registerGroupVector6.testcase \
+	registerGroupVector7.testcase \
+	registerGroupVector8.testcase \
+	registerGroupVector9.testcase \
 	registerGroupStyle1.testcase \
 	registerGroupStyle2.testcase \
 	registerGroupStyle3.testcase \
 	registerGroupStyle4.testcase \
 	registerGroupStyle5.testcase \
-	registerGroupStyle6.testcase \
-	registerGroupStyle7.testcase \
-	registerGroupStyle8.testcase \
-	registerGroupStyle9.testcase \
-	registerGroupStyle10.testcase \
-	registerGroupStyle11.testcase \
-	registerGroupStyle12.testcase \
-	registerGroupStyle13.testcase \
-	registerGroupStyle14.testcase \
-	registerGroupStyle15.testcase \
-	registerGroupStyle16.testcase \
-	registerGroupStyle17.testcase \
 	registerIsoMeta10.testcase \
 	registerIsoMeta11.testcase \
 	registerIsoMeta12.testcase \
@@ -389,14 +393,6 @@ EXTRA_DIST = addfileid1.testcase \
 	registerIsoMeta7.testcase \
 	registerIsoMeta8.testcase \
 	registerIsoMeta9.testcase \
-	registerRaster10.testcase \
-	registerRaster11.testcase \
-	registerRaster12.testcase \
-	registerRaster13.testcase \
-	registerRaster14.testcase \
-	registerRaster15.testcase \
-	registerRaster16.testcase \
-	registerRaster17.testcase \
 	registerRaster1.testcase \
 	registerRaster2.testcase \
 	registerRaster3.testcase \
@@ -406,28 +402,120 @@ EXTRA_DIST = addfileid1.testcase \
 	registerRaster7.testcase \
 	registerRaster8.testcase \
 	registerRaster9.testcase \
+	registerrasterkeyword1.testcase \
+	registerrasterkeyword2.testcase \
+	registerrasterkeyword3.testcase \
+	registerrasterkeyword4.testcase \
+	registerrasterkeyword5.testcase \
+	registerrasterkeyword6.testcase \
+	registerrasterkeyword7.testcase \
+	registerrasterkeyword8.testcase \
+	registerrasterkeyword9.testcase \
+	registerrastersrid1.testcase \
+	registerrastersrid2.testcase \
+	registerrastersrid3.testcase \
+	registerrastersrid4.testcase \
+	registerrastersrid5.testcase \
+	registerrastersrid6.testcase \
+	registerrastersrid7.testcase \
+	registerrastersrid8.testcase \
+	registerrastersrid9.testcase \
+	registerRasterStyle1.testcase \
+	registerRasterStyle2.testcase \
+	registerRasterStyle3.testcase \
+	registerRasterStyle4.testcase \
+	registerRasterStyle5.testcase \
+	registerStllGroupStyle1.testcase \
+	registerStllGroupStyle3.testcase \
+	registerStllGroupStyle3.testcase \
+	registerStllGroupStyle4.testcase \
+	registerStllGroupStyle5.testcase \
+	registerStllGroupStyle6.testcase \
+	registerStllGroupStyle7.testcase \
+	registerStllGroupStyle8.testcase \
+	registerStllGroupStyle9.testcase \
+	registerVector1.testcase \
 	registerVector10.testcase \
 	registerVector11.testcase \
 	registerVector12.testcase \
 	registerVector13.testcase \
-	registerVector14.testcase \
-	registerVector15.testcase \
-	registerVector16.testcase \
-	registerVector17.testcase \
-	registerVector18.testcase \
-	registerVector19.testcase \
-	registerVector1.testcase \
-	registerVector20.testcase \
-	registerVector21.testcase \
-	registerVector22.testcase \
 	registerVector2.testcase \
 	registerVector3.testcase \
 	registerVector4.testcase \
-	registerVector5.testcase \
-	registerVector6.testcase \
-	registerVector7.testcase \
-	registerVector8.testcase \
 	registerVector9.testcase \
+	registervectorcvg1.testcase \
+	registervectorcvg2.testcase \
+	registervectorcvg3.testcase \
+	registervectorcvg4.testcase \
+	registervectorcvg5.testcase \
+	registervectorcvg6.testcase \
+	registervectorcvg7.testcase \
+	registervectorcvg8.testcase \
+	registervectorcvg9.testcase \
+	registervectorcvg10.testcase \
+	registervectorcvg11.testcase \
+	registervectorcvg12.testcase \
+	registervectorcvg13.testcase \
+	registervectorcvg14.testcase \
+	registervectorcvg15.testcase \
+	registervectorcvg16.testcase \
+	registervectorcvg17.testcase \
+	registervectorcvg18.testcase \
+	registervectorcvg19.testcase \
+	registervectorcvg20.testcase \
+	registervectorcvg21.testcase \
+	registervectorcvg22.testcase \
+	registervectorkeyword1.testcase \
+	registervectorkeyword2.testcase \
+	registervectorkeyword3.testcase \
+	registervectorkeyword4.testcase \
+	registervectorkeyword5.testcase \
+	registervectorkeyword6.testcase \
+	registervectorkeyword7.testcase \
+	registervectorkeyword8.testcase \
+	registervectorkeyword9.testcase \
+	registervectorsrid1.testcase \
+	registervectorsrid2.testcase \
+	registervectorsrid3.testcase \
+	registervectorsrid4.testcase \
+	registervectorsrid5.testcase \
+	registervectorsrid6.testcase \
+	registervectorsrid7.testcase \
+	registervectorsrid8.testcase \
+	registervectorsrid9.testcase \
+	registerVectorStyle1.testcase \
+	registerVectorStyle2.testcase \
+	registerVectorStyle3.testcase \
+	registerVectorStyle4.testcase \
+	registerVectorStyle5.testcase \
+	reloadGroupStyle1.testcase \
+	reloadGroupStyle2.testcase \
+	reloadGroupStyle3.testcase \
+	reloadGroupStyle4.testcase \
+	reloadGroupStyle5.testcase \
+	reloadGroupStyle6.testcase \
+	reloadGroupStyle7.testcase \
+	reloadGroupStyle8.testcase \
+	reloadGroupStyle9.testcase \
+	reloadGroupStyle10.testcase \
+	reloadRasterStyle1.testcase \
+	reloadRasterStyle2.testcase \
+	reloadRasterStyle3.testcase \
+	reloadRasterStyle5.testcase \
+	reloadRasterStyle6.testcase \
+	reloadRasterStyle7.testcase \
+	reloadRasterStyle8.testcase \
+	reloadRasterStyle9.testcase \
+	reloadRasterStyle10.testcase \
+	reloadVectorStyle1.testcase \
+	reloadVectorStyle2.testcase \
+	reloadVectorStyle3.testcase \
+	reloadVectorStyle5.testcase \
+	reloadVectorStyle6.testcase \
+	reloadVectorStyle7.testcase \
+	reloadVectorStyle8.testcase \
+	reloadVectorStyle9.testcase \
+	reloadVectorStyle10.testcase \
 	setfileid1.testcase \
 	setfileid2.testcase \
 	setfileid3.testcase \
@@ -446,11 +534,219 @@ EXTRA_DIST = addfileid1.testcase \
 	setGroupInfos7.testcase \
 	setGroupInfos8.testcase \
 	setGroupInfos9.testcase \
+	setPaintOrder1.testcase \
+	setPaintOrder2.testcase \
+	setPaintOrder3.testcase \
+	setPaintOrder4.testcase \
+	setPaintOrder5.testcase \
+	setPaintOrder6.testcase \
+	setPaintOrder7.testcase \
+	setPaintOrder8.testcase \
+	setRasterPaintOrder1.testcase \
+	setRasterPaintOrder2.testcase \
+	setRasterPaintOrder3.testcase \
+	setRasterPaintOrder4.testcase \
+	setRasterPaintOrder5.testcase \
+	setRasterPaintOrder6.testcase \
+	setRasterPaintOrder7.testcase \
+	setRasterPaintOrder8.testcase \
+	setRasterPaintOrder9.testcase \
+	setRasterPaintOrder10.testcase \
+	setRasterPaintOrder11.testcase \
+	setRasterPaintOrder12.testcase \
+	setRasterPaintOrder13.testcase \
+	setVectorPaintOrder1.testcase \
+	setVectorPaintOrder2.testcase \
+	setVectorPaintOrder3.testcase \
+	setVectorPaintOrder4.testcase \
+	setVectorPaintOrder5.testcase \
+	setVectorPaintOrder6.testcase \
+	setVectorPaintOrder7.testcase \
+	setVectorPaintOrder8.testcase \
+	setVectorPaintOrder9.testcase \
+	setVectorPaintOrder10.testcase \
+	setVectorPaintOrder11.testcase \
+	setVectorPaintOrder12.testcase \
+	setVectorPaintOrder13.testcase \
 	setparentid1.testcase \
 	setparentid2.testcase \
 	setparentid3.testcase \
 	setparentid4.testcase \
 	setparentid5.testcase \
+	setvectorinfos1.testcase \
+	setvectorinfos2.testcase \
+	setvectorinfos3.testcase \
+	setvectorinfos4.testcase \
+	setvectorinfos5.testcase \
+	setvectorinfos6.testcase \
+	setvectorinfos7.testcase \
+	setvectorinfos8.testcase \
+	setvectorinfos9.testcase \
+	setvectorinfos10.testcase \
+	setvectorinfos11.testcase \
+	setvectorinfos12.testcase \
+	setvectorinfos13.testcase \
+	unregisterGraphic1.testcase \
+	unregisterGraphic2.testcase \
+	unregisterGraphic3.testcase \
+	unregisterGraphic4.testcase \
+	unregisterGraphic5.testcase \
+	unregisterGroup1.testcase \
+	unregisterGroup2.testcase \
+	unregisterGroup3.testcase \
+	unregisterGroup4.testcase \
+	unregisterGroup5.testcase \
+	unregisterGroupStyle1.testcase \
+	unregisterGroupStyle2.testcase \
+	unregisterGroupStyle3.testcase \
+	unregisterGroupStyle4.testcase \
+	unregisterGroupStyle5.testcase \
+	unregisterGroupStyle6.testcase \
+	unregisterGroupStyle7.testcase \
+	unregisterGroupStyle8.testcase \
+	unregisterGroupStyle9.testcase \
+	unregisterGroupStyle10.testcase \
+	unregisterGroupLayer1.testcase \
+	unregisterGroupLayer2.testcase \
+	unregisterGroupLayer3.testcase \
+	unregisterGroupLayer4.testcase \
+	unregisterGroupLayer5.testcase \
+	unregisterGroupRaster1.testcase \
+	unregisterGroupRaster2.testcase \
+	unregisterGroupRaster3.testcase \
+	unregisterGroupRaster4.testcase \
+	unregisterGroupRaster5.testcase \
+	unregisterGroupRaster6.testcase \
+	unregisterGroupRaster7.testcase \
+	unregisterGroupRaster8.testcase \
+	unregisterGroupRaster9.testcase \
+	unregisterGroupVector1.testcase \
+	unregisterGroupVector2.testcase \
+	unregisterGroupVector3.testcase \
+	unregisterGroupVector4.testcase \
+	unregisterGroupVector5.testcase \
+	unregisterGroupVector6.testcase \
+	unregisterGroupVector7.testcase \
+	unregisterGroupVector8.testcase \
+	unregisterGroupVector9.testcase \
+	unregisterRaster1.testcase \
+	unregisterRaster2.testcase \
+	unregisterRaster3.testcase \
+	unregisterRaster4.testcase \
+	unregisterRaster5.testcase \
+	unregisterRaster6.testcase \
+	unregisterRaster7.testcase \
+	unregisterRaster8.testcase \
+	unregisterRaster9.testcase \
+	unregisterrasterkeyword1.testcase \
+	unregisterrasterkeyword2.testcase \
+	unregisterrasterkeyword3.testcase \
+	unregisterrasterkeyword4.testcase \
+	unregisterrasterkeyword5.testcase \
+	unregisterrasterkeyword6.testcase \
+	unregisterrasterkeyword7.testcase \
+	unregisterrasterkeyword8.testcase \
+	unregisterrasterkeyword9.testcase \
+	unregisterrastersrid1.testcase \
+	unregisterrastersrid2.testcase \
+	unregisterrastersrid3.testcase \
+	unregisterrastersrid4.testcase \
+	unregisterrastersrid5.testcase \
+	unregisterrastersrid6.testcase \
+	unregisterrastersrid7.testcase \
+	unregisterrastersrid8.testcase \
+	unregisterrastersrid9.testcase \
+	unregisterRasterStyle1.testcase \
+	unregisterRasterStyle2.testcase \
+	unregisterRasterStyle3.testcase \
+	unregisterRasterStyle4.testcase \
+	unregisterRasterStyle5.testcase \
+	unregisterRasterStyle6.testcase \
+	unregisterRasterStyle7.testcase \
+	unregisterRasterStyle8.testcase \
+	unregisterRasterStyle9.testcase \
+	unregisterRasterStyle10.testcase \
+	unregisterStllGroupStyle1.testcase \
+	unregisterStllGroupStyle3.testcase \
+	unregisterStllGroupStyle3.testcase \
+	unregisterStllGroupStyle4.testcase \
+	unregisterStllGroupStyle5.testcase \
+	unregisterStllGroupStyle6.testcase \
+	unregisterStllGroupStyle7.testcase \
+	unregisterStllGroupStyle8.testcase \
+	unregisterStllGroupStyle9.testcase \
+	unregisterVector1.testcase \
+	unregisterVector2.testcase \
+	unregisterVector3.testcase \
+	unregisterVector4.testcase \
+	unregisterVector9.testcase \
+	unregisterVector10.testcase \
+	unregisterVector11.testcase \
+	unregisterVector12.testcase \
+	unregisterVector13.testcase \
+	unregistervectorcvg1.testcase \
+	unregistervectorcvg2.testcase \
+	unregistervectorcvg3.testcase \
+	unregistervectorcvg4.testcase \
+	unregistervectorcvg5.testcase \
+	unregistervectorkeyword1.testcase \
+	unregistervectorkeyword2.testcase \
+	unregistervectorkeyword3.testcase \
+	unregistervectorkeyword4.testcase \
+	unregistervectorkeyword5.testcase \
+	unregistervectorkeyword6.testcase \
+	unregistervectorkeyword7.testcase \
+	unregistervectorkeyword8.testcase \
+	unregistervectorkeyword9.testcase \
+	unregistervectorsrid1.testcase \
+	unregistervectorsrid2.testcase \
+	unregistervectorsrid3.testcase \
+	unregistervectorsrid4.testcase \
+	unregistervectorsrid5.testcase \
+	unregistervectorsrid6.testcase \
+	unregistervectorsrid7.testcase \
+	unregistervectorsrid8.testcase \
+	unregistervectorsrid9.testcase \
+	unregisterVectorStyle1.testcase \
+	unregisterVectorStyle2.testcase \
+	unregisterVectorStyle3.testcase \
+	unregisterVectorStyle4.testcase \
+	unregisterVectorStyle5.testcase \
+	unregisterVectorStyle6.testcase \
+	unregisterVectorStyle7.testcase \
+	unregisterVectorStyle8.testcase \
+	unregisterVectorStyle9.testcase \
+	unregisterVectorStyle10.testcase \
+	updaterasterextent1.testcase \
+	updaterasterextent2.testcase \
+	updaterasterextent3.testcase \
+	updaterasterextent4.testcase \
+	updaterasterextent5.testcase \
+	updaterasterextent6.testcase \
+	updaterasterextent7.testcase \
+	updaterasterextent8.testcase \
+	updaterasterextent9.testcase \
+	updaterasterextent10.testcase \
+	updaterasterextent11.testcase \
+	updaterasterextent12.testcase \
+	updaterasterextent13.testcase \
+	updaterasterextent14.testcase \
+	updaterasterextent15.testcase \
+	updatevectorextent1.testcase \
+	updatevectorextent2.testcase \
+	updatevectorextent3.testcase \
+	updatevectorextent4.testcase \
+	updatevectorextent5.testcase \
+	updatevectorextent6.testcase \
+	updatevectorextent7.testcase \
+	updatevectorextent8.testcase \
+	updatevectorextent9.testcase \
+	updatevectorextent10.testcase \
+	updatevectorextent11.testcase \
+	updatevectorextent12.testcase \
+	updatevectorextent13.testcase \
+	updatevectorextent14.testcase \
+	updatevectorextent15.testcase \
 	xmlblobgetabstract1.testcase \
 	xmlblobgetabstract2.testcase \
 	xmlblobgetabstract3.testcase \
@@ -589,7 +885,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_libxml2_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_libxml2_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -764,6 +1059,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/sql_stmt_libxml2_tests/createstyling10.testcase b/test/sql_stmt_libxml2_tests/createstyling10.testcase
new file mode 100644
index 0000000..edfc18a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/createstyling10.testcase
@@ -0,0 +1,7 @@
+CreateStylingTables - BLOB transaction
+NEW:memory: #use in-memory database
+SELECT CreateStylingTables(1, zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+CreateStylingTables(1, zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/createstyling11.testcase b/test/sql_stmt_libxml2_tests/createstyling11.testcase
new file mode 100644
index 0000000..5ff699e
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/createstyling11.testcase
@@ -0,0 +1,8 @@
+CreateStylingTables - Integer transaction
+NEW:memory: #use in-memory database
+SELECT CreateStylingTables(1, 1);
+1 # rows (not including the header row)
+1 # columns
+CreateStylingTables(1, 1)
+1
+
diff --git a/test/sql_stmt_libxml2_tests/createstyling7.testcase b/test/sql_stmt_libxml2_tests/createstyling7.testcase
new file mode 100644
index 0000000..24cc3ff
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/createstyling7.testcase
@@ -0,0 +1,7 @@
+CreateStylingTables - NULL transaction
+NEW:memory: #use in-memory database
+SELECT CreateStylingTables(1, NULL);
+1 # rows (not including the header row)
+1 # columns
+CreateStylingTables(1, NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/createstyling8.testcase b/test/sql_stmt_libxml2_tests/createstyling8.testcase
new file mode 100644
index 0000000..c0e232d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/createstyling8.testcase
@@ -0,0 +1,7 @@
+CreateStylingTables - TEXT transaction
+NEW:memory: #use in-memory database
+SELECT CreateStylingTables(1, 'alpha');
+1 # rows (not including the header row)
+1 # columns
+CreateStylingTables(1, 'alpha')
+-1
diff --git a/test/sql_stmt_libxml2_tests/createstyling9.testcase b/test/sql_stmt_libxml2_tests/createstyling9.testcase
new file mode 100644
index 0000000..0c4952e
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/createstyling9.testcase
@@ -0,0 +1,7 @@
+CreateStylingTables - DOUBLE transaction
+NEW:memory: #use in-memory database
+SELECT CreateStylingTables(1, 1.1);
+1 # rows (not including the header row)
+1 # columns
+CreateStylingTables(1, 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic1.testcase b/test/sql_stmt_libxml2_tests/registerGraphic1.testcase
index cb09677..0195d80 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic1.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic1.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - NULL URL
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic(NULL, NULL);
+SELECT SE_RegisterExternalGraphic(NULL, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic(NULL, NULL)
+SE_RegisterExternalGraphic(NULL, NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic10.testcase b/test/sql_stmt_libxml2_tests/registerGraphic10.testcase
index e0e4299..dcd9ae5 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic10.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic10.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - NULL title
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), NULL, NULL, NULL);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), NULL, NULL, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), NULL, NULL, NULL);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), NULL, NULL, NULL);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic11.testcase b/test/sql_stmt_libxml2_tests/registerGraphic11.testcase
index 8eb3410..060f152 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic11.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic11.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - INTEGER title
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 1, NULL, NULL);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 1, NULL, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 1, NULL, NULL);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 1, NULL, NULL);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic12.testcase b/test/sql_stmt_libxml2_tests/registerGraphic12.testcase
index c4338c6..7237e97 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic12.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic12.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - DOUBLE title
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 1.1, NULL, NULL);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 1.1, NULL, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 1.1, NULL, NULL);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 1.1, NULL, NULL);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic13.testcase b/test/sql_stmt_libxml2_tests/registerGraphic13.testcase
index f2bd186..993eddc 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic13.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic13.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - BLOB title
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), zeroblob(4), NULL, NULL);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), zeroblob(4), NULL, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), zeroblob(4), NULL, NULL);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), zeroblob(4), NULL, NULL);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic14.testcase b/test/sql_stmt_libxml2_tests/registerGraphic14.testcase
index 1fbb3ae..f3d125b 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic14.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic14.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - NULL abstract
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', NULL, NULL);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', NULL, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', NULL, NULL);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', NULL, NULL);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic15.testcase b/test/sql_stmt_libxml2_tests/registerGraphic15.testcase
index d1ccf5c..d8e63f9 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic15.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic15.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - INTEGER abstract
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 1, NULL);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 1, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 1, NULL);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 1, NULL);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic16.testcase b/test/sql_stmt_libxml2_tests/registerGraphic16.testcase
index f3a1ff0..fca5e2c 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic16.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic16.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - DOUBLE abstract
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 1.1, NULL);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 1.1, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 1.1, NULL);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 1.1, NULL);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic17.testcase b/test/sql_stmt_libxml2_tests/registerGraphic17.testcase
index e019fd1..2262db4 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic17.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic17.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - BLOB abstract
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', zeroblob(4), NULL);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', zeroblob(4), NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', zeroblob(4), NULL);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', zeroblob(4), NULL);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic18.testcase b/test/sql_stmt_libxml2_tests/registerGraphic18.testcase
index 3f7d3d2..dc957c7 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic18.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic18.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - NULL filename
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', NULL);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', NULL);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', NULL);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic19.testcase b/test/sql_stmt_libxml2_tests/registerGraphic19.testcase
index 8daa305..fbf3fec 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic19.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic19.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - INTEGER filename
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 1);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 1);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 1);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 1);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic2.testcase b/test/sql_stmt_libxml2_tests/registerGraphic2.testcase
index beea693..72353d9 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic2.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic2.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - INTEGER URL
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic(1, NULL);
+SELECT SE_RegisterExternalGraphic(1, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic(1, NULL)
+SE_RegisterExternalGraphic(1, NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic20.testcase b/test/sql_stmt_libxml2_tests/registerGraphic20.testcase
index 5282462..da1adf1 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic20.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic20.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - DOUBLE filename
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 1.1);
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 1.1);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 1.1);
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 1.1);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic21.testcase b/test/sql_stmt_libxml2_tests/registerGraphic21.testcase
index 256bf15..91c5622 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic21.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic21.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - BLOB filename
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', zeroblob(4));
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', zeroblob(4));
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', zeroblob(4));
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', zeroblob(4));
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic22.testcase b/test/sql_stmt_libxml2_tests/registerGraphic22.testcase
index 62b0f51..83093c9 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic22.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic22.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - TEXT filename
 NEW:memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 'gamma');
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 'gamma');
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 'gamma');
+SE_RegisterExternalGraphic('resource.png', zeroblob(4), 'alpha', 'beta', 'gamma');
 0
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic3.testcase b/test/sql_stmt_libxml2_tests/registerGraphic3.testcase
index 6196dc1..bc40408 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic3.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic3.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - DOUBLE URL
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic(1.1, NULL);
+SELECT SE_RegisterExternalGraphic(1.1, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic(1.1, NULL)
+SE_RegisterExternalGraphic(1.1, NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic4.testcase b/test/sql_stmt_libxml2_tests/registerGraphic4.testcase
index 613e8c2..aea991c 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic4.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic4.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - BLOB URL
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic(zeroblob(4), NULL);
+SELECT SE_RegisterExternalGraphic(zeroblob(4), NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic(zeroblob(4), NULL)
+SE_RegisterExternalGraphic(zeroblob(4), NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic5.testcase b/test/sql_stmt_libxml2_tests/registerGraphic5.testcase
index eb7d544..ae09e23 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic5.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic5.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - NULL resource
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', NULL);
+SELECT SE_RegisterExternalGraphic('resource.png', NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', NULL);
+SE_RegisterExternalGraphic('resource.png', NULL);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic6.testcase b/test/sql_stmt_libxml2_tests/registerGraphic6.testcase
index 9a16137..ecc2354 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic6.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic6.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - INTEGER resource
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', 1);
+SELECT SE_RegisterExternalGraphic('resource.png', 1);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', 1);
+SE_RegisterExternalGraphic('resource.png', 1);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic7.testcase b/test/sql_stmt_libxml2_tests/registerGraphic7.testcase
index 8c75fe5..0bf2f77 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic7.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic7.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - DOUBLE resource
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', 1.1);
+SELECT SE_RegisterExternalGraphic('resource.png', 1.1);
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', 1.1);
+SE_RegisterExternalGraphic('resource.png', 1.1);
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic8.testcase b/test/sql_stmt_libxml2_tests/registerGraphic8.testcase
index 54fee42..2575364 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic8.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic8.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - TEXT resource
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', 'alpha');
+SELECT SE_RegisterExternalGraphic('resource.png', 'alpha');
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', 'alpha');
+SE_RegisterExternalGraphic('resource.png', 'alpha');
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGraphic9.testcase b/test/sql_stmt_libxml2_tests/registerGraphic9.testcase
index b2eb144..37dbb1d 100644
--- a/test/sql_stmt_libxml2_tests/registerGraphic9.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGraphic9.testcase
@@ -1,8 +1,8 @@
 RegisterExternalGraphic - BLOB resource
 :memory: #use in-memory database
-SELECT RegisterExternalGraphic('resource.png', zeroblob(4));
+SELECT SE_RegisterExternalGraphic('resource.png', zeroblob(4));
 1 # rows (not including the header row)
 1 # columns
-RegisterExternalGraphic('resource.png', zeroblob(4));
+SE_RegisterExternalGraphic('resource.png', zeroblob(4));
 0
 
diff --git a/test/sql_stmt_libxml2_tests/registerGroup1.testcase b/test/sql_stmt_libxml2_tests/registerGroup1.testcase
deleted file mode 100644
index a79e282..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup1.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - NULL group_name
-:memory: #use in-memory database
-SELECT RegisterStyledGroup(NULL, NULL, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup(NULL, NULL, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup14.testcase b/test/sql_stmt_libxml2_tests/registerGroup14.testcase
deleted file mode 100644
index d72a998..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup14.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - NULL paint_order
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 'beta', NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 'beta', NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup15.testcase b/test/sql_stmt_libxml2_tests/registerGroup15.testcase
deleted file mode 100644
index 1cbf0b8..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup15.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - DOUBLE paint_order
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 'beta', 1.1);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 'beta', 1.1)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup16.testcase b/test/sql_stmt_libxml2_tests/registerGroup16.testcase
deleted file mode 100644
index b564427..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup16.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - TEXT paint_order
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 'beta', 'gamma');
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 'beta', 'gamma')
-0
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup17.testcase b/test/sql_stmt_libxml2_tests/registerGroup17.testcase
deleted file mode 100644
index 62d6b4c..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup17.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - BLOB paint_order
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 'beta', zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 'beta', zeroblob(4))
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup18.testcase b/test/sql_stmt_libxml2_tests/registerGroup18.testcase
deleted file mode 100644
index f7cc963..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup18.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - INTEGER paint_order
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 'beta', 1);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 'beta', 1)
-0
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup2.testcase b/test/sql_stmt_libxml2_tests/registerGroup2.testcase
deleted file mode 100644
index fe0eec9..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup2.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - INTEGER group_name
-:memory: #use in-memory database
-SELECT RegisterStyledGroup(1, NULL, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup(1, NULL, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup25.testcase b/test/sql_stmt_libxml2_tests/registerGroup25.testcase
deleted file mode 100644
index 1090cfe..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup25.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - vector NULL paint_order
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 'beta', 'gamma', NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 'beta', 'gamma', NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup26.testcase b/test/sql_stmt_libxml2_tests/registerGroup26.testcase
deleted file mode 100644
index 96655a2..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup26.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - vector DOUBLE paint_order
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 'beta', 'gamma', 1.1);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 'beta', 'gamma', 1.1)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup27.testcase b/test/sql_stmt_libxml2_tests/registerGroup27.testcase
deleted file mode 100644
index fab3afe..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup27.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - vector TEXT paint_order
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 'beta', 'gamma', 'gamma');
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 'beta', 'gamma', 'gamma')
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup28.testcase b/test/sql_stmt_libxml2_tests/registerGroup28.testcase
deleted file mode 100644
index e4e5672..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup28.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - vector BLOB paint_order
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 'beta', 'gamma', zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 'beta', 'gamma', zeroblob(4))
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup29.testcase b/test/sql_stmt_libxml2_tests/registerGroup29.testcase
deleted file mode 100644
index 12c60c7..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup29.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - vector INTEGER paint_order
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 'beta', 'gamma', 1);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 'beta', 'gamma', 1)
-0
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup3.testcase b/test/sql_stmt_libxml2_tests/registerGroup3.testcase
deleted file mode 100644
index ee18545..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup3.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - DOUBLE group_name
-:memory: #use in-memory database
-SELECT RegisterStyledGroup(1.1, NULL, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup(1.1, NULL, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup4.testcase b/test/sql_stmt_libxml2_tests/registerGroup4.testcase
deleted file mode 100644
index 5d5bf08..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup4.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - BLOB group_name
-:memory: #use in-memory database
-SELECT RegisterStyledGroup(zeroblob(4), NULL, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup(zeroblob(4), NULL, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup5.testcase b/test/sql_stmt_libxml2_tests/registerGroup5.testcase
deleted file mode 100644
index 9598df8..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup5.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - NULL coverage_name
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', NULL, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', NULL, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup6.testcase b/test/sql_stmt_libxml2_tests/registerGroup6.testcase
deleted file mode 100644
index 029d51f..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup6.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - INTEGER coverage_name
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 1, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 1, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup7.testcase b/test/sql_stmt_libxml2_tests/registerGroup7.testcase
deleted file mode 100644
index 1f73700..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup7.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - DOUBLE coverage_name
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', 1.1, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', 1.1, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroup8.testcase b/test/sql_stmt_libxml2_tests/registerGroup8.testcase
deleted file mode 100644
index 29618e1..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroup8.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterStyledGroup - BLOB coverage_name
-:memory: #use in-memory database
-SELECT RegisterStyledGroup('alpha', zeroblob(4), NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterStyledGroup('alpha', zeroblob(4), NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupRaster1.testcase b/test/sql_stmt_libxml2_tests/registerGroupRaster1.testcase
new file mode 100644
index 0000000..c65b262
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupRaster1.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupRaster - NULL group_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupRaster(NULL, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupRaster(NULL, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupRaster2.testcase b/test/sql_stmt_libxml2_tests/registerGroupRaster2.testcase
new file mode 100644
index 0000000..1dd4095
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupRaster2.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupRaster - Integer group_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupRaster(1, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupRaster(1, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupRaster3.testcase b/test/sql_stmt_libxml2_tests/registerGroupRaster3.testcase
new file mode 100644
index 0000000..bd37b39
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupRaster3.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupRaster - DOUBLE group_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupRaster(1.1, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupRaster(1.1, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupRaster4.testcase b/test/sql_stmt_libxml2_tests/registerGroupRaster4.testcase
new file mode 100644
index 0000000..acccd89
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupRaster4.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupRaster - BLOB group_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupRaster(zeroblob(4), 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupRaster(zeroblob(4), 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupRaster5.testcase b/test/sql_stmt_libxml2_tests/registerGroupRaster5.testcase
new file mode 100644
index 0000000..63f3736
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupRaster5.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupRaster - NULL coverage_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupRaster('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupRaster('alpha', NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupRaster6.testcase b/test/sql_stmt_libxml2_tests/registerGroupRaster6.testcase
new file mode 100644
index 0000000..524860a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupRaster6.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupRaster - INTEGER coverage_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupRaster('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupRaster('alpha', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupRaster7.testcase b/test/sql_stmt_libxml2_tests/registerGroupRaster7.testcase
new file mode 100644
index 0000000..b35938c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupRaster7.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupRaster - DOUBLE coverage_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupRaster('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupRaster('alpha', 1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupRaster8.testcase b/test/sql_stmt_libxml2_tests/registerGroupRaster8.testcase
new file mode 100644
index 0000000..298bfaa
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupRaster8.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupRaster - BLOB coverage_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupRaster('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupRaster('alpha', zeroblob(4))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupRaster9.testcase b/test/sql_stmt_libxml2_tests/registerGroupRaster9.testcase
new file mode 100644
index 0000000..3268735
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupRaster9.testcase
@@ -0,0 +1,7 @@
+RegisterStyledGroupRaster - Text coverage_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupRaster('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupRaster('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle1.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle1.testcase
index ecc9836..6f1522c 100644
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle1.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGroupStyle1.testcase
@@ -1,8 +1,8 @@
-RegisterGroupStyle - NULL group
+RegisterGroupStyle - NULL style
 :memory: #use in-memory database
-SELECT RegisterGroupStyle(NULL, NULL);
+SELECT SE_RegisterGroupStyle(NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterGroupStyle(NULL, NULL)
+SE_RegisterGroupStyle(NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle10.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle10.testcase
deleted file mode 100644
index aac9824..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle10.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - DOUBLE style_id
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', 1.1, zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', 1.1, zeroblob(4));
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle11.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle11.testcase
deleted file mode 100644
index 14f66ae..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle11.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - TEXT style_id
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', 'beta', zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', 'beta', zeroblob(4));
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle12.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle12.testcase
deleted file mode 100644
index 74dd16e..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle12.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - BLOB style_id
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', zeroblob(4), zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', zeroblob(4), zeroblob(4));
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle13.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle13.testcase
deleted file mode 100644
index 8dc0358..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle13.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - INTEGER style_id
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', 1, zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', 1, zeroblob(4));
-0
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle14.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle14.testcase
deleted file mode 100644
index 8bb8616..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle14.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - NULL style
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', 1, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', 1, NULL);
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle15.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle15.testcase
deleted file mode 100644
index eda583e..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle15.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - INTEGER style
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', 1, 1);
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', 1, 1);
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle16.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle16.testcase
deleted file mode 100644
index f995d3a..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle16.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - DOUBLE style
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', 1, 1.1);
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', 1, 1.1);
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle17.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle17.testcase
deleted file mode 100644
index 0b8ee4c..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle17.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - TEXT style
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', 1, 'beta');
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', 1, 'beta');
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle2.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle2.testcase
index 49d4f0d..420e2ed 100644
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle2.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGroupStyle2.testcase
@@ -1,8 +1,8 @@
-RegisterGroupStyle - INTEGER group
+RegisterGroupStyle - INTEGER style
 :memory: #use in-memory database
-SELECT RegisterGroupStyle(1, NULL);
+SELECT SE_RegisterGroupStyle(1);
 1 # rows (not including the header row)
 1 # columns
-RegisterGroupStyle(1, NULL)
+SE_RegisterGroupStyle(1)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle3.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle3.testcase
index a1a4f2e..a6fd396 100644
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle3.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGroupStyle3.testcase
@@ -1,8 +1,8 @@
-RegisterGroupStyle - DOUBLE group
+RegisterGroupStyle - DOUBLE style
 :memory: #use in-memory database
-SELECT RegisterGroupStyle(1.1, NULL);
+SELECT SE_RegisterGroupStyle(1.1);
 1 # rows (not including the header row)
 1 # columns
-RegisterGroupStyle(1.1, NULL)
+SE_RegisterGroupStyle(1.1)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle4.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle4.testcase
index 8b8d8e3..9472d7d 100644
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle4.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGroupStyle4.testcase
@@ -1,8 +1,8 @@
-RegisterGroupStyle - BLOB group
+RegisterGroupStyle - Text Style
 :memory: #use in-memory database
-SELECT RegisterGroupStyle(zeroblob(4), NULL);
+SELECT SE_RegisterGroupStyle('alpha');
 1 # rows (not including the header row)
 1 # columns
-RegisterGroupStyle(zeroblob(4), NULL)
+SE_RegisterGroupStyle('alpha')
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle5.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle5.testcase
index 6824435..ddd2176 100644
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle5.testcase
+++ b/test/sql_stmt_libxml2_tests/registerGroupStyle5.testcase
@@ -1,8 +1,7 @@
-RegisterGroupStyle - NULL style
+RegisterGroupStyle - BLOB style
 :memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', NULL);
+SELECT SE_RegisterGroupStyle(zeroblob(4));
 1 # rows (not including the header row)
 1 # columns
-RegisterGroupStyle('alpha', NULL)
--1
-
+SE_RegisterGroupStyle(zeroblob(4));
+0
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle6.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle6.testcase
deleted file mode 100644
index a1cb8e2..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle6.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - INTEGER style
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', 1);
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', 1)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle7.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle7.testcase
deleted file mode 100644
index d89d2d3..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle7.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - DOUBLE style
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', 1.1);
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', 1.1)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle8.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle8.testcase
deleted file mode 100644
index 8c9b034..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle8.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - TEXT style
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', 'beta');
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', 'beta')
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupStyle9.testcase b/test/sql_stmt_libxml2_tests/registerGroupStyle9.testcase
deleted file mode 100644
index 659021f..0000000
--- a/test/sql_stmt_libxml2_tests/registerGroupStyle9.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterGroupStyle - NULL style_id
-:memory: #use in-memory database
-SELECT RegisterGroupStyle('alpha', NULL, zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterGroupStyle('alpha', NULL, zeroblob(4));
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerGroupVector1.testcase b/test/sql_stmt_libxml2_tests/registerGroupVector1.testcase
new file mode 100644
index 0000000..7a18e98
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupVector1.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupVector - NULL group_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupVector(NULL, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupVector(NULL, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupVector2.testcase b/test/sql_stmt_libxml2_tests/registerGroupVector2.testcase
new file mode 100644
index 0000000..caa13da
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupVector2.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupVector - Integer group_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupVector(1, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupVector(1, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupVector3.testcase b/test/sql_stmt_libxml2_tests/registerGroupVector3.testcase
new file mode 100644
index 0000000..29ffa9f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupVector3.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupVector - DOUBLE group_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupVector(1.1, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupVector(1.1, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupVector4.testcase b/test/sql_stmt_libxml2_tests/registerGroupVector4.testcase
new file mode 100644
index 0000000..224bdf7
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupVector4.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupVector - BLOB group_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupVector(zeroblob(4), 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupVector(zeroblob(4), 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupVector5.testcase b/test/sql_stmt_libxml2_tests/registerGroupVector5.testcase
new file mode 100644
index 0000000..132dd5d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupVector5.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupVector - NULL coverage_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupVector('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupVector('alpha', NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupVector6.testcase b/test/sql_stmt_libxml2_tests/registerGroupVector6.testcase
new file mode 100644
index 0000000..6037e30
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupVector6.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupVector - INTEGER coverage_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupVector('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupVector('alpha', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupVector7.testcase b/test/sql_stmt_libxml2_tests/registerGroupVector7.testcase
new file mode 100644
index 0000000..19f5829
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupVector7.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupVector - DOUBLE coverage_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupVector('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupVector('alpha', 1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupVector8.testcase b/test/sql_stmt_libxml2_tests/registerGroupVector8.testcase
new file mode 100644
index 0000000..92e77fd
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupVector8.testcase
@@ -0,0 +1,8 @@
+RegisterStyledGroupVector - BLOB coverage_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupVector('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupVector('alpha', zeroblob(4))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerGroupVector9.testcase b/test/sql_stmt_libxml2_tests/registerGroupVector9.testcase
new file mode 100644
index 0000000..1c18b88
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerGroupVector9.testcase
@@ -0,0 +1,7 @@
+RegisterStyledGroupVector - Text coverage_name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupVector('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupVector('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/registerRaster1.testcase b/test/sql_stmt_libxml2_tests/registerRaster1.testcase
index aae6d29..010497d 100644
--- a/test/sql_stmt_libxml2_tests/registerRaster1.testcase
+++ b/test/sql_stmt_libxml2_tests/registerRaster1.testcase
@@ -1,8 +1,8 @@
 RegisterRasterStyledLayer - NULL coverage
 :memory: #use in-memory database
-SELECT RegisterRasterStyledLayer(NULL, NULL);
+SELECT SE_RegisterRasterStyledLayer(NULL, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterRasterStyledLayer(NULL, NULL)
+SE_RegisterRasterStyledLayer(NULL, NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerRaster10.testcase b/test/sql_stmt_libxml2_tests/registerRaster10.testcase
deleted file mode 100644
index 1eef9c7..0000000
--- a/test/sql_stmt_libxml2_tests/registerRaster10.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterRasterStyledLayer - DOUBLE style_id
-:memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', 1.1, zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterRasterStyledLayer('alpha', 1.1, zeroblob(4));
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerRaster11.testcase b/test/sql_stmt_libxml2_tests/registerRaster11.testcase
deleted file mode 100644
index dbf8a07..0000000
--- a/test/sql_stmt_libxml2_tests/registerRaster11.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterRasterStyledLayer - TEXT style_id
-:memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', 'beta', zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterRasterStyledLayer('alpha', 'beta', zeroblob(4));
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerRaster12.testcase b/test/sql_stmt_libxml2_tests/registerRaster12.testcase
deleted file mode 100644
index d3dc171..0000000
--- a/test/sql_stmt_libxml2_tests/registerRaster12.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterRasterStyledLayer - BLOB style_id
-:memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', zeroblob(4), zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterRasterStyledLayer('alpha', zeroblob(4), zeroblob(4));
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerRaster13.testcase b/test/sql_stmt_libxml2_tests/registerRaster13.testcase
deleted file mode 100644
index 6202f7d..0000000
--- a/test/sql_stmt_libxml2_tests/registerRaster13.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterRasterStyledLayer - INTEGER style_id
-:memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', 1, zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterRasterStyledLayer('alpha', 1, zeroblob(4));
-0
-
diff --git a/test/sql_stmt_libxml2_tests/registerRaster14.testcase b/test/sql_stmt_libxml2_tests/registerRaster14.testcase
deleted file mode 100644
index b1fded5..0000000
--- a/test/sql_stmt_libxml2_tests/registerRaster14.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterRasterStyledLayer - NULL style
-:memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', 1, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterRasterStyledLayer('alpha', 1, NULL);
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerRaster15.testcase b/test/sql_stmt_libxml2_tests/registerRaster15.testcase
deleted file mode 100644
index 9e33ed1..0000000
--- a/test/sql_stmt_libxml2_tests/registerRaster15.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterRasterStyledLayer - INTEGER style
-:memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', 1, 1);
-1 # rows (not including the header row)
-1 # columns
-RegisterRasterStyledLayer('alpha', 1, 1);
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerRaster16.testcase b/test/sql_stmt_libxml2_tests/registerRaster16.testcase
deleted file mode 100644
index f063bc9..0000000
--- a/test/sql_stmt_libxml2_tests/registerRaster16.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterRasterStyledLayer - DOUBLE style
-:memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', 1, 1.1);
-1 # rows (not including the header row)
-1 # columns
-RegisterRasterStyledLayer('alpha', 1, 1.1);
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerRaster17.testcase b/test/sql_stmt_libxml2_tests/registerRaster17.testcase
deleted file mode 100644
index c4ed6f8..0000000
--- a/test/sql_stmt_libxml2_tests/registerRaster17.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterRasterStyledLayer - TEXT style
-:memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', 1, 'beta');
-1 # rows (not including the header row)
-1 # columns
-RegisterRasterStyledLayer('alpha', 1, 'beta');
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerRaster2.testcase b/test/sql_stmt_libxml2_tests/registerRaster2.testcase
index c18874a..bd8cbe6 100644
--- a/test/sql_stmt_libxml2_tests/registerRaster2.testcase
+++ b/test/sql_stmt_libxml2_tests/registerRaster2.testcase
@@ -1,8 +1,8 @@
 RegisterRasterStyledLayer - INTEGER coverage
 :memory: #use in-memory database
-SELECT RegisterRasterStyledLayer(1, NULL);
+SELECT SE_RegisterRasterStyledLayer(1, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterRasterStyledLayer(1, NULL)
+SE_RegisterRasterStyledLayer(1, NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerRaster3.testcase b/test/sql_stmt_libxml2_tests/registerRaster3.testcase
index 56debc4..9a9d14c 100644
--- a/test/sql_stmt_libxml2_tests/registerRaster3.testcase
+++ b/test/sql_stmt_libxml2_tests/registerRaster3.testcase
@@ -1,8 +1,8 @@
 RegisterRasterStyledLayer - DOUBLE coverage
 :memory: #use in-memory database
-SELECT RegisterRasterStyledLayer(1.1, NULL);
+SELECT SE_RegisterRasterStyledLayer(1.1, NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterRasterStyledLayer(1.1, NULL)
+SE_RegisterRasterStyledLayer(1.1, NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerRaster4.testcase b/test/sql_stmt_libxml2_tests/registerRaster4.testcase
index a019219..b3ffe43 100644
--- a/test/sql_stmt_libxml2_tests/registerRaster4.testcase
+++ b/test/sql_stmt_libxml2_tests/registerRaster4.testcase
@@ -1,8 +1,8 @@
 RegisterRasterStyledLayer - BLOB coverage
 :memory: #use in-memory database
-SELECT RegisterRasterStyledLayer(zeroblob(4), NULL);
+SELECT SE_RegisterRasterStyledLayer(zeroblob(4), NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterRasterStyledLayer(zeroblob(4), NULL)
+SE_RegisterRasterStyledLayer(zeroblob(4), NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerRaster5.testcase b/test/sql_stmt_libxml2_tests/registerRaster5.testcase
index 64139f9..14dfdb5 100644
--- a/test/sql_stmt_libxml2_tests/registerRaster5.testcase
+++ b/test/sql_stmt_libxml2_tests/registerRaster5.testcase
@@ -1,8 +1,8 @@
 RegisterRasterStyledLayer - NULL style
 :memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', NULL);
+SELECT SE_RegisterRasterStyledLayer('alpha', NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterRasterStyledLayer('alpha', NULL)
+SE_RegisterRasterStyledLayer('alpha', NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerRaster6.testcase b/test/sql_stmt_libxml2_tests/registerRaster6.testcase
index 9874761..2c2bc94 100644
--- a/test/sql_stmt_libxml2_tests/registerRaster6.testcase
+++ b/test/sql_stmt_libxml2_tests/registerRaster6.testcase
@@ -1,8 +1,7 @@
-RegisterRasterStyledLayer - INTEGER style
+RegisterRasterStyledLayer - INTEGER style_id
 :memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', 1);
+SELECT SE_RegisterRasterStyledLayer('alpha', 1);
 1 # rows (not including the header row)
 1 # columns
-RegisterRasterStyledLayer('alpha', 1)
--1
-
+SE_RegisterRasterStyledLayer('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/registerRaster7.testcase b/test/sql_stmt_libxml2_tests/registerRaster7.testcase
index b713af7..3311e54 100644
--- a/test/sql_stmt_libxml2_tests/registerRaster7.testcase
+++ b/test/sql_stmt_libxml2_tests/registerRaster7.testcase
@@ -1,8 +1,8 @@
 RegisterRasterStyledLayer - DOUBLE style
 :memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', 1.1);
+SELECT SE_RegisterRasterStyledLayer('alpha', 1.1);
 1 # rows (not including the header row)
 1 # columns
-RegisterRasterStyledLayer('alpha', 1.1)
+SE_RegisterRasterStyledLayer('alpha', 1.1)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerRaster8.testcase b/test/sql_stmt_libxml2_tests/registerRaster8.testcase
index 27b2673..6564cf9 100644
--- a/test/sql_stmt_libxml2_tests/registerRaster8.testcase
+++ b/test/sql_stmt_libxml2_tests/registerRaster8.testcase
@@ -1,8 +1,7 @@
-RegisterRasterStyledLayer - TEXT style
+RegisterRasterStyledLayer - TEXT style_name
 :memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', 'beta');
+SELECT SE_RegisterRasterStyledLayer('alpha', 'beta');
 1 # rows (not including the header row)
 1 # columns
-RegisterRasterStyledLayer('alpha', 'beta')
--1
-
+SE_RegisterRasterStyledLayer('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/registerRaster9.testcase b/test/sql_stmt_libxml2_tests/registerRaster9.testcase
index c3fb1c8..8861b12 100644
--- a/test/sql_stmt_libxml2_tests/registerRaster9.testcase
+++ b/test/sql_stmt_libxml2_tests/registerRaster9.testcase
@@ -1,8 +1,7 @@
-RegisterRasterStyledLayer - NULL style_id
+RegisterRasterStyledLayer - BLOB style
 :memory: #use in-memory database
-SELECT RegisterRasterStyledLayer('alpha', NULL, zeroblob(4));
+SELECT SE_RegisterRasterStyledLayer('alpha', zeroblob(100));
 1 # rows (not including the header row)
 1 # columns
-RegisterRasterStyledLayer('alpha', NULL, zeroblob(4));
+SE_RegisterRasterStyledLayer('alpha', zeroblob(100))
 -1
-
diff --git a/test/sql_stmt_libxml2_tests/registerRasterStyle1.testcase b/test/sql_stmt_libxml2_tests/registerRasterStyle1.testcase
new file mode 100644
index 0000000..4e81ba8
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerRasterStyle1.testcase
@@ -0,0 +1,8 @@
+RegisterRasterStyle - NULL style
+:memory: #use in-memory database
+SELECT SE_RegisterRasterStyle(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterStyle(NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerRasterStyle2.testcase b/test/sql_stmt_libxml2_tests/registerRasterStyle2.testcase
new file mode 100644
index 0000000..046f92b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerRasterStyle2.testcase
@@ -0,0 +1,8 @@
+RegisterRasterStyle - Integer style
+:memory: #use in-memory database
+SELECT SE_RegisterRasterStyle(1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterStyle(1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerRasterStyle3.testcase b/test/sql_stmt_libxml2_tests/registerRasterStyle3.testcase
new file mode 100644
index 0000000..f29309a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerRasterStyle3.testcase
@@ -0,0 +1,8 @@
+RegisterRasterStyle - Double style
+:memory: #use in-memory database
+SELECT SE_RegisterRasterStyle(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterStyle(1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerRasterStyle4.testcase b/test/sql_stmt_libxml2_tests/registerRasterStyle4.testcase
new file mode 100644
index 0000000..d8296ec
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerRasterStyle4.testcase
@@ -0,0 +1,8 @@
+RegisterRasterStyle - Text style
+:memory: #use in-memory database
+SELECT SE_RegisterRasterStyle('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterStyle('alpha')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerRasterStyle5.testcase b/test/sql_stmt_libxml2_tests/registerRasterStyle5.testcase
new file mode 100644
index 0000000..0cbc177
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerRasterStyle5.testcase
@@ -0,0 +1,7 @@
+RegisterRasterStyle - BLOB style
+:memory: #use in-memory database
+SELECT SE_RegisterRasterStyle(zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterStyle(zeroblob(100))
+0
diff --git a/test/sql_stmt_libxml2_tests/registerStllGroupStyle1.testcase b/test/sql_stmt_libxml2_tests/registerStllGroupStyle1.testcase
new file mode 100644
index 0000000..1931397
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerStllGroupStyle1.testcase
@@ -0,0 +1,7 @@
+RegisterStyledGroupStyle - NULL group name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupStyle(NULL, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupStyle(NULL, 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerStllGroupStyle3.testcase b/test/sql_stmt_libxml2_tests/registerStllGroupStyle3.testcase
new file mode 100644
index 0000000..ce59aac
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerStllGroupStyle3.testcase
@@ -0,0 +1,7 @@
+RegisterStyledGroupStyle - Double group name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupStyle(1.1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupStyle(1.1, 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerStllGroupStyle4.testcase b/test/sql_stmt_libxml2_tests/registerStllGroupStyle4.testcase
new file mode 100644
index 0000000..5176bdd
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerStllGroupStyle4.testcase
@@ -0,0 +1,7 @@
+RegisterStyledGroupStyle - BLOB group name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupStyle(zeroblob(100), 1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupStyle(zeroblob(100), 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerStllGroupStyle5.testcase b/test/sql_stmt_libxml2_tests/registerStllGroupStyle5.testcase
new file mode 100644
index 0000000..43c9d38
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerStllGroupStyle5.testcase
@@ -0,0 +1,7 @@
+RegisterStyledGroupStyle - NULL stile ID
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupStyle('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupStyle('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerStllGroupStyle6.testcase b/test/sql_stmt_libxml2_tests/registerStllGroupStyle6.testcase
new file mode 100644
index 0000000..5c670ee
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerStllGroupStyle6.testcase
@@ -0,0 +1,7 @@
+RegisterStyledGroupStyle - Double stile ID
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupStyle('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupStyle('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerStllGroupStyle7.testcase b/test/sql_stmt_libxml2_tests/registerStllGroupStyle7.testcase
new file mode 100644
index 0000000..87a3e95
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerStllGroupStyle7.testcase
@@ -0,0 +1,7 @@
+RegisterStyledGroupStyle - BLOB stile ID
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupStyle('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupStyle('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerStllGroupStyle8.testcase b/test/sql_stmt_libxml2_tests/registerStllGroupStyle8.testcase
new file mode 100644
index 0000000..6faeef2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerStllGroupStyle8.testcase
@@ -0,0 +1,7 @@
+RegisterStyledGroupStyle - valid Integer style ID
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupStyle('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupStyle('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/registerStllGroupStyle9.testcase b/test/sql_stmt_libxml2_tests/registerStllGroupStyle9.testcase
new file mode 100644
index 0000000..99bfcc1
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerStllGroupStyle9.testcase
@@ -0,0 +1,7 @@
+RegisterStyledGroupStyle - valid Text style name
+:memory: #use in-memory database
+SELECT SE_RegisterStyledGroupStyle('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterStyledGroupStyle('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/registerVector1.testcase b/test/sql_stmt_libxml2_tests/registerVector1.testcase
index 6d42c1f..bec94c1 100644
--- a/test/sql_stmt_libxml2_tests/registerVector1.testcase
+++ b/test/sql_stmt_libxml2_tests/registerVector1.testcase
@@ -1,8 +1,8 @@
-RegisterVectorStyledLayer - NULL f_table_name
+RegisterVectorStyledLayer - NULL coverage_name
 :memory: #use in-memory database
-SELECT RegisterVectorStyledLayer(NULL, NULL, NULL);
+SELECT SE_RegisterVectorStyledLayer(NULL, 1);
 1 # rows (not including the header row)
 1 # columns
-RegisterVectorStyledLayer(NULL, NULL, NULL)
+SE_RegisterVectorStyledLayer(NULL, 1)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerVector10.testcase b/test/sql_stmt_libxml2_tests/registerVector10.testcase
index 9f791bb..a48e256 100644
--- a/test/sql_stmt_libxml2_tests/registerVector10.testcase
+++ b/test/sql_stmt_libxml2_tests/registerVector10.testcase
@@ -1,8 +1,7 @@
-RegisterVectorStyledLayer - INTEGER style
+RegisterVectorStyledLayer - INTEGER style_id
 :memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', 1);
+SELECT SE_RegisterVectorStyledLayer('alpha', 1);
 1 # rows (not including the header row)
 1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', 1)
--1
-
+SE_RegisterVectorStyledLayer('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/registerVector11.testcase b/test/sql_stmt_libxml2_tests/registerVector11.testcase
index ecc733a..5cbcfe3 100644
--- a/test/sql_stmt_libxml2_tests/registerVector11.testcase
+++ b/test/sql_stmt_libxml2_tests/registerVector11.testcase
@@ -1,8 +1,8 @@
 RegisterVectorStyledLayer - DOUBLE style
 :memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', 1.1);
+SELECT SE_RegisterVectorStyledLayer('alpha', 1.1);
 1 # rows (not including the header row)
 1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', 1.1)
+SE_RegisterVectorStyledLayer('alpha', 1.1)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerVector12.testcase b/test/sql_stmt_libxml2_tests/registerVector12.testcase
index 808e350..d972ca1 100644
--- a/test/sql_stmt_libxml2_tests/registerVector12.testcase
+++ b/test/sql_stmt_libxml2_tests/registerVector12.testcase
@@ -1,8 +1,7 @@
-RegisterVectorStyledLayer - TEXT style
+RegisterVectorStyledLayer - TEXT style_name
 :memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', 'gamma');
+SELECT SE_RegisterVectorStyledLayer('alpha', 'gamma');
 1 # rows (not including the header row)
 1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', 'gamma')
--1
-
+SE_RegisterVectorStyledLayer('alpha', 'gamma')
+0
diff --git a/test/sql_stmt_libxml2_tests/registerVector13.testcase b/test/sql_stmt_libxml2_tests/registerVector13.testcase
index 7600f7c..720aa05 100644
--- a/test/sql_stmt_libxml2_tests/registerVector13.testcase
+++ b/test/sql_stmt_libxml2_tests/registerVector13.testcase
@@ -1,8 +1,7 @@
 RegisterVectorStyledLayer - BLOB style
 :memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', zeroblob(4));
+SELECT SE_RegisterVectorStyledLayer('alpha', zeroblob(4));
 1 # rows (not including the header row)
 1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', zeroblob(4))
-0
-
+SE_RegisterVectorStyledLayer('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerVector14.testcase b/test/sql_stmt_libxml2_tests/registerVector14.testcase
deleted file mode 100644
index 51b9191..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector14.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - NULL style_id
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', NULL, zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', NULL, zeroblob(4))
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector15.testcase b/test/sql_stmt_libxml2_tests/registerVector15.testcase
deleted file mode 100644
index bef65bd..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector15.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - DOUBLE style_id
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', 1.1, zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', 1.1, zeroblob(4))
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector16.testcase b/test/sql_stmt_libxml2_tests/registerVector16.testcase
deleted file mode 100644
index 5875987..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector16.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - TEXT style_id
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', 'gamma', zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', 'gamma', zeroblob(4))
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector17.testcase b/test/sql_stmt_libxml2_tests/registerVector17.testcase
deleted file mode 100644
index c4d3cc6..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector17.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - BLOB style_id
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', zeroblob(4), zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', zeroblob(4), zeroblob(4))
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector18.testcase b/test/sql_stmt_libxml2_tests/registerVector18.testcase
deleted file mode 100644
index 03d0922..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector18.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - INTEGER style_id
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', 1, zeroblob(4));
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', 1, zeroblob(4))
-0
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector19.testcase b/test/sql_stmt_libxml2_tests/registerVector19.testcase
deleted file mode 100644
index 41c36b3..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector19.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - NULL style
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', 1, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', 1, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector2.testcase b/test/sql_stmt_libxml2_tests/registerVector2.testcase
index 36d302f..65890a3 100644
--- a/test/sql_stmt_libxml2_tests/registerVector2.testcase
+++ b/test/sql_stmt_libxml2_tests/registerVector2.testcase
@@ -1,8 +1,8 @@
-RegisterVectorStyledLayer - INTEGER f_table_name
+RegisterVectorStyledLayer - INTEGER coverage_name
 :memory: #use in-memory database
-SELECT RegisterVectorStyledLayer(1, NULL, NULL);
+SELECT SE_RegisterVectorStyledLayer(1, 1);
 1 # rows (not including the header row)
 1 # columns
-RegisterVectorStyledLayer(1, NULL, NULL)
+SE_RegisterVectorStyledLayer(1, 1)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerVector20.testcase b/test/sql_stmt_libxml2_tests/registerVector20.testcase
deleted file mode 100644
index e1bfa03..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector20.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - INTEGER style
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', 1, 1);
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', 1, 1)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector21.testcase b/test/sql_stmt_libxml2_tests/registerVector21.testcase
deleted file mode 100644
index 123c4c0..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector21.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - DOUBLE style
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', 1, 1.1);
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', 1, 1.1)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector22.testcase b/test/sql_stmt_libxml2_tests/registerVector22.testcase
deleted file mode 100644
index d594a80..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector22.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - TEXT style
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', 1, 'gamma');
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', 1, 'gamma')
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector3.testcase b/test/sql_stmt_libxml2_tests/registerVector3.testcase
index b2e5eea..e650b4e 100644
--- a/test/sql_stmt_libxml2_tests/registerVector3.testcase
+++ b/test/sql_stmt_libxml2_tests/registerVector3.testcase
@@ -1,8 +1,8 @@
-RegisterVectorStyledLayer - DOUBLE f_table_name
+RegisterVectorStyledLayer - DOUBLE coverage_name
 :memory: #use in-memory database
-SELECT RegisterVectorStyledLayer(1.1, NULL, NULL);
+SELECT SE_RegisterVectorStyledLayer(1.1, 1);
 1 # rows (not including the header row)
 1 # columns
-RegisterVectorStyledLayer(1.1, NULL, NULL)
+SE_RegisterVectorStyledLayer(1.1, 1)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerVector4.testcase b/test/sql_stmt_libxml2_tests/registerVector4.testcase
index 374f21a..7129523 100644
--- a/test/sql_stmt_libxml2_tests/registerVector4.testcase
+++ b/test/sql_stmt_libxml2_tests/registerVector4.testcase
@@ -1,8 +1,8 @@
-RegisterVectorStyledLayer - BLOB f_table_name
+RegisterVectorStyledLayer - BLOB coverage_name
 :memory: #use in-memory database
-SELECT RegisterVectorStyledLayer(zeroblob(4), NULL, NULL);
+SELECT SE_RegisterVectorStyledLayer(zeroblob(4), 1);
 1 # rows (not including the header row)
 1 # columns
-RegisterVectorStyledLayer(zeroblob(4), NULL, NULL)
+SE_RegisterVectorStyledLayer(zeroblob(4), 1)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerVector5.testcase b/test/sql_stmt_libxml2_tests/registerVector5.testcase
deleted file mode 100644
index d3bda4e..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector5.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - NULL f_geometry_column
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', NULL, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', NULL, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector6.testcase b/test/sql_stmt_libxml2_tests/registerVector6.testcase
deleted file mode 100644
index 72dd2bf..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector6.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - INTEGER f_geometry_column
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 1, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 1, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector7.testcase b/test/sql_stmt_libxml2_tests/registerVector7.testcase
deleted file mode 100644
index f297485..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector7.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - DOUBLE f_geometry_column
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 1.1, NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', 1.1, NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector8.testcase b/test/sql_stmt_libxml2_tests/registerVector8.testcase
deleted file mode 100644
index e311962..0000000
--- a/test/sql_stmt_libxml2_tests/registerVector8.testcase
+++ /dev/null
@@ -1,8 +0,0 @@
-RegisterVectorStyledLayer - BLOB f_geometry_column
-:memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', zeroblob(4), NULL);
-1 # rows (not including the header row)
-1 # columns
-RegisterVectorStyledLayer('alpha', zeroblob(4), NULL)
--1
-
diff --git a/test/sql_stmt_libxml2_tests/registerVector9.testcase b/test/sql_stmt_libxml2_tests/registerVector9.testcase
index d0c374b..573f284 100644
--- a/test/sql_stmt_libxml2_tests/registerVector9.testcase
+++ b/test/sql_stmt_libxml2_tests/registerVector9.testcase
@@ -1,8 +1,8 @@
 RegisterVectorStyledLayer - NULL style
 :memory: #use in-memory database
-SELECT RegisterVectorStyledLayer('alpha', 'beta', NULL);
+SELECT SE_RegisterVectorStyledLayer('alpha', NULL);
 1 # rows (not including the header row)
 1 # columns
-RegisterVectorStyledLayer('alpha', 'beta', NULL)
+SE_RegisterVectorStyledLayer('alpha', NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/registerVectorStyle1.testcase b/test/sql_stmt_libxml2_tests/registerVectorStyle1.testcase
new file mode 100644
index 0000000..211124c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerVectorStyle1.testcase
@@ -0,0 +1,8 @@
+RegisterVectorStyle - NULL style
+:memory: #use in-memory database
+SELECT SE_RegisterVectorStyle(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorStyle(NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerVectorStyle2.testcase b/test/sql_stmt_libxml2_tests/registerVectorStyle2.testcase
new file mode 100644
index 0000000..6904aa2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerVectorStyle2.testcase
@@ -0,0 +1,8 @@
+RegisterVectorStyle - Integer style
+:memory: #use in-memory database
+SELECT SE_RegisterVectorStyle(1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorStyle(1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerVectorStyle3.testcase b/test/sql_stmt_libxml2_tests/registerVectorStyle3.testcase
new file mode 100644
index 0000000..a62031b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerVectorStyle3.testcase
@@ -0,0 +1,8 @@
+RegisterVectorStyle - Double style
+:memory: #use in-memory database
+SELECT SE_RegisterVectorStyle(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorStyle(1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerVectorStyle4.testcase b/test/sql_stmt_libxml2_tests/registerVectorStyle4.testcase
new file mode 100644
index 0000000..509cfe0
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerVectorStyle4.testcase
@@ -0,0 +1,8 @@
+RegisterVectorStyle - Text style
+:memory: #use in-memory database
+SELECT SE_RegisterVectorStyle('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorStyle('alpha')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/registerVectorStyle5.testcase b/test/sql_stmt_libxml2_tests/registerVectorStyle5.testcase
new file mode 100644
index 0000000..66cb852
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerVectorStyle5.testcase
@@ -0,0 +1,7 @@
+RegisterVectorStyle - BLOB style
+:memory: #use in-memory database
+SELECT SE_RegisterVectorStyle(zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorStyle(zeroblob(100))
+0
diff --git a/test/sql_stmt_libxml2_tests/registerrasterkeyword1.testcase b/test/sql_stmt_libxml2_tests/registerrasterkeyword1.testcase
new file mode 100644
index 0000000..2a8429d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrasterkeyword1.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageKeyword - NULL coverage
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageKeyword(NULL, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageKeyword(NULL, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrasterkeyword2.testcase b/test/sql_stmt_libxml2_tests/registerrasterkeyword2.testcase
new file mode 100644
index 0000000..ffa1e56
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrasterkeyword2.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageKeyword - Int coverage
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageKeyword(1, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageKeyword(1, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrasterkeyword3.testcase b/test/sql_stmt_libxml2_tests/registerrasterkeyword3.testcase
new file mode 100644
index 0000000..4c7d2c8
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrasterkeyword3.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageKeyword - Double coverage
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageKeyword(1.1, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageKeyword(1.1, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrasterkeyword4.testcase b/test/sql_stmt_libxml2_tests/registerrasterkeyword4.testcase
new file mode 100644
index 0000000..21b2ace
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrasterkeyword4.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageKeyword - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageKeyword(zeroblob(4), 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageKeyword(zeroblob(4), 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrasterkeyword5.testcase b/test/sql_stmt_libxml2_tests/registerrasterkeyword5.testcase
new file mode 100644
index 0000000..29c8058
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrasterkeyword5.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageKeyword - NULL keyword
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageKeyword('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageKeyword('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrasterkeyword6.testcase b/test/sql_stmt_libxml2_tests/registerrasterkeyword6.testcase
new file mode 100644
index 0000000..f04580f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrasterkeyword6.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageKeyword - Double keyword
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageKeyword('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageKeyword('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrasterkeyword7.testcase b/test/sql_stmt_libxml2_tests/registerrasterkeyword7.testcase
new file mode 100644
index 0000000..60e3ecc
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrasterkeyword7.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageKeyword - Text keyword
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageKeyword('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageKeyword('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/registerrasterkeyword8.testcase b/test/sql_stmt_libxml2_tests/registerrasterkeyword8.testcase
new file mode 100644
index 0000000..9d0c1f8
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrasterkeyword8.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageKeyword - BLOB keyword
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageKeyword('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageKeyword('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrasterkeyword9.testcase b/test/sql_stmt_libxml2_tests/registerrasterkeyword9.testcase
new file mode 100644
index 0000000..c438009
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrasterkeyword9.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageKeyword - Int keyword
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageKeyword('alpha', 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageKeyword('alpha', 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrastersrid1.testcase b/test/sql_stmt_libxml2_tests/registerrastersrid1.testcase
new file mode 100644
index 0000000..1e25d0b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrastersrid1.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageSrid - NULL coverage
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageSrid(NULL, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageSrid(NULL, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrastersrid2.testcase b/test/sql_stmt_libxml2_tests/registerrastersrid2.testcase
new file mode 100644
index 0000000..284a786
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrastersrid2.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageSrid - Int coverage
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageSrid(1, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageSrid(1, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrastersrid3.testcase b/test/sql_stmt_libxml2_tests/registerrastersrid3.testcase
new file mode 100644
index 0000000..1c20852
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrastersrid3.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageSrid - Double coverage
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageSrid(1.1, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageSrid(1.1, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrastersrid4.testcase b/test/sql_stmt_libxml2_tests/registerrastersrid4.testcase
new file mode 100644
index 0000000..afacd11
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrastersrid4.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageSrid - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageSrid(zeroblob(4), 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageSrid(zeroblob(4), 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrastersrid5.testcase b/test/sql_stmt_libxml2_tests/registerrastersrid5.testcase
new file mode 100644
index 0000000..6816fb1
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrastersrid5.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageSrid - NULL srid
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageSrid('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageSrid('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrastersrid6.testcase b/test/sql_stmt_libxml2_tests/registerrastersrid6.testcase
new file mode 100644
index 0000000..d0aa1d2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrastersrid6.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageSrid - Double srid
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageSrid('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageSrid('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrastersrid7.testcase b/test/sql_stmt_libxml2_tests/registerrastersrid7.testcase
new file mode 100644
index 0000000..e21a095
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrastersrid7.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageSrid - Text srid
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageSrid('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageSrid('alpha', 'beta')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrastersrid8.testcase b/test/sql_stmt_libxml2_tests/registerrastersrid8.testcase
new file mode 100644
index 0000000..74d6463
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrastersrid8.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageSrid - BLOB srid
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageSrid('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageSrid('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/registerrastersrid9.testcase b/test/sql_stmt_libxml2_tests/registerrastersrid9.testcase
new file mode 100644
index 0000000..790d16b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registerrastersrid9.testcase
@@ -0,0 +1,7 @@
+RegisterRasterCoverageSrid - Int srid
+:memory: #use in-memory database
+SELECT SE_RegisterRasterCoverageSrid('alpha', 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterRasterCoverageSrid('alpha', 4326)
+0
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg1.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg1.testcase
new file mode 100644
index 0000000..6bf101e
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg1.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - NULL coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage(NULL, 'title', 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage(NULL, 'title', 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg10.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg10.testcase
new file mode 100644
index 0000000..b4a4ec2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg10.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - Int f_geometry_column
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg11.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg11.testcase
new file mode 100644
index 0000000..5acf9b5
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg11.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - Double f_geometry_column
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg12.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg12.testcase
new file mode 100644
index 0000000..871400f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg12.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - BLOB f_geometry_column
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg13.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg13.testcase
new file mode 100644
index 0000000..b8d94f4
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg13.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - valid short form
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 'geom');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 'geom')
+0
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg14.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg14.testcase
new file mode 100644
index 0000000..6edfd8f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg14.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - NULL title
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 'geom', NULL, 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 'geom', NULL, 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg15.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg15.testcase
new file mode 100644
index 0000000..ca38113
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg15.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - Int title
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 'geom', 1, 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 'geom', 1, 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg16.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg16.testcase
new file mode 100644
index 0000000..8a0f946
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg16.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - Double title
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 'geom', 1.1, 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 'geom', 1.1, 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg17.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg17.testcase
new file mode 100644
index 0000000..8fd3e4c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg17.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - BLOB title
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 'geom', zeroblob(4), 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 'geom', zeroblob(4), 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg18.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg18.testcase
new file mode 100644
index 0000000..e12e56f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg18.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - NULL abstract
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 'geom', 'title', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 'geom', 'title', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg19.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg19.testcase
new file mode 100644
index 0000000..06d18ed
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg19.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - Int abstract
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 'geom', 'title', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 'geom', 'title', 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg2.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg2.testcase
new file mode 100644
index 0000000..f0d063d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg2.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - Int coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage(1, 'title', 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage(1, 'title', 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg20.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg20.testcase
new file mode 100644
index 0000000..44d505a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg20.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - Double abstract
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 'geom', 'title', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 'geom', 'title', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg21.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg21.testcase
new file mode 100644
index 0000000..6b2731b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg21.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - BLOB abstract
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 'geom', 'title', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 'geom', 'title', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg22.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg22.testcase
new file mode 100644
index 0000000..950557a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg22.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - valid - long form
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', 'geom', 'title', 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', 'geom', 'title', 'abstract')
+0
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg3.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg3.testcase
new file mode 100644
index 0000000..c6bcad8
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg3.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - Double coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage(1.1, 'title', 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage(1.1, 'title', 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg4.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg4.testcase
new file mode 100644
index 0000000..d290c38
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg4.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage(zeroblob(4), 'title', 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage(zeroblob(4), 'title', 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg5.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg5.testcase
new file mode 100644
index 0000000..6a6a096
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg5.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - NULL f_table_name
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', NULL, 'geom');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', NULL, 'geom')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg6.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg6.testcase
new file mode 100644
index 0000000..2e74041
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg6.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - Int f_table_name
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 1, 'geom');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 1, 'geom')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg7.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg7.testcase
new file mode 100644
index 0000000..ad67dd7
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg7.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - Double f_table_name
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 1.1, 'geom');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 1.1, 'geom')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg8.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg8.testcase
new file mode 100644
index 0000000..28a9903
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg8.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - BLOB f_table_name
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', zeroblob(4), 'geom');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', zeroblob(4), 'geom')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorcvg9.testcase b/test/sql_stmt_libxml2_tests/registervectorcvg9.testcase
new file mode 100644
index 0000000..d086e70
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorcvg9.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverage - NULL f_geometry_column
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverage('alpha', 'table', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverage('alpha', 'table', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorkeyword1.testcase b/test/sql_stmt_libxml2_tests/registervectorkeyword1.testcase
new file mode 100644
index 0000000..a40873b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorkeyword1.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageKeyword - NULL coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageKeyword(NULL, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageKeyword(NULL, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorkeyword2.testcase b/test/sql_stmt_libxml2_tests/registervectorkeyword2.testcase
new file mode 100644
index 0000000..3c74525
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorkeyword2.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageKeyword - Int coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageSrid(1, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageSrid(1, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorkeyword3.testcase b/test/sql_stmt_libxml2_tests/registervectorkeyword3.testcase
new file mode 100644
index 0000000..68feefe
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorkeyword3.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageKeyword - Double coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageKeyword(1.1, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageKeyword(1.1, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorkeyword4.testcase b/test/sql_stmt_libxml2_tests/registervectorkeyword4.testcase
new file mode 100644
index 0000000..c92a4e2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorkeyword4.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageKeyword - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageKeyword(zeroblob(4), 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageKeyword(zeroblob(4), 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorkeyword5.testcase b/test/sql_stmt_libxml2_tests/registervectorkeyword5.testcase
new file mode 100644
index 0000000..7e8dacc
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorkeyword5.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageKeyword - NULL keyword
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageKeyword('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageKeyword('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorkeyword6.testcase b/test/sql_stmt_libxml2_tests/registervectorkeyword6.testcase
new file mode 100644
index 0000000..3006583
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorkeyword6.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageKeyword - Double keyword
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageKeyword('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageKeyword('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorkeyword7.testcase b/test/sql_stmt_libxml2_tests/registervectorkeyword7.testcase
new file mode 100644
index 0000000..ec9c5ff
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorkeyword7.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageKeyword - Text keyword
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageKeyword('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageKeyword('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/registervectorkeyword8.testcase b/test/sql_stmt_libxml2_tests/registervectorkeyword8.testcase
new file mode 100644
index 0000000..39b4bbd
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorkeyword8.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageKeyword - BLOB keyword
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageKeyword('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageKeyword('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorkeyword9.testcase b/test/sql_stmt_libxml2_tests/registervectorkeyword9.testcase
new file mode 100644
index 0000000..fd4d6e7
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorkeyword9.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageKeyword - Int keyword
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageKeyword('alpha', 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageKeyword('alpha', 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorsrid1.testcase b/test/sql_stmt_libxml2_tests/registervectorsrid1.testcase
new file mode 100644
index 0000000..6510563
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorsrid1.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageSrid - NULL coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageSrid(NULL, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageSrid(NULL, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorsrid2.testcase b/test/sql_stmt_libxml2_tests/registervectorsrid2.testcase
new file mode 100644
index 0000000..ba25ea6
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorsrid2.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageSrid - Int coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageSrid(1, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageSrid(1, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorsrid3.testcase b/test/sql_stmt_libxml2_tests/registervectorsrid3.testcase
new file mode 100644
index 0000000..0843d16
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorsrid3.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageSrid - Double coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageSrid(1.1, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageSrid(1.1, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorsrid4.testcase b/test/sql_stmt_libxml2_tests/registervectorsrid4.testcase
new file mode 100644
index 0000000..cf318f5
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorsrid4.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageSrid - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageSrid(zeroblob(4), 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageSrid(zeroblob(4), 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorsrid5.testcase b/test/sql_stmt_libxml2_tests/registervectorsrid5.testcase
new file mode 100644
index 0000000..b425035
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorsrid5.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageSrid - NULL srid
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageSrid('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageSrid('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorsrid6.testcase b/test/sql_stmt_libxml2_tests/registervectorsrid6.testcase
new file mode 100644
index 0000000..11e2c15
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorsrid6.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageSrid - Double srid
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageSrid('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageSrid('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorsrid7.testcase b/test/sql_stmt_libxml2_tests/registervectorsrid7.testcase
new file mode 100644
index 0000000..369d9b8
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorsrid7.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageSrid - Text srid
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageSrid('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageSrid('alpha', 'beta')
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorsrid8.testcase b/test/sql_stmt_libxml2_tests/registervectorsrid8.testcase
new file mode 100644
index 0000000..b53d59d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorsrid8.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageSrid - BLOB srid
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageSrid('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageSrid('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/registervectorsrid9.testcase b/test/sql_stmt_libxml2_tests/registervectorsrid9.testcase
new file mode 100644
index 0000000..1f8db92
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/registervectorsrid9.testcase
@@ -0,0 +1,7 @@
+RegisterVectorCoverageSrid - Int srid
+:memory: #use in-memory database
+SELECT SE_RegisterVectorCoverageSrid('alpha', 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_RegisterVectorCoverageSrid('alpha', 4326)
+0
diff --git a/test/sql_stmt_libxml2_tests/reloadGroupStyle1.testcase b/test/sql_stmt_libxml2_tests/reloadGroupStyle1.testcase
new file mode 100644
index 0000000..f5e66f8
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadGroupStyle1.testcase
@@ -0,0 +1,7 @@
+ReloadGroupStyle - NULL style ID
+:memory: #use in-memory database
+SELECT SE_ReloadGroupStyle(NULL, zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadGroupStyle(NULL, zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadGroupStyle10.testcase b/test/sql_stmt_libxml2_tests/reloadGroupStyle10.testcase
new file mode 100644
index 0000000..2ff316a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadGroupStyle10.testcase
@@ -0,0 +1,7 @@
+ReloadGroupStyle - text coverage
+:memory: #use in-memory database
+SELECT SE_ReloadGroupStyle('alpha', zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadGroupStyle('alpha', zeroblob(100))
+0
diff --git a/test/sql_stmt_libxml2_tests/reloadGroupStyle2.testcase b/test/sql_stmt_libxml2_tests/reloadGroupStyle2.testcase
new file mode 100644
index 0000000..242e546
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadGroupStyle2.testcase
@@ -0,0 +1,7 @@
+ReloadGroupStyle - Double style ID
+:memory: #use in-memory database
+SELECT SE_ReloadGroupStyle(1.1, zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadGroupStyle(1.1, zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadGroupStyle3.testcase b/test/sql_stmt_libxml2_tests/reloadGroupStyle3.testcase
new file mode 100644
index 0000000..d2e6b92
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadGroupStyle3.testcase
@@ -0,0 +1,7 @@
+ReloadGroupStyle - BLOB style ID
+:memory: #use in-memory database
+SELECT SE_ReloadGroupStyle(zeroblob(100), zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadGroupStyle(zeroblob(100), zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadGroupStyle4.testcase b/test/sql_stmt_libxml2_tests/reloadGroupStyle4.testcase
new file mode 100644
index 0000000..66d033b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadGroupStyle4.testcase
@@ -0,0 +1,7 @@
+ReloadGroupStyle - Integer style ID
+:memory: #use in-memory database
+SELECT SE_ReloadGroupStyle(1, zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadGroupStyle(1, zeroblob(100))
+0
diff --git a/test/sql_stmt_libxml2_tests/reloadGroupStyle5.testcase b/test/sql_stmt_libxml2_tests/reloadGroupStyle5.testcase
new file mode 100644
index 0000000..9b36490
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadGroupStyle5.testcase
@@ -0,0 +1,7 @@
+ReloadGroupStyle - Text style Name
+:memory: #use in-memory database
+SELECT SE_ReloadGroupStyle('alpha', zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadGroupStyle('alpha', zeroblob(100))
+0
diff --git a/test/sql_stmt_libxml2_tests/reloadGroupStyle6.testcase b/test/sql_stmt_libxml2_tests/reloadGroupStyle6.testcase
new file mode 100644
index 0000000..5028a4f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadGroupStyle6.testcase
@@ -0,0 +1,7 @@
+ReloadGroupStyle - NULL style
+:memory: #use in-memory database
+SELECT SE_ReloadGroupStyle('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadGroupStyle('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadGroupStyle7.testcase b/test/sql_stmt_libxml2_tests/reloadGroupStyle7.testcase
new file mode 100644
index 0000000..218b21f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadGroupStyle7.testcase
@@ -0,0 +1,7 @@
+ReloadGroupStyle - Integer style
+:memory: #use in-memory database
+SELECT SE_ReloadGroupStyle('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadGroupStyle('alpha', 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadGroupStyle8.testcase b/test/sql_stmt_libxml2_tests/reloadGroupStyle8.testcase
new file mode 100644
index 0000000..940e322
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadGroupStyle8.testcase
@@ -0,0 +1,7 @@
+ReloadGroupStyle - Double style
+:memory: #use in-memory database
+SELECT SE_ReloadGroupStyle('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadGroupStyle('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadGroupStyle9.testcase b/test/sql_stmt_libxml2_tests/reloadGroupStyle9.testcase
new file mode 100644
index 0000000..044dacf
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadGroupStyle9.testcase
@@ -0,0 +1,7 @@
+ReloadGroupStyle - Text style
+:memory: #use in-memory database
+SELECT SE_ReloadGroupStyle('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadGroupStyle('alpha', 'beta')
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadRasterStyle1.testcase b/test/sql_stmt_libxml2_tests/reloadRasterStyle1.testcase
new file mode 100644
index 0000000..9d65680
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadRasterStyle1.testcase
@@ -0,0 +1,7 @@
+ReloadRasterStyle - NULL style_id
+:memory: #use in-memory database
+SELECT SE_ReloadRasterStyle(NULL, zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadRasterStyle(NULL, zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadRasterStyle10.testcase b/test/sql_stmt_libxml2_tests/reloadRasterStyle10.testcase
new file mode 100644
index 0000000..f1d082f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadRasterStyle10.testcase
@@ -0,0 +1,7 @@
+ReloadRasterStyle - Text style
+:memory: #use in-memory database
+SELECT SE_ReloadRasterStyle('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadRasterStyle('alpha', 'beta')
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadRasterStyle2.testcase b/test/sql_stmt_libxml2_tests/reloadRasterStyle2.testcase
new file mode 100644
index 0000000..6df0bab
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadRasterStyle2.testcase
@@ -0,0 +1,7 @@
+ReloadRasterStyle - Double style_id
+:memory: #use in-memory database
+SELECT SE_ReloadRasterStyle(1.1, zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadRasterStyle(1.1, zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadRasterStyle3.testcase b/test/sql_stmt_libxml2_tests/reloadRasterStyle3.testcase
new file mode 100644
index 0000000..a348c9c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadRasterStyle3.testcase
@@ -0,0 +1,7 @@
+ReloadRasterStyle - BLOB style_id
+:memory: #use in-memory database
+SELECT SE_ReloadRasterStyle(zeroblob(100), zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadRasterStyle(zeroblob(100), zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadRasterStyle5.testcase b/test/sql_stmt_libxml2_tests/reloadRasterStyle5.testcase
new file mode 100644
index 0000000..44c0cd3
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadRasterStyle5.testcase
@@ -0,0 +1,7 @@
+ReloadRasterStyle - Integet style_id
+:memory: #use in-memory database
+SELECT SE_ReloadRasterStyle(1, zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadRasterStyle(1, zeroblob(100))
+0
diff --git a/test/sql_stmt_libxml2_tests/reloadRasterStyle6.testcase b/test/sql_stmt_libxml2_tests/reloadRasterStyle6.testcase
new file mode 100644
index 0000000..ff09dbf
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadRasterStyle6.testcase
@@ -0,0 +1,7 @@
+ReloadRasterStyle - Text style_name
+:memory: #use in-memory database
+SELECT SE_ReloadRasterStyle('alpha', zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadRasterStyle('alpha', zeroblob(100))
+0
diff --git a/test/sql_stmt_libxml2_tests/reloadRasterStyle7.testcase b/test/sql_stmt_libxml2_tests/reloadRasterStyle7.testcase
new file mode 100644
index 0000000..0021727
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadRasterStyle7.testcase
@@ -0,0 +1,7 @@
+ReloadRasterStyle - NULL style
+:memory: #use in-memory database
+SELECT SE_ReloadRasterStyle('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadRasterStyle('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadRasterStyle8.testcase b/test/sql_stmt_libxml2_tests/reloadRasterStyle8.testcase
new file mode 100644
index 0000000..a5ece78
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadRasterStyle8.testcase
@@ -0,0 +1,7 @@
+ReloadRasterStyle - Integer style
+:memory: #use in-memory database
+SELECT SE_ReloadRasterStyle('alpha', -1);
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadRasterStyle('alpha', -1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadRasterStyle9.testcase b/test/sql_stmt_libxml2_tests/reloadRasterStyle9.testcase
new file mode 100644
index 0000000..0dc7eb2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadRasterStyle9.testcase
@@ -0,0 +1,7 @@
+ReloadRasterStyle - Double style
+:memory: #use in-memory database
+SELECT SE_ReloadRasterStyle('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadRasterStyle('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadVectorStyle1.testcase b/test/sql_stmt_libxml2_tests/reloadVectorStyle1.testcase
new file mode 100644
index 0000000..39d1a56
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadVectorStyle1.testcase
@@ -0,0 +1,7 @@
+ReloadVectorStyle - NULL style_id
+:memory: #use in-memory database
+SELECT SE_ReloadVectorStyle(NULL, zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadVectorStyle(NULL, zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadVectorStyle10.testcase b/test/sql_stmt_libxml2_tests/reloadVectorStyle10.testcase
new file mode 100644
index 0000000..0787686
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadVectorStyle10.testcase
@@ -0,0 +1,7 @@
+ReloadVectorStyle - Text style
+:memory: #use in-memory database
+SELECT SE_ReloadVectorStyle('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadVectorStyle('alpha', 'beta')
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadVectorStyle2.testcase b/test/sql_stmt_libxml2_tests/reloadVectorStyle2.testcase
new file mode 100644
index 0000000..fd09f0c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadVectorStyle2.testcase
@@ -0,0 +1,7 @@
+ReloadVectorStyle - Double style_id
+:memory: #use in-memory database
+SELECT SE_ReloadVectorStyle(1.1, zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadVectorStyle(1.1, zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadVectorStyle3.testcase b/test/sql_stmt_libxml2_tests/reloadVectorStyle3.testcase
new file mode 100644
index 0000000..5d3c707
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadVectorStyle3.testcase
@@ -0,0 +1,7 @@
+ReloadVectorStyle - BLOB style_id
+:memory: #use in-memory database
+SELECT SE_ReloadVectorStyle(zeroblob(100), zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadVectorStyle(zeroblob(100), zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadVectorStyle5.testcase b/test/sql_stmt_libxml2_tests/reloadVectorStyle5.testcase
new file mode 100644
index 0000000..03a9e36
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadVectorStyle5.testcase
@@ -0,0 +1,7 @@
+ReloadVectorStyle - Integet style_id
+:memory: #use in-memory database
+SELECT SE_ReloadVectorStyle(1, zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadVectorStyle(1, zeroblob(100))
+0
diff --git a/test/sql_stmt_libxml2_tests/reloadVectorStyle6.testcase b/test/sql_stmt_libxml2_tests/reloadVectorStyle6.testcase
new file mode 100644
index 0000000..829f163
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadVectorStyle6.testcase
@@ -0,0 +1,7 @@
+ReloadVectorStyle - Text style_name
+:memory: #use in-memory database
+SELECT SE_ReloadVectorStyle('alpha', zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadVectorStyle('alpha', zeroblob(100))
+0
diff --git a/test/sql_stmt_libxml2_tests/reloadVectorStyle7.testcase b/test/sql_stmt_libxml2_tests/reloadVectorStyle7.testcase
new file mode 100644
index 0000000..ff2445d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadVectorStyle7.testcase
@@ -0,0 +1,7 @@
+ReloadVectorStyle - NULL style
+:memory: #use in-memory database
+SELECT SE_ReloadVectorStyle('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadVectorStyle('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadVectorStyle8.testcase b/test/sql_stmt_libxml2_tests/reloadVectorStyle8.testcase
new file mode 100644
index 0000000..1d42a0e
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadVectorStyle8.testcase
@@ -0,0 +1,7 @@
+ReloadVectorStyle - Integer style
+:memory: #use in-memory database
+SELECT SE_ReloadVectorStyle('alpha', -1);
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadVectorStyle('alpha', -1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/reloadVectorStyle9.testcase b/test/sql_stmt_libxml2_tests/reloadVectorStyle9.testcase
new file mode 100644
index 0000000..b282a06
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/reloadVectorStyle9.testcase
@@ -0,0 +1,7 @@
+ReloadVectorStyle - Double style
+:memory: #use in-memory database
+SELECT SE_ReloadVectorStyle('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_ReloadVectorStyle('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos1.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos1.testcase
index 7cd1b86..ed18270 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos1.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos1.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - NULL group_name
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos(NULL, 'title', 'abstract');
+SELECT SE_SetStyledGroupInfos(NULL, 'title', 'abstract');
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos(NULL, 'title', 'abstract')
+SE_SetStyledGroupInfos(NULL, 'title', 'abstract')
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos10.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos10.testcase
index 9cd1349..0942523 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos10.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos10.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - INTEGER abstract
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos('group', 'title', 1);
+SELECT SE_SetStyledGroupInfos('group', 'title', 1);
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos('group', 'title', 1)
+SE_SetStyledGroupInfos('group', 'title', 1)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos11.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos11.testcase
index e3a67b0..f136252 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos11.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos11.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - DOUBLE abstract
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos('group', 'title', 0.1);
+SELECT SE_SetStyledGroupInfos('group', 'title', 0.1);
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos('group', 'title', 0.1)
+SE_SetStyledGroupInfos('group', 'title', 0.1)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos12.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos12.testcase
index 199bcfe..070610d 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos12.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos12.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - BLOB abstract
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos('group', 'title', zeroblob(4));
+SELECT SE_SetStyledGroupInfos('group', 'title', zeroblob(4));
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos('group', 'title', zeroblob(4))
+SE_SetStyledGroupInfos('group', 'title', zeroblob(4))
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos13.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos13.testcase
index d8b230e..c63fe64 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos13.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos13.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - valid
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos('group', 'title', 'abstract');
+SELECT SE_SetStyledGroupInfos('group', 'title', 'abstract');
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos('group', 'title', 'abstract')
+SE_SetStyledGroupInfos('group', 'title', 'abstract')
 0
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos2.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos2.testcase
index c19b792..047bfbf 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos2.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos2.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - INTEGER group_name
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos(1, 'title', 'abstract');
+SELECT SE_SetStyledGroupInfos(1, 'title', 'abstract');
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos(1, 'title', 'abstract')
+SE_SetStyledGroupInfos(1, 'title', 'abstract')
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos3.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos3.testcase
index 4da81e8..a8edab5 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos3.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos3.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - DOUBLE group_name
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos(1.5, 'title', 'abstract');
+SELECT SE_SetStyledGroupInfos(1.5, 'title', 'abstract');
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos(1.5, 'title', 'abstract')
+SE_SetStyledGroupInfos(1.5, 'title', 'abstract')
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos4.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos4.testcase
index 202b76c..ca20978 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos4.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos4.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - BLOB group_name
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos(zeroblob(4), 'title', 'abstract');
+SELECT SE_SetStyledGroupInfos(zeroblob(4), 'title', 'abstract');
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos(zeroblob(4), 'title', 'abstract')
+SE_SetStyledGroupInfos(zeroblob(4), 'title', 'abstract')
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos5.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos5.testcase
index 896c863..46fb985 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos5.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos5.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - NULL title
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos('group', NULL, 'abstract');
+SELECT SE_SetStyledGroupInfos('group', NULL, 'abstract');
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos('group', NULL, 'abstract')
+SE_SetStyledGroupInfos('group', NULL, 'abstract')
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos6.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos6.testcase
index 46cfe88..b3c9657 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos6.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos6.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - INTEGER title
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos('group', 1, 'abstract');
+SELECT SE_SetStyledGroupInfos('group', 1, 'abstract');
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos('group', 1, 'abstract')
+SE_SetStyledGroupInfos('group', 1, 'abstract')
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos7.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos7.testcase
index e5921c3..925b82d 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos7.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos7.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - DOUBLE title
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos('group', 1.4, 'abstract');
+SELECT SE_SetStyledGroupInfos('group', 1.4, 'abstract');
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos('group', 1.4, 'abstract')
+SE_SetStyledGroupInfos('group', 1.4, 'abstract')
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos8.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos8.testcase
index ec82e83..922fee7 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos8.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos8.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - BLOB title
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos('group', zeroblob(4), 'abstract');
+SELECT SE_SetStyledGroupInfos('group', zeroblob(4), 'abstract');
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos('group', zeroblob(4), 'abstract')
+SE_SetStyledGroupInfos('group', zeroblob(4), 'abstract')
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setGroupInfos9.testcase b/test/sql_stmt_libxml2_tests/setGroupInfos9.testcase
index bd6bf5b..c5d42bc 100644
--- a/test/sql_stmt_libxml2_tests/setGroupInfos9.testcase
+++ b/test/sql_stmt_libxml2_tests/setGroupInfos9.testcase
@@ -1,8 +1,8 @@
 SetStyledGroupInfos - NULL abstract
 :memory: #use in-memory database
-SELECT SetStyledGroupInfos('group', 'title', NULL);
+SELECT SE_SetStyledGroupInfos('group', 'title', NULL);
 1 # rows (not including the header row)
 1 # columns
-SetStyledGroupInfos('group', 'title', NULL)
+SE_SetStyledGroupInfos('group', 'title', NULL)
 -1
 
diff --git a/test/sql_stmt_libxml2_tests/setPaintOrder1.testcase b/test/sql_stmt_libxml2_tests/setPaintOrder1.testcase
new file mode 100644
index 0000000..0c0a601
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setPaintOrder1.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupLayerPaintOrder - NULL item ID
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupLayerPaintOrder(NULL, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupLayerPaintOrder(NULL, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setPaintOrder2.testcase b/test/sql_stmt_libxml2_tests/setPaintOrder2.testcase
new file mode 100644
index 0000000..8e8d9c2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setPaintOrder2.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupLayerPaintOrder - Double item ID
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupLayerPaintOrder(1.1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupLayerPaintOrder(1.1, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setPaintOrder3.testcase b/test/sql_stmt_libxml2_tests/setPaintOrder3.testcase
new file mode 100644
index 0000000..51b5c29
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setPaintOrder3.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupLayerPaintOrder - BLOB item ID
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupLayerPaintOrder(zeroblob(4), 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupLayerPaintOrder(zeroblob(4), 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setPaintOrder4.testcase b/test/sql_stmt_libxml2_tests/setPaintOrder4.testcase
new file mode 100644
index 0000000..0460092
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setPaintOrder4.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupLayerPaintOrder - ID - NULL order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupLayerPaintOrder(1, NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupLayerPaintOrder(1, NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setPaintOrder5.testcase b/test/sql_stmt_libxml2_tests/setPaintOrder5.testcase
new file mode 100644
index 0000000..104fdb4
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setPaintOrder5.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupLayerPaintOrder - ID - Text order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupLayerPaintOrder(1, 'alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupLayerPaintOrder(1, 'alpha')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setPaintOrder6.testcase b/test/sql_stmt_libxml2_tests/setPaintOrder6.testcase
new file mode 100644
index 0000000..be3431d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setPaintOrder6.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupLayerPaintOrder - ID - BLOB order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupLayerPaintOrder(1, zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupLayerPaintOrder(1, zeroblob(4))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setPaintOrder7.testcase b/test/sql_stmt_libxml2_tests/setPaintOrder7.testcase
new file mode 100644
index 0000000..909945b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setPaintOrder7.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupLayerPaintOrder - ID - Double order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupLayerPaintOrder(1, 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupLayerPaintOrder(1, 1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setPaintOrder8.testcase b/test/sql_stmt_libxml2_tests/setPaintOrder8.testcase
new file mode 100644
index 0000000..4808efa
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setPaintOrder8.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupLayerPaintOrder - ID - Int order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupLayerPaintOrder(1, 2);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupLayerPaintOrder(1, 2)
+0
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder1.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder1.testcase
new file mode 100644
index 0000000..0afbd94
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder1.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupRasterPaintOrder - NULL group
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder(NULL, 'beta', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder(NULL, 'beta', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder10.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder10.testcase
new file mode 100644
index 0000000..7786271
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder10.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupRasterPaintOrder - Double order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder('alpha', 'beta', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder('alpha', 'beta', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder11.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder11.testcase
new file mode 100644
index 0000000..6523567
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder11.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupRasterPaintOrder - Text order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder('alpha', 'beta', 'gamma');
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder('alpha', 'beta', 'gamma')
+-1
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder12.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder12.testcase
new file mode 100644
index 0000000..54282b6
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder12.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupRasterPaintOrder - BLOB order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder('alpha', 'beta', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder('alpha', 'beta', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder13.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder13.testcase
new file mode 100644
index 0000000..034f539
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder13.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupRasterPaintOrder - Int order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder('alpha', 'beta', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder('alpha', 'beta', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder2.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder2.testcase
new file mode 100644
index 0000000..dbf8a9f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder2.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupRasterPaintOrder - Int group
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder(1, 'beta', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder(1, 'beta', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder3.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder3.testcase
new file mode 100644
index 0000000..7d1312d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder3.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupRasterPaintOrder - Double group
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder(1.1, 'beta', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder(1.1, 'beta', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder4.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder4.testcase
new file mode 100644
index 0000000..83a2025
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder4.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupRasterPaintOrder - BLOB group
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder(zeroblob(4), 'beta', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder(zeroblob(4), 'beta', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder5.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder5.testcase
new file mode 100644
index 0000000..1509543
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder5.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupRasterPaintOrder - NULL coverage
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder('alpha', NULL, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder('alpha', NULL, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder6.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder6.testcase
new file mode 100644
index 0000000..fac6571
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder6.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupRasterPaintOrder - Int coverage
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder('alpha', 1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder('alpha', 1, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder7.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder7.testcase
new file mode 100644
index 0000000..24eeea5
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder7.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupRasterPaintOrder - Double coverage
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder('alpha', 1.1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder('alpha', 1.1, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder8.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder8.testcase
new file mode 100644
index 0000000..1ed4330
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder8.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupRasterPaintOrder - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder('alpha', zeroblob(4), 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder('alpha', zeroblob(4), 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/setRasterPaintOrder9.testcase b/test/sql_stmt_libxml2_tests/setRasterPaintOrder9.testcase
new file mode 100644
index 0000000..f136186
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setRasterPaintOrder9.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupRasterPaintOrder - NULL order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupRasterPaintOrder('alpha', 'beta', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupRasterPaintOrder('alpha', 'beta', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder1.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder1.testcase
new file mode 100644
index 0000000..900ea1f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder1.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupVectorPaintOrder - NULL group
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder(NULL, 'beta', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder(NULL, 'beta', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder10.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder10.testcase
new file mode 100644
index 0000000..c8fb4a0
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder10.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupVectorPaintOrder - Double order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder('alpha', 'beta', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder('alpha', 'beta', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder11.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder11.testcase
new file mode 100644
index 0000000..62b8bdf
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder11.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupVectorPaintOrder - Text order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder('alpha', 'beta', 'gamma');
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder('alpha', 'beta', 'gamma')
+-1
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder12.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder12.testcase
new file mode 100644
index 0000000..29720a9
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder12.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupVectorPaintOrder - BLOB order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder('alpha', 'beta', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder('alpha', 'beta', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder13.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder13.testcase
new file mode 100644
index 0000000..5de0819
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder13.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupVectorPaintOrder - Int order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder('alpha', 'beta', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder('alpha', 'beta', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder2.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder2.testcase
new file mode 100644
index 0000000..54cbda3
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder2.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupVectorPaintOrder - Int group
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder(1, 'beta', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder(1, 'beta', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder3.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder3.testcase
new file mode 100644
index 0000000..fe6eb8e
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder3.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupVectorPaintOrder - Double group
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder(1.1, 'beta', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder(1.1, 'beta', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder4.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder4.testcase
new file mode 100644
index 0000000..8daead5
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder4.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupVectorPaintOrder - BLOB group
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder(zeroblob(4), 'beta', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder(zeroblob(4), 'beta', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder5.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder5.testcase
new file mode 100644
index 0000000..b5af0c5
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder5.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupVectorPaintOrder - NULL coverage
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder('alpha', NULL, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder('alpha', NULL, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder6.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder6.testcase
new file mode 100644
index 0000000..d3b8b9e
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder6.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupVectorPaintOrder - Int coverage
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder('alpha', 1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder('alpha', 1, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder7.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder7.testcase
new file mode 100644
index 0000000..89989d0
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder7.testcase
@@ -0,0 +1,8 @@
+SetStyledGroupVectorPaintOrder - Double coverage
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder('alpha', 1.1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder('alpha', 1.1, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder8.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder8.testcase
new file mode 100644
index 0000000..5f02907
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder8.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupVectorPaintOrder - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder('alpha', zeroblob(4), 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder('alpha', zeroblob(4), 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/setVectorPaintOrder9.testcase b/test/sql_stmt_libxml2_tests/setVectorPaintOrder9.testcase
new file mode 100644
index 0000000..8431391
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setVectorPaintOrder9.testcase
@@ -0,0 +1,7 @@
+SetStyledGroupVectorPaintOrder - NULL order
+:memory: #use in-memory database
+SELECT SE_SetStyledGroupVectorPaintOrder('alpha', 'beta', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_SetStyledGroupVectorPaintOrder('alpha', 'beta', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos1.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos1.testcase
new file mode 100644
index 0000000..16a8d85
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos1.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - NULL coverage
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos(NULL, 'title', 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos(NULL, 'title', 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos10.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos10.testcase
new file mode 100644
index 0000000..4d6e1a7
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos10.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - Int abstract
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos('alpha', 'title', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos('alpha', 'title', 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos11.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos11.testcase
new file mode 100644
index 0000000..08d1e89
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos11.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - Double abstract
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos('alpha', 'title', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos('alpha', 'title', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos12.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos12.testcase
new file mode 100644
index 0000000..423c407
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos12.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - BLOB abstract
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos('alpha', 'title', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos('alpha', 'title', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos13.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos13.testcase
new file mode 100644
index 0000000..8135fb5
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos13.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - Text abstract
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos('alpha', 'title', 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos('alpha', 'title', 'abstract')
+0
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos2.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos2.testcase
new file mode 100644
index 0000000..fcc56b6
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos2.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - Int coverage
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos(1, 'title', 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos(1, 'title', 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos3.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos3.testcase
new file mode 100644
index 0000000..fbe247f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos3.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - Double coverage
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos(1.1, 'title', 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos(1.1, 'title', 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos4.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos4.testcase
new file mode 100644
index 0000000..d4b734d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos4.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos(zeroblob(4), 'title', 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos(zeroblob(4), 'title', 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos5.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos5.testcase
new file mode 100644
index 0000000..68997fa
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos5.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - NULL title
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos('alpha', NULL, 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos('alpha', NULL, 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos6.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos6.testcase
new file mode 100644
index 0000000..5cb7efd
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos6.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - Int title
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos('alpha', 1, 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos('alpha', 1, 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos7.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos7.testcase
new file mode 100644
index 0000000..3c2eef6
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos7.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - Double title
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos('alpha', 1.1, 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos('alpha', 1.1, 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos8.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos8.testcase
new file mode 100644
index 0000000..93761e0
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos8.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - BLOB title
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos('alpha', zeroblob(4), 'abstract');
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos('alpha', zeroblob(4), 'abstract')
+-1
diff --git a/test/sql_stmt_libxml2_tests/setvectorinfos9.testcase b/test/sql_stmt_libxml2_tests/setvectorinfos9.testcase
new file mode 100644
index 0000000..39d0ec3
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/setvectorinfos9.testcase
@@ -0,0 +1,7 @@
+SetVectorCoverageInfos - NULL abstract
+:memory: #use in-memory database
+SELECT SE_SetVectorCoverageInfos('alpha', 'title', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_SetVectorCoverageInfos('alpha', 'title', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterGraphic1.testcase b/test/sql_stmt_libxml2_tests/unregisterGraphic1.testcase
new file mode 100644
index 0000000..7811549
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGraphic1.testcase
@@ -0,0 +1,8 @@
+UnregisterExternalGraphic - NULL URL
+:memory: #use in-memory database
+SELECT SE_UnregisterExternalGraphic(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterExternalGraphic(NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGraphic2.testcase b/test/sql_stmt_libxml2_tests/unregisterGraphic2.testcase
new file mode 100644
index 0000000..ef80bad
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGraphic2.testcase
@@ -0,0 +1,8 @@
+UnregisterExternalGraphic - Int URL
+:memory: #use in-memory database
+SELECT SE_UnregisterExternalGraphic(1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterExternalGraphic(1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGraphic3.testcase b/test/sql_stmt_libxml2_tests/unregisterGraphic3.testcase
new file mode 100644
index 0000000..dc2bb85
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGraphic3.testcase
@@ -0,0 +1,8 @@
+UnregisterExternalGraphic - Double URL
+:memory: #use in-memory database
+SELECT SE_UnregisterExternalGraphic(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterExternalGraphic(1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGraphic4.testcase b/test/sql_stmt_libxml2_tests/unregisterGraphic4.testcase
new file mode 100644
index 0000000..580c70e
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGraphic4.testcase
@@ -0,0 +1,8 @@
+UnregisterExternalGraphic - BLOB URL
+:memory: #use in-memory database
+SELECT SE_UnregisterExternalGraphic(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterExternalGraphic(zeroblob(4))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGraphic5.testcase b/test/sql_stmt_libxml2_tests/unregisterGraphic5.testcase
new file mode 100644
index 0000000..3ac74b7
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGraphic5.testcase
@@ -0,0 +1,7 @@
+UnregisterExternalGraphic - Text URL
+:memory: #use in-memory database
+SELECT SE_UnregisterExternalGraphic('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterExternalGraphic('alpha')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroup1.testcase b/test/sql_stmt_libxml2_tests/unregisterGroup1.testcase
new file mode 100644
index 0000000..71474f3
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroup1.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroup - NULL group name
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroup(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroup(NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroup2.testcase b/test/sql_stmt_libxml2_tests/unregisterGroup2.testcase
new file mode 100644
index 0000000..62cbcd1
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroup2.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroup - Integer group name
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroup(1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroup(1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroup3.testcase b/test/sql_stmt_libxml2_tests/unregisterGroup3.testcase
new file mode 100644
index 0000000..74cbaf8
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroup3.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroup - Double group name
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroup(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroup(1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroup4.testcase b/test/sql_stmt_libxml2_tests/unregisterGroup4.testcase
new file mode 100644
index 0000000..8ca466d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroup4.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroup - BLOB group name
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroup(zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroup(zeroblob(100))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroup5.testcase b/test/sql_stmt_libxml2_tests/unregisterGroup5.testcase
new file mode 100644
index 0000000..1337df0
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroup5.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroup - Text group name
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroup('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroup('alpha')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupLayer1.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupLayer1.testcase
new file mode 100644
index 0000000..954b2ee
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupLayer1.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupLayer - NULL item ID
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupLayer(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupLayer(NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupLayer2.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupLayer2.testcase
new file mode 100644
index 0000000..65e4268
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupLayer2.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupLayer - Double item ID
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupLayer(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupLayer(1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupLayer3.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupLayer3.testcase
new file mode 100644
index 0000000..b081d02
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupLayer3.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupLayer - Text item ID
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupLayer('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupLayer('alpha')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupLayer4.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupLayer4.testcase
new file mode 100644
index 0000000..af1ea7a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupLayer4.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupLayer - Blob item ID
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupLayer(zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupLayer(zeroblob(100))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupLayer5.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupLayer5.testcase
new file mode 100644
index 0000000..5a75f9d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupLayer5.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupLayer - Integer item ID
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupLayer(1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupLayer(1)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupRaster1.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupRaster1.testcase
new file mode 100644
index 0000000..7da0d77
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupRaster1.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupRaster - NULL group
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupRaster(NULL, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupRaster(NULL, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupRaster2.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupRaster2.testcase
new file mode 100644
index 0000000..45ff9ea
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupRaster2.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupRaster - Int group
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupRaster(1, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupRaster(1, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupRaster3.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupRaster3.testcase
new file mode 100644
index 0000000..bd92593
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupRaster3.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupRaster - Double group
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupRaster(1.1, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupRaster(1.1, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupRaster4.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupRaster4.testcase
new file mode 100644
index 0000000..9d4186b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupRaster4.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupRaster - BLOB group
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupRaster(zeroblob(4), 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupRaster(zeroblob(4), 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupRaster5.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupRaster5.testcase
new file mode 100644
index 0000000..7bd8224
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupRaster5.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupRaster - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupRaster('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupRaster('alpha', NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupRaster6.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupRaster6.testcase
new file mode 100644
index 0000000..77b36d1
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupRaster6.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupRaster - Int coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupRaster('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupRaster('alpha', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupRaster7.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupRaster7.testcase
new file mode 100644
index 0000000..937041c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupRaster7.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupRaster - Double coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupRaster('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupRaster('alpha', 1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupRaster8.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupRaster8.testcase
new file mode 100644
index 0000000..fae9ccb
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupRaster8.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupRaster - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupRaster('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupRaster('alpha', zeroblob(4))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupRaster9.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupRaster9.testcase
new file mode 100644
index 0000000..94b314a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupRaster9.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupRaster - Text coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupRaster('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupRaster('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupStyle1.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupStyle1.testcase
new file mode 100644
index 0000000..8ea91ce
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupStyle1.testcase
@@ -0,0 +1,8 @@
+UnRegisterGroupStyle - NULL style
+:memory: #use in-memory database
+SELECT SE_UnRegisterGroupStyle(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterGroupStyle(NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupStyle10.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupStyle10.testcase
new file mode 100644
index 0000000..ce47f70
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupStyle10.testcase
@@ -0,0 +1,7 @@
+UnRegisterGroupStyle - Integer force
+:memory: #use in-memory database
+SELECT SE_UnRegisterGroupStyle('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterGroupStyle('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupStyle2.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupStyle2.testcase
new file mode 100644
index 0000000..40cdad5
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupStyle2.testcase
@@ -0,0 +1,8 @@
+UnRegisterGroupStyle - Double style
+:memory: #use in-memory database
+SELECT SE_UnRegisterGroupStyle(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterGroupStyle(1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupStyle3.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupStyle3.testcase
new file mode 100644
index 0000000..9ee8675
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupStyle3.testcase
@@ -0,0 +1,8 @@
+UnRegisterGroupStyle - BLOB style
+:memory: #use in-memory database
+SELECT SE_UnRegisterGroupStyle(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterGroupStyle(zeroblob(4))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupStyle4.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupStyle4.testcase
new file mode 100644
index 0000000..d386913
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupStyle4.testcase
@@ -0,0 +1,7 @@
+UnRegisterGroupStyle - Integer style ID
+:memory: #use in-memory database
+SELECT SE_UnRegisterGroupStyle(1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterGroupStyle(1)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupStyle5.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupStyle5.testcase
new file mode 100644
index 0000000..67e8738
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupStyle5.testcase
@@ -0,0 +1,7 @@
+UnRegisterGroupStyle - Text style name
+:memory: #use in-memory database
+SELECT SE_UnRegisterGroupStyle('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterGroupStyle('alpha')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupStyle6.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupStyle6.testcase
new file mode 100644
index 0000000..1a84ecd
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupStyle6.testcase
@@ -0,0 +1,7 @@
+UnRegisterGroupStyle - NULL force
+:memory: #use in-memory database
+SELECT SE_UnRegisterGroupStyle('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterGroupStyle('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupStyle7.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupStyle7.testcase
new file mode 100644
index 0000000..fee1691
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupStyle7.testcase
@@ -0,0 +1,7 @@
+UnRegisterGroupStyle - Double force
+:memory: #use in-memory database
+SELECT SE_UnRegisterGroupStyle('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterGroupStyle('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupStyle8.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupStyle8.testcase
new file mode 100644
index 0000000..740e25d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupStyle8.testcase
@@ -0,0 +1,7 @@
+UnRegisterGroupStyle - Text force
+:memory: #use in-memory database
+SELECT SE_UnRegisterGroupStyle('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterGroupStyle('alpha', 'beta')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupStyle9.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupStyle9.testcase
new file mode 100644
index 0000000..bbad9f7
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupStyle9.testcase
@@ -0,0 +1,7 @@
+UnRegisterGroupStyle - Text force
+:memory: #use in-memory database
+SELECT SE_UnRegisterGroupStyle('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterGroupStyle('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupVector1.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupVector1.testcase
new file mode 100644
index 0000000..e938c0a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupVector1.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupVector - NULL group
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupVector(NULL, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupVector(NULL, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupVector2.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupVector2.testcase
new file mode 100644
index 0000000..244830d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupVector2.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupVector - Int group
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupVector(1, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupVector(1, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupVector3.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupVector3.testcase
new file mode 100644
index 0000000..b87295c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupVector3.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupVector - Double group
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupVector(1.1, 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupVector(1.1, 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupVector4.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupVector4.testcase
new file mode 100644
index 0000000..bf433f0
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupVector4.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupVector - BLOB group
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupVector(zeroblob(4), 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupVector(zeroblob(4), 'beta')
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupVector5.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupVector5.testcase
new file mode 100644
index 0000000..465d63f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupVector5.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupVector - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupVector('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupVector('alpha', NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupVector6.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupVector6.testcase
new file mode 100644
index 0000000..bf92bd7
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupVector6.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupVector - Int coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupVector('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupVector('alpha', 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupVector7.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupVector7.testcase
new file mode 100644
index 0000000..658017a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupVector7.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupVector - Double coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupVector('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupVector('alpha', 1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupVector8.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupVector8.testcase
new file mode 100644
index 0000000..8e8ecfa
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupVector8.testcase
@@ -0,0 +1,8 @@
+UnRegisterStyledGroupVector - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupVector('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupVector('alpha', zeroblob(4))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterGroupVector9.testcase b/test/sql_stmt_libxml2_tests/unregisterGroupVector9.testcase
new file mode 100644
index 0000000..7294b25
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterGroupVector9.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupVector - Text coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupVector('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupVector('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterRaster1.testcase b/test/sql_stmt_libxml2_tests/unregisterRaster1.testcase
new file mode 100644
index 0000000..32efb68
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRaster1.testcase
@@ -0,0 +1,8 @@
+UnRegisterRasterStyledLayer - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyledLayer(NULL, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyledLayer(NULL, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterRaster2.testcase b/test/sql_stmt_libxml2_tests/unregisterRaster2.testcase
new file mode 100644
index 0000000..216a64d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRaster2.testcase
@@ -0,0 +1,8 @@
+UnRegisterRasterStyledLayer - Integer coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyledLayer(1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyledLayer(1, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterRaster3.testcase b/test/sql_stmt_libxml2_tests/unregisterRaster3.testcase
new file mode 100644
index 0000000..bdccfd7
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRaster3.testcase
@@ -0,0 +1,8 @@
+UnRegisterRasterStyledLayer - Double coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyledLayer(1.1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyledLayer(1.1, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterRaster4.testcase b/test/sql_stmt_libxml2_tests/unregisterRaster4.testcase
new file mode 100644
index 0000000..fccbd3b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRaster4.testcase
@@ -0,0 +1,8 @@
+UnRegisterRasterStyledLayer - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyledLayer(zeroblob(100), 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyledLayer(zeroblob(100), 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterRaster5.testcase b/test/sql_stmt_libxml2_tests/unregisterRaster5.testcase
new file mode 100644
index 0000000..b624232
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRaster5.testcase
@@ -0,0 +1,8 @@
+UnRegisterRasterStyledLayer - NULL style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyledLayer('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyledLayer('alpha', NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterRaster6.testcase b/test/sql_stmt_libxml2_tests/unregisterRaster6.testcase
new file mode 100644
index 0000000..4452660
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRaster6.testcase
@@ -0,0 +1,8 @@
+UnRegisterRasterStyledLayer - Double style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyledLayer('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyledLayer('alpha', 1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterRaster7.testcase b/test/sql_stmt_libxml2_tests/unregisterRaster7.testcase
new file mode 100644
index 0000000..64a276b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRaster7.testcase
@@ -0,0 +1,8 @@
+UnRegisterRasterStyledLayer - BLOB style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyledLayer('alpha', zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyledLayer('alpha', zeroblob(100))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterRaster8.testcase b/test/sql_stmt_libxml2_tests/unregisterRaster8.testcase
new file mode 100644
index 0000000..9781750
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRaster8.testcase
@@ -0,0 +1,7 @@
+UnRegisterRasterStyledLayer - Integer style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyledLayer('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyledLayer('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterRaster9.testcase b/test/sql_stmt_libxml2_tests/unregisterRaster9.testcase
new file mode 100644
index 0000000..57eb2b9
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRaster9.testcase
@@ -0,0 +1,7 @@
+UnRegisterRasterStyledLayer - Text style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyledLayer('alpha', 'alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyledLayer('alpha', 'alpha')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterRasterStyle1.testcase b/test/sql_stmt_libxml2_tests/unregisterRasterStyle1.testcase
new file mode 100644
index 0000000..7ac84db
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRasterStyle1.testcase
@@ -0,0 +1,8 @@
+UnRegisterRasterStyle - NULL style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyle(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyle(NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterRasterStyle10.testcase b/test/sql_stmt_libxml2_tests/unregisterRasterStyle10.testcase
new file mode 100644
index 0000000..91ed591
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRasterStyle10.testcase
@@ -0,0 +1,7 @@
+UnRegisterRasterStyle - Integer second arg
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyle('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyle('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterRasterStyle2.testcase b/test/sql_stmt_libxml2_tests/unregisterRasterStyle2.testcase
new file mode 100644
index 0000000..86894c3
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRasterStyle2.testcase
@@ -0,0 +1,8 @@
+UnRegisterRasterStyle - DOUBLE style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyle(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyle(1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterRasterStyle3.testcase b/test/sql_stmt_libxml2_tests/unregisterRasterStyle3.testcase
new file mode 100644
index 0000000..d32d655
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRasterStyle3.testcase
@@ -0,0 +1,8 @@
+UnRegisterRasterStyle - BLOB style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyle(zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyle(zeroblob(100))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterRasterStyle4.testcase b/test/sql_stmt_libxml2_tests/unregisterRasterStyle4.testcase
new file mode 100644
index 0000000..027c2ef
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRasterStyle4.testcase
@@ -0,0 +1,7 @@
+UnRegisterRasterStyle - Integer style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyle(1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyle(1)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterRasterStyle5.testcase b/test/sql_stmt_libxml2_tests/unregisterRasterStyle5.testcase
new file mode 100644
index 0000000..389e6ae
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRasterStyle5.testcase
@@ -0,0 +1,7 @@
+UnRegisterRasterStyle - Text style_name
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyle('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyle('alpha')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterRasterStyle6.testcase b/test/sql_stmt_libxml2_tests/unregisterRasterStyle6.testcase
new file mode 100644
index 0000000..a81b377
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRasterStyle6.testcase
@@ -0,0 +1,7 @@
+UnRegisterRasterStyle - NULL second arg
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyle('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyle('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterRasterStyle7.testcase b/test/sql_stmt_libxml2_tests/unregisterRasterStyle7.testcase
new file mode 100644
index 0000000..3d42197
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRasterStyle7.testcase
@@ -0,0 +1,7 @@
+UnRegisterRasterStyle - DOUBLE second arg
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyle('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyle('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterRasterStyle8.testcase b/test/sql_stmt_libxml2_tests/unregisterRasterStyle8.testcase
new file mode 100644
index 0000000..623d893
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRasterStyle8.testcase
@@ -0,0 +1,7 @@
+UnRegisterRasterStyle - TEXT second arg
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyle('alpha', 'alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyle('alpha', 'alpha')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterRasterStyle9.testcase b/test/sql_stmt_libxml2_tests/unregisterRasterStyle9.testcase
new file mode 100644
index 0000000..1b77127
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterRasterStyle9.testcase
@@ -0,0 +1,7 @@
+UnRegisterRasterStyle - BLOB second arg
+:memory: #use in-memory database
+SELECT SE_UnRegisterRasterStyle('alpha', zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterRasterStyle('alpha', zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle1.testcase b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle1.testcase
new file mode 100644
index 0000000..353b6dd
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle1.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupStyle - NULL group name
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupStyle(NULL, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupStyle(NULL, 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle3.testcase b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle3.testcase
new file mode 100644
index 0000000..96b8087
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle3.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupStyle - Double group name
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupStyle(1.1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupStyle(1.1, 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle4.testcase b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle4.testcase
new file mode 100644
index 0000000..cf2edde
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle4.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupStyle - BLOB group name
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupStyle(zeroblob(4), 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupStyle(zeroblob(4), 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle5.testcase b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle5.testcase
new file mode 100644
index 0000000..eceb540
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle5.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupStyle - NULL style ID
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupStyle('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupStyle('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle6.testcase b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle6.testcase
new file mode 100644
index 0000000..96ae1ce
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle6.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupStyle - Double style ID
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupStyle('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupStyle('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle7.testcase b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle7.testcase
new file mode 100644
index 0000000..48a6d85
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle7.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupStyle - BLOB style ID
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupStyle('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupStyle('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle8.testcase b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle8.testcase
new file mode 100644
index 0000000..f01333a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle8.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupStyle - Integer style ID
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupStyle('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupStyle('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle9.testcase b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle9.testcase
new file mode 100644
index 0000000..5d4ab86
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterStllGroupStyle9.testcase
@@ -0,0 +1,7 @@
+UnRegisterStyledGroupStyle - Text style name
+:memory: #use in-memory database
+SELECT SE_UnRegisterStyledGroupStyle('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterStyledGroupStyle('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterVector1.testcase b/test/sql_stmt_libxml2_tests/unregisterVector1.testcase
new file mode 100644
index 0000000..a5ff625
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVector1.testcase
@@ -0,0 +1,8 @@
+UnRegisterVectorStyledLayer - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyledLayer(NULL, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyledLayer(NULL, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterVector10.testcase b/test/sql_stmt_libxml2_tests/unregisterVector10.testcase
new file mode 100644
index 0000000..ab53ed2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVector10.testcase
@@ -0,0 +1,8 @@
+UnRegisterVectorStyledLayer - Double style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyledLayer('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyledLayer('alpha', 1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterVector11.testcase b/test/sql_stmt_libxml2_tests/unregisterVector11.testcase
new file mode 100644
index 0000000..01b65d2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVector11.testcase
@@ -0,0 +1,8 @@
+UnRegisterVectorStyledLayer - BLOB style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyledLayer('alpha', zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyledLayer('alpha', zeroblob(100))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterVector12.testcase b/test/sql_stmt_libxml2_tests/unregisterVector12.testcase
new file mode 100644
index 0000000..4fcf0e4
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVector12.testcase
@@ -0,0 +1,7 @@
+UnRegisterVectorStyledLayer - Integer style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyledLayer('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyledLayer('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterVector13.testcase b/test/sql_stmt_libxml2_tests/unregisterVector13.testcase
new file mode 100644
index 0000000..27ed08c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVector13.testcase
@@ -0,0 +1,7 @@
+UnRegisterVectorStyledLayer - Text style_name
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyledLayer('alpha', 'gamma');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyledLayer('alpha', 'gamma')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterVector2.testcase b/test/sql_stmt_libxml2_tests/unregisterVector2.testcase
new file mode 100644
index 0000000..29a3c07
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVector2.testcase
@@ -0,0 +1,8 @@
+UnRegisterVectorStyledLayer - Integer coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyledLayer(1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyledLayer(1, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterVector3.testcase b/test/sql_stmt_libxml2_tests/unregisterVector3.testcase
new file mode 100644
index 0000000..c2273c1
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVector3.testcase
@@ -0,0 +1,8 @@
+UnRegisterVectorStyledLayer - Double coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyledLayer(1.1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyledLayer(1.1, 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterVector4.testcase b/test/sql_stmt_libxml2_tests/unregisterVector4.testcase
new file mode 100644
index 0000000..e28be48
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVector4.testcase
@@ -0,0 +1,8 @@
+UnRegisterVectorStyledLayer - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyledLayer(zeroblob(100), 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyledLayer(zeroblob(100), 1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterVector9.testcase b/test/sql_stmt_libxml2_tests/unregisterVector9.testcase
new file mode 100644
index 0000000..b6a5346
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVector9.testcase
@@ -0,0 +1,8 @@
+UnRegisterVectorStyledLayer - NULL style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyledLayer('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyledLayer('alpha', NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterVectorStyle1.testcase b/test/sql_stmt_libxml2_tests/unregisterVectorStyle1.testcase
new file mode 100644
index 0000000..e6d86f4
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVectorStyle1.testcase
@@ -0,0 +1,8 @@
+UnRegisterVectorStyle - NULL style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyle(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyle(NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterVectorStyle10.testcase b/test/sql_stmt_libxml2_tests/unregisterVectorStyle10.testcase
new file mode 100644
index 0000000..261a165
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVectorStyle10.testcase
@@ -0,0 +1,7 @@
+UnRegisterVectorStyle - Integer second arg
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyle('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyle('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterVectorStyle2.testcase b/test/sql_stmt_libxml2_tests/unregisterVectorStyle2.testcase
new file mode 100644
index 0000000..4d7f14c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVectorStyle2.testcase
@@ -0,0 +1,8 @@
+UnRegisterVectorStyle - DOUBLE style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyle(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyle(1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterVectorStyle3.testcase b/test/sql_stmt_libxml2_tests/unregisterVectorStyle3.testcase
new file mode 100644
index 0000000..1a80832
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVectorStyle3.testcase
@@ -0,0 +1,8 @@
+UnRegisterVectorStyle - BLOB style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyle(zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyle(zeroblob(100))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/unregisterVectorStyle4.testcase b/test/sql_stmt_libxml2_tests/unregisterVectorStyle4.testcase
new file mode 100644
index 0000000..3dc0674
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVectorStyle4.testcase
@@ -0,0 +1,7 @@
+UnRegisterVectorStyle - Integer style_id
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyle(1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyle(1)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterVectorStyle5.testcase b/test/sql_stmt_libxml2_tests/unregisterVectorStyle5.testcase
new file mode 100644
index 0000000..f918045
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVectorStyle5.testcase
@@ -0,0 +1,7 @@
+UnRegisterVectorStyle - Text style_name
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyle('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyle('alpha')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterVectorStyle6.testcase b/test/sql_stmt_libxml2_tests/unregisterVectorStyle6.testcase
new file mode 100644
index 0000000..f272ce4
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVectorStyle6.testcase
@@ -0,0 +1,7 @@
+UnRegisterVectorStyle - NULL second arg
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyle('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyle('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterVectorStyle7.testcase b/test/sql_stmt_libxml2_tests/unregisterVectorStyle7.testcase
new file mode 100644
index 0000000..2478c64
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVectorStyle7.testcase
@@ -0,0 +1,7 @@
+UnRegisterVectorStyle - DOUBLE second arg
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyle('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyle('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterVectorStyle8.testcase b/test/sql_stmt_libxml2_tests/unregisterVectorStyle8.testcase
new file mode 100644
index 0000000..0779d96
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVectorStyle8.testcase
@@ -0,0 +1,7 @@
+UnRegisterVectorStyle - TEXT second arg
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyle('alpha', 'alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyle('alpha', 'alpha')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterVectorStyle9.testcase b/test/sql_stmt_libxml2_tests/unregisterVectorStyle9.testcase
new file mode 100644
index 0000000..4c9f44b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterVectorStyle9.testcase
@@ -0,0 +1,7 @@
+UnRegisterVectorStyle - BLOB second arg
+:memory: #use in-memory database
+SELECT SE_UnRegisterVectorStyle('alpha', zeroblob(100));
+1 # rows (not including the header row)
+1 # columns
+SE_UnRegisterVectorStyle('alpha', zeroblob(100))
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrasterkeyword1.testcase b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword1.testcase
new file mode 100644
index 0000000..547fa08
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword1.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageKeyword - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageKeyword(NULL, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageKeyword(NULL, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrasterkeyword2.testcase b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword2.testcase
new file mode 100644
index 0000000..5d8acdf
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword2.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageKeyword - Int coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageKeyword(1, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageKeyword(1, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrasterkeyword3.testcase b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword3.testcase
new file mode 100644
index 0000000..baccfc1
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword3.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageKeyword - Double coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageKeyword(1.1, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageKeyword(1.1, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrasterkeyword4.testcase b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword4.testcase
new file mode 100644
index 0000000..843a0d3
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword4.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageKeyword - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageKeyword(zeroblob(4), 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageKeyword(zeroblob(4), 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrasterkeyword5.testcase b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword5.testcase
new file mode 100644
index 0000000..66be4c9
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword5.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageKeyword - NULL keyword
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageKeyword('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageKeyword('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrasterkeyword6.testcase b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword6.testcase
new file mode 100644
index 0000000..cbde51c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword6.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageKeyword - Double keyword
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageKeyword('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageKeyword('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrasterkeyword7.testcase b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword7.testcase
new file mode 100644
index 0000000..11aaa86
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword7.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageKeyword - Text keyword
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageKeyword('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageKeyword('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregisterrasterkeyword8.testcase b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword8.testcase
new file mode 100644
index 0000000..23cca2d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword8.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageKeyword - BLOB keyword
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageKeyword('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageKeyword('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrasterkeyword9.testcase b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword9.testcase
new file mode 100644
index 0000000..6f524b5
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrasterkeyword9.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageKeyword - Int keyword
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageKeyword('alpha', 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageKeyword('alpha', 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrastersrid1.testcase b/test/sql_stmt_libxml2_tests/unregisterrastersrid1.testcase
new file mode 100644
index 0000000..b93141b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrastersrid1.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageSrid - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageSrid(NULL, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageSrid(NULL, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrastersrid2.testcase b/test/sql_stmt_libxml2_tests/unregisterrastersrid2.testcase
new file mode 100644
index 0000000..8bc0fcd
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrastersrid2.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageSrid - Int coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageSrid(1, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageSrid(1, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrastersrid3.testcase b/test/sql_stmt_libxml2_tests/unregisterrastersrid3.testcase
new file mode 100644
index 0000000..cb46dcf
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrastersrid3.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageSrid - Double coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageSrid(1.1, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageSrid(1.1, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrastersrid4.testcase b/test/sql_stmt_libxml2_tests/unregisterrastersrid4.testcase
new file mode 100644
index 0000000..f1058a1
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrastersrid4.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageSrid - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageSrid(zeroblob(4), 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageSrid(zeroblob(4), 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrastersrid5.testcase b/test/sql_stmt_libxml2_tests/unregisterrastersrid5.testcase
new file mode 100644
index 0000000..3b32404
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrastersrid5.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageSrid - NULL srid
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageSrid('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageSrid('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrastersrid6.testcase b/test/sql_stmt_libxml2_tests/unregisterrastersrid6.testcase
new file mode 100644
index 0000000..736631c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrastersrid6.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageSrid - Double srid
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageSrid('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageSrid('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrastersrid7.testcase b/test/sql_stmt_libxml2_tests/unregisterrastersrid7.testcase
new file mode 100644
index 0000000..6f245b4
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrastersrid7.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageSrid - Text srid
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageSrid('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageSrid('alpha', 'beta')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrastersrid8.testcase b/test/sql_stmt_libxml2_tests/unregisterrastersrid8.testcase
new file mode 100644
index 0000000..a5ddc5c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrastersrid8.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageSrid - BLOB srid
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageSrid('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageSrid('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregisterrastersrid9.testcase b/test/sql_stmt_libxml2_tests/unregisterrastersrid9.testcase
new file mode 100644
index 0000000..0e0c72f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregisterrastersrid9.testcase
@@ -0,0 +1,7 @@
+UnregisterRasterCoverageSrid - Int srid
+:memory: #use in-memory database
+SELECT SE_UnregisterRasterCoverageSrid('alpha', 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterRasterCoverageSrid('alpha', 4326)
+0
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorcvg1.testcase b/test/sql_stmt_libxml2_tests/unregistervectorcvg1.testcase
new file mode 100644
index 0000000..9c49935
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorcvg1.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverage - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverage(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverage(NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorcvg2.testcase b/test/sql_stmt_libxml2_tests/unregistervectorcvg2.testcase
new file mode 100644
index 0000000..d47f46b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorcvg2.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverage - Int coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverage(1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverage(1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorcvg3.testcase b/test/sql_stmt_libxml2_tests/unregistervectorcvg3.testcase
new file mode 100644
index 0000000..03daaed
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorcvg3.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverage - Double coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverage(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverage(1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorcvg4.testcase b/test/sql_stmt_libxml2_tests/unregistervectorcvg4.testcase
new file mode 100644
index 0000000..1e7fc8f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorcvg4.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverage - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverage(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverage(zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorcvg5.testcase b/test/sql_stmt_libxml2_tests/unregistervectorcvg5.testcase
new file mode 100644
index 0000000..3d70dd9
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorcvg5.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverage - Text coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverage('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverage('alpha')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorkeyword1.testcase b/test/sql_stmt_libxml2_tests/unregistervectorkeyword1.testcase
new file mode 100644
index 0000000..4b99f07
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorkeyword1.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageKeyword - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageKeyword(NULL, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageKeyword(NULL, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorkeyword2.testcase b/test/sql_stmt_libxml2_tests/unregistervectorkeyword2.testcase
new file mode 100644
index 0000000..3af99f8
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorkeyword2.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageKeyword - Int coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageKeyword(1, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageKeyword(1, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorkeyword3.testcase b/test/sql_stmt_libxml2_tests/unregistervectorkeyword3.testcase
new file mode 100644
index 0000000..6448142
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorkeyword3.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageKeyword - Double coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageKeyword(1.1, 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageKeyword(1.1, 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorkeyword4.testcase b/test/sql_stmt_libxml2_tests/unregistervectorkeyword4.testcase
new file mode 100644
index 0000000..f16c690
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorkeyword4.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageKeyword - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageKeyword(zeroblob(4), 'keyword');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageKeyword(zeroblob(4), 'keyword')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorkeyword5.testcase b/test/sql_stmt_libxml2_tests/unregistervectorkeyword5.testcase
new file mode 100644
index 0000000..3976117
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorkeyword5.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageKeyword - NULL keyword
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageKeyword('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageKeyword('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorkeyword6.testcase b/test/sql_stmt_libxml2_tests/unregistervectorkeyword6.testcase
new file mode 100644
index 0000000..a7798cc
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorkeyword6.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageKeyword - Double keyword
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageKeyword('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageKeyword('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorkeyword7.testcase b/test/sql_stmt_libxml2_tests/unregistervectorkeyword7.testcase
new file mode 100644
index 0000000..2e135dd
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorkeyword7.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageKeyword - Text keyword
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageKeyword('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageKeyword('alpha', 'beta')
+0
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorkeyword8.testcase b/test/sql_stmt_libxml2_tests/unregistervectorkeyword8.testcase
new file mode 100644
index 0000000..5b15e10
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorkeyword8.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageKeyword - BLOB keyword
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageKeyword('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageKeyword('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorkeyword9.testcase b/test/sql_stmt_libxml2_tests/unregistervectorkeyword9.testcase
new file mode 100644
index 0000000..428d0d7
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorkeyword9.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageKeyword - Int keyword
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageKeyword('alpha', 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageKeyword('alpha', 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorsrid1.testcase b/test/sql_stmt_libxml2_tests/unregistervectorsrid1.testcase
new file mode 100644
index 0000000..83a13c5
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorsrid1.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageSrid - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageSrid(NULL, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageSrid(NULL, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorsrid2.testcase b/test/sql_stmt_libxml2_tests/unregistervectorsrid2.testcase
new file mode 100644
index 0000000..8922d57
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorsrid2.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageSrid - Int coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageSrid(1, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageSrid(1, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorsrid3.testcase b/test/sql_stmt_libxml2_tests/unregistervectorsrid3.testcase
new file mode 100644
index 0000000..f3fc091
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorsrid3.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageSrid - Double coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageSrid(1.1, 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageSrid(1.1, 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorsrid4.testcase b/test/sql_stmt_libxml2_tests/unregistervectorsrid4.testcase
new file mode 100644
index 0000000..bdc6b57
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorsrid4.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageSrid - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageSrid(zeroblob(4), 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageSrid(zeroblob(4), 4326)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorsrid5.testcase b/test/sql_stmt_libxml2_tests/unregistervectorsrid5.testcase
new file mode 100644
index 0000000..0ee4d3a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorsrid5.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageSrid - NULL srid
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageSrid('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageSrid('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorsrid6.testcase b/test/sql_stmt_libxml2_tests/unregistervectorsrid6.testcase
new file mode 100644
index 0000000..5633770
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorsrid6.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageSrid - Double srid
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageSrid('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageSrid('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorsrid7.testcase b/test/sql_stmt_libxml2_tests/unregistervectorsrid7.testcase
new file mode 100644
index 0000000..8f677fc
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorsrid7.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageSrid - Text srid
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageSrid('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageSrid('alpha', 'beta')
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorsrid8.testcase b/test/sql_stmt_libxml2_tests/unregistervectorsrid8.testcase
new file mode 100644
index 0000000..aa6f188
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorsrid8.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageSrid - BLOB srid
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageSrid('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageSrid('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/unregistervectorsrid9.testcase b/test/sql_stmt_libxml2_tests/unregistervectorsrid9.testcase
new file mode 100644
index 0000000..e411679
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/unregistervectorsrid9.testcase
@@ -0,0 +1,7 @@
+UnregisterVectorCoverageSrid - Int srid
+:memory: #use in-memory database
+SELECT SE_UnregisterVectorCoverageSrid('alpha', 4326);
+1 # rows (not including the header row)
+1 # columns
+SE_UnregisterVectorCoverageSrid('alpha', 4326)
+0
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent1.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent1.testcase
new file mode 100644
index 0000000..dd7f0ba
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent1.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - all coverages
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent();
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent()
+0
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent10.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent10.testcase
new file mode 100644
index 0000000..286c150
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent10.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - BLOB transaction
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent11.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent11.testcase
new file mode 100644
index 0000000..dc7d86d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent11.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - Int transaction
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent12.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent12.testcase
new file mode 100644
index 0000000..94e1903
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent12.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - two args, NULL coverage
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent(NULL, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent(NULL, 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent13.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent13.testcase
new file mode 100644
index 0000000..3d08ec8
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent13.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - two args, Int coverage
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent(1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent(1, 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent14.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent14.testcase
new file mode 100644
index 0000000..872f9a1
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent14.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - two args, Double coverage
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent(1.1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent(1.1, 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent15.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent15.testcase
new file mode 100644
index 0000000..4cdbf80
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent15.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - two args, BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent(zeroblob(4), 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent(zeroblob(4), 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent2.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent2.testcase
new file mode 100644
index 0000000..5f5b858
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent2.testcase
@@ -0,0 +1,8 @@
+UpdateRasterCoverageExtent - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent(NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent3.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent3.testcase
new file mode 100644
index 0000000..49398cc
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent3.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - Int transaction
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent(1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent(1)
+0
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent4.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent4.testcase
new file mode 100644
index 0000000..00f6f0b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent4.testcase
@@ -0,0 +1,8 @@
+UpdateRasterCoverageExtent - Double coverage
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent(1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent5.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent5.testcase
new file mode 100644
index 0000000..4012a68
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent5.testcase
@@ -0,0 +1,8 @@
+UpdateRasterCoverageExtent - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent(zeroblob(4))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent6.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent6.testcase
new file mode 100644
index 0000000..5f3c9f1
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent6.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - Text coverage
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent('alpha')
+0
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent7.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent7.testcase
new file mode 100644
index 0000000..fa48269
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent7.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - NULL transaction
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent8.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent8.testcase
new file mode 100644
index 0000000..14267c0
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent8.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - Double transaction
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updaterasterextent9.testcase b/test/sql_stmt_libxml2_tests/updaterasterextent9.testcase
new file mode 100644
index 0000000..4281966
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updaterasterextent9.testcase
@@ -0,0 +1,7 @@
+UpdateRasterCoverageExtent - Text transaction
+:memory: #use in-memory database
+SELECT SE_UpdateRasterCoverageExtent('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateRasterCoverageExtent('alpha', 'beta')
+-1
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent1.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent1.testcase
new file mode 100644
index 0000000..dac6ee2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent1.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - all coverages
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent();
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent()
+0
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent10.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent10.testcase
new file mode 100644
index 0000000..e58c7b2
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent10.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - BLOB transaction
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent('alpha', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent('alpha', zeroblob(4))
+-1
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent11.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent11.testcase
new file mode 100644
index 0000000..8ee801c
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent11.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - Int transaction
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent('alpha', 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent('alpha', 1)
+0
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent12.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent12.testcase
new file mode 100644
index 0000000..ec2407d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent12.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - two args, NULL coverage
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent(NULL, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent(NULL, 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent13.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent13.testcase
new file mode 100644
index 0000000..0d1645f
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent13.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - two args, Int coverage
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent(1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent(1, 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent14.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent14.testcase
new file mode 100644
index 0000000..ef015fc
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent14.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - two args, Double coverage
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent(1.1, 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent(1.1, 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent15.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent15.testcase
new file mode 100644
index 0000000..b5c9ea1
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent15.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - two args, BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent(zeroblob(4), 1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent(zeroblob(4), 1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent2.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent2.testcase
new file mode 100644
index 0000000..724e45d
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent2.testcase
@@ -0,0 +1,8 @@
+UpdateVectorCoverageExtent - NULL coverage
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent(NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent(NULL)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent3.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent3.testcase
new file mode 100644
index 0000000..4198e45
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent3.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - Int transaction
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent(1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent(1)
+0
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent4.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent4.testcase
new file mode 100644
index 0000000..755b3f0
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent4.testcase
@@ -0,0 +1,8 @@
+UpdateVectorCoverageExtent - Double coverage
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent(1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent(1.1)
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent5.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent5.testcase
new file mode 100644
index 0000000..ac92ca9
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent5.testcase
@@ -0,0 +1,8 @@
+UpdateVectorCoverageExtent - BLOB coverage
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent(zeroblob(4))
+-1
+
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent6.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent6.testcase
new file mode 100644
index 0000000..52e2b2b
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent6.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - Text coverage
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent('alpha');
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent('alpha')
+0
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent7.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent7.testcase
new file mode 100644
index 0000000..b91f873
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent7.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - NULL transaction
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent('alpha', NULL);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent('alpha', NULL)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent8.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent8.testcase
new file mode 100644
index 0000000..f4e8b88
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent8.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - Double transaction
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent('alpha', 1.1);
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent('alpha', 1.1)
+-1
diff --git a/test/sql_stmt_libxml2_tests/updatevectorextent9.testcase b/test/sql_stmt_libxml2_tests/updatevectorextent9.testcase
new file mode 100644
index 0000000..a4ca76a
--- /dev/null
+++ b/test/sql_stmt_libxml2_tests/updatevectorextent9.testcase
@@ -0,0 +1,7 @@
+UpdateVectorCoverageExtent - Text transaction
+:memory: #use in-memory database
+SELECT SE_UpdateVectorCoverageExtent('alpha', 'beta');
+1 # rows (not including the header row)
+1 # columns
+SE_UpdateVectorCoverageExtent('alpha', 'beta')
+-1
diff --git a/test/sql_stmt_lwgeom_tests/Makefile.in b/test/sql_stmt_lwgeom_tests/Makefile.in
index 44330ef..9d161ac 100644
--- a/test/sql_stmt_lwgeom_tests/Makefile.in
+++ b/test/sql_stmt_lwgeom_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_lwgeom_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -544,7 +555,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_lwgeom_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_lwgeom_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -719,6 +729,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/sql_stmt_mathsql_tests/Makefile.am b/test/sql_stmt_mathsql_tests/Makefile.am
index 9684306..5dda833 100644
--- a/test/sql_stmt_mathsql_tests/Makefile.am
+++ b/test/sql_stmt_mathsql_tests/Makefile.am
@@ -12,6 +12,14 @@ EXTRA_DIST = acos10.testcase \
 	atan00.testcase \
 	atan0.testcase \
 	atan-text.testcase \
+	atan21.testcase \
+	atan22.testcase \
+	atan23.testcase \
+	atan24.testcase \
+	atan25.testcase \
+	atan26.testcase \
+	atan27.testcase \
+	atan28.testcase \
 	ceilfloat2.testcase \
 	ceilfloat.testcase \
 	ceil-int.testcase \
diff --git a/test/sql_stmt_mathsql_tests/Makefile.in b/test/sql_stmt_mathsql_tests/Makefile.in
index d396428..391d625 100644
--- a/test/sql_stmt_mathsql_tests/Makefile.in
+++ b/test/sql_stmt_mathsql_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_mathsql_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -253,6 +264,14 @@ EXTRA_DIST = acos10.testcase \
 	atan00.testcase \
 	atan0.testcase \
 	atan-text.testcase \
+	atan21.testcase \
+	atan22.testcase \
+	atan23.testcase \
+	atan24.testcase \
+	atan25.testcase \
+	atan26.testcase \
+	atan27.testcase \
+	atan28.testcase \
 	ceilfloat2.testcase \
 	ceilfloat.testcase \
 	ceil-int.testcase \
@@ -357,7 +376,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_mathsql_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_mathsql_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -532,6 +550,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/sql_stmt_mathsql_tests/atan21.testcase b/test/sql_stmt_mathsql_tests/atan21.testcase
new file mode 100644
index 0000000..5d0688d
--- /dev/null
+++ b/test/sql_stmt_mathsql_tests/atan21.testcase
@@ -0,0 +1,8 @@
+atan2 - first arg TEXT
+:memory: # use in-memory database
+SELECT atan2('test', 0.0);
+1 # rows (not including the header row)
+1 # columns
+atan2('test', 0.0) # header
+(NULL)
+
diff --git a/test/sql_stmt_mathsql_tests/atan22.testcase b/test/sql_stmt_mathsql_tests/atan22.testcase
new file mode 100644
index 0000000..7b9663c
--- /dev/null
+++ b/test/sql_stmt_mathsql_tests/atan22.testcase
@@ -0,0 +1,8 @@
+atan2 - first arg BLOB
+:memory: # use in-memory database
+SELECT atan2(zeroblob(4), 0.0);
+1 # rows (not including the header row)
+1 # columns
+atan2(zeroblob(4), 0.0) # header
+(NULL)
+
diff --git a/test/sql_stmt_mathsql_tests/atan23.testcase b/test/sql_stmt_mathsql_tests/atan23.testcase
new file mode 100644
index 0000000..12baa17
--- /dev/null
+++ b/test/sql_stmt_mathsql_tests/atan23.testcase
@@ -0,0 +1,8 @@
+atan2 - first arg NULL
+:memory: # use in-memory database
+SELECT atan2(NULL, 0.0);
+1 # rows (not including the header row)
+1 # columns
+atan2(NULL, 0.0) # header
+(NULL)
+
diff --git a/test/sql_stmt_mathsql_tests/atan24.testcase b/test/sql_stmt_mathsql_tests/atan24.testcase
new file mode 100644
index 0000000..43703f4
--- /dev/null
+++ b/test/sql_stmt_mathsql_tests/atan24.testcase
@@ -0,0 +1,8 @@
+atan2 - second arg NULL
+:memory: # use in-memory database
+SELECT atan2(0.0, NULL);
+1 # rows (not including the header row)
+1 # columns
+atan2(0.0, NULL) # header
+(NULL)
+
diff --git a/test/sql_stmt_mathsql_tests/atan25.testcase b/test/sql_stmt_mathsql_tests/atan25.testcase
new file mode 100644
index 0000000..ec3256a
--- /dev/null
+++ b/test/sql_stmt_mathsql_tests/atan25.testcase
@@ -0,0 +1,8 @@
+atan2 - second arg BLOB
+:memory: # use in-memory database
+SELECT atan2(0.0, zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+atan2(0.0, zeroblob(4)) # header
+(NULL)
+
diff --git a/test/sql_stmt_mathsql_tests/atan26.testcase b/test/sql_stmt_mathsql_tests/atan26.testcase
new file mode 100644
index 0000000..3952d6e
--- /dev/null
+++ b/test/sql_stmt_mathsql_tests/atan26.testcase
@@ -0,0 +1,8 @@
+atan2 - second arg TEXT
+:memory: # use in-memory database
+SELECT atan2(0.0, 'test');
+1 # rows (not including the header row)
+1 # columns
+atan2(0.0, 'test') # header
+(NULL)
+
diff --git a/test/sql_stmt_mathsql_tests/atan27.testcase b/test/sql_stmt_mathsql_tests/atan27.testcase
new file mode 100644
index 0000000..39753d0
--- /dev/null
+++ b/test/sql_stmt_mathsql_tests/atan27.testcase
@@ -0,0 +1,7 @@
+atan2 - second arg DOUBLE - valid
+:memory: # use in-memory database
+SELECT atan2(0.0, 0.0);
+1 # rows (not including the header row)
+1 # columns
+atan2(0.0, 0.0) # header
+0.0
diff --git a/test/sql_stmt_mathsql_tests/atan28.testcase b/test/sql_stmt_mathsql_tests/atan28.testcase
new file mode 100644
index 0000000..4e511e6
--- /dev/null
+++ b/test/sql_stmt_mathsql_tests/atan28.testcase
@@ -0,0 +1,7 @@
+atan2 - INT args - valid
+:memory: # use in-memory database
+SELECT atan2(0, 0);
+1 # rows (not including the header row)
+1 # columns
+atan2(0, 0) # header
+0.0
diff --git a/test/sql_stmt_nocache_tests/Makefile.am b/test/sql_stmt_nocache_tests/Makefile.am
new file mode 100644
index 0000000..a616c02
--- /dev/null
+++ b/test/sql_stmt_nocache_tests/Makefile.am
@@ -0,0 +1,7 @@
+
+EXTRA_DIST = amphibious1.testcase \
+	amphibious2.testcase \
+	precision1.testcase \
+	precision2.testcase \
+	gpkg1.testcase \
+	gpkg2.testcase 
diff --git a/test/sql_stmt_nocache_tests/Makefile.in b/test/sql_stmt_nocache_tests/Makefile.in
new file mode 100644
index 0000000..9cca168
--- /dev/null
+++ b/test/sql_stmt_nocache_tests/Makefile.in
@@ -0,0 +1,455 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = test/sql_stmt_nocache_tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_ at AM_V@)
+am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GEOSCONFIG = @GEOSCONFIG@
+GEOS_CFLAGS = @GEOS_CFLAGS@
+GEOS_LDFLAGS = @GEOS_LDFLAGS@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = amphibious1.testcase \
+	amphibious2.testcase \
+	precision1.testcase \
+	precision2.testcase \
+	gpkg1.testcase \
+	gpkg2.testcase 
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_nocache_tests/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign test/sql_stmt_nocache_tests/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/test/sql_stmt_nocache_tests/amphibious1.testcase b/test/sql_stmt_nocache_tests/amphibious1.testcase
new file mode 100644
index 0000000..98496ed
--- /dev/null
+++ b/test/sql_stmt_nocache_tests/amphibious1.testcase
@@ -0,0 +1,9 @@
+GPKG amphibious mode - enable
+:memory:
+SELECT EnableGpkgAmphibiousMode(), GetGpkgAmphibiousMode();
+1 # rows
+2 # column
+EnableGpkgAmphibiousMode()
+GetGpkgAmphibiousMode()
+(NULL)
+0
diff --git a/test/sql_stmt_nocache_tests/amphibious2.testcase b/test/sql_stmt_nocache_tests/amphibious2.testcase
new file mode 100644
index 0000000..a31be68
--- /dev/null
+++ b/test/sql_stmt_nocache_tests/amphibious2.testcase
@@ -0,0 +1,9 @@
+GPKG amphibious mode - disable
+:memory:
+SELECT DisableGpkgAmphibiousMode(), GetGpkgAmphibiousMode();
+1 # rows
+2 # column
+DisableGpkgAmphibiousMode()
+GetGpkgAmphibiousMode();
+(NULL)
+0
diff --git a/test/sql_stmt_nocache_tests/gpkg1.testcase b/test/sql_stmt_nocache_tests/gpkg1.testcase
new file mode 100644
index 0000000..21c163a
--- /dev/null
+++ b/test/sql_stmt_nocache_tests/gpkg1.testcase
@@ -0,0 +1,9 @@
+GPKG mode - enable
+:memory:
+SELECT EnableGpkgMode(), GetGpkgMode();
+1 # rows
+2 # column
+EnableGpkgMode()
+GetGpkgMode()
+(NULL)
+0
diff --git a/test/sql_stmt_nocache_tests/gpkg2.testcase b/test/sql_stmt_nocache_tests/gpkg2.testcase
new file mode 100644
index 0000000..dc69d6c
--- /dev/null
+++ b/test/sql_stmt_nocache_tests/gpkg2.testcase
@@ -0,0 +1,9 @@
+GPKG mode - disable
+:memory:
+SELECT DisableGpkgMode(), GetGpkgMode();
+1 # rows
+2 # column
+DisableGpkgMode()
+GetGpkgMode();
+(NULL)
+0
diff --git a/test/sql_stmt_nocache_tests/precision1.testcase b/test/sql_stmt_nocache_tests/precision1.testcase
new file mode 100644
index 0000000..54b4449
--- /dev/null
+++ b/test/sql_stmt_nocache_tests/precision1.testcase
@@ -0,0 +1,9 @@
+decimal precision - 10
+:memory:
+SELECT SetDecimalPrecision(10), GetDecimalPrecision();
+1 # rows
+2 # column
+SetDecimalPrecision(10)
+GetDecimalPrecision()
+(NULL)
+-1
diff --git a/test/sql_stmt_nocache_tests/precision2.testcase b/test/sql_stmt_nocache_tests/precision2.testcase
new file mode 100644
index 0000000..e4f7ad5
--- /dev/null
+++ b/test/sql_stmt_nocache_tests/precision2.testcase
@@ -0,0 +1,9 @@
+decimal precision - 100
+:memory:
+SELECT SetDecimalPrecision(100), GetDecimalPrecision();
+1 # rows
+2 # column
+SetDecimalPrecision(100)
+GetDecimalPrecision()
+(NULL)
+-1
diff --git a/test/sql_stmt_proj_tests/Makefile.in b/test/sql_stmt_proj_tests/Makefile.in
index aae1b09..0a28492 100644
--- a/test/sql_stmt_proj_tests/Makefile.in
+++ b/test/sql_stmt_proj_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_proj_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -327,7 +338,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_proj_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_proj_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -502,6 +512,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/sql_stmt_security_tests/Makefile.am b/test/sql_stmt_security_tests/Makefile.am
index 1af1622..cb162cf 100644
--- a/test/sql_stmt_security_tests/Makefile.am
+++ b/test/sql_stmt_security_tests/Makefile.am
@@ -7,6 +7,10 @@ EXTRA_DIST = blobfromfile1.testcase \
 	blobtofile2.testcase \
 	blobtofile3.testcase \
 	blobtofile4.testcase \
+	eval1.testcase \
+	eval2.testcase \
+	eval3.testcase \
+	eval4.testcase \
 	exportdbf1.testcase \
 	exportdbf2.testcase \
 	exportdbf3.testcase \
diff --git a/test/sql_stmt_security_tests/Makefile.in b/test/sql_stmt_security_tests/Makefile.in
index 0e921cb..033281a 100644
--- a/test/sql_stmt_security_tests/Makefile.in
+++ b/test/sql_stmt_security_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_security_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -248,6 +259,10 @@ EXTRA_DIST = blobfromfile1.testcase \
 	blobtofile2.testcase \
 	blobtofile3.testcase \
 	blobtofile4.testcase \
+	eval1.testcase \
+	eval2.testcase \
+	eval3.testcase \
+	eval4.testcase \
 	exportdbf1.testcase \
 	exportdbf2.testcase \
 	exportdbf3.testcase \
@@ -363,7 +378,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_security_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_security_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -538,6 +552,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/sql_stmt_tests/eval1.testcase b/test/sql_stmt_security_tests/eval1.testcase
similarity index 100%
rename from test/sql_stmt_tests/eval1.testcase
rename to test/sql_stmt_security_tests/eval1.testcase
diff --git a/test/sql_stmt_tests/eval2.testcase b/test/sql_stmt_security_tests/eval2.testcase
similarity index 100%
rename from test/sql_stmt_tests/eval2.testcase
rename to test/sql_stmt_security_tests/eval2.testcase
diff --git a/test/sql_stmt_tests/eval3.testcase b/test/sql_stmt_security_tests/eval3.testcase
similarity index 100%
rename from test/sql_stmt_tests/eval3.testcase
rename to test/sql_stmt_security_tests/eval3.testcase
diff --git a/test/sql_stmt_tests/eval4.testcase b/test/sql_stmt_security_tests/eval4.testcase
similarity index 100%
rename from test/sql_stmt_tests/eval4.testcase
rename to test/sql_stmt_security_tests/eval4.testcase
diff --git a/test/sql_stmt_tests/Makefile.am b/test/sql_stmt_tests/Makefile.am
index 5b05689..7967869 100644
--- a/test/sql_stmt_tests/Makefile.am
+++ b/test/sql_stmt_tests/Makefile.am
@@ -109,6 +109,134 @@ EXTRA_DIST = addpoint10.testcase \
 	assvg8.testcase \
 	assvg9.testcase \
 	aswkt-text.testcase \
+	atmastext1.testcase \
+	atmastext2.testcase \
+	atmastext3.testcase \
+	atmastext4.testcase \
+	atmastext5.testcase \
+	atmastext6.testcase \
+	atmcreate1.testcase \
+	atmcreate2.testcase \
+	atmcreate3.testcase \
+	atmcreate4.testcase \
+	atmcreate5.testcase \
+	atmcreate6.testcase \
+	atmcreate7.testcase \
+	atmcreate8.testcase \
+	atmcreate9.testcase \
+	atmcreate10.testcase \
+	atmcreate11.testcase \
+	atmcreate12.testcase \
+	atmcreate13.testcase \
+	atmcreate14.testcase \
+	atmcreate15.testcase \
+	atmcreate16.testcase \
+	atmcreate17.testcase \
+	atmcreate18.testcase \
+	atmcreate19.testcase \
+	atmcreate20.testcase \
+	atmcreate21.testcase \
+	atmcreate22.testcase \
+	atmcreate23.testcase \
+	atmcreatescale1.testcase \
+	atmcreatescale2.testcase \
+	atmcreatescale3.testcase \
+	atmcreatescale4.testcase \
+	atmcreatescale5.testcase \
+	atmcreatescale6.testcase \
+	atmcreatescale7.testcase \
+	atmcreatescale8.testcase \
+	atmcreatescale9.testcase \
+	atmcreatetrans1.testcase \
+	atmcreatetrans2.testcase \
+	atmcreatetrans3.testcase \
+	atmcreatetrans4.testcase \
+	atmcreatetrans5.testcase \
+	atmcreatetrans6.testcase \
+	atmcreatetrans7.testcase \
+	atmcreatetrans8.testcase \
+	atmcreatetrans9.testcase \
+	atmcreatexroll1.testcase \
+	atmcreatexroll2.testcase \
+	atmcreatexroll3.testcase \
+	atmcreateyroll1.testcase \
+	atmcreateyroll2.testcase \
+	atmcreateyroll3.testcase \
+	atmcreatezroll1.testcase \
+	atmcreatezroll2.testcase \
+	atmcreatezroll3.testcase \
+	atmdeterminant1.testcase \
+	atmdeterminant2.testcase \
+	atmdeterminant3.testcase \
+	atmdeterminant4.testcase \
+	atminvert1.testcase \
+	atminvert2.testcase \
+	atminvert3.testcase \
+	atminvert4.testcase \
+	atmisinvert1.testcase \
+	atmisinvert2.testcase \
+	atmisinvert3.testcase \
+	atmisinvert4.testcase \
+	atmisvalid1.testcase \
+	atmisvalid2.testcase \
+	atmisvalid3.testcase \
+	atmisvalid4.testcase \
+	atmisvalid5.testcase \
+	atmisvalid6.testcase \
+	atmmultiply1.testcase \
+	atmmultiply2.testcase \
+	atmmultiply3.testcase \
+	atmmultiply4.testcase \
+	atmmultiply5.testcase \
+	atmscale1.testcase \
+	atmscale2.testcase \
+	atmscale3.testcase \
+	atmscale4.testcase \
+	atmscale5.testcase \
+	atmscale6.testcase \
+	atmscale7.testcase \
+	atmscale8.testcase \
+	atmscale9.testcase \
+	atmscale10.testcase \
+	atmscale11.testcase \
+	atmscale12.testcase \
+	atmscale13.testcase \
+	atmtrans1.testcase \
+	atmtrans2.testcase \
+	atmtrans3.testcase \
+	atmtrans4.testcase \
+	atmtrans5.testcase \
+	atmtrans6.testcase \
+	atmtrans7.testcase \
+	atmtrans8.testcase \
+	atmtrans9.testcase \
+	atmtrans10.testcase \
+	atmtrans11.testcase \
+	atmtrans12.testcase \
+	atmtrans13.testcase \
+	atmtransform1.testcase \
+	atmtransform2.testcase \
+	atmtransform3.testcase \
+	atmtransform4.testcase \
+	atmtransform5.testcase \
+	atmtransform6.testcase \
+	atmtransform7.testcase \
+	atmtransform8.testcase \
+	atmxroll1.testcase \
+	atmxroll2.testcase \
+	atmxroll3.testcase \
+	atmxroll4.testcase \
+	atmxroll5.testcase \
+	atmyroll1.testcase \
+	atmyroll2.testcase \
+	atmyroll3.testcase \
+	atmyroll4.testcase \
+	atmyroll5.testcase \
+	atmzroll1.testcase \
+	atmzroll2.testcase \
+	atmzroll3.testcase \
+	atmzroll4.testcase \
+	atmzroll5.testcase \
 	badEWKT1.testcase \
 	badEWKT2.testcase \
 	badEWKT3.testcase \
@@ -483,7 +611,18 @@ EXTRA_DIST = addpoint10.testcase \
 	compressgeometry8.testcase \
 	compressgeometry9.testcase \
 	createrastercoverages.testcase \
+	createvectorcoverages.testcase \
 	createuuid1.testcase \
+	decodeurl1.testcase \
+	decodeurl2.testcase \
+	decodeurl3.testcase \
+	decodeurl4.testcase \
+	decodeurl5.testcase \
+	dirfrompath1.testcase \
+	dirfrompath2.testcase \
+	dirfrompath3.testcase \
+	dirfrompath4.testcase \
+	dirfrompath5.testcase \
 	dimension1.testcase \
 	dimension2.testcase \
 	dimension3.testcase \
@@ -530,13 +669,24 @@ EXTRA_DIST = addpoint10.testcase \
 	dropgeo3.testcase \
 	dropgeo4.testcase \
 	dropgeo5.testcase \
+	dropgeo6.testcase \
+	dropgeo7.testcase \
+	dropgeo8.testcase \
+	dropgeo9.testcase \
 	elemgeo1.testcase \
 	elemgeo2.testcase \
 	elemgeo3.testcase \
 	elemgeo4.testcase \
 	elemgeo5.testcase \
 	elemgeo6.testcase \
+	elemgeo7.testcase \
+	elemgeo8.testcase \
 	emptyfile.txt \
+	encodeurl1.testcase \
+	encodeurl2.testcase \
+	encodeurl3.testcase \
+	encodeurl4.testcase \
+	encodeurl5.testcase \
 	endpoint1.testcase \
 	envelope1.testcase \
 	envelope2.testcase \
@@ -574,6 +724,11 @@ EXTRA_DIST = addpoint10.testcase \
 	expand5.testcase \
 	expand6.testcase \
 	expand7.testcase \
+	extfrompath1.testcase \
+	extfrompath2.testcase \
+	extfrompath3.testcase \
+	extfrompath4.testcase \
+	extfrompath5.testcase \
 	extent1.testcase \
 	extractmultilinestring1.testcase \
 	extractmultilinestring2.testcase \
@@ -584,10 +739,6 @@ EXTRA_DIST = addpoint10.testcase \
 	extractmultipolygon1.testcase \
 	extractmultipolygon2.testcase \
 	extractmultipolygon3.testcase \
-	eval1.testcase \
-	eval2.testcase \
-	eval3.testcase \
-	eval4.testcase \
 	fath_m.testcase \
 	fdo_ogr1.testcase \
 	fdo_ogr2.testcase \
@@ -777,6 +928,11 @@ EXTRA_DIST = addpoint10.testcase \
 	fromWkb8.testcase \
 	fromWkb9.testcase \
 	ft_m.testcase \
+	fullnamefrompath1.testcase \
+	fullnamefrompath2.testcase \
+	fullnamefrompath3.testcase \
+	fullnamefrompath4.testcase \
+	fullnamefrompath5.testcase \
 	garsmbr10.testcase \
 	garsmbr11.testcase \
 	garsmbr12.testcase \
@@ -1069,6 +1225,14 @@ EXTRA_DIST = addpoint10.testcase \
 	ismeasured6.testcase \
 	ispopulatedcoverage1.testcase \
 	ispopulatedcoverage2.testcase \
+	checkfontfacename1.testcase \
+	checkfontfacename2.testcase \
+	checkfontfacename3.testcase \
+	getfontfamily.testcase \
+	isfontbold.testcase \
+	isfontitalic.testcase \
+	isvalidfont1.testcase \
+	isvalidfont2.testcase \
 	isvalidnodata1.testcase \
 	isvalidnodata2.testcase \
 	isvalidnodata3.testcase \
@@ -1444,6 +1608,11 @@ EXTRA_DIST = addpoint10.testcase \
 	m_usmi.testcase \
 	m_yd.testcase \
 	m_yd_us.testcase \
+	namefrompath1.testcase \
+	namefrompath2.testcase \
+	namefrompath3.testcase \
+	namefrompath4.testcase \
+	namefrompath5.testcase \
 	ndims1.testcase \
 	ndims2.testcase \
 	ndims3.testcase \
@@ -1541,6 +1710,8 @@ EXTRA_DIST = addpoint10.testcase \
 	reflectcoords9.testcase \
 	removedupl1.testcase \
 	removedupl2.testcase \
+	removedupl3.testcase \
+	removedupl4.testcase \
 	removepoint10.testcase \
 	removepoint11.testcase \
 	removepoint12.testcase \
@@ -1975,4 +2146,79 @@ EXTRA_DIST = addpoint10.testcase \
 	fromdms6.testcase \
 	fromdms7.testcase \
 	fromdms8.testcase \
-	fromdms9.testcase
+	fromdms9.testcase \
+	sridisgeographic1.testcase \
+	sridisgeographic2.testcase \
+	sridisgeographic3.testcase \
+	sridisgeographic4.testcase \
+	sridisgeographic5.testcase \
+	sridisgeographic6.testcase \
+	sridisgeographic7.testcase \
+	sridisprojected1.testcase \
+	sridisprojected2.testcase \
+	sridisprojected3.testcase \
+	sridisprojected4.testcase \
+	sridisprojected5.testcase \
+	sridisprojected6.testcase \
+	sridisprojected7.testcase \
+	sridflipped1.testcase \
+	sridflipped2.testcase \
+	sridflipped3.testcase \
+	sridflipped4.testcase \
+	sridflipped5.testcase \
+	sridflipped6.testcase \
+	sridflipped7.testcase \
+	sridspheroid1.testcase \
+	sridspheroid2.testcase \
+	sridspheroid3.testcase \
+	sridspheroid4.testcase \
+	sridspheroid5.testcase \
+	sridspheroid6.testcase \
+	sridprimem1.testcase \
+	sridprimem2.testcase \
+	sridprimem3.testcase \
+	sridprimem4.testcase \
+	sridprimem5.testcase \
+	sridprimem6.testcase \
+	sriddatum1.testcase \
+	sriddatum2.testcase \
+	sriddatum3.testcase \
+	sriddatum4.testcase \
+	sriddatum5.testcase \
+	sriddatum6.testcase \
+	sridunit1.testcase \
+	sridunit2.testcase \
+	sridunit3.testcase \
+	sridunit4.testcase \
+	sridunit5.testcase \
+	sridunit6.testcase \
+	sridprojection1.testcase \
+	sridprojection2.testcase \
+	sridprojection3.testcase \
+	sridprojection4.testcase \
+	sridprojection5.testcase \
+	sridprojection6.testcase \
+	sridax1name1.testcase \
+	sridax1name2.testcase \
+	sridax1name3.testcase \
+	sridax1name4.testcase \
+	sridax1name5.testcase \
+	sridax1name6.testcase \
+	sridax1orient1.testcase \
+	sridax1orient2.testcase \
+	sridax1orient3.testcase \
+	sridax1orient4.testcase \
+	sridax1orient5.testcase \
+	sridax1orient6.testcase \
+	sridax2name1.testcase \
+	sridax2name2.testcase \
+	sridax2name3.testcase \
+	sridax2name4.testcase \
+	sridax2name5.testcase \
+	sridax2name6.testcase \
+	sridax2orient1.testcase \
+	sridax2orient2.testcase \
+	sridax2orient3.testcase \
+	sridax2orient4.testcase \
+	sridax2orient5.testcase \
+	sridax2orient6.testcase
diff --git a/test/sql_stmt_tests/Makefile.in b/test/sql_stmt_tests/Makefile.in
index 7f0f9ff..07d206f 100644
--- a/test/sql_stmt_tests/Makefile.in
+++ b/test/sql_stmt_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -350,6 +361,134 @@ EXTRA_DIST = addpoint10.testcase \
 	assvg8.testcase \
 	assvg9.testcase \
 	aswkt-text.testcase \
+	atmastext1.testcase \
+	atmastext2.testcase \
+	atmastext3.testcase \
+	atmastext4.testcase \
+	atmastext5.testcase \
+	atmastext6.testcase \
+	atmcreate1.testcase \
+	atmcreate2.testcase \
+	atmcreate3.testcase \
+	atmcreate4.testcase \
+	atmcreate5.testcase \
+	atmcreate6.testcase \
+	atmcreate7.testcase \
+	atmcreate8.testcase \
+	atmcreate9.testcase \
+	atmcreate10.testcase \
+	atmcreate11.testcase \
+	atmcreate12.testcase \
+	atmcreate13.testcase \
+	atmcreate14.testcase \
+	atmcreate15.testcase \
+	atmcreate16.testcase \
+	atmcreate17.testcase \
+	atmcreate18.testcase \
+	atmcreate19.testcase \
+	atmcreate20.testcase \
+	atmcreate21.testcase \
+	atmcreate22.testcase \
+	atmcreate23.testcase \
+	atmcreatescale1.testcase \
+	atmcreatescale2.testcase \
+	atmcreatescale3.testcase \
+	atmcreatescale4.testcase \
+	atmcreatescale5.testcase \
+	atmcreatescale6.testcase \
+	atmcreatescale7.testcase \
+	atmcreatescale8.testcase \
+	atmcreatescale9.testcase \
+	atmcreatetrans1.testcase \
+	atmcreatetrans2.testcase \
+	atmcreatetrans3.testcase \
+	atmcreatetrans4.testcase \
+	atmcreatetrans5.testcase \
+	atmcreatetrans6.testcase \
+	atmcreatetrans7.testcase \
+	atmcreatetrans8.testcase \
+	atmcreatetrans9.testcase \
+	atmcreatexroll1.testcase \
+	atmcreatexroll2.testcase \
+	atmcreatexroll3.testcase \
+	atmcreateyroll1.testcase \
+	atmcreateyroll2.testcase \
+	atmcreateyroll3.testcase \
+	atmcreatezroll1.testcase \
+	atmcreatezroll2.testcase \
+	atmcreatezroll3.testcase \
+	atmdeterminant1.testcase \
+	atmdeterminant2.testcase \
+	atmdeterminant3.testcase \
+	atmdeterminant4.testcase \
+	atminvert1.testcase \
+	atminvert2.testcase \
+	atminvert3.testcase \
+	atminvert4.testcase \
+	atmisinvert1.testcase \
+	atmisinvert2.testcase \
+	atmisinvert3.testcase \
+	atmisinvert4.testcase \
+	atmisvalid1.testcase \
+	atmisvalid2.testcase \
+	atmisvalid3.testcase \
+	atmisvalid4.testcase \
+	atmisvalid5.testcase \
+	atmisvalid6.testcase \
+	atmmultiply1.testcase \
+	atmmultiply2.testcase \
+	atmmultiply3.testcase \
+	atmmultiply4.testcase \
+	atmmultiply5.testcase \
+	atmscale1.testcase \
+	atmscale2.testcase \
+	atmscale3.testcase \
+	atmscale4.testcase \
+	atmscale5.testcase \
+	atmscale6.testcase \
+	atmscale7.testcase \
+	atmscale8.testcase \
+	atmscale9.testcase \
+	atmscale10.testcase \
+	atmscale11.testcase \
+	atmscale12.testcase \
+	atmscale13.testcase \
+	atmtrans1.testcase \
+	atmtrans2.testcase \
+	atmtrans3.testcase \
+	atmtrans4.testcase \
+	atmtrans5.testcase \
+	atmtrans6.testcase \
+	atmtrans7.testcase \
+	atmtrans8.testcase \
+	atmtrans9.testcase \
+	atmtrans10.testcase \
+	atmtrans11.testcase \
+	atmtrans12.testcase \
+	atmtrans13.testcase \
+	atmtransform1.testcase \
+	atmtransform2.testcase \
+	atmtransform3.testcase \
+	atmtransform4.testcase \
+	atmtransform5.testcase \
+	atmtransform6.testcase \
+	atmtransform7.testcase \
+	atmtransform8.testcase \
+	atmxroll1.testcase \
+	atmxroll2.testcase \
+	atmxroll3.testcase \
+	atmxroll4.testcase \
+	atmxroll5.testcase \
+	atmyroll1.testcase \
+	atmyroll2.testcase \
+	atmyroll3.testcase \
+	atmyroll4.testcase \
+	atmyroll5.testcase \
+	atmzroll1.testcase \
+	atmzroll2.testcase \
+	atmzroll3.testcase \
+	atmzroll4.testcase \
+	atmzroll5.testcase \
 	badEWKT1.testcase \
 	badEWKT2.testcase \
 	badEWKT3.testcase \
@@ -724,7 +863,18 @@ EXTRA_DIST = addpoint10.testcase \
 	compressgeometry8.testcase \
 	compressgeometry9.testcase \
 	createrastercoverages.testcase \
+	createvectorcoverages.testcase \
 	createuuid1.testcase \
+	decodeurl1.testcase \
+	decodeurl2.testcase \
+	decodeurl3.testcase \
+	decodeurl4.testcase \
+	decodeurl5.testcase \
+	dirfrompath1.testcase \
+	dirfrompath2.testcase \
+	dirfrompath3.testcase \
+	dirfrompath4.testcase \
+	dirfrompath5.testcase \
 	dimension1.testcase \
 	dimension2.testcase \
 	dimension3.testcase \
@@ -771,13 +921,24 @@ EXTRA_DIST = addpoint10.testcase \
 	dropgeo3.testcase \
 	dropgeo4.testcase \
 	dropgeo5.testcase \
+	dropgeo6.testcase \
+	dropgeo7.testcase \
+	dropgeo8.testcase \
+	dropgeo9.testcase \
 	elemgeo1.testcase \
 	elemgeo2.testcase \
 	elemgeo3.testcase \
 	elemgeo4.testcase \
 	elemgeo5.testcase \
 	elemgeo6.testcase \
+	elemgeo7.testcase \
+	elemgeo8.testcase \
 	emptyfile.txt \
+	encodeurl1.testcase \
+	encodeurl2.testcase \
+	encodeurl3.testcase \
+	encodeurl4.testcase \
+	encodeurl5.testcase \
 	endpoint1.testcase \
 	envelope1.testcase \
 	envelope2.testcase \
@@ -815,6 +976,11 @@ EXTRA_DIST = addpoint10.testcase \
 	expand5.testcase \
 	expand6.testcase \
 	expand7.testcase \
+	extfrompath1.testcase \
+	extfrompath2.testcase \
+	extfrompath3.testcase \
+	extfrompath4.testcase \
+	extfrompath5.testcase \
 	extent1.testcase \
 	extractmultilinestring1.testcase \
 	extractmultilinestring2.testcase \
@@ -825,10 +991,6 @@ EXTRA_DIST = addpoint10.testcase \
 	extractmultipolygon1.testcase \
 	extractmultipolygon2.testcase \
 	extractmultipolygon3.testcase \
-	eval1.testcase \
-	eval2.testcase \
-	eval3.testcase \
-	eval4.testcase \
 	fath_m.testcase \
 	fdo_ogr1.testcase \
 	fdo_ogr2.testcase \
@@ -1018,6 +1180,11 @@ EXTRA_DIST = addpoint10.testcase \
 	fromWkb8.testcase \
 	fromWkb9.testcase \
 	ft_m.testcase \
+	fullnamefrompath1.testcase \
+	fullnamefrompath2.testcase \
+	fullnamefrompath3.testcase \
+	fullnamefrompath4.testcase \
+	fullnamefrompath5.testcase \
 	garsmbr10.testcase \
 	garsmbr11.testcase \
 	garsmbr12.testcase \
@@ -1310,6 +1477,14 @@ EXTRA_DIST = addpoint10.testcase \
 	ismeasured6.testcase \
 	ispopulatedcoverage1.testcase \
 	ispopulatedcoverage2.testcase \
+	checkfontfacename1.testcase \
+	checkfontfacename2.testcase \
+	checkfontfacename3.testcase \
+	getfontfamily.testcase \
+	isfontbold.testcase \
+	isfontitalic.testcase \
+	isvalidfont1.testcase \
+	isvalidfont2.testcase \
 	isvalidnodata1.testcase \
 	isvalidnodata2.testcase \
 	isvalidnodata3.testcase \
@@ -1685,6 +1860,11 @@ EXTRA_DIST = addpoint10.testcase \
 	m_usmi.testcase \
 	m_yd.testcase \
 	m_yd_us.testcase \
+	namefrompath1.testcase \
+	namefrompath2.testcase \
+	namefrompath3.testcase \
+	namefrompath4.testcase \
+	namefrompath5.testcase \
 	ndims1.testcase \
 	ndims2.testcase \
 	ndims3.testcase \
@@ -1782,6 +1962,8 @@ EXTRA_DIST = addpoint10.testcase \
 	reflectcoords9.testcase \
 	removedupl1.testcase \
 	removedupl2.testcase \
+	removedupl3.testcase \
+	removedupl4.testcase \
 	removepoint10.testcase \
 	removepoint11.testcase \
 	removepoint12.testcase \
@@ -2216,7 +2398,82 @@ EXTRA_DIST = addpoint10.testcase \
 	fromdms6.testcase \
 	fromdms7.testcase \
 	fromdms8.testcase \
-	fromdms9.testcase
+	fromdms9.testcase \
+	sridisgeographic1.testcase \
+	sridisgeographic2.testcase \
+	sridisgeographic3.testcase \
+	sridisgeographic4.testcase \
+	sridisgeographic5.testcase \
+	sridisgeographic6.testcase \
+	sridisgeographic7.testcase \
+	sridisprojected1.testcase \
+	sridisprojected2.testcase \
+	sridisprojected3.testcase \
+	sridisprojected4.testcase \
+	sridisprojected5.testcase \
+	sridisprojected6.testcase \
+	sridisprojected7.testcase \
+	sridflipped1.testcase \
+	sridflipped2.testcase \
+	sridflipped3.testcase \
+	sridflipped4.testcase \
+	sridflipped5.testcase \
+	sridflipped6.testcase \
+	sridflipped7.testcase \
+	sridspheroid1.testcase \
+	sridspheroid2.testcase \
+	sridspheroid3.testcase \
+	sridspheroid4.testcase \
+	sridspheroid5.testcase \
+	sridspheroid6.testcase \
+	sridprimem1.testcase \
+	sridprimem2.testcase \
+	sridprimem3.testcase \
+	sridprimem4.testcase \
+	sridprimem5.testcase \
+	sridprimem6.testcase \
+	sriddatum1.testcase \
+	sriddatum2.testcase \
+	sriddatum3.testcase \
+	sriddatum4.testcase \
+	sriddatum5.testcase \
+	sriddatum6.testcase \
+	sridunit1.testcase \
+	sridunit2.testcase \
+	sridunit3.testcase \
+	sridunit4.testcase \
+	sridunit5.testcase \
+	sridunit6.testcase \
+	sridprojection1.testcase \
+	sridprojection2.testcase \
+	sridprojection3.testcase \
+	sridprojection4.testcase \
+	sridprojection5.testcase \
+	sridprojection6.testcase \
+	sridax1name1.testcase \
+	sridax1name2.testcase \
+	sridax1name3.testcase \
+	sridax1name4.testcase \
+	sridax1name5.testcase \
+	sridax1name6.testcase \
+	sridax1orient1.testcase \
+	sridax1orient2.testcase \
+	sridax1orient3.testcase \
+	sridax1orient4.testcase \
+	sridax1orient5.testcase \
+	sridax1orient6.testcase \
+	sridax2name1.testcase \
+	sridax2name2.testcase \
+	sridax2name3.testcase \
+	sridax2name4.testcase \
+	sridax2name5.testcase \
+	sridax2name6.testcase \
+	sridax2orient1.testcase \
+	sridax2orient2.testcase \
+	sridax2orient3.testcase \
+	sridax2orient4.testcase \
+	sridax2orient5.testcase \
+	sridax2orient6.testcase
 
 all: all-am
 
@@ -2233,7 +2490,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -2408,6 +2664,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/sql_stmt_tests/SridFromAuthCRS4.testcase b/test/sql_stmt_tests/SridFromAuthCRS4.testcase
index 55faca7..55b4a35 100644
--- a/test/sql_stmt_tests/SridFromAuthCRS4.testcase
+++ b/test/sql_stmt_tests/SridFromAuthCRS4.testcase
@@ -1,7 +1,7 @@
 SridFromAuthCRS - gfoss.it
 :memory: #use in-memory database
-SELECT SridFromAuthCRS('gfoss.it', 1)
+SELECT SridFromAuthCRS('epsg', 4326)
 1 # rows (not including the header row)
 1 # columns
-SridFromAuthCRS('gfoss.it', 1)
-40000
+SridFromAuthCRS('epsg', 4326)
+4326
diff --git a/test/sql_stmt_tests/atmastext1.testcase b/test/sql_stmt_tests/atmastext1.testcase
new file mode 100644
index 0000000..ae82429
--- /dev/null
+++ b/test/sql_stmt_tests/atmastext1.testcase
@@ -0,0 +1,7 @@
+ATM_AsText() - int
+:memory: #use in-memory database
+SELECT ATM_AsText(1)
+1 # rows (not including the header row)
+1 # columns
+ATM_AsText(1)
+(NULL)
diff --git a/test/sql_stmt_tests/atmastext2.testcase b/test/sql_stmt_tests/atmastext2.testcase
new file mode 100644
index 0000000..95666ee
--- /dev/null
+++ b/test/sql_stmt_tests/atmastext2.testcase
@@ -0,0 +1,7 @@
+ATM_AsText() - double
+:memory: #use in-memory database
+SELECT ATM_AsText(1.1)
+1 # rows (not including the header row)
+1 # columns
+ATM_AsText(1.1)
+(NULL)
diff --git a/test/sql_stmt_tests/atmastext3.testcase b/test/sql_stmt_tests/atmastext3.testcase
new file mode 100644
index 0000000..b19b5d1
--- /dev/null
+++ b/test/sql_stmt_tests/atmastext3.testcase
@@ -0,0 +1,7 @@
+ATM_AsText() - text
+:memory: #use in-memory database
+SELECT ATM_AsText('alpha')
+1 # rows (not including the header row)
+1 # columns
+ATM_AsText('alpha')
+(NULL)
diff --git a/test/sql_stmt_tests/atmastext4.testcase b/test/sql_stmt_tests/atmastext4.testcase
new file mode 100644
index 0000000..68d918c
--- /dev/null
+++ b/test/sql_stmt_tests/atmastext4.testcase
@@ -0,0 +1,7 @@
+ATM_AsText() - NULL
+:memory: #use in-memory database
+SELECT ATM_AsText(NULL)
+1 # rows (not including the header row)
+1 # columns
+ATM_AsText(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/atmastext5.testcase b/test/sql_stmt_tests/atmastext5.testcase
new file mode 100644
index 0000000..5dc4917
--- /dev/null
+++ b/test/sql_stmt_tests/atmastext5.testcase
@@ -0,0 +1,7 @@
+ATM_AsText() - invalid blob
+:memory: #use in-memory database
+SELECT ATM_AsText(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+ATM_AsText(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/atmastext6.testcase b/test/sql_stmt_tests/atmastext6.testcase
new file mode 100644
index 0000000..42d0e35
--- /dev/null
+++ b/test/sql_stmt_tests/atmastext6.testcase
@@ -0,0 +1,7 @@
+ATM_AsText() - valid
+:memory: #use in-memory database
+SELECT Length(ATM_AsText(ATM_Create()))
+1 # rows (not including the header row)
+1 # columns
+Length(ATM_AsText(ATM_Create()))
+208
diff --git a/test/sql_stmt_tests/atmcreate1.testcase b/test/sql_stmt_tests/atmcreate1.testcase
new file mode 100644
index 0000000..4774fe1
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate1.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - void
+:memory: #use in-memory database
+SELECT Hex(ATM_Create())
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Create())
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreate10.testcase b/test/sql_stmt_tests/atmcreate10.testcase
new file mode 100644
index 0000000..7de4794
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate10.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 5th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 'a', 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 4.0, 'a', 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate11.testcase b/test/sql_stmt_tests/atmcreate11.testcase
new file mode 100644
index 0000000..ca3abfd
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate11.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 6th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 'a', 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 'a', 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate12.testcase b/test/sql_stmt_tests/atmcreate12.testcase
new file mode 100644
index 0000000..4069d09
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate12.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 7th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 'a', 8.0, 9.0, 10.0, 11.0, 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 'a', 8.0, 9.0, 10.0, 11.0, 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate13.testcase b/test/sql_stmt_tests/atmcreate13.testcase
new file mode 100644
index 0000000..2015b71
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate13.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 8th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 'a', 9.0, 10.0, 11.0, 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 'a', 9.0, 10.0, 11.0, 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate14.testcase b/test/sql_stmt_tests/atmcreate14.testcase
new file mode 100644
index 0000000..225724b
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate14.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 9th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 'a', 10.0, 11.0, 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 'a', 10.0, 11.0, 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate15.testcase b/test/sql_stmt_tests/atmcreate15.testcase
new file mode 100644
index 0000000..ffc251d
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate15.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 10th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 'a', 11.0, 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 'a', 11.0, 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate16.testcase b/test/sql_stmt_tests/atmcreate16.testcase
new file mode 100644
index 0000000..1191cc1
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate16.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 11th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 'a', 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 'a', 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate17.testcase b/test/sql_stmt_tests/atmcreate17.testcase
new file mode 100644
index 0000000..49847cf
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate17.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - 2d invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_Create('a', 2.0, 3.0, 4.0, 5.0, 6.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create('a', 2.0, 3.0, 4.0, 5.0, 6.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate18.testcase b/test/sql_stmt_tests/atmcreate18.testcase
new file mode 100644
index 0000000..9634c6d
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate18.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - 2d invalid 2nd arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 'a', 3.0, 4.0, 5.0, 6.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 'a', 3.0, 4.0, 5.0, 6.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate19.testcase b/test/sql_stmt_tests/atmcreate19.testcase
new file mode 100644
index 0000000..d36635a
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate19.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - 2d invalid 3rd arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 'a', 4.0, 5.0, 6.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 'a', 4.0, 5.0, 6.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate2.testcase b/test/sql_stmt_tests/atmcreate2.testcase
new file mode 100644
index 0000000..8db49cd
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate2.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - 2d valid (int)
+:memory: #use in-memory database
+SELECT Hex(ATM_Create(1, 2, 3, 4, 5, 6))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Create(1, 2, 3, 4, 5, 6))
+0001000000000000F03F3A00000000000000403A00000000000000003A00000000000014403A00000000000008403A00000000000010403A00000000000000003A00000000000018403A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreate20.testcase b/test/sql_stmt_tests/atmcreate20.testcase
new file mode 100644
index 0000000..4e99fbe
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate20.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - 2d invalid 4th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 'a', 5.0, 6.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 'a', 5.0, 6.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate21.testcase b/test/sql_stmt_tests/atmcreate21.testcase
new file mode 100644
index 0000000..90ac5eb
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate21.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - 2d invalid 5th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 'a', 6.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 4.0, 'a', 6.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate22.testcase b/test/sql_stmt_tests/atmcreate22.testcase
new file mode 100644
index 0000000..9175d40
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate22.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - 2d invalid 6th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate23.testcase b/test/sql_stmt_tests/atmcreate23.testcase
new file mode 100644
index 0000000..bce7a03
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate23.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 12th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate3.testcase b/test/sql_stmt_tests/atmcreate3.testcase
new file mode 100644
index 0000000..782f6e9
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate3.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - 2d valid (double)
+:memory: #use in-memory database
+SELECT Hex(ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0))
+0001000000000000F03F3A00000000000000403A00000000000000003A00000000000014403A00000000000008403A00000000000010403A00000000000000003A00000000000018403A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreate4.testcase b/test/sql_stmt_tests/atmcreate4.testcase
new file mode 100644
index 0000000..47674ce
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate4.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - 3d valid (int)
+:memory: #use in-memory database
+SELECT Hex(ATM_Create(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Create(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12))
+0001000000000000F03F3A00000000000000403A00000000000008403A00000000000024403A00000000000010403A00000000000014403A00000000000018403A00000000000026403A0000000000001C403A00000000000020403A00000000000022403A00000000000028403A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreate5.testcase b/test/sql_stmt_tests/atmcreate5.testcase
new file mode 100644
index 0000000..18e4164
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate5.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - 3d valid (double)
+:memory: #use in-memory database
+SELECT Hex(ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0))
+0001000000000000F03F3A00000000000000403A00000000000008403A0000000000001C403A00000000000010403A00000000000014403A00000000000018403A00000000000026403A0000000000001C403A00000000000020403A00000000000022403A00000000000028403A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreate6.testcase b/test/sql_stmt_tests/atmcreate6.testcase
new file mode 100644
index 0000000..5d431c9
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate6.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_Create('a', 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create('a', 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate7.testcase b/test/sql_stmt_tests/atmcreate7.testcase
new file mode 100644
index 0000000..0529b76
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate7.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 2nd arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 'a', 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 'a', 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate8.testcase b/test/sql_stmt_tests/atmcreate8.testcase
new file mode 100644
index 0000000..32f30b6
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate8.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 3rd arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 'a', 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 'a', 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreate9.testcase b/test/sql_stmt_tests/atmcreate9.testcase
new file mode 100644
index 0000000..92e49e3
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreate9.testcase
@@ -0,0 +1,7 @@
+ATM_Create() - invalid 4th arg
+:memory: #use in-memory database
+SELECT ATM_Create(1.0, 2.0, 3.0, 'a', 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Create(1.0, 2.0, 3.0, 'a', 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatescale1.testcase b/test/sql_stmt_tests/atmcreatescale1.testcase
new file mode 100644
index 0000000..13cf888
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatescale1.testcase
@@ -0,0 +1,7 @@
+ATM_CreateScale() - valid (int)
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateScale(1, 2))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateScale(1, 2))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatescale2.testcase b/test/sql_stmt_tests/atmcreatescale2.testcase
new file mode 100644
index 0000000..e07a176
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatescale2.testcase
@@ -0,0 +1,7 @@
+ATM_CreateScale() - valid (double)
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateScale(1.0, 2.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateScale(1.0, 2.0))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatescale3.testcase b/test/sql_stmt_tests/atmcreatescale3.testcase
new file mode 100644
index 0000000..1ffe84b
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatescale3.testcase
@@ -0,0 +1,7 @@
+ATM_CreateScale() - invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_CreateScale('a', 2.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateScale('a', 2.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatescale4.testcase b/test/sql_stmt_tests/atmcreatescale4.testcase
new file mode 100644
index 0000000..0635e66
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatescale4.testcase
@@ -0,0 +1,7 @@
+ATM_CreateScale() - invalid 2st arg
+:memory: #use in-memory database
+SELECT ATM_CreateScale(1.0, 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateScale(1.0, 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatescale5.testcase b/test/sql_stmt_tests/atmcreatescale5.testcase
new file mode 100644
index 0000000..99b4f40
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatescale5.testcase
@@ -0,0 +1,7 @@
+ATM_CreateScale() - valid 3d (int)
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateScale(1, 2, 3))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateScale(1, 2, 3))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000008403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatescale6.testcase b/test/sql_stmt_tests/atmcreatescale6.testcase
new file mode 100644
index 0000000..212e56f
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatescale6.testcase
@@ -0,0 +1,7 @@
+ATM_CreateScale() - valid 3d (double)
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateScale(1.0, 2.0, 3.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateScale(1.0, 2.0, 3.0))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000008403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatescale7.testcase b/test/sql_stmt_tests/atmcreatescale7.testcase
new file mode 100644
index 0000000..88f231d
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatescale7.testcase
@@ -0,0 +1,7 @@
+ATM_CreateScale() - 3d invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_CreateScale('a', 2.0, 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateScale('a', 2.0, 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatescale8.testcase b/test/sql_stmt_tests/atmcreatescale8.testcase
new file mode 100644
index 0000000..8bf1e23
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatescale8.testcase
@@ -0,0 +1,7 @@
+ATM_CreateScale() - 3d invalid 2nd arg
+:memory: #use in-memory database
+SELECT ATM_CreateScale(1.0, 'a', 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateScale(1.0, 'a', 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatescale9.testcase b/test/sql_stmt_tests/atmcreatescale9.testcase
new file mode 100644
index 0000000..7bbe341
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatescale9.testcase
@@ -0,0 +1,7 @@
+ATM_CreateScale() - 3rd invalid 3nd arg
+:memory: #use in-memory database
+SELECT ATM_CreateScale(1.0, 2.0, 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateScale(1.0, 2.0, 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatetrans1.testcase b/test/sql_stmt_tests/atmcreatetrans1.testcase
new file mode 100644
index 0000000..fba6d4a
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatetrans1.testcase
@@ -0,0 +1,7 @@
+ATM_CreateTranslate() - valid 2d (int)
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateTranslate(1, 2))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateTranslate(1, 2))
+0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatetrans2.testcase b/test/sql_stmt_tests/atmcreatetrans2.testcase
new file mode 100644
index 0000000..5c853ac
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatetrans2.testcase
@@ -0,0 +1,7 @@
+ATM_CreateTranslate() - valid 2d (double)
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateTranslate(1.0, 2.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateTranslate(1.0, 2.0))
+0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatetrans3.testcase b/test/sql_stmt_tests/atmcreatetrans3.testcase
new file mode 100644
index 0000000..e340414
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatetrans3.testcase
@@ -0,0 +1,7 @@
+ATM_CreateTranslate() - 2d invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_CreateTranslate('a', 2.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateTranslate('a', 2.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatetrans4.testcase b/test/sql_stmt_tests/atmcreatetrans4.testcase
new file mode 100644
index 0000000..d6e8959
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatetrans4.testcase
@@ -0,0 +1,7 @@
+ATM_CreateTranslate() - 2d invalid 2nd arg
+:memory: #use in-memory database
+SELECT ATM_CreateTranslate(1.0, 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateTranslate(1.0, 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatetrans5.testcase b/test/sql_stmt_tests/atmcreatetrans5.testcase
new file mode 100644
index 0000000..c5feeb2
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatetrans5.testcase
@@ -0,0 +1,7 @@
+ATM_CreateTranslate() - valid 3d (int)
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateTranslate(1, 2, 3))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateTranslate(1, 2, 3))
+0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000008403A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatetrans6.testcase b/test/sql_stmt_tests/atmcreatetrans6.testcase
new file mode 100644
index 0000000..64e6115
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatetrans6.testcase
@@ -0,0 +1,7 @@
+ATM_CreateTranslate() - valid 3d (double)
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateTranslate(1.0, 2.0, 3.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateTranslate(1.0, 2.0, 3.0))
+0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000008403A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatetrans7.testcase b/test/sql_stmt_tests/atmcreatetrans7.testcase
new file mode 100644
index 0000000..f0a9efc
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatetrans7.testcase
@@ -0,0 +1,7 @@
+ATM_CreateTranslate() - 3d invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_CreateTranslate('a', 2.0, 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateTranslate('a', 2.0, 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatetrans8.testcase b/test/sql_stmt_tests/atmcreatetrans8.testcase
new file mode 100644
index 0000000..c863c7e
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatetrans8.testcase
@@ -0,0 +1,7 @@
+ATM_CreateTranslate() - 3d invalid 2nd arg
+:memory: #use in-memory database
+SELECT ATM_CreateTranslate(1.0, 'a', 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateTranslate(1.0, 'a', 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatetrans9.testcase b/test/sql_stmt_tests/atmcreatetrans9.testcase
new file mode 100644
index 0000000..8f9aff6
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatetrans9.testcase
@@ -0,0 +1,7 @@
+ATM_CreateTranslate() - 3d invalid 3rd arg
+:memory: #use in-memory database
+SELECT ATM_CreateTranslate(1.0, 2.0, 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateTranslate(1.0, 2.0, 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatexroll1.testcase b/test/sql_stmt_tests/atmcreatexroll1.testcase
new file mode 100644
index 0000000..5643b39
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatexroll1.testcase
@@ -0,0 +1,7 @@
+ATM_CreateXRoll() - invalid
+:memory: #use in-memory database
+SELECT ATM_CreateXRoll('a')
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateXRoll('a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatexroll2.testcase b/test/sql_stmt_tests/atmcreatexroll2.testcase
new file mode 100644
index 0000000..0a7f87a
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatexroll2.testcase
@@ -0,0 +1,7 @@
+ATM_CreateXRoll() - valid int
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateXRoll(15))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateXRoll(15))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A15BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatexroll3.testcase b/test/sql_stmt_tests/atmcreatexroll3.testcase
new file mode 100644
index 0000000..07e13e0
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatexroll3.testcase
@@ -0,0 +1,7 @@
+ATM_CreateXRoll() - valid double
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateXRoll(15.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateXRoll(15.0))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A15BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreateyroll1.testcase b/test/sql_stmt_tests/atmcreateyroll1.testcase
new file mode 100644
index 0000000..fe511d8
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreateyroll1.testcase
@@ -0,0 +1,7 @@
+ATM_CreateYRoll() - invalid
+:memory: #use in-memory database
+SELECT ATM_CreateYRoll('a')
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateYRoll('a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreateyroll2.testcase b/test/sql_stmt_tests/atmcreateyroll2.testcase
new file mode 100644
index 0000000..0e1e41e
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreateyroll2.testcase
@@ -0,0 +1,7 @@
+ATM_CreateYRoll() - valid int
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateYRoll(15))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateYRoll(15))
+000115BF4847DDE8EE3F3A00000000000000003A900693C17D90D03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A900693C17D90D0BF3A00000000000000003A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreateyroll3.testcase b/test/sql_stmt_tests/atmcreateyroll3.testcase
new file mode 100644
index 0000000..f14ec48
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreateyroll3.testcase
@@ -0,0 +1,7 @@
+ATM_CreateYRoll() - valid double
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateYRoll(15.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateYRoll(15.0))
+000115BF4847DDE8EE3F3A00000000000000003A900693C17D90D03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A900693C17D90D0BF3A00000000000000003A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatezroll1.testcase b/test/sql_stmt_tests/atmcreatezroll1.testcase
new file mode 100644
index 0000000..4202467
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatezroll1.testcase
@@ -0,0 +1,7 @@
+ATM_CreateZRoll() - invalid
+:memory: #use in-memory database
+SELECT ATM_CreateZRoll('a')
+1 # rows (not including the header row)
+1 # columns
+ATM_CreateZRoll('a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmcreatezroll2.testcase b/test/sql_stmt_tests/atmcreatezroll2.testcase
new file mode 100644
index 0000000..6b5bcc6
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatezroll2.testcase
@@ -0,0 +1,7 @@
+ATM_CreateZRoll() - valid int
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateZRoll(15))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateZRoll(15))
+000115BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmcreatezroll3.testcase b/test/sql_stmt_tests/atmcreatezroll3.testcase
new file mode 100644
index 0000000..4b56c60
--- /dev/null
+++ b/test/sql_stmt_tests/atmcreatezroll3.testcase
@@ -0,0 +1,7 @@
+ATM_CreateZRoll() - valid double
+:memory: #use in-memory database
+SELECT Hex(ATM_CreateZRoll(15.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_CreateZRoll(15.0))
+000115BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmdeterminant1.testcase b/test/sql_stmt_tests/atmdeterminant1.testcase
new file mode 100644
index 0000000..b8707b1
--- /dev/null
+++ b/test/sql_stmt_tests/atmdeterminant1.testcase
@@ -0,0 +1,7 @@
+ATM_Determinant() - NULL arg
+:memory: #use in-memory database
+SELECT ATM_Determinant(NULL)
+1 # rows (not including the header row)
+1 # columns
+ATM_Determinant(NULL)
+0.0
diff --git a/test/sql_stmt_tests/atmdeterminant2.testcase b/test/sql_stmt_tests/atmdeterminant2.testcase
new file mode 100644
index 0000000..85bdaa4
--- /dev/null
+++ b/test/sql_stmt_tests/atmdeterminant2.testcase
@@ -0,0 +1,7 @@
+ATM_Determinant() - invalid BLOB
+:memory: #use in-memory database
+SELECT ATM_Determinant(zeroblob(4))
+1 # rows (not including the header row)
+1 # columns
+ATM_Determinant(zeroblob(4))
+0.0
diff --git a/test/sql_stmt_tests/atmdeterminant3.testcase b/test/sql_stmt_tests/atmdeterminant3.testcase
new file mode 100644
index 0000000..aa88d71
--- /dev/null
+++ b/test/sql_stmt_tests/atmdeterminant3.testcase
@@ -0,0 +1,7 @@
+ATM_Determinant() - invertible
+:memory: #use in-memory database
+SELECT ATM_Determinant(ATM_CreateScale(2,2,2))
+1 # rows (not including the header row)
+1 # columns
+ATM_Determinant(ATM_CreateScale(2,2,2))
+8.0
diff --git a/test/sql_stmt_tests/atmdeterminant4.testcase b/test/sql_stmt_tests/atmdeterminant4.testcase
new file mode 100644
index 0000000..7f65f63
--- /dev/null
+++ b/test/sql_stmt_tests/atmdeterminant4.testcase
@@ -0,0 +1,7 @@
+ATM_Determinant() - not invertible
+:memory: #use in-memory database
+SELECT ATM_Determinant(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12))
+1 # rows (not including the header row)
+1 # columns
+ATM_Determinant(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12))
+0.0
diff --git a/test/sql_stmt_tests/atminvert1.testcase b/test/sql_stmt_tests/atminvert1.testcase
new file mode 100644
index 0000000..b1e988b
--- /dev/null
+++ b/test/sql_stmt_tests/atminvert1.testcase
@@ -0,0 +1,7 @@
+ATM_Invert() - NULL arg
+:memory: #use in-memory database
+SELECT ATM_Invert(NULL)
+1 # rows (not including the header row)
+1 # columns
+ATM_Invert(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/atminvert2.testcase b/test/sql_stmt_tests/atminvert2.testcase
new file mode 100644
index 0000000..812783e
--- /dev/null
+++ b/test/sql_stmt_tests/atminvert2.testcase
@@ -0,0 +1,7 @@
+ATM_Invert() - invalid BLOB
+:memory: #use in-memory database
+SELECT ATM_Invert(zeroblob(4))
+1 # rows (not including the header row)
+1 # columns
+ATM_Invert(zeroblob(4))
+(NULL)
diff --git a/test/sql_stmt_tests/atminvert3.testcase b/test/sql_stmt_tests/atminvert3.testcase
new file mode 100644
index 0000000..8f70c75
--- /dev/null
+++ b/test/sql_stmt_tests/atminvert3.testcase
@@ -0,0 +1,7 @@
+ATM_Invert() - invertible
+:memory: #use in-memory database
+SELECT ATM_IsValid(ATM_Invert(ATM_CreateScale(2,2,2)))
+1 # rows (not including the header row)
+1 # columns
+ATM_IsValid(ATM_Invert(ATM_CreateScale(2,2,2)))
+1
diff --git a/test/sql_stmt_tests/atminvert4.testcase b/test/sql_stmt_tests/atminvert4.testcase
new file mode 100644
index 0000000..ee54c04
--- /dev/null
+++ b/test/sql_stmt_tests/atminvert4.testcase
@@ -0,0 +1,7 @@
+ATM_Invert() - not invertible
+:memory: #use in-memory database
+SELECT ATM_Invert(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12))
+1 # rows (not including the header row)
+1 # columns
+ATM_Invert(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12))
+(NULL)
diff --git a/test/sql_stmt_tests/atmisinvert1.testcase b/test/sql_stmt_tests/atmisinvert1.testcase
new file mode 100644
index 0000000..80c6cca
--- /dev/null
+++ b/test/sql_stmt_tests/atmisinvert1.testcase
@@ -0,0 +1,7 @@
+ATM_IsInvertible() - NULL arg
+:memory: #use in-memory database
+SELECT ATM_IsInvertible(NULL)
+1 # rows (not including the header row)
+1 # columns
+ATM_IsInvertible(NULL)
+-1
diff --git a/test/sql_stmt_tests/atmisinvert2.testcase b/test/sql_stmt_tests/atmisinvert2.testcase
new file mode 100644
index 0000000..1065c1d
--- /dev/null
+++ b/test/sql_stmt_tests/atmisinvert2.testcase
@@ -0,0 +1,7 @@
+ATM_IsInvertible() - invalid BLOB
+:memory: #use in-memory database
+SELECT ATM_IsInvertible(zeroblob(4))
+1 # rows (not including the header row)
+1 # columns
+ATM_IsInvertible(zeroblob(4))
+0
diff --git a/test/sql_stmt_tests/atmisinvert3.testcase b/test/sql_stmt_tests/atmisinvert3.testcase
new file mode 100644
index 0000000..d7e8b6b
--- /dev/null
+++ b/test/sql_stmt_tests/atmisinvert3.testcase
@@ -0,0 +1,7 @@
+ATM_IsInvertible() - invertible
+:memory: #use in-memory database
+SELECT ATM_IsInvertible(ATM_CreateScale(2,2,2))
+1 # rows (not including the header row)
+1 # columns
+ATM_IsInvertible(ATM_CreateScale(2,2,2))
+1
diff --git a/test/sql_stmt_tests/atmisinvert4.testcase b/test/sql_stmt_tests/atmisinvert4.testcase
new file mode 100644
index 0000000..b715660
--- /dev/null
+++ b/test/sql_stmt_tests/atmisinvert4.testcase
@@ -0,0 +1,7 @@
+ATM_IsInvertible() - not invertible
+:memory: #use in-memory database
+SELECT ATM_IsInvertible(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12))
+1 # rows (not including the header row)
+1 # columns
+ATM_IsInvertible(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12))
+0
diff --git a/test/sql_stmt_tests/atmisvalid1.testcase b/test/sql_stmt_tests/atmisvalid1.testcase
new file mode 100644
index 0000000..8ed0136
--- /dev/null
+++ b/test/sql_stmt_tests/atmisvalid1.testcase
@@ -0,0 +1,7 @@
+ATM_IsValid() - int
+:memory: #use in-memory database
+SELECT ATM_IsValid(1)
+1 # rows (not including the header row)
+1 # columns
+ATM_IsValid(1)
+-1
diff --git a/test/sql_stmt_tests/atmisvalid2.testcase b/test/sql_stmt_tests/atmisvalid2.testcase
new file mode 100644
index 0000000..c92d195
--- /dev/null
+++ b/test/sql_stmt_tests/atmisvalid2.testcase
@@ -0,0 +1,7 @@
+ATM_IsValid() - double
+:memory: #use in-memory database
+SELECT ATM_IsValid(1.1)
+1 # rows (not including the header row)
+1 # columns
+ATM_IsValid(1.1)
+-1
diff --git a/test/sql_stmt_tests/atmisvalid3.testcase b/test/sql_stmt_tests/atmisvalid3.testcase
new file mode 100644
index 0000000..a8eace8
--- /dev/null
+++ b/test/sql_stmt_tests/atmisvalid3.testcase
@@ -0,0 +1,7 @@
+ATM_IsValid() - text
+:memory: #use in-memory database
+SELECT ATM_IsValid('alpha')
+1 # rows (not including the header row)
+1 # columns
+ATM_IsValid('alpha')
+-1
diff --git a/test/sql_stmt_tests/atmisvalid4.testcase b/test/sql_stmt_tests/atmisvalid4.testcase
new file mode 100644
index 0000000..e25ccd7
--- /dev/null
+++ b/test/sql_stmt_tests/atmisvalid4.testcase
@@ -0,0 +1,7 @@
+ATM_IsValid() - NULL
+:memory: #use in-memory database
+SELECT ATM_IsValid(NULL)
+1 # rows (not including the header row)
+1 # columns
+ATM_IsValid(NULL)
+-1
diff --git a/test/sql_stmt_tests/atmisvalid5.testcase b/test/sql_stmt_tests/atmisvalid5.testcase
new file mode 100644
index 0000000..8b25465
--- /dev/null
+++ b/test/sql_stmt_tests/atmisvalid5.testcase
@@ -0,0 +1,7 @@
+ATM_IsValid() - invalid blob
+:memory: #use in-memory database
+SELECT ATM_IsValid(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+ATM_IsValid(zeroblob(10))
+0
diff --git a/test/sql_stmt_tests/atmisvalid6.testcase b/test/sql_stmt_tests/atmisvalid6.testcase
new file mode 100644
index 0000000..d529442
--- /dev/null
+++ b/test/sql_stmt_tests/atmisvalid6.testcase
@@ -0,0 +1,7 @@
+ATM_IsValid() - valid
+:memory: #use in-memory database
+SELECT ATM_IsValid(ATM_Create())
+1 # rows (not including the header row)
+1 # columns
+ATM_IsValid(ATM_Create())
+1
diff --git a/test/sql_stmt_tests/atmmultiply1.testcase b/test/sql_stmt_tests/atmmultiply1.testcase
new file mode 100644
index 0000000..bd1a835
--- /dev/null
+++ b/test/sql_stmt_tests/atmmultiply1.testcase
@@ -0,0 +1,7 @@
+ATM_Multiply() - valid 
+:memory: #use in-memory database
+SELECT Hex(ATM_Multiply(ATM_Create(), ATM_Create()))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Multiply(ATM_Create(), ATM_Create()))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmmultiply2.testcase b/test/sql_stmt_tests/atmmultiply2.testcase
new file mode 100644
index 0000000..05da9bd
--- /dev/null
+++ b/test/sql_stmt_tests/atmmultiply2.testcase
@@ -0,0 +1,7 @@
+ATM_Multiply() - invalid blob1
+:memory: #use in-memory database
+SELECT ATM_Multiply(zeroblob(4), ATM_Create())
+1 # rows (not including the header row)
+1 # columns
+ATM_Multiply(zeroblob(4), ATM_Create())
+(NULL)
diff --git a/test/sql_stmt_tests/atmmultiply3.testcase b/test/sql_stmt_tests/atmmultiply3.testcase
new file mode 100644
index 0000000..e3ccfcf
--- /dev/null
+++ b/test/sql_stmt_tests/atmmultiply3.testcase
@@ -0,0 +1,7 @@
+ATM_Multiply() - invalid blob2
+:memory: #use in-memory database
+SELECT ATM_Multiply(ATM_Create(), zeroblob(4))
+1 # rows (not including the header row)
+1 # columns
+ATM_Multiply(ATM_Create(), zeroblob(4))
+(NULL)
diff --git a/test/sql_stmt_tests/atmmultiply4.testcase b/test/sql_stmt_tests/atmmultiply4.testcase
new file mode 100644
index 0000000..33a2330
--- /dev/null
+++ b/test/sql_stmt_tests/atmmultiply4.testcase
@@ -0,0 +1,7 @@
+ATM_Multiply() - invalid arg1
+:memory: #use in-memory database
+SELECT ATM_Multiply(1, ATM_Create())
+1 # rows (not including the header row)
+1 # columns
+ATM_Multiply(1, ATM_Create())
+(NULL)
diff --git a/test/sql_stmt_tests/atmmultiply5.testcase b/test/sql_stmt_tests/atmmultiply5.testcase
new file mode 100644
index 0000000..ec5752d
--- /dev/null
+++ b/test/sql_stmt_tests/atmmultiply5.testcase
@@ -0,0 +1,7 @@
+ATM_Multiply() - invalid arg2
+:memory: #use in-memory database
+SELECT ATM_Multiply(ATM_Create(), 1)
+1 # rows (not including the header row)
+1 # columns
+ATM_Multiply(ATM_Create(), 1)
+(NULL)
diff --git a/test/sql_stmt_tests/atmscale1.testcase b/test/sql_stmt_tests/atmscale1.testcase
new file mode 100644
index 0000000..729ccaa
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale1.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - valid (int)
+:memory: #use in-memory database
+SELECT Hex(ATM_Scale(ATM_Create(), 1, 2))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Scale(ATM_Create(), 1, 2))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmscale10.testcase b/test/sql_stmt_tests/atmscale10.testcase
new file mode 100644
index 0000000..a5749e7
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale10.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - invalid blob
+:memory: #use in-memory database
+SELECT ATM_Scale(zeroblob(5), 1.0, 2.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Scale(zeroblob(5), 1.0, 2.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmscale11.testcase b/test/sql_stmt_tests/atmscale11.testcase
new file mode 100644
index 0000000..8b2c7ae
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale11.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - 3rd invalid blob
+:memory: #use in-memory database
+SELECT ATM_Scale(zeroblob(5), 1.0, 2.0, 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Scale(zeroblob(5), 1.0, 2.0, 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmscale12.testcase b/test/sql_stmt_tests/atmscale12.testcase
new file mode 100644
index 0000000..1b7f1ec
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale12.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - invalid matrix
+:memory: #use in-memory database
+SELECT ATM_Scale('a', 1.0, 2.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Scale('a', 1.0, 2.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmscale13.testcase b/test/sql_stmt_tests/atmscale13.testcase
new file mode 100644
index 0000000..6b99a82
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale13.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - 3rd invalid matrix
+:memory: #use in-memory database
+SELECT ATM_Scale('a', 1.0, 2.0, 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Scale('a', 1.0, 2.0, 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmscale2.testcase b/test/sql_stmt_tests/atmscale2.testcase
new file mode 100644
index 0000000..48fe68d
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale2.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - valid (double)
+:memory: #use in-memory database
+SELECT Hex(ATM_Scale(ATM_Create(), 1.0, 2.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Scale(ATM_Create(), 1.0, 2.0))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmscale3.testcase b/test/sql_stmt_tests/atmscale3.testcase
new file mode 100644
index 0000000..a91aded
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale3.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_Scale(ATM_Create(), 'a', 2.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Scale(ATM_Create(), 'a', 2.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmscale4.testcase b/test/sql_stmt_tests/atmscale4.testcase
new file mode 100644
index 0000000..f97d1ef
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale4.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - invalid 2st arg
+:memory: #use in-memory database
+SELECT ATM_Scale(ATM_Create(), 1.0, 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_Scale(ATM_Create(), 1.0, 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmscale5.testcase b/test/sql_stmt_tests/atmscale5.testcase
new file mode 100644
index 0000000..397d62d
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale5.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - valid 3d (int)
+:memory: #use in-memory database
+SELECT Hex(ATM_Scale(ATM_Create(), 1, 2, 3))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Scale(ATM_Create(), 1, 2, 3))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000008403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmscale6.testcase b/test/sql_stmt_tests/atmscale6.testcase
new file mode 100644
index 0000000..f02a009
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale6.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - valid 3d (double)
+:memory: #use in-memory database
+SELECT Hex(ATM_Scale(ATM_Create(), 1.0, 2.0, 3.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Scale(ATM_Create(), 1.0, 2.0, 3.0))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000008403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmscale7.testcase b/test/sql_stmt_tests/atmscale7.testcase
new file mode 100644
index 0000000..ebf9a75
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale7.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - 3d invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_Scale(ATM_Create(), 'a', 2.0, 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Scale(ATM_Create(), 'a', 2.0, 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmscale8.testcase b/test/sql_stmt_tests/atmscale8.testcase
new file mode 100644
index 0000000..a780bee
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale8.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - 3d invalid 2nd arg
+:memory: #use in-memory database
+SELECT ATM_Scale(ATM_Create(), 1.0, 'a', 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Scale(ATM_Create(), 1.0, 'a', 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmscale9.testcase b/test/sql_stmt_tests/atmscale9.testcase
new file mode 100644
index 0000000..4d159ba
--- /dev/null
+++ b/test/sql_stmt_tests/atmscale9.testcase
@@ -0,0 +1,7 @@
+ATM_Scale() - 3rd invalid 3nd arg
+:memory: #use in-memory database
+SELECT ATM_Scale(ATM_Create(), 1.0, 2.0, 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_Scale(ATM_Create(), 1.0, 2.0, 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmtrans1.testcase b/test/sql_stmt_tests/atmtrans1.testcase
new file mode 100644
index 0000000..df43b89
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans1.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - valid 2d (int)
+:memory: #use in-memory database
+SELECT Hex(ATM_Translate(ATM_Create(), 1, 2))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Translate(ATM_Create(), 1, 2))
+0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmtrans10.testcase b/test/sql_stmt_tests/atmtrans10.testcase
new file mode 100644
index 0000000..b4a692a
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans10.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - invalid blob
+:memory: #use in-memory database
+SELECT ATM_Translate(zeroblob(10), 1.0, 2.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Translate(zeroblob(10), 1.0, 2.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmtrans11.testcase b/test/sql_stmt_tests/atmtrans11.testcase
new file mode 100644
index 0000000..33206ee
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans11.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - 3d invalid 3rd arg
+:memory: #use in-memory database
+SELECT ATM_Translate(zeroblob(10), 1.0, 2.0, 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Translate(zeroblob(10), 1.0, 2.0, 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmtrans12.testcase b/test/sql_stmt_tests/atmtrans12.testcase
new file mode 100644
index 0000000..c090057
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans12.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - invalid matrix
+:memory: #use in-memory database
+SELECT ATM_Translate(1, 1.0, 2.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Translate(1, 1.0, 2.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmtrans13.testcase b/test/sql_stmt_tests/atmtrans13.testcase
new file mode 100644
index 0000000..8c52280
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans13.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - 3d invalid matrix
+:memory: #use in-memory database
+SELECT ATM_Translate(1, 1.0, 2.0, 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Translate(1, 1.0, 2.0, 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmtrans2.testcase b/test/sql_stmt_tests/atmtrans2.testcase
new file mode 100644
index 0000000..433ee13
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans2.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - valid 2d (double)
+:memory: #use in-memory database
+SELECT Hex(ATM_Translate(ATM_Create(), 1.0, 2.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Translate(ATM_Create(), 1.0, 2.0))
+0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmtrans3.testcase b/test/sql_stmt_tests/atmtrans3.testcase
new file mode 100644
index 0000000..5db9778
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans3.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - 2d invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_Translate(ATM_Create(), 'a', 2.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Translate(ATM_Create(), 'a', 2.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmtrans4.testcase b/test/sql_stmt_tests/atmtrans4.testcase
new file mode 100644
index 0000000..5803096
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans4.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - 2d invalid 2nd arg
+:memory: #use in-memory database
+SELECT ATM_Translate(ATM_Create(), 1.0, 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_Translate(ATM_Create(), 1.0, 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmtrans5.testcase b/test/sql_stmt_tests/atmtrans5.testcase
new file mode 100644
index 0000000..2418b94
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans5.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - valid 3d (int)
+:memory: #use in-memory database
+SELECT Hex(ATM_Translate(ATM_Create(), 1, 2, 3))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Translate(ATM_Create(), 1, 2, 3))
+0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000008403A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmtrans6.testcase b/test/sql_stmt_tests/atmtrans6.testcase
new file mode 100644
index 0000000..876aa30
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans6.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - valid 3d (double)
+:memory: #use in-memory database
+SELECT Hex(ATM_Translate(ATM_Create(), 1.0, 2.0, 3.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_Translate(ATM_Create(), 1.0, 2.0, 3.0))
+0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000008403A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmtrans7.testcase b/test/sql_stmt_tests/atmtrans7.testcase
new file mode 100644
index 0000000..5b164a3
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans7.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - 3d invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_Translate(ATM_Create(), 'a', 2.0, 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Translate(ATM_Create(), 'a', 2.0, 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmtrans8.testcase b/test/sql_stmt_tests/atmtrans8.testcase
new file mode 100644
index 0000000..3b4bb46
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans8.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - 3d invalid 2nd arg
+:memory: #use in-memory database
+SELECT ATM_Translate(ATM_Create(), 1.0, 'a', 3.0)
+1 # rows (not including the header row)
+1 # columns
+ATM_Translate(ATM_Create(), 1.0, 'a', 3.0)
+(NULL)
diff --git a/test/sql_stmt_tests/atmtrans9.testcase b/test/sql_stmt_tests/atmtrans9.testcase
new file mode 100644
index 0000000..3072ad1
--- /dev/null
+++ b/test/sql_stmt_tests/atmtrans9.testcase
@@ -0,0 +1,7 @@
+ATM_Translate() - 3d invalid 3rd arg
+:memory: #use in-memory database
+SELECT ATM_Translate(ATM_Create(), 1.0, 2.0, 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_Translate(ATM_Create(), 1.0, 2.0, 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmtransform1.testcase b/test/sql_stmt_tests/atmtransform1.testcase
new file mode 100644
index 0000000..1ee2a54
--- /dev/null
+++ b/test/sql_stmt_tests/atmtransform1.testcase
@@ -0,0 +1,7 @@
+ATM_Transform() - int geom
+:memory: #use in-memory database
+SELECT ATM_Transform(1, ATM_Create())
+1 # rows (not including the header row)
+1 # columns
+ATM_Transform(1, ATM_Create())
+(NULL)
diff --git a/test/sql_stmt_tests/atmtransform2.testcase b/test/sql_stmt_tests/atmtransform2.testcase
new file mode 100644
index 0000000..cb2e937
--- /dev/null
+++ b/test/sql_stmt_tests/atmtransform2.testcase
@@ -0,0 +1,7 @@
+ATM_Transform() - invalid geom
+:memory: #use in-memory database
+SELECT ATM_Transform(zeroblob(4), ATM_Create())
+1 # rows (not including the header row)
+1 # columns
+ATM_Transform(zeroblob(4), ATM_Create())
+(NULL)
diff --git a/test/sql_stmt_tests/atmtransform3.testcase b/test/sql_stmt_tests/atmtransform3.testcase
new file mode 100644
index 0000000..5314349
--- /dev/null
+++ b/test/sql_stmt_tests/atmtransform3.testcase
@@ -0,0 +1,7 @@
+ATM_Transform() - int matrix
+:memory: #use in-memory database
+SELECT ATM_Transform(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2), POLYGON((10 10, 20 10, 20 20, 10 20, 10 10), (14 14, 16 14, 16 16, 14 16, 14 14)))'), 1);
+1 # rows (not including the header row)
+1 # columns
+ATM_Transform(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2), POLYGON((10 10, 20 10, 20 20, 10 20, 10 10), (14 14, 16 14, 16 16, 14 16, 14 14)))'), 1);
+(NULL)
diff --git a/test/sql_stmt_tests/atmtransform4.testcase b/test/sql_stmt_tests/atmtransform4.testcase
new file mode 100644
index 0000000..b8ba5f9
--- /dev/null
+++ b/test/sql_stmt_tests/atmtransform4.testcase
@@ -0,0 +1,7 @@
+ATM_Transform() - invalid matrix
+:memory: #use in-memory database
+SELECT ATM_Transform(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2), POLYGON((10 10, 20 10, 20 20, 10 20, 10 10), (14 14, 16 14, 16 16, 14 16, 14 14)))'), zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+ATM_Transform(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2), POLYGON((10 10, 20 10, 20 20, 10 20, 10 10), (14 14, 16 14, 16 16, 14 16, 14 14)))'), zeroblob(4));
+(NULL)
diff --git a/test/sql_stmt_tests/atmtransform5.testcase b/test/sql_stmt_tests/atmtransform5.testcase
new file mode 100644
index 0000000..83e8f6e
--- /dev/null
+++ b/test/sql_stmt_tests/atmtransform5.testcase
@@ -0,0 +1,7 @@
+ATM_Transform() - XY
+:memory: #use in-memory database
+SELECT AsText(ATM_Transform(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2), POLYGON((10 10, 20 10, 20 20, 10 20, 10 10), (14 14, 16 14, 16 16, 14 16, 14 14)))'), ATM_Create()));
+1 # rows (not including the header row)
+1 # columns
+AsText(ATM_Transform(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2), POLYGON((10 10, 20 10, 20 20, 10 20, 10 10), (14 14, 16 14, 16 16, 14 16, 14 14)))'), ATM_Create()))
+GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2), POLYGON((10 10, 20 10, 20 20, 10 20, 10 10), (14 14, 16 14, 16 16, 14 16, 14 14)))
diff --git a/test/sql_stmt_tests/atmtransform6.testcase b/test/sql_stmt_tests/atmtransform6.testcase
new file mode 100644
index 0000000..fa8cf16
--- /dev/null
+++ b/test/sql_stmt_tests/atmtransform6.testcase
@@ -0,0 +1,7 @@
+ATM_Transform() - XYZ
+:memory: #use in-memory database
+SELECT AsText(ATM_Transform(GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(0 0 0), LINESTRINGZ(1 1 1, 2 2 3), POLYGONZ((10 10 1, 20 10 2, 20 20 3, 10 20 2, 10 10 1), (14 14 1, 16 14 2, 16 16 2, 14 16 2, 14 14 1)))'), ATM_Create()));
+1 # rows (not including the header row)
+1 # columns
+AsText(ATM_Transform(GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(0 0 0), LINESTRINGZ(1 1 1, 2 2 3), POLYGONZ((10 10 1, 20 10 2, 20 20 3, 10 20 2, 10 10 1), (14 14 1, 16 14 2, 16 16 2, 14 16 2, 14 14 1)))'), ATM_Create()));
+GEOMETRYCOLLECTION Z(POINT Z(0 0 0), LINESTRING Z(1 1 1, 2 2 3), POLYGON Z((10 10 1, 20 10 2, 20 20 3, 10 20 2, 10 10 1), (14 14 1, 16 14 2, 16 16 2, 14 16 2, 14 14 1)))
diff --git a/test/sql_stmt_tests/atmtransform7.testcase b/test/sql_stmt_tests/atmtransform7.testcase
new file mode 100644
index 0000000..1e7f0c6
--- /dev/null
+++ b/test/sql_stmt_tests/atmtransform7.testcase
@@ -0,0 +1,7 @@
+ATM_Transform() - XYM
+:memory: #use in-memory database
+SELECT AsText(ATM_Transform(GeomFromText('GEOMETRYCOLLECTIONM(POINTM(0 0 0), LINESTRINGM(1 1 1, 2 2 3), POLYGONM((10 10 1, 20 10 2, 20 20 3, 10 20 2, 10 10 1), (14 14 1, 16 14 2, 16 16 2, 14 16 2, 14 14 1)))'), ATM_Create()));
+1 # rows (not including the header row)
+1 # columns
+AsText(ATM_Transform(GeomFromText('GEOMETRYCOLLECTIONM(POINTM(0 0 0), LINESTRINGM(1 1 1, 2 2 3), POLYGONM((10 10 1, 20 10 2, 20 20 3, 10 20 2, 10 10 1), (14 14 1, 16 14 2, 16 16 2, 14 16 2, 14 14 1)))'), ATM_Create()));
+GEOMETRYCOLLECTION M(POINT M(0 0 0), LINESTRING M(1 1 1, 2 2 3), POLYGON M((10 10 1, 20 10 2, 20 20 3, 10 20 2, 10 10 1), (14 14 1, 16 14 2, 16 16 2, 14 16 2, 14 14 1)))
diff --git a/test/sql_stmt_tests/atmtransform8.testcase b/test/sql_stmt_tests/atmtransform8.testcase
new file mode 100644
index 0000000..fb8f87f
--- /dev/null
+++ b/test/sql_stmt_tests/atmtransform8.testcase
@@ -0,0 +1,7 @@
+ATM_Transform() - XYZM
+:memory: #use in-memory database
+SELECT AsText(ATM_Transform(GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(0 0 0 0), LINESTRINGZM(1 1 1 1, 2 2 3 3), POLYGONZM((10 10 1 1, 20 10 2 2, 20 20 3 3, 10 20 2 2, 10 10 1 1), (14 14 1 1, 16 14 2 2, 16 16 2 2, 14 16 2 2, 14 14 1 1)))'), ATM_Create()));
+1 # rows (not including the header row)
+1 # columns
+AsText(ATM_Transform(GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(0 0 0 0), LINESTRINGZM(1 1 1 1, 2 2 3 3), POLYGONZM((10 10 1 1, 20 10 2 2, 20 20 3 3, 10 20 2 2, 10 10 1 1), (14 14 1 1, 16 14 2 2, 16 16 2 2, 14 16 2 2, 14 14 1 1)))'), ATM_Create()));
+GEOMETRYCOLLECTION ZM(POINT ZM(0 0 0 0), LINESTRING ZM(1 1 1 1, 2 2 3 3), POLYGON ZM((10 10 1 1, 20 10 2 2, 20 20 3 3, 10 20 2 2, 10 10 1 1), (14 14 1 1, 16 14 2 2, 16 16 2 2, 14 16 2 2, 14 14 1 1)))
diff --git a/test/sql_stmt_tests/atmxroll1.testcase b/test/sql_stmt_tests/atmxroll1.testcase
new file mode 100644
index 0000000..45e0f01
--- /dev/null
+++ b/test/sql_stmt_tests/atmxroll1.testcase
@@ -0,0 +1,7 @@
+ATM_XRoll() - invalid angle
+:memory: #use in-memory database
+SELECT ATM_XRoll(ATM_Create(), 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_XRoll(ATM_Create(), 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmxroll2.testcase b/test/sql_stmt_tests/atmxroll2.testcase
new file mode 100644
index 0000000..5585a91
--- /dev/null
+++ b/test/sql_stmt_tests/atmxroll2.testcase
@@ -0,0 +1,7 @@
+ATM_XRoll() - valid int
+:memory: #use in-memory database
+SELECT Hex(ATM_XRoll(ATM_Create(), 15))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_XRoll(ATM_Create(), 15))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A15BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmxroll3.testcase b/test/sql_stmt_tests/atmxroll3.testcase
new file mode 100644
index 0000000..7527a38
--- /dev/null
+++ b/test/sql_stmt_tests/atmxroll3.testcase
@@ -0,0 +1,7 @@
+ATM_XRoll() - valid double
+:memory: #use in-memory database
+SELECT Hex(ATM_XRoll(ATM_Create(), 15.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_XRoll(ATM_Create(), 15.0))
+0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A15BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmxroll4.testcase b/test/sql_stmt_tests/atmxroll4.testcase
new file mode 100644
index 0000000..1a6ec3f
--- /dev/null
+++ b/test/sql_stmt_tests/atmxroll4.testcase
@@ -0,0 +1,7 @@
+ATM_XRoll() - invalid blob
+:memory: #use in-memory database
+SELECT ATM_XRoll(zeroblob(4), 15)
+1 # rows (not including the header row)
+1 # columns
+ATM_XRoll(zeroblob(4), 15)
+(NULL)
diff --git a/test/sql_stmt_tests/atmxroll5.testcase b/test/sql_stmt_tests/atmxroll5.testcase
new file mode 100644
index 0000000..3a20198
--- /dev/null
+++ b/test/sql_stmt_tests/atmxroll5.testcase
@@ -0,0 +1,7 @@
+ATM_XRoll() - invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_XRoll('a', 15)
+1 # rows (not including the header row)
+1 # columns
+ATM_XRoll('a', 15)
+(NULL)
diff --git a/test/sql_stmt_tests/atmyroll1.testcase b/test/sql_stmt_tests/atmyroll1.testcase
new file mode 100644
index 0000000..c6f37d8
--- /dev/null
+++ b/test/sql_stmt_tests/atmyroll1.testcase
@@ -0,0 +1,7 @@
+ATM_YRoll() - invalid angle
+:memory: #use in-memory database
+SELECT ATM_YRoll(ATM_Create(), 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_YRoll(ATM_Create(), 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmyroll2.testcase b/test/sql_stmt_tests/atmyroll2.testcase
new file mode 100644
index 0000000..167f7b8
--- /dev/null
+++ b/test/sql_stmt_tests/atmyroll2.testcase
@@ -0,0 +1,7 @@
+ATM_YRoll() - valid int
+:memory: #use in-memory database
+SELECT Hex(ATM_YRoll(ATM_Create(), 15))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_YRoll(ATM_Create(), 15))
+000115BF4847DDE8EE3F3A00000000000000003A900693C17D90D03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A900693C17D90D0BF3A00000000000000003A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmyroll3.testcase b/test/sql_stmt_tests/atmyroll3.testcase
new file mode 100644
index 0000000..9c2f1e5
--- /dev/null
+++ b/test/sql_stmt_tests/atmyroll3.testcase
@@ -0,0 +1,7 @@
+ATM_YRoll() - valid double
+:memory: #use in-memory database
+SELECT Hex(ATM_YRoll(ATM_Create(), 15.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_YRoll(ATM_Create(), 15.0))
+000115BF4847DDE8EE3F3A00000000000000003A900693C17D90D03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A900693C17D90D0BF3A00000000000000003A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmyroll4.testcase b/test/sql_stmt_tests/atmyroll4.testcase
new file mode 100644
index 0000000..5eb5b81
--- /dev/null
+++ b/test/sql_stmt_tests/atmyroll4.testcase
@@ -0,0 +1,7 @@
+ATM_YRoll() - invalid blob
+:memory: #use in-memory database
+SELECT ATM_YRoll(zeroblob(4), 15)
+1 # rows (not including the header row)
+1 # columns
+ATM_YRoll(zeroblob(4), 15)
+(NULL)
diff --git a/test/sql_stmt_tests/atmyroll5.testcase b/test/sql_stmt_tests/atmyroll5.testcase
new file mode 100644
index 0000000..a0c7575
--- /dev/null
+++ b/test/sql_stmt_tests/atmyroll5.testcase
@@ -0,0 +1,7 @@
+ATM_YRoll() - invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_YRoll('a', 15)
+1 # rows (not including the header row)
+1 # columns
+ATM_YRoll('a', 15)
+(NULL)
diff --git a/test/sql_stmt_tests/atmzroll1.testcase b/test/sql_stmt_tests/atmzroll1.testcase
new file mode 100644
index 0000000..27574a5
--- /dev/null
+++ b/test/sql_stmt_tests/atmzroll1.testcase
@@ -0,0 +1,7 @@
+ATM_ZRoll() - invalid angle
+:memory: #use in-memory database
+SELECT ATM_ZRoll(ATM_Create(), 'a')
+1 # rows (not including the header row)
+1 # columns
+ATM_ZRoll(ATM_Create(), 'a')
+(NULL)
diff --git a/test/sql_stmt_tests/atmzroll2.testcase b/test/sql_stmt_tests/atmzroll2.testcase
new file mode 100644
index 0000000..86f9b09
--- /dev/null
+++ b/test/sql_stmt_tests/atmzroll2.testcase
@@ -0,0 +1,7 @@
+ATM_ZRoll() - valid int
+:memory: #use in-memory database
+SELECT Hex(ATM_ZRoll(ATM_Create(), 15))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_ZRoll(ATM_Create(), 15))
+000115BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmzroll3.testcase b/test/sql_stmt_tests/atmzroll3.testcase
new file mode 100644
index 0000000..e7225d2
--- /dev/null
+++ b/test/sql_stmt_tests/atmzroll3.testcase
@@ -0,0 +1,7 @@
+ATM_ZRoll() - valid double
+:memory: #use in-memory database
+SELECT Hex(ATM_ZRoll(ATM_Create(), 15.0))
+1 # rows (not including the header row)
+1 # columns
+Hex(ATM_ZRoll(ATM_Create(), 15.0))
+000115BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3
diff --git a/test/sql_stmt_tests/atmzroll4.testcase b/test/sql_stmt_tests/atmzroll4.testcase
new file mode 100644
index 0000000..cc54644
--- /dev/null
+++ b/test/sql_stmt_tests/atmzroll4.testcase
@@ -0,0 +1,7 @@
+ATM_ZRoll() - invalid blob
+:memory: #use in-memory database
+SELECT ATM_ZRoll(zeroblob(4), 15)
+1 # rows (not including the header row)
+1 # columns
+ATM_ZRoll(zeroblob(4), 15)
+(NULL)
diff --git a/test/sql_stmt_tests/atmzroll5.testcase b/test/sql_stmt_tests/atmzroll5.testcase
new file mode 100644
index 0000000..c181c0b
--- /dev/null
+++ b/test/sql_stmt_tests/atmzroll5.testcase
@@ -0,0 +1,7 @@
+ATM_ZRoll() - invalid 1st arg
+:memory: #use in-memory database
+SELECT ATM_ZRoll('a', 15)
+1 # rows (not including the header row)
+1 # columns
+ATM_ZRoll('a', 15)
+(NULL)
diff --git a/test/sql_stmt_tests/checkfontfacename1.testcase b/test/sql_stmt_tests/checkfontfacename1.testcase
new file mode 100644
index 0000000..adf90ac
--- /dev/null
+++ b/test/sql_stmt_tests/checkfontfacename1.testcase
@@ -0,0 +1,7 @@
+CheckFontFaceName - NULL facename
+NEW:memory: #use in-memory database
+SELECT CheckFontFaceName(NULL, zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+CheckFontFaceName(NULL, zeroblob(4))
+-1
diff --git a/test/sql_stmt_tests/checkfontfacename2.testcase b/test/sql_stmt_tests/checkfontfacename2.testcase
new file mode 100644
index 0000000..93027ec
--- /dev/null
+++ b/test/sql_stmt_tests/checkfontfacename2.testcase
@@ -0,0 +1,7 @@
+CheckFontFaceName - NULL font
+NEW:memory: #use in-memory database
+SELECT CheckFontFaceName('arial', NULL);
+1 # rows (not including the header row)
+1 # columns
+CheckFontFaceName('arial', NULL)
+-1
diff --git a/test/sql_stmt_tests/checkfontfacename3.testcase b/test/sql_stmt_tests/checkfontfacename3.testcase
new file mode 100644
index 0000000..be69557
--- /dev/null
+++ b/test/sql_stmt_tests/checkfontfacename3.testcase
@@ -0,0 +1,7 @@
+CheckFontFaceName - standard
+NEW:memory: #use in-memory database
+SELECT CheckFontFaceName('arial', zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+CheckFontFaceName('arial', zeroblob(4))
+0
diff --git a/test/sql_stmt_tests/createvectorcoverages.testcase b/test/sql_stmt_tests/createvectorcoverages.testcase
new file mode 100644
index 0000000..64a70e8
--- /dev/null
+++ b/test/sql_stmt_tests/createvectorcoverages.testcase
@@ -0,0 +1,8 @@
+CreateVectorsCoveragesTables
+NEW:memory: #use in-memory database
+SELECT CreateVectorCoveragesTables();
+1 # rows (not including the header row)
+1 # columns
+CreateVectorCoveragesTables()
+1
+
diff --git a/test/sql_stmt_tests/decodeurl1.testcase b/test/sql_stmt_tests/decodeurl1.testcase
new file mode 100644
index 0000000..a1afd34
--- /dev/null
+++ b/test/sql_stmt_tests/decodeurl1.testcase
@@ -0,0 +1,7 @@
+DecodeURL - NULL
+:memory: #use in-memory database
+SELECT DecodeURL(NULL);
+1 # rows (not including the header row)
+1 # columns
+DecodeURL(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/decodeurl2.testcase b/test/sql_stmt_tests/decodeurl2.testcase
new file mode 100644
index 0000000..e484aa8
--- /dev/null
+++ b/test/sql_stmt_tests/decodeurl2.testcase
@@ -0,0 +1,7 @@
+DecodeURL - INT
+:memory: #use in-memory database
+SELECT DecodeURL(1);
+1 # rows (not including the header row)
+1 # columns
+DecodeURL(1)
+(NULL)
diff --git a/test/sql_stmt_tests/decodeurl3.testcase b/test/sql_stmt_tests/decodeurl3.testcase
new file mode 100644
index 0000000..ed347bf
--- /dev/null
+++ b/test/sql_stmt_tests/decodeurl3.testcase
@@ -0,0 +1,7 @@
+DecodeURL - DOUBLE
+:memory: #use in-memory database
+SELECT DecodeURL(1.5);
+1 # rows (not including the header row)
+1 # columns
+DecodeURL(1.5)
+(NULL)
diff --git a/test/sql_stmt_tests/decodeurl4.testcase b/test/sql_stmt_tests/decodeurl4.testcase
new file mode 100644
index 0000000..f505771
--- /dev/null
+++ b/test/sql_stmt_tests/decodeurl4.testcase
@@ -0,0 +1,7 @@
+DecodeURL - BLOB
+:memory: #use in-memory database
+SELECT DecodeURL(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+DecodeURL(zeroblob(4))
+(NULL)
diff --git a/test/sql_stmt_tests/decodeurl5.testcase b/test/sql_stmt_tests/decodeurl5.testcase
new file mode 100644
index 0000000..ac7167f
--- /dev/null
+++ b/test/sql_stmt_tests/decodeurl5.testcase
@@ -0,0 +1,7 @@
+DecodeURL - valid
+:memory: #use in-memory database
+SELECT DecodeURL('http://www.acme.it/search?q1=C+%26+opeator&q2=C%2b%2b+%2a+operator');
+1 # rows (not including the header row)
+1 # columns
+DecodeURL('http://www.acme.it/search?q1=C+%26+opeator&q2=C%2b%2b+%2a+operator')
+http://www.acme.it/search?q1=C & opeator&q2=C++ * operator
diff --git a/test/sql_stmt_tests/dirfrompath1.testcase b/test/sql_stmt_tests/dirfrompath1.testcase
new file mode 100644
index 0000000..5c01a39
--- /dev/null
+++ b/test/sql_stmt_tests/dirfrompath1.testcase
@@ -0,0 +1,7 @@
+DirNameFromPath - NULL
+:memory: #use in-memory database
+SELECT DirNameFromPath(NULL);
+1 # rows (not including the header row)
+1 # columns
+DirNameFromPath(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/dirfrompath2.testcase b/test/sql_stmt_tests/dirfrompath2.testcase
new file mode 100644
index 0000000..f092a8d
--- /dev/null
+++ b/test/sql_stmt_tests/dirfrompath2.testcase
@@ -0,0 +1,7 @@
+DirNameFromPath - INTEGER
+:memory: #use in-memory database
+SELECT DirNameFromPath(1);
+1 # rows (not including the header row)
+1 # columns
+DirNameFromPath(1)
+(NULL)
diff --git a/test/sql_stmt_tests/dirfrompath3.testcase b/test/sql_stmt_tests/dirfrompath3.testcase
new file mode 100644
index 0000000..899e54d
--- /dev/null
+++ b/test/sql_stmt_tests/dirfrompath3.testcase
@@ -0,0 +1,7 @@
+DirNameFromPath - DOUBLE
+:memory: #use in-memory database
+SELECT DirNameFromPath(1.1);
+1 # rows (not including the header row)
+1 # columns
+DirNameFromPath(1.1)
+(NULL)
diff --git a/test/sql_stmt_tests/dirfrompath4.testcase b/test/sql_stmt_tests/dirfrompath4.testcase
new file mode 100644
index 0000000..116cbc5
--- /dev/null
+++ b/test/sql_stmt_tests/dirfrompath4.testcase
@@ -0,0 +1,7 @@
+DirNameFromPath - DOUBLE
+:memory: #use in-memory database
+SELECT DirNameFromPath(zeroblob(10));
+1 # rows (not including the header row)
+1 # columns
+DirNameFromPath(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/dirfrompath5.testcase b/test/sql_stmt_tests/dirfrompath5.testcase
new file mode 100644
index 0000000..b8a68c5
--- /dev/null
+++ b/test/sql_stmt_tests/dirfrompath5.testcase
@@ -0,0 +1,7 @@
+DirNameFromPath - ok
+:memory: #use in-memory database
+SELECT DirNameFromPath('/home/user/file.txt');
+1 # rows (not including the header row)
+1 # columns
+DirNameFromPath('/home/user/file.txt'))
+/home/user/
diff --git a/test/sql_stmt_tests/dropgeo6.testcase b/test/sql_stmt_tests/dropgeo6.testcase
new file mode 100644
index 0000000..695c583
--- /dev/null
+++ b/test/sql_stmt_tests/dropgeo6.testcase
@@ -0,0 +1,7 @@
+DropGeoTable - prefix, table (not existing) - NULL transaction
+:memory: #use in-memory database
+SELECT DropGeoTable('prefix', 'table', NULL);
+1 # rows (not including the header row)
+1 # columns
+DropGeoTable('prefix', 'table', NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/dropgeo7.testcase b/test/sql_stmt_tests/dropgeo7.testcase
new file mode 100644
index 0000000..54d0b70
--- /dev/null
+++ b/test/sql_stmt_tests/dropgeo7.testcase
@@ -0,0 +1,7 @@
+DropGeoTable - prefix, table (not existing) + transaction
+:memory: #use in-memory database
+SELECT DropGeoTable('prefix', 'table', 0);
+1 # rows (not including the header row)
+1 # columns
+DropGeoTable('prefix', 'table', 0)
+0
diff --git a/test/sql_stmt_tests/dropgeo8.testcase b/test/sql_stmt_tests/dropgeo8.testcase
new file mode 100644
index 0000000..c4010d0
--- /dev/null
+++ b/test/sql_stmt_tests/dropgeo8.testcase
@@ -0,0 +1,7 @@
+DropGeoTable - table (not existing) - NULL transaction
+:memory: #use in-memory database
+SELECT DropGeoTable('table', NULL);
+1 # rows (not including the header row)
+1 # columns
+DropGeoTable('table', NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/dropgeo9.testcase b/test/sql_stmt_tests/dropgeo9.testcase
new file mode 100644
index 0000000..1813fbb
--- /dev/null
+++ b/test/sql_stmt_tests/dropgeo9.testcase
@@ -0,0 +1,7 @@
+DropGeoTable - table (not existing) + transaction
+:memory: #use in-memory database
+SELECT DropGeoTable('table', 0);
+1 # rows (not including the header row)
+1 # columns
+DropGeoTable('table', 0)
+0
diff --git a/test/sql_stmt_tests/elemgeo7.testcase b/test/sql_stmt_tests/elemgeo7.testcase
new file mode 100644
index 0000000..dc3bf95
--- /dev/null
+++ b/test/sql_stmt_tests/elemgeo7.testcase
@@ -0,0 +1,7 @@
+ElementaryGeometries() - NULL transaction
+:memory: #use in-memory database
+SELECT ElementaryGeometries('in_table', 'geom', 'out_table', 'id', 'old_id', NULL);
+1 # rows (not including the header row)
+1 # columns
+ElementaryGeometries('in_table', 'geom', 'out_table', 'id', 'old_id', NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/elemgeo8.testcase b/test/sql_stmt_tests/elemgeo8.testcase
new file mode 100644
index 0000000..bc2fa36
--- /dev/null
+++ b/test/sql_stmt_tests/elemgeo8.testcase
@@ -0,0 +1,7 @@
+ElementaryGeometries() - not existing table + transaction
+:memory: #use in-memory database
+SELECT ElementaryGeometries('in_table', 'geom', 'out_table', 'id', 'old_id', 0);
+1 # rows (not including the header row)
+1 # columns
+ElementaryGeometries('in_table', 'geom', 'out_table', 'id', 'old_id', 0)
+(NULL)
diff --git a/test/sql_stmt_tests/encodeurl1.testcase b/test/sql_stmt_tests/encodeurl1.testcase
new file mode 100644
index 0000000..ec53ff0
--- /dev/null
+++ b/test/sql_stmt_tests/encodeurl1.testcase
@@ -0,0 +1,7 @@
+EncodeURL - NULL
+:memory: #use in-memory database
+SELECT EncodeURL(NULL);
+1 # rows (not including the header row)
+1 # columns
+EncodeURL(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/encodeurl2.testcase b/test/sql_stmt_tests/encodeurl2.testcase
new file mode 100644
index 0000000..16d82b5
--- /dev/null
+++ b/test/sql_stmt_tests/encodeurl2.testcase
@@ -0,0 +1,7 @@
+EncodeURL - INT
+:memory: #use in-memory database
+SELECT EncodeURL(1);
+1 # rows (not including the header row)
+1 # columns
+EncodeURL(1)
+(NULL)
diff --git a/test/sql_stmt_tests/encodeurl3.testcase b/test/sql_stmt_tests/encodeurl3.testcase
new file mode 100644
index 0000000..76b76a1
--- /dev/null
+++ b/test/sql_stmt_tests/encodeurl3.testcase
@@ -0,0 +1,7 @@
+EncodeURL - DOUBLE
+:memory: #use in-memory database
+SELECT EncodeURL(1.5);
+1 # rows (not including the header row)
+1 # columns
+EncodeURL(1.5)
+(NULL)
diff --git a/test/sql_stmt_tests/encodeurl4.testcase b/test/sql_stmt_tests/encodeurl4.testcase
new file mode 100644
index 0000000..868f721
--- /dev/null
+++ b/test/sql_stmt_tests/encodeurl4.testcase
@@ -0,0 +1,7 @@
+EncodeURL - BLOB
+:memory: #use in-memory database
+SELECT EncodeURL(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+EncodeURL(zeroblob(4))
+(NULL)
diff --git a/test/sql_stmt_tests/encodeurl5.testcase b/test/sql_stmt_tests/encodeurl5.testcase
new file mode 100644
index 0000000..3576c54
--- /dev/null
+++ b/test/sql_stmt_tests/encodeurl5.testcase
@@ -0,0 +1,7 @@
+EncodeURL - valid
+:memory: #use in-memory database
+SELECT EncodeURL('C++ * operator');
+1 # rows (not including the header row)
+1 # columns
+EncodeURL('C++ * operator')
+C%2b%2b+%2a+operator
diff --git a/test/sql_stmt_tests/extfrompath1.testcase b/test/sql_stmt_tests/extfrompath1.testcase
new file mode 100644
index 0000000..72ebfc2
--- /dev/null
+++ b/test/sql_stmt_tests/extfrompath1.testcase
@@ -0,0 +1,7 @@
+FileExtFromPath - NULL
+:memory: #use in-memory database
+SELECT FileExtFromPath(NULL);
+1 # rows (not including the header row)
+1 # columns
+FileExtFromPath(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/extfrompath2.testcase b/test/sql_stmt_tests/extfrompath2.testcase
new file mode 100644
index 0000000..c9450d5
--- /dev/null
+++ b/test/sql_stmt_tests/extfrompath2.testcase
@@ -0,0 +1,7 @@
+FileExtFromPath - INTEGER
+:memory: #use in-memory database
+SELECT FileExtFromPath(1);
+1 # rows (not including the header row)
+1 # columns
+FileExtFromPath(1)
+(NULL)
diff --git a/test/sql_stmt_tests/extfrompath3.testcase b/test/sql_stmt_tests/extfrompath3.testcase
new file mode 100644
index 0000000..1fc3a08
--- /dev/null
+++ b/test/sql_stmt_tests/extfrompath3.testcase
@@ -0,0 +1,7 @@
+FileExtFromPath - DOUBLE
+:memory: #use in-memory database
+SELECT FileExtFromPath(1.1);
+1 # rows (not including the header row)
+1 # columns
+FileExtFromPath(1.1)
+(NULL)
diff --git a/test/sql_stmt_tests/extfrompath4.testcase b/test/sql_stmt_tests/extfrompath4.testcase
new file mode 100644
index 0000000..d0c4268
--- /dev/null
+++ b/test/sql_stmt_tests/extfrompath4.testcase
@@ -0,0 +1,7 @@
+FileExtFromPath - DOUBLE
+:memory: #use in-memory database
+SELECT FileExtFromPath(zeroblob(10));
+1 # rows (not including the header row)
+1 # columns
+FileExtFromPath(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/extfrompath5.testcase b/test/sql_stmt_tests/extfrompath5.testcase
new file mode 100644
index 0000000..a83b638
--- /dev/null
+++ b/test/sql_stmt_tests/extfrompath5.testcase
@@ -0,0 +1,7 @@
+FileExtFromPath - ok
+:memory: #use in-memory database
+SELECT FileExtFromPath('/home/user/file.txt');
+1 # rows (not including the header row)
+1 # columns
+FileExtFromPath('/home/user/file.txt'))
+txt
diff --git a/test/sql_stmt_tests/fullnamefrompath1.testcase b/test/sql_stmt_tests/fullnamefrompath1.testcase
new file mode 100644
index 0000000..0e0e07e
--- /dev/null
+++ b/test/sql_stmt_tests/fullnamefrompath1.testcase
@@ -0,0 +1,7 @@
+FullFileNameFromPath - NULL
+:memory: #use in-memory database
+SELECT FullFileNameFromPath(NULL);
+1 # rows (not including the header row)
+1 # columns
+FullFileNameFromPath(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/fullnamefrompath2.testcase b/test/sql_stmt_tests/fullnamefrompath2.testcase
new file mode 100644
index 0000000..0dff5d0
--- /dev/null
+++ b/test/sql_stmt_tests/fullnamefrompath2.testcase
@@ -0,0 +1,7 @@
+FullFileNameFromPath - INTEGER
+:memory: #use in-memory database
+SELECT FullFileNameFromPath(1);
+1 # rows (not including the header row)
+1 # columns
+FullFileNameFromPath(1)
+(NULL)
diff --git a/test/sql_stmt_tests/fullnamefrompath3.testcase b/test/sql_stmt_tests/fullnamefrompath3.testcase
new file mode 100644
index 0000000..304d9c2
--- /dev/null
+++ b/test/sql_stmt_tests/fullnamefrompath3.testcase
@@ -0,0 +1,7 @@
+FullFileNameFromPath - DOUBLE
+:memory: #use in-memory database
+SELECT FullFileNameFromPath(1.1);
+1 # rows (not including the header row)
+1 # columns
+FullFileNameFromPath(1.1)
+(NULL)
diff --git a/test/sql_stmt_tests/fullnamefrompath4.testcase b/test/sql_stmt_tests/fullnamefrompath4.testcase
new file mode 100644
index 0000000..83c4848
--- /dev/null
+++ b/test/sql_stmt_tests/fullnamefrompath4.testcase
@@ -0,0 +1,7 @@
+FullFileNameFromPath - DOUBLE
+:memory: #use in-memory database
+SELECT FullFileNameFromPath(zeroblob(10));
+1 # rows (not including the header row)
+1 # columns
+FullFileNameFromPath(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/fullnamefrompath5.testcase b/test/sql_stmt_tests/fullnamefrompath5.testcase
new file mode 100644
index 0000000..6eafa56
--- /dev/null
+++ b/test/sql_stmt_tests/fullnamefrompath5.testcase
@@ -0,0 +1,7 @@
+FullFileNameFromPath - ok
+:memory: #use in-memory database
+SELECT FullFileNameFromPath('/home/user/file.txt');
+1 # rows (not including the header row)
+1 # columns
+FullFileNameFromPath('/home/user/file.txt'))
+file.txt
diff --git a/test/sql_stmt_tests/getfontfamily.testcase b/test/sql_stmt_tests/getfontfamily.testcase
new file mode 100644
index 0000000..b6640fe
--- /dev/null
+++ b/test/sql_stmt_tests/getfontfamily.testcase
@@ -0,0 +1,7 @@
+GetFontFamily - standard
+NEW:memory: #use in-memory database
+SELECT GetFontFamily(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+GetFontFamily(zeroblob(4))
+(NULL)
diff --git a/test/sql_stmt_tests/greatcircle-poly7.testcase b/test/sql_stmt_tests/greatcircle-poly7.testcase
index 613065d..6a67193 100644
--- a/test/sql_stmt_tests/greatcircle-poly7.testcase
+++ b/test/sql_stmt_tests/greatcircle-poly7.testcase
@@ -1,7 +1,7 @@
-great circle length polygonZM, Airy
+great circle length polygonZM, invalid srid
 :memory:
-SELECT GreatCircleLength(GeomFromText("POLYGONZM((0 0 2 3, 1 0 3 4, 0 0 2 3, 0 0 2 3))", 4188));
+SELECT GreatCircleLength(GeomFromText("POLYGONZM((0 0 2 3, 1 0 3 4, 0 0 2 3, 0 0 2 3))", 12345));
 1 # rows
 1 # column
-GreatCircleLength(GeomFromText("POLYGONZM((0 0 2 3, 1 0 3 4, 0 0 2 3, 0 0 2 3))", 4188))
-222371.04:9
+GreatCircleLength(GeomFromText("POLYGONZM((0 0 2 3, 1 0 3 4, 0 0 2 3, 0 0 2 3))", 12345))
+(NULL)
diff --git a/test/sql_stmt_tests/isfontbold.testcase b/test/sql_stmt_tests/isfontbold.testcase
new file mode 100644
index 0000000..61a7e95
--- /dev/null
+++ b/test/sql_stmt_tests/isfontbold.testcase
@@ -0,0 +1,7 @@
+IsFontBold - standard
+NEW:memory: #use in-memory database
+SELECT IsFontBold(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+IsFontBold(zeroblob(4))
+-1
diff --git a/test/sql_stmt_tests/isfontitalic.testcase b/test/sql_stmt_tests/isfontitalic.testcase
new file mode 100644
index 0000000..6d09a67
--- /dev/null
+++ b/test/sql_stmt_tests/isfontitalic.testcase
@@ -0,0 +1,7 @@
+IsFontItalic - standard
+NEW:memory: #use in-memory database
+SELECT IsFontItalic(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+IsFontItalic(zeroblob(4))
+-1
diff --git a/test/sql_stmt_tests/isvalidfont1.testcase b/test/sql_stmt_tests/isvalidfont1.testcase
new file mode 100644
index 0000000..c94d65f
--- /dev/null
+++ b/test/sql_stmt_tests/isvalidfont1.testcase
@@ -0,0 +1,8 @@
+IsValidFont - standard
+NEW:memory: #use in-memory database
+SELECT IsValidFont(zeroblob(4));
+1 # rows (not including the header row)
+1 # columns
+IsValidFont(zeroblob(4))
+0
+
diff --git a/test/sql_stmt_tests/isvalidfont2.testcase b/test/sql_stmt_tests/isvalidfont2.testcase
new file mode 100644
index 0000000..a9ebdc1
--- /dev/null
+++ b/test/sql_stmt_tests/isvalidfont2.testcase
@@ -0,0 +1,8 @@
+IsValidFont - NULL pixel
+NEW:memory: #use in-memory database
+SELECT IsValidFont(NULL);
+1 # rows (not including the header row)
+1 # columns
+IsValidFont(NULL)
+-1
+
diff --git a/test/sql_stmt_tests/isvalidnodata1.testcase b/test/sql_stmt_tests/isvalidnodata1.testcase
index 496f495..a5dee2e 100644
--- a/test/sql_stmt_tests/isvalidnodata1.testcase
+++ b/test/sql_stmt_tests/isvalidnodata1.testcase
@@ -1,8 +1,8 @@
-IsValidNoDataPixel - standard
+IsValidPixel - standard
 NEW:memory: #use in-memory database
-SELECT IsValidNoDataPixel(zeroblob(4), 'UINT8', 1);
+SELECT IsValidPixel(zeroblob(4), 'UINT8', 1);
 1 # rows (not including the header row)
 1 # columns
-IsValidNoDataPixel(zeroblob(4), 'UINT8', 1)
+IsValidPixel(zeroblob(4), 'UINT8', 1)
 0
 
diff --git a/test/sql_stmt_tests/isvalidnodata2.testcase b/test/sql_stmt_tests/isvalidnodata2.testcase
index 7b6cd15..7939931 100644
--- a/test/sql_stmt_tests/isvalidnodata2.testcase
+++ b/test/sql_stmt_tests/isvalidnodata2.testcase
@@ -1,8 +1,8 @@
-IsValidNoDataPixel - NULL pixel
+IsValidPixel - NULL pixel
 NEW:memory: #use in-memory database
-SELECT IsValidNoDataPixel(NULL, 'UINT8', 1);
+SELECT IsValidPixel(NULL, 'UINT8', 1);
 1 # rows (not including the header row)
 1 # columns
-IsValidNoDataPixel(NULL, 'UINT8', 1)
+IsValidPixel(NULL, 'UINT8', 1)
 -1
 
diff --git a/test/sql_stmt_tests/isvalidnodata3.testcase b/test/sql_stmt_tests/isvalidnodata3.testcase
index 7104133..cd00d79 100644
--- a/test/sql_stmt_tests/isvalidnodata3.testcase
+++ b/test/sql_stmt_tests/isvalidnodata3.testcase
@@ -1,8 +1,8 @@
-IsValidNoDataPixel - NULL sample-type
+IsValidPixel - NULL sample-type
 NEW:memory: #use in-memory database
-SELECT IsValidNoDataPixel(zeroblob(4), NULL, 1);
+SELECT IsValidPixel(zeroblob(4), NULL, 1);
 1 # rows (not including the header row)
 1 # columns
-IsValidNoDataPixel(zeroblob(4), NULL, 1)
+IsValidPixel(zeroblob(4), NULL, 1)
 -1
 
diff --git a/test/sql_stmt_tests/isvalidnodata4.testcase b/test/sql_stmt_tests/isvalidnodata4.testcase
index 1686639..ed8fd7a 100644
--- a/test/sql_stmt_tests/isvalidnodata4.testcase
+++ b/test/sql_stmt_tests/isvalidnodata4.testcase
@@ -1,8 +1,8 @@
-IsValidNoDataPixel - NULL #bands
+IsValidPixel - NULL #bands
 NEW:memory: #use in-memory database
-SELECT IsValidNoDataPixel(zeroblob(4), 'UINT8', NULL);
+SELECT IsValidPixel(zeroblob(4), 'UINT8', NULL);
 1 # rows (not including the header row)
 1 # columns
-IsValidNoDataPixel(zeroblob(4), 'UINT8', NULL)
+IsValidPixel(zeroblob(4), 'UINT8', NULL)
 -1
 
diff --git a/test/sql_stmt_tests/namefrompath1.testcase b/test/sql_stmt_tests/namefrompath1.testcase
new file mode 100644
index 0000000..b6a5deb
--- /dev/null
+++ b/test/sql_stmt_tests/namefrompath1.testcase
@@ -0,0 +1,7 @@
+FileNameFromPath - NULL
+:memory: #use in-memory database
+SELECT FileNameFromPath(NULL);
+1 # rows (not including the header row)
+1 # columns
+FileNameFromPath(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/namefrompath2.testcase b/test/sql_stmt_tests/namefrompath2.testcase
new file mode 100644
index 0000000..1a274de
--- /dev/null
+++ b/test/sql_stmt_tests/namefrompath2.testcase
@@ -0,0 +1,7 @@
+FileNameFromPath - INTEGER
+:memory: #use in-memory database
+SELECT FileNameFromPath(1);
+1 # rows (not including the header row)
+1 # columns
+FileNameFromPath(1)
+(NULL)
diff --git a/test/sql_stmt_tests/namefrompath3.testcase b/test/sql_stmt_tests/namefrompath3.testcase
new file mode 100644
index 0000000..66d1b4a
--- /dev/null
+++ b/test/sql_stmt_tests/namefrompath3.testcase
@@ -0,0 +1,7 @@
+FileNameFromPath - DOUBLE
+:memory: #use in-memory database
+SELECT FileNameFromPath(1.1);
+1 # rows (not including the header row)
+1 # columns
+FileNameFromPath(1.1)
+(NULL)
diff --git a/test/sql_stmt_tests/namefrompath4.testcase b/test/sql_stmt_tests/namefrompath4.testcase
new file mode 100644
index 0000000..fd72a48
--- /dev/null
+++ b/test/sql_stmt_tests/namefrompath4.testcase
@@ -0,0 +1,7 @@
+FileNameFromPath - DOUBLE
+:memory: #use in-memory database
+SELECT FileNameFromPath(zeroblob(10));
+1 # rows (not including the header row)
+1 # columns
+FileNameFromPath(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/namefrompath5.testcase b/test/sql_stmt_tests/namefrompath5.testcase
new file mode 100644
index 0000000..08006b5
--- /dev/null
+++ b/test/sql_stmt_tests/namefrompath5.testcase
@@ -0,0 +1,7 @@
+FileNameFromPath - ok
+:memory: #use in-memory database
+SELECT FileNameFromPath('/home/user/file.txt');
+1 # rows (not including the header row)
+1 # columns
+FileNameFromPath('/home/user/file.txt'))
+file
diff --git a/test/sql_stmt_tests/removedupl3.testcase b/test/sql_stmt_tests/removedupl3.testcase
new file mode 100644
index 0000000..19971d0
--- /dev/null
+++ b/test/sql_stmt_tests/removedupl3.testcase
@@ -0,0 +1,7 @@
+RemoveDuplicateRows() - NULL transaction
+:memory: #use in-memory database
+SELECT RemoveDuplicateRows('table', NULL);
+1 # rows (not including the header row)
+1 # columns
+RemoveDuplicateRows('table', NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/removedupl4.testcase b/test/sql_stmt_tests/removedupl4.testcase
new file mode 100644
index 0000000..18b2881
--- /dev/null
+++ b/test/sql_stmt_tests/removedupl4.testcase
@@ -0,0 +1,7 @@
+RemoveDuplicateRows() - not existing table + transaction
+:memory: #use in-memory database
+SELECT RemoveDuplicateRows('table', 0);
+1 # rows (not including the header row)
+1 # columns
+RemoveDuplicateRows('table', 0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1name1.testcase b/test/sql_stmt_tests/sridax1name1.testcase
new file mode 100644
index 0000000..83273cb
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1name1.testcase
@@ -0,0 +1,7 @@
+SridGeAxis_1_Name() - NULL SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Name(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Name(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1name2.testcase b/test/sql_stmt_tests/sridax1name2.testcase
new file mode 100644
index 0000000..b648664
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1name2.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_1_Name() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Name('srid')
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Name('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1name3.testcase b/test/sql_stmt_tests/sridax1name3.testcase
new file mode 100644
index 0000000..81f40b6
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1name3.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_1_Name() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Name(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Name(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1name4.testcase b/test/sql_stmt_tests/sridax1name4.testcase
new file mode 100644
index 0000000..81f40b6
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1name4.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_1_Name() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Name(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Name(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1name5.testcase b/test/sql_stmt_tests/sridax1name5.testcase
new file mode 100644
index 0000000..9102e6b
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1name5.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_1_Name() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Name(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Name(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1name6.testcase b/test/sql_stmt_tests/sridax1name6.testcase
new file mode 100644
index 0000000..0d6e2c9
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1name6.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_1_Name() - 32632
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Name(32632)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Name(32632)
+Easting
diff --git a/test/sql_stmt_tests/sridax1orient1.testcase b/test/sql_stmt_tests/sridax1orient1.testcase
new file mode 100644
index 0000000..8c66785
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1orient1.testcase
@@ -0,0 +1,7 @@
+SridGeAxis_1_Orientation() - NULL SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Orientation(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Orientation(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1orient2.testcase b/test/sql_stmt_tests/sridax1orient2.testcase
new file mode 100644
index 0000000..e12c695
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1orient2.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_1_Orientation() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Orientation('srid')
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Orientation('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1orient3.testcase b/test/sql_stmt_tests/sridax1orient3.testcase
new file mode 100644
index 0000000..2fbc5a4
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1orient3.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_1_Orientation() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Orientation(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Orientation(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1orient4.testcase b/test/sql_stmt_tests/sridax1orient4.testcase
new file mode 100644
index 0000000..2fbc5a4
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1orient4.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_1_Orientation() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Orientation(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Orientation(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1orient5.testcase b/test/sql_stmt_tests/sridax1orient5.testcase
new file mode 100644
index 0000000..7d5ec53
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1orient5.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_1_Orientation() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Orientation(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Orientation(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridax1orient6.testcase b/test/sql_stmt_tests/sridax1orient6.testcase
new file mode 100644
index 0000000..a327189
--- /dev/null
+++ b/test/sql_stmt_tests/sridax1orient6.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_1_Orientation() - 32632
+:memory: #use in-memory database
+SELECT SridGetAxis_1_Orientation(32632)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_1_Orientation(32632)
+East
diff --git a/test/sql_stmt_tests/sridax2name1.testcase b/test/sql_stmt_tests/sridax2name1.testcase
new file mode 100644
index 0000000..20f9500
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2name1.testcase
@@ -0,0 +1,7 @@
+SridGeAxis_2_Name() - NULL SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Name(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Name(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax2name2.testcase b/test/sql_stmt_tests/sridax2name2.testcase
new file mode 100644
index 0000000..1d525d6
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2name2.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_2_Name() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Name('srid')
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Name('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridax2name3.testcase b/test/sql_stmt_tests/sridax2name3.testcase
new file mode 100644
index 0000000..eecf72c
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2name3.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_2_Name() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Name(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Name(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax2name4.testcase b/test/sql_stmt_tests/sridax2name4.testcase
new file mode 100644
index 0000000..eecf72c
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2name4.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_2_Name() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Name(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Name(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax2name5.testcase b/test/sql_stmt_tests/sridax2name5.testcase
new file mode 100644
index 0000000..fe4a6af
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2name5.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_2_Name() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Name(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Name(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridax2name6.testcase b/test/sql_stmt_tests/sridax2name6.testcase
new file mode 100644
index 0000000..49bd713
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2name6.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_2_Name() - 32632
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Name(32632)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Name(32632)
+Northing
diff --git a/test/sql_stmt_tests/sridax2orient1.testcase b/test/sql_stmt_tests/sridax2orient1.testcase
new file mode 100644
index 0000000..e9eade1
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2orient1.testcase
@@ -0,0 +1,7 @@
+SridGeAxis_2_Orientation() - NULL SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Orientation(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Orientation(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax2orient2.testcase b/test/sql_stmt_tests/sridax2orient2.testcase
new file mode 100644
index 0000000..1df4f12
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2orient2.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_2_Orientation() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Orientation('srid')
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Orientation('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridax2orient3.testcase b/test/sql_stmt_tests/sridax2orient3.testcase
new file mode 100644
index 0000000..ee43287
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2orient3.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_2_Orientation() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Orientation(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Orientation(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax2orient4.testcase b/test/sql_stmt_tests/sridax2orient4.testcase
new file mode 100644
index 0000000..ee43287
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2orient4.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_2_Orientation() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Orientation(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Orientation(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridax2orient5.testcase b/test/sql_stmt_tests/sridax2orient5.testcase
new file mode 100644
index 0000000..a9e3621
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2orient5.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_2_Orientation() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Orientation(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Orientation(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridax2orient6.testcase b/test/sql_stmt_tests/sridax2orient6.testcase
new file mode 100644
index 0000000..0af0420
--- /dev/null
+++ b/test/sql_stmt_tests/sridax2orient6.testcase
@@ -0,0 +1,7 @@
+SridGetAxis_2_Orientation() - 32632
+:memory: #use in-memory database
+SELECT SridGetAxis_2_Orientation(32632)
+1 # rows (not including the header row)
+1 # columns
+SridGetAxis_2_Orientation(32632)
+North
diff --git a/test/sql_stmt_tests/sriddatum1.testcase b/test/sql_stmt_tests/sriddatum1.testcase
new file mode 100644
index 0000000..95f2991
--- /dev/null
+++ b/test/sql_stmt_tests/sriddatum1.testcase
@@ -0,0 +1,7 @@
+SridGetDatum() - NULL SRID
+:memory: #use in-memory database
+SELECT SridGetDatum(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridGetDatum(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sriddatum2.testcase b/test/sql_stmt_tests/sriddatum2.testcase
new file mode 100644
index 0000000..e64e8f5
--- /dev/null
+++ b/test/sql_stmt_tests/sriddatum2.testcase
@@ -0,0 +1,7 @@
+SridGetDatum() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridGetDatum('srid')
+1 # rows (not including the header row)
+1 # columns
+SridGetDatum('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sriddatum3.testcase b/test/sql_stmt_tests/sriddatum3.testcase
new file mode 100644
index 0000000..ecdd74d
--- /dev/null
+++ b/test/sql_stmt_tests/sriddatum3.testcase
@@ -0,0 +1,7 @@
+SridGetDatum() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetDatum(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetDatum(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sriddatum4.testcase b/test/sql_stmt_tests/sriddatum4.testcase
new file mode 100644
index 0000000..ecdd74d
--- /dev/null
+++ b/test/sql_stmt_tests/sriddatum4.testcase
@@ -0,0 +1,7 @@
+SridGetDatum() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetDatum(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetDatum(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sriddatum5.testcase b/test/sql_stmt_tests/sriddatum5.testcase
new file mode 100644
index 0000000..5a45c5e
--- /dev/null
+++ b/test/sql_stmt_tests/sriddatum5.testcase
@@ -0,0 +1,7 @@
+SridGetDatum() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridGetDatum(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridGetDatum(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sriddatum6.testcase b/test/sql_stmt_tests/sriddatum6.testcase
new file mode 100644
index 0000000..5ce7ca2
--- /dev/null
+++ b/test/sql_stmt_tests/sriddatum6.testcase
@@ -0,0 +1,7 @@
+SridGetDatum() - 32632
+:memory: #use in-memory database
+SELECT SridGetDatum(32632)
+1 # rows (not including the header row)
+1 # columns
+SridGetDatum(32632)
+WGS_1984
diff --git a/test/sql_stmt_tests/sridflipped1.testcase b/test/sql_stmt_tests/sridflipped1.testcase
new file mode 100644
index 0000000..807c803
--- /dev/null
+++ b/test/sql_stmt_tests/sridflipped1.testcase
@@ -0,0 +1,7 @@
+SridHasFlippedAxes() - NULL SRID
+:memory: #use in-memory database
+SELECT SridHasFlippedAxes(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridHasFlippedAxes(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridflipped2.testcase b/test/sql_stmt_tests/sridflipped2.testcase
new file mode 100644
index 0000000..3a7e52f
--- /dev/null
+++ b/test/sql_stmt_tests/sridflipped2.testcase
@@ -0,0 +1,7 @@
+SridHasFlippedAxes() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridHasFlippedAxes('srid')
+1 # rows (not including the header row)
+1 # columns
+SridHasFlippedAxes('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridflipped3.testcase b/test/sql_stmt_tests/sridflipped3.testcase
new file mode 100644
index 0000000..feb8e8a
--- /dev/null
+++ b/test/sql_stmt_tests/sridflipped3.testcase
@@ -0,0 +1,7 @@
+SridHasFlippedAxes() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridHasFlippedAxes(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridHasFlippedAxes(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridflipped4.testcase b/test/sql_stmt_tests/sridflipped4.testcase
new file mode 100644
index 0000000..feb8e8a
--- /dev/null
+++ b/test/sql_stmt_tests/sridflipped4.testcase
@@ -0,0 +1,7 @@
+SridHasFlippedAxes() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridHasFlippedAxes(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridHasFlippedAxes(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridflipped5.testcase b/test/sql_stmt_tests/sridflipped5.testcase
new file mode 100644
index 0000000..a1bdb36
--- /dev/null
+++ b/test/sql_stmt_tests/sridflipped5.testcase
@@ -0,0 +1,7 @@
+SridHasFlippedAxes() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridHasFlippedAxes(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridHasFlippedAxes(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridflipped6.testcase b/test/sql_stmt_tests/sridflipped6.testcase
new file mode 100644
index 0000000..5362ea4
--- /dev/null
+++ b/test/sql_stmt_tests/sridflipped6.testcase
@@ -0,0 +1,7 @@
+SridHasFlippedAxes() - 4326
+:memory: #use in-memory database
+SELECT SridHasFlippedAxes(4326)
+1 # rows (not including the header row)
+1 # columns
+SridHasFlippedAxes(4326)
+1
diff --git a/test/sql_stmt_tests/sridflipped7.testcase b/test/sql_stmt_tests/sridflipped7.testcase
new file mode 100644
index 0000000..e92ba0c
--- /dev/null
+++ b/test/sql_stmt_tests/sridflipped7.testcase
@@ -0,0 +1,7 @@
+SridHasFlippedAxes() - 32632
+:memory: #use in-memory database
+SELECT SridHasFlippedAxes(32632)
+1 # rows (not including the header row)
+1 # columns
+SridHasFlippedAxes(32632)
+0
diff --git a/test/sql_stmt_tests/sridisgeographic1.testcase b/test/sql_stmt_tests/sridisgeographic1.testcase
new file mode 100644
index 0000000..ab89044
--- /dev/null
+++ b/test/sql_stmt_tests/sridisgeographic1.testcase
@@ -0,0 +1,7 @@
+SridIsGeographic() - NULL SRID
+:memory: #use in-memory database
+SELECT SridIsGeographic(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridIsGeographic(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridisgeographic2.testcase b/test/sql_stmt_tests/sridisgeographic2.testcase
new file mode 100644
index 0000000..c01c17b
--- /dev/null
+++ b/test/sql_stmt_tests/sridisgeographic2.testcase
@@ -0,0 +1,7 @@
+SridIsGeographic() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridIsGeographic('srid')
+1 # rows (not including the header row)
+1 # columns
+SridIsGeographic('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridisgeographic3.testcase b/test/sql_stmt_tests/sridisgeographic3.testcase
new file mode 100644
index 0000000..429a1a3
--- /dev/null
+++ b/test/sql_stmt_tests/sridisgeographic3.testcase
@@ -0,0 +1,7 @@
+SridIsGeographic() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridIsGeographic(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridIsGeographic(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridisgeographic4.testcase b/test/sql_stmt_tests/sridisgeographic4.testcase
new file mode 100644
index 0000000..429a1a3
--- /dev/null
+++ b/test/sql_stmt_tests/sridisgeographic4.testcase
@@ -0,0 +1,7 @@
+SridIsGeographic() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridIsGeographic(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridIsGeographic(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridisgeographic5.testcase b/test/sql_stmt_tests/sridisgeographic5.testcase
new file mode 100644
index 0000000..7e041a1
--- /dev/null
+++ b/test/sql_stmt_tests/sridisgeographic5.testcase
@@ -0,0 +1,7 @@
+SridIsGeographic() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridIsGeographic(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridIsGeographic(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridisgeographic6.testcase b/test/sql_stmt_tests/sridisgeographic6.testcase
new file mode 100644
index 0000000..3a44b81
--- /dev/null
+++ b/test/sql_stmt_tests/sridisgeographic6.testcase
@@ -0,0 +1,7 @@
+SridIsGeographic() - 4326
+:memory: #use in-memory database
+SELECT SridIsGeographic(4326)
+1 # rows (not including the header row)
+1 # columns
+SridIsGeographic(4326)
+1
diff --git a/test/sql_stmt_tests/sridisgeographic7.testcase b/test/sql_stmt_tests/sridisgeographic7.testcase
new file mode 100644
index 0000000..e92ee89
--- /dev/null
+++ b/test/sql_stmt_tests/sridisgeographic7.testcase
@@ -0,0 +1,7 @@
+SridIsGeographic() - 32632
+:memory: #use in-memory database
+SELECT SridIsGeographic(32632)
+1 # rows (not including the header row)
+1 # columns
+SridIsGeographic(32632)
+0
diff --git a/test/sql_stmt_tests/sridisprojected1.testcase b/test/sql_stmt_tests/sridisprojected1.testcase
new file mode 100644
index 0000000..6496321
--- /dev/null
+++ b/test/sql_stmt_tests/sridisprojected1.testcase
@@ -0,0 +1,7 @@
+SridIsProjected() - NULL SRID
+:memory: #use in-memory database
+SELECT SridIsProjected(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridIsProjected(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridisprojected2.testcase b/test/sql_stmt_tests/sridisprojected2.testcase
new file mode 100644
index 0000000..52ded03
--- /dev/null
+++ b/test/sql_stmt_tests/sridisprojected2.testcase
@@ -0,0 +1,7 @@
+SridIsProjected() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridIsProjected('srid')
+1 # rows (not including the header row)
+1 # columns
+SridIsProjected('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridisprojected3.testcase b/test/sql_stmt_tests/sridisprojected3.testcase
new file mode 100644
index 0000000..130e7e7
--- /dev/null
+++ b/test/sql_stmt_tests/sridisprojected3.testcase
@@ -0,0 +1,7 @@
+SridIsProjected() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridIsProjected(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridIsProjected(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridisprojected4.testcase b/test/sql_stmt_tests/sridisprojected4.testcase
new file mode 100644
index 0000000..130e7e7
--- /dev/null
+++ b/test/sql_stmt_tests/sridisprojected4.testcase
@@ -0,0 +1,7 @@
+SridIsProjected() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridIsProjected(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridIsProjected(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridisprojected5.testcase b/test/sql_stmt_tests/sridisprojected5.testcase
new file mode 100644
index 0000000..da754b5
--- /dev/null
+++ b/test/sql_stmt_tests/sridisprojected5.testcase
@@ -0,0 +1,7 @@
+SridIsProjected() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridIsProjected(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridIsProjected(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridisprojected6.testcase b/test/sql_stmt_tests/sridisprojected6.testcase
new file mode 100644
index 0000000..56135f7
--- /dev/null
+++ b/test/sql_stmt_tests/sridisprojected6.testcase
@@ -0,0 +1,7 @@
+SridIsProjected() - 4326
+:memory: #use in-memory database
+SELECT SridIsProjected(4326)
+1 # rows (not including the header row)
+1 # columns
+SridIsProjected(4326)
+0
diff --git a/test/sql_stmt_tests/sridisprojected7.testcase b/test/sql_stmt_tests/sridisprojected7.testcase
new file mode 100644
index 0000000..c69f36f
--- /dev/null
+++ b/test/sql_stmt_tests/sridisprojected7.testcase
@@ -0,0 +1,7 @@
+SridIsProjected() - 32632
+:memory: #use in-memory database
+SELECT SridIsProjected(32632)
+1 # rows (not including the header row)
+1 # columns
+SridIsProjected(32632)
+1
diff --git a/test/sql_stmt_tests/sridprimem1.testcase b/test/sql_stmt_tests/sridprimem1.testcase
new file mode 100644
index 0000000..6df1d14
--- /dev/null
+++ b/test/sql_stmt_tests/sridprimem1.testcase
@@ -0,0 +1,7 @@
+SridGetPrimeMeridian() - NULL SRID
+:memory: #use in-memory database
+SELECT SridGetPrimeMeridian(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridGetPrimeMeridian(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridprimem2.testcase b/test/sql_stmt_tests/sridprimem2.testcase
new file mode 100644
index 0000000..049a05a
--- /dev/null
+++ b/test/sql_stmt_tests/sridprimem2.testcase
@@ -0,0 +1,7 @@
+SridGetPrimeMeridian() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridGetPrimeMeridian('srid')
+1 # rows (not including the header row)
+1 # columns
+SridGetPrimeMeridian('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridprimem3.testcase b/test/sql_stmt_tests/sridprimem3.testcase
new file mode 100644
index 0000000..a726856
--- /dev/null
+++ b/test/sql_stmt_tests/sridprimem3.testcase
@@ -0,0 +1,7 @@
+SridGetPrimeMeridian() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetPrimeMeridian(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetPrimeMeridian(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridprimem4.testcase b/test/sql_stmt_tests/sridprimem4.testcase
new file mode 100644
index 0000000..a726856
--- /dev/null
+++ b/test/sql_stmt_tests/sridprimem4.testcase
@@ -0,0 +1,7 @@
+SridGetPrimeMeridian() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetPrimeMeridian(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetPrimeMeridian(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridprimem5.testcase b/test/sql_stmt_tests/sridprimem5.testcase
new file mode 100644
index 0000000..d961bc3
--- /dev/null
+++ b/test/sql_stmt_tests/sridprimem5.testcase
@@ -0,0 +1,7 @@
+SridGetPrimeMeridian() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridGetPrimeMeridian(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridGetPrimeMeridian(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridprimem6.testcase b/test/sql_stmt_tests/sridprimem6.testcase
new file mode 100644
index 0000000..797f9c7
--- /dev/null
+++ b/test/sql_stmt_tests/sridprimem6.testcase
@@ -0,0 +1,7 @@
+SridGetPrimeMeridian() - 32632
+:memory: #use in-memory database
+SELECT SridGetPrimeMeridian(32632)
+1 # rows (not including the header row)
+1 # columns
+SridGetPrimeMeridian(32632)
+Greenwich
diff --git a/test/sql_stmt_tests/sridprojection1.testcase b/test/sql_stmt_tests/sridprojection1.testcase
new file mode 100644
index 0000000..14a5c40
--- /dev/null
+++ b/test/sql_stmt_tests/sridprojection1.testcase
@@ -0,0 +1,7 @@
+SridGetProjection() - NULL SRID
+:memory: #use in-memory database
+SELECT SridGetProjection(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridGetProjection(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridprojection2.testcase b/test/sql_stmt_tests/sridprojection2.testcase
new file mode 100644
index 0000000..7329828
--- /dev/null
+++ b/test/sql_stmt_tests/sridprojection2.testcase
@@ -0,0 +1,7 @@
+SridGetProjection() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridGetProjection('srid')
+1 # rows (not including the header row)
+1 # columns
+SridGetProjection('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridprojection3.testcase b/test/sql_stmt_tests/sridprojection3.testcase
new file mode 100644
index 0000000..ba8ae14
--- /dev/null
+++ b/test/sql_stmt_tests/sridprojection3.testcase
@@ -0,0 +1,7 @@
+SridGetProjection() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetProjection(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetProjection(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridprojection4.testcase b/test/sql_stmt_tests/sridprojection4.testcase
new file mode 100644
index 0000000..ba8ae14
--- /dev/null
+++ b/test/sql_stmt_tests/sridprojection4.testcase
@@ -0,0 +1,7 @@
+SridGetProjection() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetProjection(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetProjection(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridprojection5.testcase b/test/sql_stmt_tests/sridprojection5.testcase
new file mode 100644
index 0000000..44c1b91
--- /dev/null
+++ b/test/sql_stmt_tests/sridprojection5.testcase
@@ -0,0 +1,7 @@
+SridGetProjection() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridGetProjection(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridGetProjection(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridprojection6.testcase b/test/sql_stmt_tests/sridprojection6.testcase
new file mode 100644
index 0000000..c0afbec
--- /dev/null
+++ b/test/sql_stmt_tests/sridprojection6.testcase
@@ -0,0 +1,7 @@
+SridGetProjection() - 32632
+:memory: #use in-memory database
+SELECT SridGetProjection(32632)
+1 # rows (not including the header row)
+1 # columns
+SridGetProjection(32632)
+Transverse_Mercator
diff --git a/test/sql_stmt_tests/sridspheroid1.testcase b/test/sql_stmt_tests/sridspheroid1.testcase
new file mode 100644
index 0000000..3e61c18
--- /dev/null
+++ b/test/sql_stmt_tests/sridspheroid1.testcase
@@ -0,0 +1,7 @@
+SridGetSpheroid() - NULL SRID
+:memory: #use in-memory database
+SELECT SridGetSpheroid(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridGetSpheroid(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridspheroid2.testcase b/test/sql_stmt_tests/sridspheroid2.testcase
new file mode 100644
index 0000000..d526512
--- /dev/null
+++ b/test/sql_stmt_tests/sridspheroid2.testcase
@@ -0,0 +1,7 @@
+SridGetSpheroid() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridGetSpheroid('srid')
+1 # rows (not including the header row)
+1 # columns
+SridGetSpheroid('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridspheroid3.testcase b/test/sql_stmt_tests/sridspheroid3.testcase
new file mode 100644
index 0000000..a7371b2
--- /dev/null
+++ b/test/sql_stmt_tests/sridspheroid3.testcase
@@ -0,0 +1,7 @@
+SridGetSpheroid() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetSpheroid(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetSpheroid(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridspheroid4.testcase b/test/sql_stmt_tests/sridspheroid4.testcase
new file mode 100644
index 0000000..a7371b2
--- /dev/null
+++ b/test/sql_stmt_tests/sridspheroid4.testcase
@@ -0,0 +1,7 @@
+SridGetSpheroid() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetSpheroid(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetSpheroid(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridspheroid5.testcase b/test/sql_stmt_tests/sridspheroid5.testcase
new file mode 100644
index 0000000..7977e96
--- /dev/null
+++ b/test/sql_stmt_tests/sridspheroid5.testcase
@@ -0,0 +1,7 @@
+SridGetSpheroid() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridGetSpheroid(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridGetSpheroid(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridspheroid6.testcase b/test/sql_stmt_tests/sridspheroid6.testcase
new file mode 100644
index 0000000..924f24b
--- /dev/null
+++ b/test/sql_stmt_tests/sridspheroid6.testcase
@@ -0,0 +1,7 @@
+SridGetSpheroid() - 4326
+:memory: #use in-memory database
+SELECT SridGetSpheroid(4326)
+1 # rows (not including the header row)
+1 # columns
+SridGetSpheroid(4326)
+WGS 84
diff --git a/test/sql_stmt_tests/sridunit1.testcase b/test/sql_stmt_tests/sridunit1.testcase
new file mode 100644
index 0000000..843f108
--- /dev/null
+++ b/test/sql_stmt_tests/sridunit1.testcase
@@ -0,0 +1,7 @@
+SridGetUnit() - NULL SRID
+:memory: #use in-memory database
+SELECT SridGetUnit(NULL)
+1 # rows (not including the header row)
+1 # columns
+SridGetUnit(NULL)
+(NULL)
diff --git a/test/sql_stmt_tests/sridunit2.testcase b/test/sql_stmt_tests/sridunit2.testcase
new file mode 100644
index 0000000..790870c
--- /dev/null
+++ b/test/sql_stmt_tests/sridunit2.testcase
@@ -0,0 +1,7 @@
+SridGetUnit() - TEXT SRID
+:memory: #use in-memory database
+SELECT SridGetUnit('srid')
+1 # rows (not including the header row)
+1 # columns
+SridGetUnit('srid')
+(NULL)
diff --git a/test/sql_stmt_tests/sridunit3.testcase b/test/sql_stmt_tests/sridunit3.testcase
new file mode 100644
index 0000000..c4ca0f0
--- /dev/null
+++ b/test/sql_stmt_tests/sridunit3.testcase
@@ -0,0 +1,7 @@
+SridGetUnit() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetUnit(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetUnit(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridunit4.testcase b/test/sql_stmt_tests/sridunit4.testcase
new file mode 100644
index 0000000..c4ca0f0
--- /dev/null
+++ b/test/sql_stmt_tests/sridunit4.testcase
@@ -0,0 +1,7 @@
+SridGetUnit() - DOUBLE SRID
+:memory: #use in-memory database
+SELECT SridGetUnit(1.0)
+1 # rows (not including the header row)
+1 # columns
+SridGetUnit(1.0)
+(NULL)
diff --git a/test/sql_stmt_tests/sridunit5.testcase b/test/sql_stmt_tests/sridunit5.testcase
new file mode 100644
index 0000000..4bfb306
--- /dev/null
+++ b/test/sql_stmt_tests/sridunit5.testcase
@@ -0,0 +1,7 @@
+SridGetUnit() - BLOB SRID
+:memory: #use in-memory database
+SELECT SridGetUnit(zeroblob(10))
+1 # rows (not including the header row)
+1 # columns
+SridGetUnit(zeroblob(10))
+(NULL)
diff --git a/test/sql_stmt_tests/sridunit6.testcase b/test/sql_stmt_tests/sridunit6.testcase
new file mode 100644
index 0000000..fe2f793
--- /dev/null
+++ b/test/sql_stmt_tests/sridunit6.testcase
@@ -0,0 +1,7 @@
+SridGetUnit() - 32632
+:memory: #use in-memory database
+SELECT SridGetUnit(32632)
+1 # rows (not including the header row)
+1 # columns
+SridGetUnit(32632)
+metre
diff --git a/test/sql_stmt_xmlsec_tests/Makefile.in b/test/sql_stmt_xmlsec_tests/Makefile.in
index 38e6d7e..1d0b3d7 100644
--- a/test/sql_stmt_xmlsec_tests/Makefile.in
+++ b/test/sql_stmt_xmlsec_tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = test/sql_stmt_xmlsec_tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -86,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -110,6 +120,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -287,7 +298,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_xmlsec_tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign test/sql_stmt_xmlsec_tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -462,6 +472,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/test/stazioni2_se.xml b/test/stazioni2_se.xml
new file mode 100644
index 0000000..86487ea
--- /dev/null
+++ b/test/stazioni2_se.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PointSymbolizer version="1.1.0" xsi:schemaLocation="http://www.opengis.net/se http://schemas.opengis.net/se/1.1.0/Symbolizer.xsd" xmlns="http://www.opengis.net/se" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<Name>Railway Stations 2</Name>
+	<Description>
+		<Title>Railway Stations - red star</Title>
+		<Abstract>yet another simple SE Point Symbolizer</Abstract>
+	</Description>
+	<Graphic>
+		<Mark>
+			<WellKnownName>star</WellKnownName>
+			<Fill>
+				<SvgParameter name="fill">#ff0000</SvgParameter>
+			</Fill>
+		</Mark>
+		<Size>8.0</Size>
+	</Graphic>
+</PointSymbolizer>
diff --git a/test/stazioni_se.xml b/test/stazioni_se.xml
index 14574b6..6ef5e19 100644
--- a/test/stazioni_se.xml
+++ b/test/stazioni_se.xml
@@ -1,102 +1,17 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
-  <Name>OSM Railway Stations - SLD test</Name>  
-  <Title>SLD test - Point [Railway Stations]</Title>
-  <Abstract>an SLD complex variable style [depending on actual scale]</Abstract>
-  <NamedLayer>
-    <Name>OSM Railway Stations - SE test</Name>
-    <UserStyle>
-      <Title>SE test - Point [Railway Stations]</Title>
-      <Abstract>a complex variable style [depending on actual scale]</Abstract>
-      <FeatureTypeStyle>
-        <Rule>
-          <Title>Upper scale [simple circle, no label]</Title>
-          <MinScaleDenominator>500001</MinScaleDenominator>
-          <MaxScaleDenominator>2500000</MaxScaleDenominator>
-          <PointSymbolizer>
-            <Graphic>
-              <Mark>
-                <WellKnownName>circle</WellKnownName>
-                <Fill>
-                  <CssParameter name="fill">#8F00FF</CssParameter>
-                </Fill>
-              </Mark>
-              <Size>6</Size>
-            </Graphic>
-          </PointSymbolizer>
-        </Rule>
-        <Rule>
-          <Title>Medium scale [bigger star, no label]</Title>
-          <MaxScaleDenominator>500000</MaxScaleDenominator>
-          <PointSymbolizer>
-            <Graphic>
-              <Mark>
-                <WellKnownName>star</WellKnownName>
-                <Fill>
-                  <CssParameter name="fill">#DC143C</CssParameter>
-                </Fill>
-                <Stroke>
-                  <CssParameter name="stroke">#FFFFFF</CssParameter>
-                  <CssParameter name="stroke-width">1</CssParameter>
-                </Stroke>
-              </Mark>
-              <Size>18</Size>
-            </Graphic>
-          </PointSymbolizer>
-        </Rule>
-        <Rule>
-          <Title>Medium scale [bigger star + label]</Title>
-          <MaxScaleDenominator>250000</MaxScaleDenominator>
-          <PointSymbolizer>
-            <Graphic>
-              <Mark>
-                <WellKnownName>star</WellKnownName>
-                <Fill>
-                  <CssParameter name="fill">#DC143C</CssParameter>
-                </Fill>
-                <Stroke>
-                  <CssParameter name="stroke">#FFFFFF</CssParameter>
-                  <CssParameter name="stroke-width">1</CssParameter>
-                </Stroke>
-              </Mark>
-              <Size>18</Size>
-            </Graphic>
-          </PointSymbolizer>
-          <TextSymbolizer>
-            <Label>
-              <ogc:PropertyName>name</ogc:PropertyName>
-            </Label>
-            <Font>
-              <CssParameter name="font-family">Arial</CssParameter>
-              <CssParameter name="font-size">12</CssParameter>
-              <CssParameter name="font-style">normal</CssParameter>
-              <CssParameter name="font-weight">bold</CssParameter>
-            </Font>
-            <LabelPlacement>
-              <PointPlacement>
-                <AnchorPoint>
-                  <AnchorPointX>0.5</AnchorPointX>
-                  <AnchorPointY>0.0</AnchorPointY>
-                </AnchorPoint>
-                <Displacement>
-                  <DisplacementX>0</DisplacementX>
-                  <DisplacementY>7</DisplacementY>
-                </Displacement>
-                <Rotation>-45</Rotation>
-              </PointPlacement>
-            </LabelPlacement>
-            <Halo>
-              <Radius>1</Radius>
-              <Fill>
-                <CssParameter name="fill">#FFFFFF</CssParameter>
-              </Fill>
-            </Halo>
-            <Fill>
-              <CssParameter name="fill">#DC143C</CssParameter>
-            </Fill>
-          </TextSymbolizer>
-        </Rule>
-      </FeatureTypeStyle>
-    </UserStyle>
-  </NamedLayer>
-</StyledLayerDescriptor>
+<?xml version="1.0" encoding="UTF-8"?>
+<PointSymbolizer version="1.1.0" xsi:schemaLocation="http://www.opengis.net/se http://schemas.opengis.net/se/1.1.0/Symbolizer.xsd" xmlns="http://www.opengis.net/se" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<Name>Railway Stations</Name>
+	<Description>
+		<Title>Railway Stations - blue star</Title>
+		<Abstract>a simple SE Point Symbolizer</Abstract>
+	</Description>
+	<Graphic>
+		<Mark>
+			<WellKnownName>star</WellKnownName>
+			<Fill>
+				<SvgParameter name="fill">#0000ff</SvgParameter>
+			</Fill>
+		</Mark>
+		<Size>4.0</Size>
+	</Graphic>
+</PointSymbolizer>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/spatialite.git



More information about the Pkg-grass-devel mailing list